Converting text code to ACME.

This commit is contained in:
Martin Haye 2014-02-12 09:28:55 -08:00
parent 9d90c5ed90
commit d1e654d3f1
4 changed files with 704 additions and 785 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,52 @@
*
* Equates
*
;
; Equates
;
pHGR1 = $20
pHGR2 = $40
pHGR3 = $60
pHGR1 = $20
pHGR2 = $40
pHGR3 = $60
pNORMAL = $00
pNORMAL = $00
pINVERSE = $FF
charNULL = $00
charRET = $0d
charRET = $0d
charSPACE = $20
charCMD = $80
charCMD = $80
*
* Zero page usage
*
;
; Zero page usage
;
WNDLFT = $20 ; left edge of the window
WNDWDTH = WNDLFT+1 ; width of text window
WNDTOP = WNDWDTH+1 ; top of text window
WNDBTM = WNDTOP+1 ; bottom+1 of text window
WNDLFT = $20 ; left edge of the window
WNDWDTH = WNDLFT+1 ; width of text window
WNDTOP = WNDWDTH+1 ; top of text window
WNDBTM = WNDTOP+1 ; bottom+1 of text window
CH = WNDBTM+1 ; Cursor H-pos 0-39
CV = CH+1 ; Cursor V-pos 0-23 => 0-191
CH = WNDBTM+1 ; Cursor H-pos 0-39
CV = CH+1 ; Cursor V-pos 0-23 => 0-191
BASL = $28 ; Text base address
BASH = BASL+1
GBASL = BASH+1 ; Second text base address
GBASH = GBASL+1
BASL = $28 ; Text base address
BASH = BASL+1
GBASL = BASH+1 ; Second text base address
GBASH = GBASL+1
dpFROM = BASL
dpTO = dpFROM+2
dpTO2 = dpTO+2
dpFROM = BASL
dpTO = dpFROM+2
dpTO2 = dpTO+2
INVFLG = $32 ; Inverse flag (FF: normal, 7F: flash, 3F: inverse)
INVFLG = $32 ; Inverse flag (FF: normal, 7F: flash, 3F: inverse)
dpSTR = $fe ; Pointer to source string
dpSTR = $fe ; Pointer to source string
CSWL = $36 ; Char output hook
CSWH = CSWL+1
CSWL = $36 ; Char output hook
CSWH = CSWL+1
HPAG = $E6 ; $20 for HGR1, $40 for HGR2
HPAG = $E6 ; $20 for HGR1, $40 for HGR2
*
* Monitor routines
*
;
; Monitor routines
;
HGR2 = $f3d8
HGR = $f3e2
HGR2 = $f3d8
HGR = $f3e2

View File

