PC/Apple/etc. Cards Worth Keeping/Storing

Jim Leonard trixter at oldskool.org
Mon May 2 15:33:47 CDT 2005


Tony Duell wrote:
>>I don't have that either, but I've disassembled my own BIOS and found that it 
>>is nearly useless to me -- for example, there are instructions that take longer 
>>to execute out of RAM (4 cycles per byte opcode) than ROM (2 cycles) -- so it's 
> 
> Rememebr the true-blue IBMs didn't shaddow the ROM. The BIOS ran from ROM 
> all the time.

Yes, but not sure what point you're making.  Memory accesses to ROM were faster 
than RAM, so the ROM could get away with this code to put a character+attribute 
onscreen without "snow" during horizontal retrace:

MOV  AX,BX
STOSW

...but doing so from RAM wouldn't work because the MOV AX,BX is a 2-byte opcode 
that took 8 cycles to fetch, so it wouldn't be fast enough and you'd see snow. 
  This drove me quite insane until I figured it out; I modified my own code to 
use a 1-byte opcode:

XCHG AX,BX
STOSW

...since I didn't need to preserve either AX or BX after the STOSW.  This did 
the trick.

> When I got 
> my TechRefs, I went through all the schematics, and exclaimed at 
> approximately 2 minute intervals 'They did WAHT???'

I can just imagine you doing this, LOL :-)  The BIOS CGA code for putting a 
pixel element on the screen is particularly inefficient, for example, which is 
why it is so damn slow.
-- 
Jim Leonard (trixter at oldskool.org)                    http://www.oldskool.org/
Want to help an ambitious games project?             http://www.mobygames.com/
Or check out some trippy MindCandy at             http://www.mindcandydvd.com/


More information about the cctalk mailing list