This was the way of the first TMS34010 cards for Autocad (circa 1988). You'd have a EGA/VGA card for the host, and the graphics processor would drive the high-resolution graphics display. There were 50+ vendors with a 340 solution for the high-end, before SVGA. Later, vendors conceded to adding a VGA port integrated alongside.
In Karl Guttag's recent talk on the 34010 (VCFSW YouTube channel) he mentions being contacted by Bloomberg for their multi-up terminal. When it shipped in the early 90s, it was the first dual display system I'd seen. Wall Street later began buying 4-display Matrox cards.
In my grade school years, I made many maps of my imaginary world. By high school, I was putting them into my computer, one 16x16 grid at a time. Had to make sure the edges matched up. Then I wrote code to print them on the Epson MX-80 dot matrix. The poster-board I tiled them on was still in the basement, though many of the squares were falling off.
It was easier after I coded a moving 64x64 buffer.
So the author is doing a self-learning exercise about profiling pre-production code, and you're disagreeing with them by comparing it to a commercial contract. I'm sure you've never, ever made a dumb mistake while getting paid.
Do you think the author is somehow capable of writing the entire codebase, but not able to reason about code???
I'm sure you've never made a silly mistake where you passed the wrong integer parameter to a function, stared at your screen, and failed to notice it. Or, forgot the order of arguments to calloc().
If you're saying that profiling is for those too lazy to reason about their code, you're distorting the whole lesson: profiling is more powerful than guessing.
Also, there’s the stimulus causing nymphs to not be solitarious slow green grass-nibbles, but instead transform into armored, black and yellow, upright marching machines that mature into stronger-winged battle bugs. With soft tasty abdomens exposed to the soldier behind them…
I tried giving a dictionary of "preferred recognitions" to the OCR but got no improvement.
I might do what you said, column sensitive. A first-pass assembler which does spell checking and makes the corrections. M0V is a single replacement on MOV, MOV8 is closest to MOVB. For registered, R Oh must be R zero. But R Oh will be valid as a symbol name (curse your poor choice of symbol name). Alas, R1 is defined in the symbol table as a mnemonic for 1.
This idiom occurs in TMS9900 assembly (of which I have 2100+ pages to scan)
Indexed addressing into caller's register file:
MOV @R1*2(R13),R0
Where R1 is 1, a small offset in #words so the operand is pointer to the word after where R13 points. Yet @RI(R13) is valid if RI is in the symbol table.
So there has to be some heuristic that starts at "is RI a defined symbol?" "Can a symbol be used in this context?" Yes/Nope: it is probably R1.
And R11 is used a lot.
Same curse on people who used I as a counter variable in type-in programs. Countless folks typed it as a 1 in expressions before magazines got better fonts.
His slide showed Opus 4.6 saying "walk". I couldn't get 4.6 to do that.