*= $a000 .incbin "font.dat" dlist .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 .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 $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.