@ -1,142 +1,102 @@
*
* Font
*
;
; Font
;
org $7000
lst off
* = $7000
HEX 0000000000000000 ; A0 space
HEX 1818181818001800 ; A1 !
HEX 361B000000000000 ; A2 "
HEX 00247E363F120000 ; A3 #
HEX 180C1E331B0F3E00 ; A4 $
HEX 0C1E003333331E00 ; A5 %
HEX 0C160C6E3B336E00 ; A6 &
HEX 180C000000000000 ; A7 '
HEX 380C0606060C3800 ; A8 (
HEX 0E18303030180E00 ; A9 )
HEX 00361C3E1C360000 ; AA *
HEX 0008083E08080000 ; AB +
HEX 0000000000180C00 ; AC ,
HEX 0000007E00000000 ; AD -
HEX 0000000000000C00 ; AE .
HEX 2030180C06030100 ; AF /
HEX 1E30333333331E00 ; B0 0
HEX 1E00181818181800 ; B1 1
HEX 1F00301E03033E00 ; B2 2
HEX 1F00301C30301F00 ; B3 3
HEX 030303333F303000 ; B4 4
HEX 3F00031F30301F00 ; B5 5
HEX 1C06031B33331E00 ; B6 6
HEX 3F00180C0C0C0C00 ; B7 7
HEX 1E30331E33331E00 ; B8 8
HEX 3E33333630303000 ; B9 9
HEX 00000C000C000000 ; BA :
HEX 00000C00000C0600 ; BB ;
HEX 30180C060C183000 ; BC <
HEX 00003E003E000000 ; BD =
HEX 060C1830180C0600 ; BE >
HEX 3C66603018001800 ; BF ?
HEX 060C1E331B0F3E00 ; C0 @
HEX 1E30333B33333300 ; C1 A
HEX 1F30331B33331F00 ; C2 B
HEX 3E00030303033E00 ; C3 C
HEX 1F30333333331F00 ; C4 D
HEX 3F00031B03033F00 ; C5 E
HEX 3F00031B03030300 ; C6 F
HEX 3E00033B33333E00 ; C7 G
HEX 3333333B33333300 ; C8 H
HEX 3F000C0C0C0C3F00 ; C9 I
HEX 3030303033331E00 ; CA J
HEX 331B0F070F1B3300 ; CB K
HEX 0303030303033F00 ; CC L
HEX 3F30333333333300 ; CD M
HEX 3333373F3B333300 ; CE N
HEX 1E30333333331E00 ; CF O
HEX 1F30331F03030300 ; D0 P
HEX 1E303333333B3E00 ; D1 Q
HEX 1F30331F0F1B3300 ; D2 R
HEX 3E00031E30301F00 ; D3 S
HEX 3F000C0C0C0C0C00 ; D4 T
HEX 3333333333331E00 ; D5 U
HEX 3333331E1E0C0C00 ; D6 V
HEX 33333333333F3300 ; D7 W
HEX 33331E0C1E333300 ; D8 X
HEX 3333331E0C0C0C00 ; D9 Y
HEX 3F00180C06033F00 ; DA Z
HEX 000000000000007F ; DB [
HEX 060E1C3870600000 ; DC \
HEX 3C30303030303C00 ; DD ]
HEX 000000081C366300 ; DE ^
HEX 0000000000007F00 ; DF _
HEX 0000000000007E03 ; E0 `
HEX 00001E3333337E00 ; E1 a
HEX 03031F3333331F00 ; E2 b
HEX 00001E3303331E00 ; E3 c
HEX 38303E3333333E00 ; E4 d
HEX 00001E331B0F3E00 ; E5 e
HEX 3C0606061F060606 ; E6 f
HEX 00603E33331E033E ; E7 g
HEX 03031B3733333300 ; E8 h
HEX 0C000E0C0C0C1E00 ; E9 i
HEX 300030303030331E ; EA j
HEX 0303331B37333300 ; EB k
HEX 0E0C0C0C0C0C1E00 ; EC l
HEX 0000333F33333300 ; ED m
HEX 00001B3733333300 ; EE n
HEX 00001E3333331E00 ; EF o
HEX 00001F33331F0303 ; F0 p
HEX 00003E33333E3030 ; F1 q
HEX 00003B0F07030300 ; F2 r
HEX 00003E031E301F00 ; F3 s
HEX 063F060606361C00 ; F4 t
HEX 0000333333331E00 ; F5 u
HEX 00003333331E0C00 ; F6 v
HEX 00003333333F3300 ; F7 w
HEX 000033331E333300 ; F8 x
HEX 00003333333E301E ; F9 y
HEX 00003F180C063F00 ; FA z
HEX 0000000000000F18 ; FB {
HEX 1818181818181818 ; FC |
HEX 181818181818180F ; FD }
HEX 030303030303037E ; FE ~
HEX 0303030303030303 ; FF #
HEX 63AAF0768D63AA8E ;
HEX 5DAAD0DCA20ADD40 ;
HEX A9F005CAD0F8F0B6 ;
HEX BD4AA930470D65AA ;
HEX 8D65AACA8E64AA20 ;
HEX B9A1B0A2AD64AA0A ;
HEX 0AA8A545D009A544 ;
HEX D955A9908CA545D9 ;
HEX 58A9900BD083A544 ;
HEX D957A99002D0F5AD ;
HEX 63AAD094984AA8A5 ;
HEX 459967AAA5449966 ;
HEX AA4CE8A048A9800D ;
HEX 65AA8D65AA68297F ;
HEX 0D74AA8D74AAD0E9 ;
HEX F09C2080A14C839F ;
HEX 205BA720AEA1AD5F ;
HEX AAAABD1F9D48BD1E ;
HEX 9D4860AE5DAABD00 ;
HEX 02C98DF006E88E5D ;
HEX AAC9AC602093A1F0 ;
HEX FAC9A0F0F760A900 ;
HEX A01699BAB588D0FA ;
HEX 60A9008544854520 ;
HEX A4A108C9A4F03C28 ;
HEX 4CCEA120A4A1D006 ;
HEX A644A545186038E9 ;
HEX B03021C90AB01D20 ;
HEX FEA16544AAA90065 ;
HEX 45A820FEA120FEA1 ;
HEX 8A65448544986545 ;
HEX 854590CF38600000 ;
HEX 0000000000000000 ;
HEX 6B7F6B086B7F6300 ;
HEX 637F6B086B7F6B00 ;
HEX 7777223F22777700 ;
HEX 637F6B086B7F6B00 ;
HEX 00000000000000 ;
!byte $00,$00,$00,$00,$00,$00,$00,$00 ; A0 space
!byte $18,$18,$18,$18,$18,$00,$18,$00 ; A1 !
!byte $36,$1B,$00,$00,$00,$00,$00,$00 ; A2 "
!byte $00,$24,$7E,$36,$3F,$12,$00,$00 ; A3 #
!byte $18,$0C,$1E,$33,$1B,$0F,$3E,$00 ; A4 $
!byte $0C,$1E,$00,$33,$33,$33,$1E,$00 ; A5 %
!byte $0C,$16,$0C,$6E,$3B,$33,$6E,$00 ; A6 &
!byte $18,$0C,$00,$00,$00,$00,$00,$00 ; A7 '
!byte $38,$0C,$06,$06,$06,$0C,$38,$00 ; A8 (
!byte $0E,$18,$30,$30,$30,$18,$0E,$00 ; A9 )
!byte $00,$36,$1C,$3E,$1C,$36,$00,$00 ; AA *
!byte $00,$08,$08,$3E,$08,$08,$00,$00 ; AB +
!byte $00,$00,$00,$00,$00,$18,$0C,$00 ; AC ,
!byte $00,$00,$00,$7E,$00,$00,$00,$00 ; AD -
!byte $00,$00,$00,$00,$00,$00,$0C,$00 ; AE .
!byte $20,$30,$18,$0C,$06,$03,$01,$00 ; AF /
!byte $1E,$30,$33,$33,$33,$33,$1E,$00 ; B0 0
!byte $1E,$00,$18,$18,$18,$18,$18,$00 ; B1 1
!byte $1F,$00,$30,$1E,$03,$03,$3E,$00 ; B2 2
!byte $1F,$00,$30,$1C,$30,$30,$1F,$00 ; B3 3
!byte $03,$03,$03,$33,$3F,$30,$30,$00 ; B4 4
!byte $3F,$00,$03,$1F,$30,$30,$1F,$00 ; B5 5
!byte $1C,$06,$03,$1B,$33,$33,$1E,$00 ; B6 6
!byte $3F,$00,$18,$0C,$0C,$0C,$0C,$00 ; B7 7
!byte $1E,$30,$33,$1E,$33,$33,$1E,$00 ; B8 8
!byte $3E,$33,$33,$36,$30,$30,$30,$00 ; B9 9
!byte $00,$00,$0C,$00,$0C,$00,$00,$00 ; BA :
!byte $00,$00,$0C,$00,$00,$0C,$06,$00 ; BB ;
!byte $30,$18,$0C,$06,$0C,$18,$30,$00 ; BC <
!byte $00,$00,$3E,$00,$3E,$00,$00,$00 ; BD =
!byte $06,$0C,$18,$30,$18,$0C,$06,$00 ; BE >
!byte $3C,$66,$60,$30,$18,$00,$18,$00 ; BF ?
!byte $06,$0C,$1E,$33,$1B,$0F,$3E,$00 ; C0 @
!byte $1E,$30,$33,$3B,$33,$33,$33,$00 ; C1 A
!byte $1F,$30,$33,$1B,$33,$33,$1F,$00 ; C2 B
!byte $3E,$00,$03,$03,$03,$03,$3E,$00 ; C3 C
!byte $1F,$30,$33,$33,$33,$33,$1F,$00 ; C4 D
!byte $3F,$00,$03,$1B,$03,$03,$3F,$00 ; C5 E
!byte $3F,$00,$03,$1B,$03,$03,$03,$00 ; C6 F
!byte $3E,$00,$03,$3B,$33,$33,$3E,$00 ; C7 G
!byte $33,$33,$33,$3B,$33,$33,$33,$00 ; C8 H
!byte $3F,$00,$0C,$0C,$0C,$0C,$3F,$00 ; C9 I
!byte $30,$30,$30,$30,$33,$33,$1E,$00 ; CA J
!byte $33,$1B,$0F,$07,$0F,$1B,$33,$00 ; CB K
!byte $03,$03,$03,$03,$03,$03,$3F,$00 ; CC L
!byte $3F,$30,$33,$33,$33,$33,$33,$00 ; CD M
!byte $33,$33,$37,$3F,$3B,$33,$33,$00 ; CE N
!byte $1E,$30,$33,$33,$33,$33,$1E,$00 ; CF O
!byte $1F,$30,$33,$1F,$03,$03,$03,$00 ; D0 P
!byte $1E,$30,$33,$33,$33,$3B,$3E,$00 ; D1 Q
!byte $1F,$30,$33,$1F,$0F,$1B,$33,$00 ; D2 R
!byte $3E,$00,$03,$1E,$30,$30,$1F,$00 ; D3 S
!byte $3F,$00,$0C,$0C,$0C,$0C,$0C,$00 ; D4 T
!byte $33,$33,$33,$33,$33,$33,$1E,$00 ; D5 U
!byte $33,$33,$33,$1E,$1E,$0C,$0C,$00 ; D6 V
!byte $33,$33,$33,$33,$33,$3F,$33,$00 ; D7 W
!byte $33,$33,$1E,$0C,$1E,$33,$33,$00 ; D8 X
!byte $33,$33,$33,$1E,$0C,$0C,$0C,$00 ; D9 Y
!byte $3F,$00,$18,$0C,$06,$03,$3F,$00 ; DA Z
!byte $00,$00,$00,$00,$00,$00,$00,$7F ; DB [
!byte $06,$0E,$1C,$38,$70,$60,$00,$00 ; DC \
!byte $3C,$30,$30,$30,$30,$30,$3C,$00 ; DD ]
!byte $00,$00,$00,$08,$1C,$36,$63,$00 ; DE ^
!byte $00,$00,$00,$00,$00,$00,$7F,$00 ; DF _
!byte $00,$00,$00,$00,$00,$00,$7E,$03 ; E0 `
!byte $00,$00,$1E,$33,$33,$33,$7E,$00 ; E1 a
!byte $03,$03,$1F,$33,$33,$33,$1F,$00 ; E2 b
!byte $00,$00,$1E,$33,$03,$33,$1E,$00 ; E3 c
!byte $38,$30,$3E,$33,$33,$33,$3E,$00 ; E4 d
!byte $00,$00,$1E,$33,$1B,$0F,$3E,$00 ; E5 e
!byte $3C,$06,$06,$06,$1F,$06,$06,$06 ; E6 f
!byte $00,$60,$3E,$33,$33,$1E,$03,$3E ; E7 g
!byte $03,$03,$1B,$37,$33,$33,$33,$00 ; E8 h
!byte $0C,$00,$0E,$0C,$0C,$0C,$1E,$00 ; E9 i
!byte $30,$00,$30,$30,$30,$30,$33,$1E ; EA j
!byte $03,$03,$33,$1B,$37,$33,$33,$00 ; EB k
!byte $0E,$0C,$0C,$0C,$0C,$0C,$1E,$00 ; EC l
!byte $00,$00,$33,$3F,$33,$33,$33,$00 ; ED m
!byte $00,$00,$1B,$37,$33,$33,$33,$00 ; EE n
!byte $00,$00,$1E,$33,$33,$33,$1E,$00 ; EF o
!byte $00,$00,$1F,$33,$33,$1F,$03,$03 ; F0 p
!byte $00,$00,$3E,$33,$33,$3E,$30,$30 ; F1 q
!byte $00,$00,$3B,$0F,$07,$03,$03,$00 ; F2 r
!byte $00,$00,$3E,$03,$1E,$30,$1F,$00 ; F3 s
!byte $06,$3F,$06,$06,$06,$36,$1C,$00 ; F4 t
!byte $00,$00,$33,$33,$33,$33,$1E,$00 ; F5 u
!byte $00,$00,$33,$33,$33,$1E,$0C,$00 ; F6 v
!byte $00,$00,$33,$33,$33,$3F,$33,$00 ; F7 w
!byte $00,$00,$33,$33,$1E,$33,$33,$00 ; F8 x
!byte $00,$00,$33,$33,$33,$3E,$30,$1E ; F9 y
!byte $00,$00,$3F,$18,$0C,$06,$3F,$00 ; FA z
!byte $00,$00,$00,$00,$00,$00,$0F,$18 ; FB {
!byte $18,$18,$18,$18,$18,$18,$18,$18 ; FC |
!byte $18,$18,$18,$18,$18,$18,$18,$0F ; FD }
!byte $03,$03,$03,$03,$03,$03,$03,$7E ; FE ~
!byte $03,$03,$03,$03,$03,$03,$03,$03 ; FF #

