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/