←back to thread

Microsoft Edit

(github.com)
486 points ethanpil | 1 comments | | HN request time: 1.203s | source
Show context
jksmith ◴[] No.44372826[source]
This is just a "because I wanted to" project. And I get that; done a lot of those myself just to understand what the hell was going on. But the rewrite of turbo vision into FPC and compiling to half a dozen targets has been around for 20 years. Turbo vision is probably the best text mode windowing library in existence. The cool fun kicks in when you can map a whole text screen to an array like so: var Screen: Array[1..80,1..25] Of Byte Absolute $B800; // or something like that as i recall

What turbo vision brought to the game was movable, (non) modal windows. Basically a lot of rewriting that array in a loop. Pretty snappy. I made a shitload of money with that library.

replies(6): >>44372927 #>>44373230 #>>44373408 #>>44374737 #>>44376013 #>>44381270 #
1. nathell ◴[] No.44374737[source]
array[1..25, 1..80] of Word absolute $B800:0000.

Arrays in TP were laid out in row-major order, and each character was represented by two bytes, one denoting the character itself and the other the attributes (foreground/background color and blinking). So, even better, array[1..25, 1..80] of packed record ch: char; attr: byte end absolute $B800:0000.

Replace $B800 with $B000 for monochrome text display (mode 7), e.g., on the Hercules.