mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-12 06:28:57 +00:00
Changed naming convention in Applesoft/F8-ROM symbol files
I was using the plain names, but when you've got symbols like READ and WAIT it's too easy to have a conflict and it's not plainly obvious where something came from. Now all monitor symbols begin with MON_, and Applesoft symbols begin with BAS_. The Amper-fdraw example ended up with a few broken symbol refs, because it was created before project/platform symbols followed the "nearby" rules, and was explicitly naming LINNUM and AMPERV. I switched the operands to default, and they now auto-format correctly. I added a few more entries to Applesoft while I was at it.
This commit is contained in:
parent
65fc2cb86e
commit
c1056839b1
@ -1,7 +1,7 @@
|
|||||||
### 6502bench SourceGen dis65 v1.0 ###
|
### 6502bench SourceGen dis65 v1.0 ###
|
||||||
{
|
{
|
||||||
"_ContentVersion":1,"FileDataLength":661,"FileDataCrc32":2075163852,"ProjectProps":{
|
"_ContentVersion":1,"FileDataLength":661,"FileDataCrc32":2075163852,"ProjectProps":{
|
||||||
"CpuName":"6502","IncludeUndocumentedInstr":false,"EntryFlags":32702671,"AnalysisParams":{
|
"CpuName":"6502","IncludeUndocumentedInstr":false,"EntryFlags":32702671,"AutoLabelStyle":"Simple","AnalysisParams":{
|
||||||
"AnalyzeUncategorizedData":true,"MinCharsForString":4,"SeekNearbyTargets":true},
|
"AnalyzeUncategorizedData":true,"MinCharsForString":4,"SeekNearbyTargets":true},
|
||||||
"PlatformSymbolFileIdentifiers":["RT:Apple/F8-ROM.sym65","RT:Apple/Cxxx-IO.sym65","RT:Apple/Applesoft.sym65","PROJ:fdraw-exports.sym65"],"ExtensionScriptFileIdentifiers":[],"ProjectSyms":{
|
"PlatformSymbolFileIdentifiers":["RT:Apple/F8-ROM.sym65","RT:Apple/Cxxx-IO.sym65","RT:Apple/Applesoft.sym65","PROJ:fdraw-exports.sym65"],"ExtensionScriptFileIdentifiers":[],"ProjectSyms":{
|
||||||
}},
|
}},
|
||||||
@ -235,15 +235,9 @@
|
|||||||
"5":{
|
"5":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
||||||
"Label":"dispatch","Part":"Low"}},
|
"Label":"dispatch","Part":"Low"}},
|
||||||
"7":{
|
|
||||||
"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
||||||
"Label":"AMPERV","Part":"Low"}},
|
|
||||||
"10":{
|
"10":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
||||||
"Label":"dispatch","Part":"High"}},
|
"Label":"dispatch","Part":"High"}},
|
||||||
"12":{
|
|
||||||
"Length":3,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
||||||
"Label":"AMPERV","Part":"Low"}},
|
|
||||||
"40":{
|
"40":{
|
||||||
"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":1,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
||||||
"Label":"TOK_NEW","Part":"Low"}},
|
"Label":"TOK_NEW","Part":"Low"}},
|
||||||
@ -394,20 +388,11 @@
|
|||||||
"363":{
|
"363":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
||||||
"Label":"TOK_TO","Part":"Low"}},
|
"Label":"TOK_TO","Part":"Low"}},
|
||||||
"473":{
|
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
||||||
"Label":"LINNUM","Part":"Low"}},
|
|
||||||
"492":{
|
"492":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
||||||
"512":{
|
"512":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
||||||
"Label":"TOK_AT","Part":"Low"}},
|
"Label":"TOK_AT","Part":"Low"}},
|
||||||
"522":{
|
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
||||||
"Label":"LINNUM","Part":"Low"}},
|
|
||||||
"529":{
|
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Symbol","SymbolRef":{
|
|
||||||
"Label":"LINNUM","Part":"Low"}},
|
|
||||||
"582":{
|
"582":{
|
||||||
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
"Length":2,"Format":"NumericLE","SubFormat":"Decimal","SymbolRef":null},
|
||||||
"586":{
|
"586":{
|
||||||
|
@ -6,159 +6,170 @@
|
|||||||
|
|
||||||
*SYNOPSIS Applesoft BASIC addresses and constants
|
*SYNOPSIS Applesoft BASIC addresses and constants
|
||||||
|
|
||||||
USRVEC @ $0A ;USR() command vector
|
BAS_USRVEC @ $0A ;USR() command vector
|
||||||
HCOLOR1 @ $1C ;hi-res color mask
|
BAS_HCOLOR1 @ $1C ;hi-res color mask
|
||||||
COUNTH @ $1D ;hi-res high-order byte of step for line
|
BAS_COUNTH @ $1D ;hi-res high-order byte of step for line
|
||||||
HBASL @ $26 ;base address for hi-res drawing
|
BAS_HBASL @ $26 ;base address for hi-res drawing
|
||||||
|
|
||||||
RNDL @ $4E ;low byte of KEYIN "random" value
|
BAS_RNDL @ $4E ;low byte of KEYIN "random" value
|
||||||
RNDH @ $4F ;high byte of KEYIN "random" value
|
BAS_RNDH @ $4F ;high byte of KEYIN "random" value
|
||||||
LINNUM @ $50 ;line number ($50-51)
|
BAS_LINNUM @ $50 ;line number (2b)
|
||||||
TEXTTAB @ $67 ;pointer to start of Applesoft program (2b)
|
BAS_TEMPPT @ $52 ;temporary point (2b)
|
||||||
VARTAB @ $69 ;pointer to start of Applesoft variables (2b)
|
BAS_INDEX @ $5E ;temp (stack) pointer for moving strings (2b)
|
||||||
ARYTAB @ $6B ;pointer to start of Applesoft array space (2b)
|
BAS_TEXTTAB @ $67 ;pointer to start of Applesoft program (2b)
|
||||||
STREND @ $6D ;pointer to end of numeric storage (2b)
|
BAS_VARTAB @ $69 ;pointer to start of Applesoft variables (2b)
|
||||||
FRETOP @ $6F ;pointer to end of string storage (2b)
|
BAS_ARYTAB @ $6B ;pointer to start of Applesoft array space (2b)
|
||||||
MEMSIZE @ $73 ;Applesoft HIMEM (2b)
|
BAS_STREND @ $6D ;pointer to end of numeric storage (2b)
|
||||||
CURLIN @ $75 ;Applesoft current line number (2b)
|
BAS_FRETOP @ $6F ;pointer to end of string storage (2b)
|
||||||
FACMO @ $A0 ;middle-order byte of mantissa of FAC
|
BAS_MEMSIZE @ $73 ;HIMEM (2b)
|
||||||
FACLO @ $A1 ;low-order byte of mantissa of FAC
|
BAS_CURLIN @ $75 ;current line number (2b)
|
||||||
FACSIGN @ $A2 ;single byte sign of FAC
|
BAS_OLDTEXT @ $79 ;old text pointer
|
||||||
PRGEND @ $AF ;pointer to end of program (2b)
|
BAS_FORPNT @ $85 ;general pointer (2b)
|
||||||
CHRGET @ $B1 ;get next character or Applesoft token
|
BAS_TEMP1 @ $93 ;fp register TEMP1
|
||||||
CHRGOT @ $B7 ;get next, but don't advance TXTPTR
|
BAS_HIGHDS @ $94 ;block copy pointer (2b)
|
||||||
TXTPTR @ $B8 ;points at next char or token
|
BAS_HIGHTR @ $96 ;block copy pointer (2b)
|
||||||
|
BAS_LOWTR @ $9B ;general pointer
|
||||||
|
BAS_FAC @ $9D ;floating point accumulator (6b)
|
||||||
|
BAS_FACMO @ $A0 ;middle-order byte of mantissa of FAC
|
||||||
|
BAS_FACLO @ $A1 ;low-order byte of mantissa of FAC
|
||||||
|
BAS_FACSIGN @ $A2 ;single byte sign of FAC
|
||||||
|
BAS_STRING1 @ $AB ;pointer to a string
|
||||||
|
BAS_STRING2 @ $AD ;pointer to a string
|
||||||
|
BAS_PRGEND @ $AF ;pointer to end of program (2b)
|
||||||
|
BAS_CHRGET @ $B1 ;get next character or Applesoft token
|
||||||
|
BAS_CHRGOT @ $B7 ;get next, but don't advance TXTPTR
|
||||||
|
BAS_TXTPTR @ $B8 ;points at next char or token
|
||||||
|
|
||||||
AUTORUN @ $D6 ;set to $80 to auto-run
|
BAS_AUTORUN @ $D6 ;set to $80 to auto-run
|
||||||
ERRFLG @ $D8 ;$80 if onerr active
|
BAS_ERRFLG @ $D8 ;$80 if onerr active
|
||||||
|
|
||||||
HPAG @ $E6 ;hi-res page to draw on ($20 or $40)
|
BAS_HPAG @ $E6 ;hi-res page to draw on ($20 or $40)
|
||||||
SCALE @ $E7 ;hi-res graphics scale factor
|
BAS_SCALE @ $E7 ;hi-res graphics scale factor
|
||||||
|
|
||||||
AMPERV @ $03F5 ;JMP to function that handles Applesoft '&' cmds
|
BAS_AMPERV @ $03F5 ;JMP to function that handles Applesoft '&' cmds
|
||||||
|
|
||||||
;
|
;
|
||||||
; Useful Applesoft routines.
|
; Useful Applesoft routines.
|
||||||
; TODO: there are many more
|
; TODO: there are many more
|
||||||
;
|
;
|
||||||
ERROR @ $D412 ;print error based on X-reg
|
BAS_ERROR @ $D412 ;print error based on X-reg
|
||||||
FRMNUM @ $DD67 ;evalute expression at TXTPTR, result into FAC
|
BAS_FRMNUM @ $DD67 ;evalute expression at TXTPTR, result into FAC
|
||||||
SYN_ERROR @ $DEC9 ;throw SYNTAX ERROR
|
BAS_SYN_ERROR @ $DEC9 ;throw SYNTAX ERROR
|
||||||
CHKCOM @ $DEBE ;checks TXTPTR for comma
|
BAS_CHKCOM @ $DEBE ;checks TXTPTR for comma
|
||||||
ILLQ_ERROR @ $E199 ;throw ILLEGAL QUANTITY ERROR
|
BAS_ILLQ_ERROR @ $E199 ;throw ILLEGAL QUANTITY ERROR
|
||||||
GETADR @ $E752 ;convert FAC to 2-byte integer in LINNUM
|
BAS_GETADR @ $E752 ;convert FAC to 2-byte integer in LINNUM
|
||||||
GETBYT @ $E6F8 ;gets byte, in X/FACLO
|
BAS_GETBYT @ $E6F8 ;gets byte, in X/FACLO
|
||||||
HFNS @ $F6B9 ;get hi-res x/y for hplot
|
BAS_HFNS @ $F6B9 ;get hi-res x/y for hplot
|
||||||
|
|
||||||
;
|
;
|
||||||
; Applesoft BASIC tokens.
|
; Applesoft BASIC tokens.
|
||||||
;
|
;
|
||||||
*TAG Applesoft-Tokens
|
*TAG Applesoft-Tokens
|
||||||
TOK_END = $80
|
TOK_END = $80
|
||||||
TOK_FOR = $81
|
TOK_FOR = $81
|
||||||
TOK_NEXT = $82
|
TOK_NEXT = $82
|
||||||
TOK_DATA = $83
|
TOK_DATA = $83
|
||||||
TOK_INPUT = $84
|
TOK_INPUT = $84
|
||||||
TOK_DEL = $85
|
TOK_DEL = $85
|
||||||
TOK_DIM = $86
|
TOK_DIM = $86
|
||||||
TOK_READ = $87
|
TOK_READ = $87
|
||||||
TOK_GR = $88
|
TOK_GR = $88
|
||||||
TOK_TEXT = $89
|
TOK_TEXT = $89
|
||||||
TOK_PR = $8a
|
TOK_PR = $8a
|
||||||
TOK_IN = $8b
|
TOK_IN = $8b
|
||||||
TOK_CALL = $8c
|
TOK_CALL = $8c
|
||||||
TOK_PLOT = $8d
|
TOK_PLOT = $8d
|
||||||
TOK_HLIN = $8e
|
TOK_HLIN = $8e
|
||||||
TOK_VLIN = $8f
|
TOK_VLIN = $8f
|
||||||
TOK_HGR2 = $90
|
TOK_HGR2 = $90
|
||||||
TOK_HGR = $91
|
TOK_HGR = $91
|
||||||
TOK_HCOLOR = $92
|
TOK_HCOLOR = $92
|
||||||
TOK_HPLOT = $93
|
TOK_HPLOT = $93
|
||||||
TOK_DRAW = $94
|
TOK_DRAW = $94
|
||||||
TOK_XDRAW = $95
|
TOK_XDRAW = $95
|
||||||
TOK_HTAB = $96
|
TOK_HTAB = $96
|
||||||
TOK_HOME = $97
|
TOK_HOME = $97
|
||||||
TOK_ROT = $98
|
TOK_ROT = $98
|
||||||
TOK_SCALE = $99
|
TOK_SCALE = $99
|
||||||
TOK_SHLOAD = $9a
|
TOK_SHLOAD = $9a
|
||||||
TOK_TRACE = $9b
|
TOK_TRACE = $9b
|
||||||
TOK_NOTRACE = $9c
|
TOK_NOTRACE = $9c
|
||||||
TOK_NORMAL = $9d
|
TOK_NORMAL = $9d
|
||||||
TOK_INVERSE = $9e
|
TOK_INVERSE = $9e
|
||||||
TOK_FLASH = $9f
|
TOK_FLASH = $9f
|
||||||
TOK_COLOR = $a0
|
TOK_COLOR = $a0
|
||||||
TOK_POP = $a1
|
TOK_POP = $a1
|
||||||
TOK_VTAB = $a2
|
TOK_VTAB = $a2
|
||||||
TOK_HIMEM = $a3
|
TOK_HIMEM = $a3
|
||||||
TOK_LOMEM = $a4
|
TOK_LOMEM = $a4
|
||||||
TOK_ONERR = $a5
|
TOK_ONERR = $a5
|
||||||
TOK_RESUME = $a6
|
TOK_RESUME = $a6
|
||||||
TOK_RECALL = $a7
|
TOK_RECALL = $a7
|
||||||
TOK_STORE = $a8
|
TOK_STORE = $a8
|
||||||
TOK_SPEED = $a9
|
TOK_SPEED = $a9
|
||||||
TOK_LET = $aa
|
TOK_LET = $aa
|
||||||
TOK_GOTO = $ab
|
TOK_GOTO = $ab
|
||||||
TOK_RUN = $ac
|
TOK_RUN = $ac
|
||||||
TOK_IF = $ad
|
TOK_IF = $ad
|
||||||
TOK_RESTORE = $ae
|
TOK_RESTORE = $ae
|
||||||
TOK_AMPER = $af
|
TOK_AMPER = $af
|
||||||
TOK_GOSUB = $b0
|
TOK_GOSUB = $b0
|
||||||
TOK_RETURN = $b1
|
TOK_RETURN = $b1
|
||||||
TOK_REM = $b2
|
TOK_REM = $b2
|
||||||
TOK_STOP = $b3
|
TOK_STOP = $b3
|
||||||
TOK_ON = $b4
|
TOK_ON = $b4
|
||||||
TOK_WAIT = $b5
|
TOK_WAIT = $b5
|
||||||
TOK_LOAD = $b6
|
TOK_LOAD = $b6
|
||||||
TOK_SAVE = $b7
|
TOK_SAVE = $b7
|
||||||
TOK_DEF = $b8
|
TOK_DEF = $b8
|
||||||
TOK_POKE = $b9
|
TOK_POKE = $b9
|
||||||
TOK_PRINT = $ba
|
TOK_PRINT = $ba
|
||||||
TOK_CONT = $bb
|
TOK_CONT = $bb
|
||||||
TOK_LIST = $bc
|
TOK_LIST = $bc
|
||||||
TOK_CLEAR = $bd
|
TOK_CLEAR = $bd
|
||||||
TOK_GET = $be
|
TOK_GET = $be
|
||||||
TOK_NEW = $bf
|
TOK_NEW = $bf
|
||||||
TOK_TAB = $c0
|
TOK_TAB = $c0
|
||||||
TOK_TO = $c1
|
TOK_TO = $c1
|
||||||
TOK_FN = $c2
|
TOK_FN = $c2
|
||||||
TOK_SPC = $c3
|
TOK_SPC = $c3
|
||||||
TOK_THEN = $c4
|
TOK_THEN = $c4
|
||||||
TOK_AT = $c5
|
TOK_AT = $c5
|
||||||
TOK_NOT = $c6
|
TOK_NOT = $c6
|
||||||
TOK_STEP = $c7
|
TOK_STEP = $c7
|
||||||
TOK_PLUS = $c8
|
TOK_PLUS = $c8
|
||||||
TOK_MINUS = $c9
|
TOK_MINUS = $c9
|
||||||
TOK_MULT = $ca
|
TOK_MULT = $ca
|
||||||
TOK_DIV = $cb
|
TOK_DIV = $cb
|
||||||
TOK_EXPOP = $cc
|
TOK_EXPOP = $cc
|
||||||
TOK_AND = $cd
|
TOK_AND = $cd
|
||||||
TOK_OR = $ce
|
TOK_OR = $ce
|
||||||
TOK_GREATER = $cf
|
TOK_GREATER = $cf
|
||||||
TOK_EQUAL = $d0
|
TOK_EQUAL = $d0
|
||||||
TOK_LESSER = $d1
|
TOK_LESSER = $d1
|
||||||
TOK_SGN = $d2
|
TOK_SGN = $d2
|
||||||
TOK_INT = $d3
|
TOK_INT = $d3
|
||||||
TOK_ABS = $d4
|
TOK_ABS = $d4
|
||||||
TOK_USR = $d5
|
TOK_USR = $d5
|
||||||
TOK_FRE = $d6
|
TOK_FRE = $d6
|
||||||
TOK_SCRN = $d7
|
TOK_SCRN = $d7
|
||||||
TOK_PDL = $d8
|
TOK_PDL = $d8
|
||||||
TOK_POS = $d9
|
TOK_POS = $d9
|
||||||
TOK_SQR = $da
|
TOK_SQR = $da
|
||||||
TOK_RND = $db
|
TOK_RND = $db
|
||||||
TOK_LOG = $dc
|
TOK_LOG = $dc
|
||||||
TOK_EXP = $dd
|
TOK_EXP = $dd
|
||||||
TOK_COS = $de
|
TOK_COS = $de
|
||||||
TOK_SIN = $df
|
TOK_SIN = $df
|
||||||
TOK_TAN = $e0
|
TOK_TAN = $e0
|
||||||
TOK_ATN = $e1
|
TOK_ATN = $e1
|
||||||
TOK_PEEK = $e2
|
TOK_PEEK = $e2
|
||||||
TOK_LEN = $e3
|
TOK_LEN = $e3
|
||||||
TOK_STR = $e4
|
TOK_STR = $e4
|
||||||
TOK_VAL = $e5
|
TOK_VAL = $e5
|
||||||
TOK_ASC = $e6
|
TOK_ASC = $e6
|
||||||
TOK_CHR = $e7
|
TOK_CHR = $e7
|
||||||
TOK_LEFT = $e8
|
TOK_LEFT = $e8
|
||||||
TOK_RIGHT = $e9
|
TOK_RIGHT = $e9
|
||||||
TOK_MID = $ea
|
TOK_MID = $ea
|
||||||
; end of tokens
|
; end of tokens
|
||||||
|
@ -7,146 +7,146 @@
|
|||||||
|
|
||||||
*SYNOPSIS Symbols from the Apple II monitor ROM
|
*SYNOPSIS Symbols from the Apple II monitor ROM
|
||||||
|
|
||||||
WNDLEFT @ $20 ;left column of scroll window
|
MON_WNDLEFT @ $20 ;left column of scroll window
|
||||||
WNDWDTH @ $21 ;width of scroll window
|
MON_WNDWDTH @ $21 ;width of scroll window
|
||||||
WNDTOP @ $22 ;top of scroll window
|
MON_WNDTOP @ $22 ;top of scroll window
|
||||||
WNDBTM @ $23 ;bottom of scsroll window
|
MON_WNDBTM @ $23 ;bottom of scsroll window
|
||||||
CH @ $24 ;cursor horizontal displacement
|
MON_CH @ $24 ;cursor horizontal displacement
|
||||||
CV @ $25 ;cursor vertical displacement
|
MON_CV @ $25 ;cursor vertical displacement
|
||||||
GBASL @ $26 ;base address for lo-res drawing (lo)
|
MON_GBASL @ $26 ;base address for lo-res drawing (lo)
|
||||||
GBASH @ $27 ;base address for lo-res drawing (hi)
|
MON_GBASH @ $27 ;base address for lo-res drawing (hi)
|
||||||
H2 @ $2C ;right end of horizontal line drawn by HLINE
|
MON_H2 @ $2C ;right end of horizontal line drawn by HLINE
|
||||||
V2 @ $2D ;bottom of vertical line drawn by VLINE
|
MON_V2 @ $2D ;bottom of vertical line drawn by VLINE
|
||||||
INVFLAG @ $32 ;text mask (255=normal, 127=flash, 63=inv)
|
MON_INVFLAG @ $32 ;text mask (255=normal, 127=flash, 63=inv)
|
||||||
PROMPT @ $33 ;prompt character
|
MON_PROMPT @ $33 ;prompt character
|
||||||
CSWL @ $36 ;character output hook (lo)
|
MON_CSWL @ $36 ;character output hook (lo)
|
||||||
CSWH @ $37 ;character output hook (hi)
|
MON_CSWH @ $37 ;character output hook (hi)
|
||||||
KSWL @ $38 ;character input hook (lo)
|
MON_KSWL @ $38 ;character input hook (lo)
|
||||||
KSWH @ $39 ;character input hook (hi)
|
MON_KSWH @ $39 ;character input hook (hi)
|
||||||
PCL @ $3A ;program counter save
|
MON_PCL @ $3A ;program counter save
|
||||||
PCH @ $3B ;program counter save
|
MON_PCH @ $3B ;program counter save
|
||||||
A1L @ $3C ;general purpose
|
MON_A1L @ $3C ;general purpose
|
||||||
A1H @ $3D ;general purpose
|
MON_A1H @ $3D ;general purpose
|
||||||
A2L @ $3E ;general purpose
|
MON_A2L @ $3E ;general purpose
|
||||||
A2H @ $3F ;general purpose
|
MON_A2H @ $3F ;general purpose
|
||||||
|
|
||||||
SPDBYT @ $F1 ;text output speed limiter
|
MON_SPDBYT @ $F1 ;text output speed limiter
|
||||||
|
|
||||||
BRKV @ $03F0 ;address of BRK handler
|
MON_BRKV @ $03F0 ;address of BRK handler
|
||||||
SOFTEVEC @ $03F2 ;address of RESET handler
|
MON_SOFTEVEC @ $03F2 ;address of RESET handler
|
||||||
PWREDUP @ $03F4 ;power-up RESET checksum
|
MON_PWREDUP @ $03F4 ;power-up RESET checksum
|
||||||
USRADDR @ $03F8 ;jump to function that handles monitor Ctrl-Y
|
MON_USRADDR @ $03F8 ;jump to function that handles monitor Ctrl-Y
|
||||||
NMIVEC @ $03FB ;jump to function that handles NMI
|
MON_NMIVEC @ $03FB ;jump to function that handles NMI
|
||||||
IRQADDR @ $03FE ;address of IRQ handler
|
MON_IRQADDR @ $03FE ;address of IRQ handler
|
||||||
|
|
||||||
PLOT @ $F800 ;lo-res plot at X=Y-reg, Y=Acc
|
MON_PLOT @ $F800 ;lo-res plot at X=Y-reg, Y=Acc
|
||||||
PLOT1 @ $F80E ;lo-res plot at X=Y-reg, Y per GBASL/H
|
MON_PLOT1 @ $F80E ;lo-res plot at X=Y-reg, Y per GBASL/H
|
||||||
HLINE @ $F819 ;lo-res horiz line at Y=Acc with X from $2c
|
MON_HLINE @ $F819 ;lo-res horiz line at Y=Acc with X from $2c
|
||||||
VLINE @ $F828 ;lo-res vert line at X=Y-reg and Y from Acc to $2b
|
MON_VLINE @ $F828 ;lo-res vert line at X=Y-reg and Y from Acc to $2b
|
||||||
CLRSCR @ $F832 ;clear lo-res screen to black
|
MON_CLRSCR @ $F832 ;clear lo-res screen to black
|
||||||
CLRTOP @ $F836 ;clear top part of lo-res screen to black
|
MON_CLRTOP @ $F836 ;clear top part of lo-res screen to black
|
||||||
GBASCALC @ $F847 ;compute gfx base addr for line in Acc
|
MON_GBASCALC @ $F847 ;compute gfx base addr for line in Acc
|
||||||
NXTCOL @ $F85F ;change lo-res color to (color)+3
|
MON_NXTCOL @ $F85F ;change lo-res color to (color)+3
|
||||||
SETCOL @ $F864 ;set lo-res color to Acc
|
MON_SETCOL @ $F864 ;set lo-res color to Acc
|
||||||
SCRN @ $F871 ;load Acc with lo-res value at Y=Acc, X=X-reg
|
MON_SCRN @ $F871 ;load Acc with lo-res value at Y=Acc, X=X-reg
|
||||||
INSDS1_2 @ $F88C
|
MON_INSDS1_2 @ $F88C
|
||||||
INSDS2 @ $F88E
|
MON_INSDS2 @ $F88E
|
||||||
GET816LEN @ $F890
|
MON_GET816LEN @ $F890
|
||||||
INSTDSP @ $F8D0 ;monitor/mini-asm display
|
MON_INSTDSP @ $F8D0 ;monitor/mini-asm display
|
||||||
PRNTYX @ $F940 ;print Y-reg/X-reg as 4 hex digits
|
MON_PRNTYX @ $F940 ;print Y-reg/X-reg as 4 hex digits
|
||||||
PRNTAX @ $F941 ;print Acc/X-reg as 4 hex digits
|
MON_PRNTAX @ $F941 ;print Acc/X-reg as 4 hex digits
|
||||||
PRNTX @ $F944 ;print X-reg as 2 hex digits
|
MON_PRNTX @ $F944 ;print X-reg as 2 hex digits
|
||||||
PRBLNK @ $F948 ;print 3 spaces
|
MON_PRBLNK @ $F948 ;print 3 spaces
|
||||||
PRBL2 @ $F94A
|
MON_PRBL2 @ $F94A
|
||||||
PCADJ @ $F953 ;monitor/mini-asm PC adjust
|
MON_PCADJ @ $F953 ;monitor/mini-asm PC adjust
|
||||||
TEXT2COPY @ $F962
|
MON_TEXT2COPY @ $F962
|
||||||
OLDIRQ @ $FA40 ;autostart ROM IRQ handler
|
MON_OLDIRQ @ $FA40 ;autostart ROM IRQ handler
|
||||||
BREAK @ $FA4C
|
MON_BREAK @ $FA4C
|
||||||
OLDBRK @ $FA59
|
MON_OLDBRK @ $FA59
|
||||||
RESET @ $FA62
|
MON_RESET @ $FA62
|
||||||
PWRUP @ $FAA6
|
MON_PWRUP @ $FAA6
|
||||||
SLOOP @ $FABA
|
MON_SLOOP @ $FABA
|
||||||
REGDSP @ $FAD7 ;display register contents
|
MON_REGDSP @ $FAD7 ;display register contents
|
||||||
RTBL @ $FB19
|
MON_RTBL @ $FB19
|
||||||
PREAD @ $FB1E ;read paddle specifed by X-reg, return in Y-reg
|
MON_PREAD @ $FB1E ;read paddle specifed by X-reg, return in Y-reg
|
||||||
PREAD4 @ $FB21
|
MON_PREAD4 @ $FB21
|
||||||
INIT @ $FB2F ;screen initialization
|
MON_INIT @ $FB2F ;screen initialization
|
||||||
SETTXT @ $FB39 ;set screen to text mode
|
MON_SETTXT @ $FB39 ;set screen to text mode
|
||||||
SETGR @ $FB40 ;set screen to graphics mode
|
MON_SETGR @ $FB40 ;set screen to graphics mode
|
||||||
SETWND @ $FB4B ;set normal low-res graphics window
|
MON_SETWND @ $FB4B ;set normal low-res graphics window
|
||||||
SETWND2 @ $FB51
|
MON_SETWND2 @ $FB51
|
||||||
TABV @ $FB5B ;place cursor at line (A-reg) and column (ch)
|
MON_TABV @ $FB5B ;place cursor at line (A-reg) and column (ch)
|
||||||
APPLEII @ $FB60 ;clear screen and put "Apple II" into first line
|
MON_APPLEII @ $FB60 ;clear screen and put "Apple II" into first line
|
||||||
SETPWRC @ $FB6F
|
MON_SETPWRC @ $FB6F
|
||||||
VIDWAIT @ $FB78
|
MON_VIDWAIT @ $FB78
|
||||||
KBDWAIT @ $FB88
|
MON_KBDWAIT @ $FB88
|
||||||
VERSION @ $FBB3
|
MON_VERSION @ $FBB3
|
||||||
ZIDBYTE2 @ $FBBF
|
MON_ZIDBYTE2 @ $FBBF
|
||||||
ZIDBYTE @ $FBC0
|
MON_ZIDBYTE @ $FBC0
|
||||||
BASCALC @ $FBC1 ;calculate text base address
|
MON_BASCALC @ $FBC1 ;calculate text base address
|
||||||
BELL1 @ $FBDD ;sound bell regardless of output device
|
MON_BELL1 @ $FBDD ;sound bell regardless of output device
|
||||||
BELL1_2 @ $FBE2
|
MON_BELL1_2 @ $FBE2
|
||||||
BELL2 @ $FBE4 ;sound bell
|
MON_BELL2 @ $FBE4 ;sound bell
|
||||||
STORADV @ $FBF0
|
MON_STORADV @ $FBF0
|
||||||
ADVANCE @ $FBF4 ;move cursor right
|
MON_ADVANCE @ $FBF4 ;move cursor right
|
||||||
VIDOUT @ $FBFD ;output Acc as text
|
MON_VIDOUT @ $FBFD ;output Acc as text
|
||||||
BS @ $FC10 ;move cursor left
|
MON_BS @ $FC10 ;move cursor left
|
||||||
UP @ $FC1A ;move cursor up
|
MON_UP @ $FC1A ;move cursor up
|
||||||
VTAB @ $FC22 ;tab to row specified in Acc
|
MON_VTAB @ $FC22 ;tab to row specified in Acc
|
||||||
VTABZ @ $FC24
|
MON_VTABZ @ $FC24
|
||||||
CLREOP @ $FC42 ;clear screen from cursor to end of page
|
MON_CLREOP @ $FC42 ;clear screen from cursor to end of page
|
||||||
HOME @ $FC58 ;clear screen and reset text output to top-left
|
MON_HOME @ $FC58 ;clear screen and reset text output to top-left
|
||||||
CR @ $FC62 ;perform a carriage return
|
MON_CR @ $FC62 ;perform a carriage return
|
||||||
LF @ $FC66 ;perform a line feed
|
MON_LF @ $FC66 ;perform a line feed
|
||||||
SCROLL @ $FC70 ;scroll up 1 line
|
MON_SCROLL @ $FC70 ;scroll up 1 line
|
||||||
CLREOL @ $FC9C ;clear to end of line
|
MON_CLREOL @ $FC9C ;clear to end of line
|
||||||
CLREOLZ @ $FC9E
|
MON_CLREOLZ @ $FC9E
|
||||||
WAIT @ $FCA8 ;delay for (26 + 27*Acc + 5*(Acc*Acc))/2 cycles
|
MON_WAIT @ $FCA8 ;delay for (26 + 27*Acc + 5*(Acc*Acc))/2 cycles
|
||||||
NXTA4 @ $FCB4 ;increment A4
|
MON_NXTA4 @ $FCB4 ;increment A4
|
||||||
NXTA1 @ $FCBA ;increment A1
|
MON_NXTA1 @ $FCBA ;increment A1
|
||||||
HEADR @ $FCC9 ;write cassette sync
|
MON_HEADR @ $FCC9 ;write cassette sync
|
||||||
WRTAPE @ $FCE5 ;casssette write
|
MON_WRTAPE @ $FCE5 ;casssette write
|
||||||
RDKEY @ $FD0C ;read key
|
MON_RDKEY @ $FD0C ;read key
|
||||||
FD10 @ $FD10
|
MON_FD10 @ $FD10
|
||||||
RDKEY1 @ $FD18
|
MON_RDKEY1 @ $FD18
|
||||||
KEYIN @ $FD1B ;get next key input from keyboard hardware
|
MON_KEYIN @ $FD1B ;get next key input from keyboard hardware
|
||||||
RDCHAR @ $FD35 ;calls RDKEY to get next char
|
MON_RDCHAR @ $FD35 ;calls RDKEY to get next char
|
||||||
GETLNZ @ $FD67 ;get a line of input
|
MON_GETLNZ @ $FD67 ;get a line of input
|
||||||
GETLN @ $FD6A ;get a lint of input
|
MON_GETLN @ $FD6A ;get a line of input
|
||||||
GETLN0 @ $FD6C
|
MON_GETLN0 @ $FD6C
|
||||||
GETLN1 @ $FD6F
|
MON_GETLN1 @ $FD6F
|
||||||
CROUT1 @ $FD8B
|
MON_CROUT1 @ $FD8B
|
||||||
CROUT @ $FD8E ;print a carriage return
|
MON_CROUT @ $FD8E ;print a carriage return
|
||||||
PRA1 @ $FD92 ;print CR, then hex of A1H/A1L, then minus sign
|
MON_PRA1 @ $FD92 ;print CR, then hex of A1H/A1L, then minus sign
|
||||||
PRBYTE @ $FDDA ;print Acc as two-digit hex number
|
MON_PRBYTE @ $FDDA ;print Acc as two-digit hex number
|
||||||
PRHEX @ $FDE3 ;print right nibble of Acc as single hex digit
|
MON_PRHEX @ $FDE3 ;print right nibble of Acc as single hex digit
|
||||||
COUT @ $FDED ;print Acc to output device
|
MON_COUT @ $FDED ;print Acc to output device
|
||||||
COUT1 @ $FDF0
|
MON_COUT1 @ $FDF0
|
||||||
COUTZ @ $FDF6
|
MON_COUTZ @ $FDF6
|
||||||
IDROUTINE @ $FE1F
|
MON_IDROUTINE @ $FE1F
|
||||||
MOVE @ $FE2C ;memory move A1/A2 to A4
|
MON_MOVE @ $FE2C ;memory move A1/A2 to A4
|
||||||
LIST @ $FE5E ;disassemble 20 instructions (not on GS)
|
MON_LIST @ $FE5E ;disassemble 20 instructions (not on GS)
|
||||||
SETINV @ $FE80 ;set video mode to inverse
|
MON_SETINV @ $FE80 ;set video mode to inverse
|
||||||
SETNORM @ $FE84 ;set video mode to normal
|
MON_SETNORM @ $FE84 ;set video mode to normal
|
||||||
SETKBD @ $FE89 ;reset char input handler to ROM
|
MON_SETKBD @ $FE89 ;reset char input handler to ROM
|
||||||
INPORT @ $FE8B
|
MON_INPORT @ $FE8B
|
||||||
SETVID @ $FE93 ;reset char output handler to ROM
|
MON_SETVID @ $FE93 ;reset char output handler to ROM
|
||||||
OUTPORT @ $FE95
|
MON_OUTPORT @ $FE95
|
||||||
GO @ $FEB6
|
MON_GO @ $FEB6
|
||||||
WRITE @ $FECD ;write data to cassette
|
MON_WRITE @ $FECD ;write data to cassette
|
||||||
READ @ $FEFD ;read data from cassette
|
MON_READ @ $FEFD ;read data from cassette
|
||||||
PRERR @ $FF2D ;print "ERR" and sound bell
|
MON_PRERR @ $FF2D ;print "ERR" and sound bell
|
||||||
BELL @ $FF3A ;sound bell
|
MON_BELL @ $FF3A ;sound bell
|
||||||
RESTORE @ $FF3F ;restore 6502 registers from $45-48
|
MON_RESTORE @ $FF3F ;restore 6502 registers from $45-48
|
||||||
SAVE @ $FF4A ;save 6502 registers to $45-49
|
MON_SAVE @ $FF4A ;save 6502 registers to $45-49
|
||||||
IORTS @ $FF58 ;JSR here to find out where one is
|
MON_IORTS @ $FF58 ;JSR here to find out where one is
|
||||||
OLDRST @ $FF59 ;RESET entry point
|
MON_OLDRST @ $FF59 ;RESET entry point
|
||||||
MON @ $FF65 ;normal entry to monitor
|
MON_MON @ $FF65 ;normal entry to monitor
|
||||||
MONZ @ $FF69 ;reset and enter monitor
|
MON_MONZ @ $FF69 ;reset and enter monitor
|
||||||
MONZ2 @ $FF6C
|
MON_MONZ2 @ $FF6C
|
||||||
MONZ4 @ $FF70
|
MON_MONZ4 @ $FF70
|
||||||
DIG @ $FF8A
|
MON_DIG @ $FF8A
|
||||||
GETNUM @ $FFA7
|
MON_GETNUM @ $FFA7
|
||||||
NXTCHR @ $FFAD ;part of GETLN input loop
|
MON_NXTCHR @ $FFAD ;part of GETLN input loop
|
||||||
TOSUB @ $FFBE
|
MON_TOSUB @ $FFBE
|
||||||
ZMODE @ $FFC7
|
MON_ZMODE @ $FFC7
|
||||||
|
@ -60,7 +60,7 @@ limitations under the License.
|
|||||||
<TextBlock Text="Maximum line width:"/>
|
<TextBlock Text="Maximum line width:"/>
|
||||||
<ComboBox Name="maxWidthComboBox" Width="75" Margin="8,0,0,0"
|
<ComboBox Name="maxWidthComboBox" Width="75" Margin="8,0,0,0"
|
||||||
ItemsSource="{Binding LineWidthItems}" SelectionChanged="MaxWidthComboBox_SelectionChanged"/>
|
ItemsSource="{Binding LineWidthItems}" SelectionChanged="MaxWidthComboBox_SelectionChanged"/>
|
||||||
<CheckBox Content="Render in box" Margin="40,1,0,0" IsChecked="{Binding RenderInBox}"/>
|
<CheckBox Content="Render in _box" Margin="40,1,0,0" IsChecked="{Binding RenderInBox}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<TextBlock Grid.Row="3" Text="Expected output:" Margin="0,20,0,0"/>
|
<TextBlock Grid.Row="3" Text="Expected output:" Margin="0,20,0,0"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user