Richard wrote:
Working on my
Athlon, I do everything in Windows and rely on utilities
to get things done. Working on my 8088, I write my own utils (sometimes
in assembler). It's just a different mindset. And while there are
things I would never attempt on the 8088 (such as MPEG-2 compression),
it is just as fast for most common-denominator tasks like writing text,
programming, etc.
Assuming a full 80x25 screen write, what's the maximum frames/sec that
an 8088 could do on a monochrome or CGA interface?
Based on "8088 corruption", I'm guessing that CGA can do at least 30
fps.
If you don't care about synchronizing your updates with the display
cycle, you can do more. Assuming a 4.77MHz 8088 IBM PC, REP MOVSW from
regular RAM to display RAM (which is slower) is about 160KB/s. For
80x25 (4000bytes) that's roughly 40fps. REP STOSW is much faster (about
240KB/s) but that's not useful/practical in a textmode scenario so I
won't go with those numbers.
On monochrome, you can do this. On true CGA, you can't, because the ram
isn't truly dual-ported. As a result, when you read or write display
memory in an 80-column text mode, the adapter draws garbage wherever the
beam is instead of the real ram contents for the duration of the
user-initiated access. This is more commonly knows as "CGA snow". What
especially blows is that it will still draw "snow" even if you're only
reading -- even if your access is to an off-screen page!
To get around this, you write to CGA RAM while the beam is *not*
drawing, but retracing horizontally or vertically back to the next
scanline or display cycle. You can transfer about 250 words during a
vertical retrace and exactly one word during horizontal retrace, so
that's 450 words per frame, so a snow-less full-screen update would take
3 frames (20fps).
The obvious goal is to not be in the position of having to update the
*entire* screen.
40-column modes don't have a "snow" problem (not sure why), which is why
I chose 40x25 for my video program (that, and the lower data requirements).
--
Jim Leonard (trixter at
oldskool.org)
http://www.oldskool.org/
Help our electronic games project:
http://www.mobygames.com/
Or check out some trippy MindCandy at
http://www.mindcandydvd.com/
A child borne of the home computer wars:
http://trixter.wordpress.com/