Yeah, I know. I was going to add a "BTW this font is temporary until I can get this to work" but I forgot.
Right now I'm struggling with poor documentation on how to disable the screen while I change the clock rates. I've read 3 or 4 different code dumps for changing the video mode but they just dump a series of uncommented numbers to the various ports with no explanation, and each of the code dumps started by doing something different. I'll search some more but if someone could save me a bunch of time and just tell me what I need that would be very nice.
Edit: NVM I think I found it. Just out 0x00 to port 0x03C4, then to port 0x03C5, right? Then to re-enable just do the same thing with 0x03 to the second port instead?
Edit: I got it working! Here's the final code (unoptimized!):
Code: Select all
;; use Reset register
mov al, 0x00
mov dx, 0x03C4
out dx, al
;; Complete disable
mov al, 0x00
mov dx, 0x03C5
out dx, al
;; use dot clock register
mov al, 0x01
mov dx, 0x03C4
out dx, al
;; use 8-dot clock
mov al, 0x01
mov dx, 0x03C5
out dx, al
;; use 640x??? instead of 720x???
mov al, 0xE3
mov dx, 0x03C2
out dx, al
;; use reset register
mov al, 0x00
mov dx, 0x03C4
out dx, al
;; complete enable
mov al, 0x03
mov dx, 0x03C5
out dx, al