More work on 8-space tabs.

This commit is contained in:
Martin Haye 2014-02-09 12:09:25 -08:00
parent 0e64901af5
commit 74ffc67278
3 changed files with 88 additions and 98 deletions

View File

@ -72,19 +72,19 @@
; The remainder of the file is the data for the resources, in order of their
; table appearance.
;
startMemMgr = $800
mainLoader = $803
auxLoader = $806
startMemMgr = $800
mainLoader = $803
auxLoader = $806
;------------------------------------------------------------------------------
; Resource types
RES_TYPE_CODE = 1
RES_TYPE_2D_MAP = 2
RES_TYPE_3D_MAP = 3
RES_TYPE_TILE = 4
RES_TYPE_TEXTURE = 5
RES_TYPE_SCREEN = 6
RES_TYPE_CODE = 1
RES_TYPE_2D_MAP = 2
RES_TYPE_3D_MAP = 3
RES_TYPE_TILE = 4
RES_TYPE_TEXTURE= 5
RES_TYPE_SCREEN = 6
;------------------------------------------------------------------------------
; Command codes

View File

@ -29,69 +29,59 @@ _getStackByte !zone {
sta .ld+1
lda $102,x
sta .ld+2
.ld:
lda $2000
rts
.ld: lda $2000
rts
}
; Support to print a string following the JSR, in high or low bit ASCII,
; terminated by zero. If the string has a period "." it will be followed
; automatically by a carriage return. Preserves all registers.
_writeStr: !zone {
_writeStr: !zone
jsr iosave
tsx
.loop:
jsr _getStackByte
beq .done
ora #$80
jsr cout
cmp #$AE ; "."
bne .loop
jsr crout
jmp .loop
.done:
jmp iorest
}
.loop: jsr _getStackByte
beq .done
ora #$80
jsr cout
cmp #$AE ; "."
bne .loop
jsr crout
jmp .loop
.done: jmp iorest
_prByte: !zone {
_prByte: !zone
jsr iosave
ldy #0
; fall through to _prShared...
}
_prShared: !zone {
tsx
_prShared: !zone
tsx
jsr _getStackByte
sta .ld+1
jsr _getStackByte
sta .ld+2
.ld:
lda $2000,y
.ld: lda $2000,y
jsr prbyte
dey
bpl .ld
lda #$A0
jsr cout
jmp iorest
}
_prWord: !zone {
_prWord: !zone
jsr iosave
ldy #1
bne _prShared ; always taken
}
_crout: !zone {
_crout: !zone
php
pha
jsr crout
pla
plp
rts
}
_waitKey: !zone {
_waitKey: !zone
jsr iosave
jsr rdkey
jmp iorest
}

View File

@ -3,74 +3,74 @@
; Zero page temporary area. Modules can feel free to use the entire space,
; but must *not* count on it being preserved when other modules are in
; control, e.g. when calling other modules, or returning to them.
zpTempStart = $2 ; 0 and 1 are reserved on c64
zpTempEnd = $1F
zpTempStart = $2 ; 0 and 1 are reserved on c64
zpTempEnd = $1F
; Zero page monitor locations
a2l = $3E
a2h = $3F
a2l = $3E
a2h = $3F
; Other monitor locations
resetVec = $3F2
resetVec = $3F2
; PRODOS
mli = $BF00
MLI_QUIT = $65
MLI_GET_TIME = $82
MLI_CREATE = $C0
MLI_DESTROY = $C1
MLI_RENAME = $C2
MLI_SET_FILE_INFO = $C3
MLI_GET_FILE_INFO = $C4
MLI_ONLINE = $C5
MLI_SET_PREFIX = $C6
MLI_GET_PREFIX = $C7
MLI_OPEN = $C8
MLI_NEWLINE = $C9
MLI_READ = $CA
MLI_WRITE = $CB
MLI_CLOSE = $CC
MLI_FLUSH = $CD
MLI_SET_MARK = $CE
MLI_GET_MARK = $CF
MLI_SET_EOF = $D0
MLI_GET_EOF = $D1
MLI_SET_BUF = $D2
MLI_GET_BUF = $D3
mli = $BF00
MLI_QUIT = $65
MLI_GET_TIME = $82
MLI_CREATE = $C0
MLI_DESTROY = $C1
MLI_RENAME = $C2
MLI_SET_FILE_INFO=$C3
MLI_GET_FILE_INFO=$C4
MLI_ONLINE = $C5
MLI_SET_PREFIX = $C6
MLI_GET_PREFIX = $C7
MLI_OPEN = $C8
MLI_NEWLINE = $C9
MLI_READ = $CA
MLI_WRITE = $CB
MLI_CLOSE = $CC
MLI_FLUSH = $CD
MLI_SET_MARK = $CE
MLI_GET_MARK = $CF
MLI_SET_EOF = $D0
MLI_GET_EOF = $D1
MLI_SET_BUF = $D2
MLI_GET_BUF = $D3
; I/O soft switches
kbd = $C000
clrAuxRd = $C002
setAuxRd = $C003
clrAuxWr = $C004
setAuxWr = $C005
clrAuxZP = $C008
setAuxZP = $C009
kbdStrobe = $C010
clrText = $C050
setText = $C051
clrMixed = $C052
setMixed = $C053
page1 = $C054
page2 = $C055
clrHires = $C056
setHires = $C057
kbd = $C000
clrAuxRd = $C002
setAuxRd = $C003
clrAuxWr = $C004
setAuxWr = $C005
clrAuxZP = $C008
setAuxZP = $C009
kbdStrobe = $C010
clrText = $C050
setText = $C051
clrMixed = $C052
setMixed = $C053
page1 = $C054
page2 = $C055
clrHires = $C056
setHires = $C057
; ROM routines
prntax = $F941
textinit = $FB2F
rdkey = $FD0C
getln1 = $FD6F
crout = $FD8E
prbyte = $FDDA
cout = $FDED
setnorm = $FE84
setkbd = $FE89
setvid = $FE93
prerr = $FF2D
bell = $FF3A
iosave = $FF4A
iorest = $FF3F
monitor = $FF69
getnum = $FFA7
prntax = $F941
textinit= $FB2F
rdkey = $FD0C
getln1 = $FD6F
crout = $FD8E
prbyte = $FDDA
cout = $FDED
setnorm = $FE84
setkbd = $FE89
setvid = $FE93
prerr = $FF2D
bell = $FF3A
iosave = $FF4A
iorest = $FF3F
monitor = $FF69
getnum = $FFA7