BMOW title
Floppy Emu banner

Mixed Mode Video

Here’s the promised better example of BMOW’s video capabilities. It demonstrates text with different foreground and background colors, and the use of text and graphics on the same screen.

By using two bytes per line to control the video mode instead of to encode pixel data, the video display becomes much more flexible at the loss of a few pixels. Although there’s only a single 256 color palette, it’s possible to switch between different 4 or 16 color sub-palettes on a line-by-line basis for 2-bit and 4-bit lines. You can also select a different foreground and background color for monochrome lines, or switch between character mapped and direct bitmapped video. All this flexibility made the system twice as hard to design, and may not be especially useful in practice. I probably would have been better off without it, but it makes for a good demo.

I had intended to have all sorts of dynamically-generated lines, circles, triangles, and other shapes to show, but that proved to be a much bigger task than I’d expected. It took me a couple of hours just to debug the subroutine that renders the two zig-zag lines you see here! Apparently I’m not the world’s best assembly programmer… I added the 16 color image of leaves at the bottom to substitute for my missing shape parade.

It’s hard to appreciate the quality of the video from this photograph, but it really looks very nice. Pixels look sharp and solid, and colors are uniform. Some of the text looks a bit washed-out and fuzzy in the photo, but in person it’s quite crisp. I’m definitely happy with how it turned out.

I’m not sure where to go next with the video system or BMOW in general. Maybe a better font? Get the system monitor program running on the video display instead of the LCD? Truth be told, I’m getting kind of tired of this project, so I may move on to something else.

Read 5 comments and join the conversation 

5 Comments so far

  1. Brandon - September 20th, 2008 9:57 pm

    Excellent!

  2. HL-SDK - September 21st, 2008 6:56 am

    I agree, its coming together nicely

  3. Buddy - September 22nd, 2008 9:08 am

    That’s awesome!!

  4. Steve - September 23rd, 2008 6:15 am

    HL-SDK, I know you’re working on some kind of hardware project too, right? Is there a web site?

  5. Mike - September 23rd, 2008 7:23 pm

    I expect you to implement a TCP/IP stack so I can recursively read about BMOW on BMOW.

    Seriously though, how about blacksmithing? Metalcasting? Rebuilding an old VW Beetle engine? I think you’ve earned some time away from circuit boards.

    It sure as heck has been fun and informative to read about.

    –Mike

Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.