evildragon
Veteran Member
Hopefully someone knows how to do this. Because it made it more readable to me, which really helps.
In most cases, the answer to the question of, "Why on Earth would the engineers do that?", is "For good reason".If it's anything like my IBM 8513 monitor, then it has an unusually large border around the text/graphics area,
I know the usual reason for leaving a large border/overscan area is to avoid the distortions that can occur as the image gets close to the edge of the CRT, but on these IBM monitors the border area is rather excessive, compared to any others I've ever used.In most cases, the answer to the question of, "Why on Earth would the engineers do that?", is "For good reason".
Cool... getting better at writing code for hardware I don't have...
Unfortunately I've never been able to get wrapping INT 10h to work on anything...
mov ax, 3510h ; save interrupt 10h vector
int 21h
mov [oldint10h], bx
mov [oldint10h + 2], es
mov ah, 25h ; install new
mov dx, newint10h ; interrupt 10h handler
int 21h
That's actually not where the problem lies -- it's in the ISR itself where things go wierd. It's calling oldint10h inside newint10h that's the problem. With every other ISR you just go:Don't see anything special in the rest of the code. So this just ought to work...