I thing @Duke you must change in line:

121: uint8_t code = m_vram[(y * 24) + x] & 0x7f; // 24 change to 128 for position a line in the Display-RAM

a new line in the Display RAM-memory start with a step for 128 or 80h.
And the layout must like this:

3000h: # line 1
3080h: # line 2 ..
3B80h: # line 24
——— so is 3kB Address -Range , butter a line in real used only from 0 .... to 4F for 80 char per line.

Please the Display card must connected in the Memory MAP range from 3FF0h to 3FFEh as normal mem read/write to the physikalisches CRT-CHIP Register as io read/write in real.

Please you can modify this - thanks.