aboutsummaryrefslogtreecommitdiff
path: root/font_dl.asm
diff options
context:
space:
mode:
Diffstat (limited to 'font_dl.asm')
-rw-r--r--font_dl.asm117
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
+