1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
*= $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.
|