diff options
Diffstat (limited to 'font_dl.asm')
| -rw-r--r-- | font_dl.asm | 117 |
1 files changed, 69 insertions, 48 deletions
diff --git a/font_dl.asm b/font_dl.asm index bbb2b98..28599e8 100644 --- a/font_dl.asm +++ b/font_dl.asm @@ -1,56 +1,77 @@ - *= $a000 + + *= $8000 .incbin "font.dat" -dlist + +; screen RAM starts right after the font. +; 7 double-height screens, 50 lines each. +scr0_top + *= * + 1000 +scr1_top + *= * + 1000 +scr2_top + *= * + 1000 + +; can't cross a 4K boundary... + *= $9000 +scr3_top + *= * + 1000 +scr4_top + *= * + 1000 +scr5_top + *= * + 1000 +scr6_top + +; shoehorn the transmit & receive buffers here + *= $a000 +rx_buf ; 512 bytes + *= $a200 +tx_buf ; 512 bytes + *= $a400 + +scr0_bot + *= * + 1000 +scr1_bot + *= * + 1000 +scr2_bot + *= * + 1000 + + *= $b000 +scr3_bot + *= * + 1000 +scr4_bot + *= * + 1000 +scr5_bot + *= * + 1000 +scr6_bot + + *= * + 1000 +dlist_top + *= * + 48 +dlist_bot + *= * + 48 + + *= dlist_top ; used when scrolled up .byte $70, $70, $30 ; 2 8-line blanks, 1 4-line blank .byte $42 ; LMS GR.0 dl_top_lms - .word $a500 ; base address of 1st screen + .word scr0_top + .byte $02, $02, $02, $02, $02, $02, $02, $02 + .byte $02, $02, $02, $02, $02, $02, $02, $02 + .byte $02, $02, $02, $02, $02, $02, $02, $02 ; 24 GR.0 lines + .byte $41 ; JVB + .word dlist_top + + *= dlist_bot ; used when not scrolled up + .byte $70, $70, $30 ; 2 8-line blanks, 1 4-line blank + .byte $42 ; LMS GR.0 +dl_bot_lms + .word scr0_bot .byte $02, $02, $02, $02, $02, $02, $02, $02 .byte $02, $02, $02, $02, $02, $02, $02, $02 .byte $02, $02, $02, $02, $02, $02 ; 22 GR.0 lines - .byte $00 ; 1 blank line - .byte $42 ; another LMS (edit/status box) -dl_bottom_lms - .word $a480 ; edit box base address - .word $02 ; 2nd line of edit box + .byte $42 ; LMS GR.0 +dl_status_lms + .word scr0_bot+920 ; line 23 .byte $41 ; JVB - .word dlist - -status_box - *= * + 80 ; 2 lines - -edit_box - *= * + 160 ; 4 lines - -end_boxes ; currently $a515 - -; screens are 920 bytes each (23 lines * 40), cannot -; cross the 4K boundary at $b000, and must end -; before the ROM (or unwired addresses) at $c000. - -; on a 52K machine (expanded 800 or XL/XE running Translator), -; we'd have another 4K of RAM from $c000-$cfff. With Translator, -; we also could have 2K at $d800-$dfff (the floating point ROM, -; which we don't use)... and we wouldn't have to have the font -; at $a000, it could be plopped right into the OS default location -; at $e000. maybe this will happen someday. meanwhile: - - *= $b000 - (920 * 3) -screen0 - *= * + 920 -screen1 - *= * + 920 -screen2 ; ends 1 byte before $b000 boundary - *= * + 920 -screen3 ; starts at $b000 boundary - *= * + 920 -screen4 - *= * + 920 -screen5 - *= * + 920 -screen6 - *= * + 920 -end_screens ; currently $be60 - -; 7 screens ain't so bad, really. eventually though, we want to -; add scrollback to them, meaning fewer of them. sigh. + .word dlist_bot + |
