This is what happens if you take a video game written for CGA mode 4 (320*200 pixel 4-color graphics) and force it into CGA mode 3 (80*25 char text). All the pixel data in the display buffer gets interpreted as characters and control codes and it is EXTREMELY CONFUSING. Anyone who's played the first level of Commander Keen 4 will recognize features like the stone huts, the water drops, the score box, etc. Note that the display is sort of doubled vertically and the bottom of it is kinda missing because of the way the display plane is laid out in memory. It's complicated.
TRY THIS AT HOME! CGA mode 4 games will typically have a sequence of operations like this in them:
mov ax,0004
int 10
Interrupt 10h with AH=00h and AL=04h is a mode switch to mode 4. Change the 4 to a 3 and find out what happens! (In a hex editor: search for a sequence like B8 04 00 CD 10 and change the 04 to a 03.) In Commander Keen, you could also try simply changing those instructions to NOPs so the game will never switch out of text mode after the text mode loading screen.
Or, in the debug build of DOSBox (go find it yourself), you can set a breakpoint on INT 10h AH=00h with the command "bpint 10 00" and inspect register EAX every time it breaks -- if it's 00000004, go ahead and put in "sr ax 0003" before resuming execution.
Mode 6 is pretty trippy too.
Get a parent's permission before logging on!
th' matrix
tgies 2 years ago