View File

@ -1,93 +1,55 @@
*
* Tables
*
;
; Tables
;
* TEXT line addresses
; HGR line addresses
tblTEXTl HEX 0080008000800080
HEX 28A828A828A828A8
HEX 50D050D050D050D0
tblHGRl !byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $80,$80,$80,$80,$80,$80,$80,$80
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $80,$80,$80,$80,$80,$80,$80,$80
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $80,$80,$80,$80,$80,$80,$80,$80
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $80,$80,$80,$80,$80,$80,$80,$80
!byte $28,$28,$28,$28,$28,$28,$28,$28
!byte $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8
!byte $28,$28,$28,$28,$28,$28,$28,$28
!byte $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8
!byte $28,$28,$28,$28,$28,$28,$28,$28
!byte $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8
!byte $28,$28,$28,$28,$28,$28,$28,$28
!byte $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8
!byte $50,$50,$50,$50,$50,$50,$50,$50
!byte $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0
!byte $50,$50,$50,$50,$50,$50,$50,$50
!byte $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0
!byte $50,$50,$50,$50,$50,$50,$50,$50
!byte $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0
!byte $50,$50,$50,$50,$50,$50,$50,$50
!byte $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0
tblTEXTh HEX 0000010102020303
HEX 0000010102020303
HEX 0000010102020303
* HGR line addresses
tblHGRl HEX 0000000000000000
HEX 8080808080808080
HEX 0000000000000000
HEX 8080808080808080
HEX 0000000000000000
HEX 8080808080808080
HEX 0000000000000000
HEX 8080808080808080
HEX 2828282828282828
HEX A8A8A8A8A8A8A8A8
HEX 2828282828282828
HEX A8A8A8A8A8A8A8A8
HEX 2828282828282828
HEX A8A8A8A8A8A8A8A8
HEX 2828282828282828
HEX A8A8A8A8A8A8A8A8
HEX 5050505050505050
HEX D0D0D0D0D0D0D0D0
HEX 5050505050505050
HEX D0D0D0D0D0D0D0D0
HEX 5050505050505050
HEX D0D0D0D0D0D0D0D0
HEX 5050505050505050
HEX D0D0D0D0D0D0D0D0
tblHGRh HEX 0004080C1014181C
HEX 0004080C1014181C
HEX 0105090D1115191D
HEX 0105090D1115191D
HEX 02060A0E12161A1E
HEX 02060A0E12161A1E
HEX 03070B0F13171B1F
HEX 03070B0F13171B1F
HEX 0004080C1014181C
HEX 0004080C1014181C
HEX 0105090D1115191D
HEX 0105090D1115191D
HEX 02060A0E12161A1E
HEX 02060A0E12161A1E
HEX 03070B0F13171B1F
HEX 03070B0F13171B1F
HEX 0004080C1014181C
HEX 0004080C1014181C
HEX 0105090D1115191D
HEX 0105090D1115191D
HEX 02060A0E12161A1E
HEX 02060A0E12161A1E
HEX 03070B0F13171B1F
HEX 03070B0F13171B1F
* Font character indexes
*fontINDEXl HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
* HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
* HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
* HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
* HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
* HEX 00081018202830384048505860687078
* HEX 80889098A0A8B0B8C0C8D0D8E0E8F0F8
*
*fontINDEXh HEX 00000000000000000000000000000000
* HEX 00000000000000000000000000000000
* HEX 01010101010101010101010101010101
* HEX 01010101010101010101010101010101
* HEX 02020202020202020202020202020202
* HEX 02020202020202020202020202020202
* HEX 03030303030303030303030303030303
* HEX 03030303030303030303030303030303
* HEX 04040404040404040404040404040404
* HEX 04040404040404040404040404040404
* HEX 05050505050505050505050505050505
* HEX 05050505050505050505050505050505
tblHGRh !byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F
!byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F
!byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $00,$04,$08,$0C,$10,$14,$18,$1C
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $01,$05,$09,$0D,$11,$15,$19,$1D
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $02,$06,$0A,$0E,$12,$16,$1A,$1E
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F
!byte $03,$07,$0B,$0F,$13,$17,$1B,$1F