Macro Debugflash:
[0000]'
[0001]'flash:
[0002]' inc $d020
[0003]' dec $d020
[0004]' jmp flash
[0005]'
L0017: . 0000: MACRODEF(Debugflash)
L0018: "
"
L0019: ";##############################################################################################
"
L001A: "; Usage: .copy_word (from, to)
"
L001B: "; Purpose: copy 16 bit word value
"
L001C: ";##############################################################################################
"
L001D: "
"
L001E: "#macro copy_word (from, to)
"
L001F: " {
"
L0020: " lda {from}
"
L0021: " sta {to}
"
L0022: " lda {from}+1
"
L0023: " sta {to}+1
"
L0024: " }
"
Macro copy_word:
[0000]'
[0001]' lda
[0002]Parameter 0
[0003]'
[0004]' sta
[0005]Parameter 1
[0006]'
[0007]' lda
[0008]Parameter 0
[0009]'+1
[0010]' sta
[0011]Parameter 1
[0012]'+1
[0013]'
L0024: . 0000: MACRODEF(copy_word)
L0025: "
"
L0026: ";##############################################################################################
"
L0027: "; far branch, as defined in <6502/std.a>
"
L0028: ";##############################################################################################
"
L0029: "#macro bne (target)
"
L002A: " {
"
L002B: " beq * + 5
"
L002C: " jmp {target}
"
L002D: " }
"
Macro bne:
[0000]'
[0001]' beq * + 5
[0002]' jmp
[0003]Parameter 0
[0004]'
[0005]'
L002D: . 0000: MACRODEF(bne)
L002E: "
"
L002F: ";##############################################################################################
"
L0030: "; far branch, as defined by count
"
L0031: ";##############################################################################################
"
L0032: "#macro beq (target)
"
L0033: " {
"
L0034: " bne * + 5
"
L0035: " jmp {target}
"
L0036: " }
"
Macro beq:
[0000]'
[0001]' bne * + 5
[0002]' jmp
[0003]Parameter 0
[0004]'
[0005]'
L0036: . 0000: MACRODEF(beq)
L0037: "
"
L0038: ";##############################################################################################
"
L0039: ";############################################################################################## from the manual
"
L003A: "/*
"
L003B: " * Definition syntax:
"
L003C: " * #macro name [( [parameter [, parameter...]] )]
"
L003D: " * { [macrotext | {parameter}]... }
"
L003E: " *
"
L003F: " * Call Syntax:
"
L0040: " * .name [( [parameter [, parameter...]] )]
"
L0041: " *
"
L0042: " * Definition:
"
L0043: " * #macro copy_word (from, to)
"
L0044: " * {
"
L0045: " * lda {from}
"
L0046: " * sta {to}
"
L0047: " * lda {from}+1
"
L0048: " * sta {to}+1
"
L0049: " * }
"
L004A: " *
"
L004B: " * Call:
"
L004C: " * .copy_word (cols, $d020)
"
L004D: " * Expands to:
"
L004E: " * lda cols
"
L004F: " * sta $d020
"
L0050: " * lda cols+1
"
L0051: " * sta $d020+1
"
L0052: " */
"
L0017: "
"
L0018: " #include "debugstub.src" ; include as desired from here ... without paths possible whenever -Ipath on Makefile was defined
"
L0018: . 0000: #include "debugstub.src"
L0001: ";----------------------------------------------------------------------------------------------
"
L0002: "; SilverSurfer polling mode driver (w) 2001 Groepaz/Hitmen
"
L0003: "; - this one is optimized for size and reliability (rather than maximum speed or efficiency)
"
L0004: ";
"
L0005: "; $Id$
"
L0006: ";
"
L0007: ";----------------------------------------------------------------------------------------------
"
L0008: "; ss_detect detect silversurfer, returns CARRY=1 on error
"
L0009: "; ss_init init uart, call with baudrate divisor lowbyte in A
"
L000A: "; ss_getchr get byte (blocking) - returns next byte in A
"
L000B: "; ss_getchr2 get byte (non blocking, returns byte in A or CARRY=1 - error)
"
L000C: "; ss_putchr sends byte in A
"
L000D: ";----------------------------------------------------------------------------------------------
"
L000E: "; all functions except ss_detect and ss_init use/modify AKKU only.
"
L000F: ";----------------------------------------------------------------------------------------------
"
L0010: "
"
L0011: " .segment "debugstub"
"
L0011: . 0000: .segment "debugstub"
L0012: "
"
L0013: "rs16550base = $de08
"
L0013: . 0000: rs16550base = $de08
L0014: "
"
L0015: "fifo_rxd = rs16550base+$00 ; (r) de08
"
L0015: . 0000: fifo_rxd = rs16550base + $0
L0016: "fifo_txd = rs16550base+$00 ; (w) de08
"
L0016: . 0000: fifo_txd = rs16550base + $0
L0017: "
"
L0018: "fifo_dll = rs16550base+$00 ; (r/w) de08
"
L0018: . 0000: fifo_dll = rs16550base + $0
L0019: "fifo_dlm = rs16550base+$01 ; (r/w) de09
"
L0019: . 0000: fifo_dlm = rs16550base + $1
L001A: "
"
L001B: "fifo_ier = rs16550base+$01 ; de09
"
L001B: . 0000: fifo_ier = rs16550base + $1
L001C: "
"
L001D: "fifo_fcr = rs16550base+$02 ; (w) de0a
"
L001D: . 0000: fifo_fcr = rs16550base + $2
L001E: "fifo_iir = rs16550base+$02 ; (r) de0a
"
L001E: . 0000: fifo_iir = rs16550base + $2
L001F: "fifo_lcr = rs16550base+$03 ; de0b
"
L001F: . 0000: fifo_lcr = rs16550base + $3
L0020: "fifo_mcr = rs16550base+$04 ; de0c
"
L0020: . 0000: fifo_mcr = rs16550base + $4
L0021: "fifo_lsr = rs16550base+$05 ; de0d
"
L0021: . 0000: fifo_lsr = rs16550base + $5
L0022: "fifo_msr = rs16550base+$06 ; (r) de0e
"
L0022: . 0000: fifo_msr = rs16550base + $6
L0023: "fifo_scratch = rs16550base+$07 ; (r/w) de0f
"
L0023: . 0000: fifo_scratch = rs16550base + $7
L0024: "
"
L0025: "ss_cmdmagic = $41 ;'a'
"
L0025: . 0000: ss_cmdmagic = $41
L0026: "ss_cmdgetblk = $42 ;'b'
"
L0026: . 0000: ss_cmdgetblk = $42
L0027: "ss_cmdsndblk = $43 ;'c'
"
L0027: . 0000: ss_cmdsndblk = $43
L0028: "ss_cmdsetpc = $44 ;'d'
"
L0028: . 0000: ss_cmdsetpc = $44
L0029: "ss_cmdgetpc = $45 ;'e'
"
L0029: . 0000: ss_cmdgetpc = $45
L002A: "ss_cmdfreeze = $46 ;'f'
"
L002A: . 0000: ss_cmdfreeze = $46
L002B: "ss_cmdunfreeze = $47 ;'g'
"
L002B: . 0000: ss_cmdunfreeze = $47
L002C: "ss_cmdsetbp = $48 ;'h'
"
L002C: . 0000: ss_cmdsetbp = $48
L002D: "ss_cmdclearbp = $49 ;'i'
"
L002D: . 0000: ss_cmdclearbp = $49
L002E: "ss_cmdpresskey = $4a ;'j'
"
L002E: . 0000: ss_cmdpresskey = $4a
L002F: "ss_cmdexec = $4b ;'k'
"
L002F: . 0000: ss_cmdexec = $4b
L0030: "ss_cmdgetimgblk = $4c ;'l'
"
L0030: . 0000: ss_cmdgetimgblk = $4c
L0031: "ss_cmdsndimgblk = $4d ;'m'
"
L0031: . 0000: ss_cmdsndimgblk = $4d
L0032: "
"
L0033: ";---------------------------------------
"
L0034: "
"
L0035: " * = $ce00
"
L0035: . 0000: * = $ce00
L0036: " .setpet
"
L0036: F CE00: .setpet
L0037: "
"
L0038: "ptr = $a0
"
L0038: F CE00: ptr = $a0
L0039: "
"
L003A: ";---------------------------------------
"
L003B: " jmp stub_link
"
L003B: F CE00: JMP stub_link
L003C: " jmp stub_poll
"
L003C: F CE03: JMP stub_poll
L003D: "
"
L003E: "stub_link:
"
L003E: F CE06: stub_link :
L003F: ";---------------------------------------
"
L0040: "; 9600 $30
"
L0041: "; 19200 $18
"
L0042: "; 38400 $0c
"
L0043: "; 57600 $08
"
L0044: "; 115000 $04
"
L0045: ";---------------------------------------
"
L0046: " lda #$04
"
L0046: F CE06: LDA # $4
L0047: " jsr ss_init
"
L0047: F CE08: JSR ss_init
L0048: "l:
"
L0048: F CE0B: l :
L0049: " jsr stub_poll
"
L0049: F CE0B: JSR stub_poll
L004A: " jmp l
"
L004A: F CE0E: JMP l
L004B: ";---------------------------------------
"
L004C: "
"
L004D: "stub_poll:
"
L004D: F CE11: stub_poll :
L004E: " sei
"
L004E: F CE11: SEI
L004F: " ; check if a byte arrived on the port
"
L0050: " jsr ss_getchr2
"
L0050: F CE12: JSR ss_getchr2
L0051: " bcs nochar
"
L0051: F CE15: BCS nochar
L0052: "
"
L0053: " ; if yes, check if it is the command magic
"
L0054: " cmp #ss_cmdmagic ; $41 ;'a'
"
L0054: F CE17: CMP # ss_cmdmagic
L0055: " bne notmagic
"
L0055: F CE19: BNE notmagic
L0056: "
"
L0057: " ; get command
"
L0058: " jsr ss_getchr
"
L0058: F CE1B: JSR ss_getchr
L0059: "
"
L005A: " cmp #ss_cmdgetblk
"
L005A: F CE1E: CMP # ss_cmdgetblk
L005B: " bne sk221
"
L005B: F CE20: BNE sk221
L005C: " jmp stub_getblk ; $42 ;'b'
"
L005C: F CE22: JMP stub_getblk
L005D: "sk221:
"
L005D: F CE25: sk221 :
L005E: " cmp #ss_cmdsndblk ; $43 ;'c'
"
L005E: F CE25: CMP # ss_cmdsndblk
L005F: " bne sk222
"
L005F: F CE27: BNE sk222
L0060: " jmp stub_sndblk
"
L0060: F CE29: JMP stub_sndblk
L0061: "sk222:
"
L0061: F CE2C: sk222 :
L0062: " cmp #ss_cmdsetpc ; $44 ;'d'
"
L0062: F CE2C: CMP # ss_cmdsetpc
L0063: " bne sk223
"
L0063: F CE2E: BNE sk223
L0064: " jmp stub_setpc
"
L0064: F CE30: JMP stub_setpc
L0065: "sk223:
"
L0065: F CE33: sk223 :
L0066: " cmp #ss_cmdexec ; $4b ;'k'
"
L0066: F CE33: CMP # ss_cmdexec
L0067: " bne stub_return
"
L0067: F CE35: BNE stub_return
L0068: " jmp stub_exec
"
L0068: F CE37: JMP stub_exec
L0069: "
"
L006A: "nochar:
"
L006A: F CE3A: nochar :
L006B: "notmagic:
"
L006B: F CE3A: notmagic :
L006C: "stub_return:
"
L006C: F CE3A: stub_return :
L006D: " cli
"
L006D: F CE3A: CLI
L006E: " rts
"
L006E: F CE3B: RTS
L006F: ";---------------------------------------
"
L0070: "stub_getblk:
"
L0070: F CE3C: stub_getblk :
L0071: " lda ptr
"
L0071: F CE3C: LDA ptr
L0072: " pha
"
L0072: F CE3E: PHA
L0073: " lda ptr+1
"
L0073: F CE3F: LDA ptr + $1
L0074: " pha
"
L0074: F CE41: PHA
L0075: " lda ptr+2
"
L0075: F CE42: LDA ptr + $2
L0076: " pha
"
L0076: F CE44: PHA
L0077: " lda ptr+3
"
L0077: F CE45: LDA ptr + $3
L0078: " pha
"
L0078: F CE47: PHA
L0079: " jsr ss_getchr
"
L0079: F CE48: JSR ss_getchr
L007A: " sta ptr+2
"
L007A: F CE4B: STA ptr + $2
L007B: " jsr ss_getchr
"
L007B: F CE4D: JSR ss_getchr
L007C: " sta ptr+3
"
L007C: F CE50: STA ptr + $3
L007D: " jsr ss_getchr
"
L007D: F CE52: JSR ss_getchr
L007E: " sta ptr
"
L007E: F CE55: STA ptr
L007F: " jsr ss_getchr
"
L007F: F CE57: JSR ss_getchr
L0080: " sta ptr+1
"
L0080: F CE5A: STA ptr + $1
L0081: " ldy #$00
"
L0081: F CE5C: LDY # $0
L0082: "sl2: jsr ss_getchr
"
L0082: F CE5E: sl2 : JSR ss_getchr
L0083: " sta (ptr),y
"
L0083: F CE61: STA ( ptr ) , y
L0084: " inc ptr
"
L0084: F CE63: INC ptr
L0085: " bne sl1
"
L0085: F CE65: BNE sl1
L0086: " inc ptr+1
"
L0086: F CE67: INC ptr + $1
L0087: "sl1: lda ptr+1
"
L0087: F CE69: sl1 : LDA ptr + $1
L0088: " cmp ptr+3
"
L0088: F CE6B: CMP ptr + $3
L0089: " bne sl2
"
L0089: F CE6D: BNE sl2
L008A: " lda ptr
"
L008A: F CE6F: LDA ptr
L008B: " cmp ptr+2
"
L008B: F CE71: CMP ptr + $2
L008C: " bne sl2
"
L008C: F CE73: BNE sl2
L008D: " pla
"
L008D: F CE75: PLA
L008E: " sta $00a3.2
"
L008E: F CE76: STA $a3 . $2
L008F: " pla
"
L008F: F CE79: PLA
L0090: " sta $00a2.2
"
L0090: F CE7A: STA $a2 . $2
L0091: " pla
"
L0091: F CE7D: PLA
L0092: " sta $00a1.2
"
L0092: F CE7E: STA $a1 . $2
L0093: " pla
"
L0093: F CE81: PLA
L0094: " sta $00a0.2
"
L0094: F CE82: STA $a0 . $2
L0095: " cli
"
L0095: F CE85: CLI
L0096: " rts
"
L0096: F CE86: RTS
L0097: "
"
L0098: "stub_sndblk:
"
L0098: F CE87: stub_sndblk :
L0099: " lda ptr
"
L0099: F CE87: LDA ptr
L009A: " pha
"
L009A: F CE89: PHA
L009B: " lda ptr+1
"
L009B: F CE8A: LDA ptr + $1
L009C: " pha
"
L009C: F CE8C: PHA
L009D: " lda ptr+2
"
L009D: F CE8D: LDA ptr + $2
L009E: " pha
"
L009E: F CE8F: PHA
L009F: " lda ptr+3
"
L009F: F CE90: LDA ptr + $3
L00A0: " pha
"
L00A0: F CE92: PHA
L00A1: " jsr ss_getchr
"
L00A1: F CE93: JSR ss_getchr
L00A2: " sta ptr+2
"
L00A2: F CE96: STA ptr + $2
L00A3: " jsr ss_getchr
"
L00A3: F CE98: JSR ss_getchr
L00A4: " sta ptr+3
"
L00A4: F CE9B: STA ptr + $3
L00A5: " jsr ss_getchr
"
L00A5: F CE9D: JSR ss_getchr
L00A6: " sta ptr
"
L00A6: F CEA0: STA ptr
L00A7: " jsr ss_getchr
"
L00A7: F CEA2: JSR ss_getchr
L00A8: " sta ptr+1
"
L00A8: F CEA5: STA ptr + $1
L00A9: " ldy #$00
"
L00A9: F CEA7: LDY # $0
L00AA: "sl4 lda (ptr),y
"
L00AA: F CEA9: sl4 LDA ( ptr ) , y
L00AB: " jsr ss_putchr
"
L00AB: F CEAB: JSR ss_putchr
L00AC: " inc ptr
"
L00AC: F CEAE: INC ptr
L00AD: " bne sl3
"
L00AD: F CEB0: BNE sl3
L00AE: " inc ptr+1
"
L00AE: F CEB2: INC ptr + $1
L00AF: "sl3: lda ptr+1
"
L00AF: F CEB4: sl3 : LDA ptr + $1
L00B0: " cmp ptr+3
"
L00B0: F CEB6: CMP ptr + $3
L00B1: " bne sl4
"
L00B1: F CEB8: BNE sl4
L00B2: " lda ptr
"
L00B2: F CEBA: LDA ptr
L00B3: " cmp ptr+2
"
L00B3: F CEBC: CMP ptr + $2
L00B4: " bne sl4
"
L00B4: F CEBE: BNE sl4
L00B5: " pla
"
L00B5: F CEC0: PLA
L00B6: " sta ptr+3
"
L00B6: F CEC1: STA ptr + $3
L00B7: " pla
"
L00B7: F CEC3: PLA
L00B8: " sta ptr+2
"
L00B8: F CEC4: STA ptr + $2
L00B9: " pla
"
L00B9: F CEC6: PLA
L00BA: " sta ptr+1
"
L00BA: F CEC7: STA ptr + $1
L00BB: " pla
"
L00BB: F CEC9: PLA
L00BC: " sta ptr
"
L00BC: F CECA: STA ptr
L00BD: " cli
"
L00BD: F CECC: CLI
L00BE: " rts
"
L00BE: F CECD: RTS
L00BF: "
"
L00C0: "
"
L00C1: ";----------------------------------------------------------------------------------------------
"
L00C2: "
"
L00C3: "stub_setpc:
"
L00C3: F CECE: stub_setpc :
L00C4: " ; new pc
"
L00C5: " jsr ss_getchr
"
L00C5: F CECE: JSR ss_getchr
L00C6: " sta <(ptr)
"
L00C6: F CED1: STA < ( ptr )
L00C7: " jsr ss_getchr
"
L00C7: F CED3: JSR ss_getchr
L00C8: " sta <(ptr+1)
"
L00C8: F CED6: STA < ( ptr + $1 )
L00C9: "; cli
"
L00CA: " jmp (ptr)
"
L00CA: F CED8: JMP ( ptr )
L00CB: ";---------------------------------------
"
L00CC: "stub_exec:
"
L00CC: F CEDB: stub_exec :
L00CD: " lda #$37
"
L00CD: F CEDB: LDA # $37
L00CE: " sta $01
"
L00CE: F CEDD: STA $1
L00CF: " cli
"
L00CF: F CEDF: CLI
L00D0: " jsr $a659
"
L00D0: F CEE0: JSR $a659
L00D1: " jmp $a7ae
"
L00D1: F CEE3: JMP $a7ae
L00D2: ";----------------------------------------------------------------------------------------------
"
L00D3: "; detect silversurfer, returns CARRY=1 on error
"
L00D4: ";----------------------------------------------------------------------------------------------
"
L00D5: "
"
L00D6: "
"
L00D7: "ss_detect:
"
L00D7: F CEE6: ss_detect :
L00D8: "
"
L00D9: " ;
"
L00DA: " ; enable ssurfer-port
"
L00DB: " ;
"
L00DC: "
"
L00DD: " lda $de01
"
L00DD: F CEE6: LDA $de01
L00DE: " ora #$01
"
L00DE: F CEE9: ORA # $1
L00DF: " sta $de01
"
L00DF: F CEEB: STA $de01
L00E0: "
"
L00E1: " ;
"
L00E2: " ; check if scratch-register available
"
L00E3: " ;
"
L00E4: "
"
L00E5: " ldx #$00
"
L00E5: F CEEE: LDX # $0
L00E6: "lx1:
"
L00E6: F CEF0: lx1 :
L00E7: " stx fifo_scratch
"
L00E7: F CEF0: STX fifo_scratch
L00E8: " cpx fifo_scratch
"
L00E8: F CEF3: CPX fifo_scratch
L00E9: " bne sk1
"
L00E9: F CEF6: BNE sk1
L00EA: "
"
L00EB: " inx
"
L00EB: F CEF8: INX
L00EC: " bne lx1
"
L00EC: F CEF9: BNE lx1
L00ED: "
"
L00EE: " ; ok
"
L00EF: " clc
"
L00EF: F CEFB: CLC
L00F0: " rts
"
L00F0: F CEFC: RTS
L00F1: "
"
L00F2: "sk1:
"
L00F2: F CEFD: sk1 :
L00F3: " ; error
"
L00F4: " sec
"
L00F4: F CEFD: SEC
L00F5: " rts
"
L00F5: F CEFE: RTS
L00F6: "
"
L00F7: ";----------------------------------------------------------------------------------------------
"
L00F8: "; init uart, call with baudrate divisor lowbyte in A
"
L00F9: ";----------------------------------------------------------------------------------------------
"
L00FA: ";
"
L00FB: "; 9600 $30
"
L00FC: "; 19200 $18
"
L00FD: "; 38400 $0c
"
L00FE: "; 57600 $08
"
L00FF: "; 115000 $04
"
L0100: ";
"
L0101: ";----------------------------------------------------------------------------------------------
"
L0102: "
"
L0103: "ss_init:
"
L0103: F CEFF: ss_init :
L0104: " tax
"
L0104: F CEFF: TAX
L0105: "
"
L0106: " ;
"
L0107: " ; enable ssurfer-port
"
L0108: " ;
"
L0109: "
"
L010A: " lda $de01
"
L010A: F CF00: LDA $de01
L010B: " ora #$01
"
L010B: F CF03: ORA # $1
L010C: " sta $de01
"
L010C: F CF05: STA $de01
L010D: "
"
L010E: " ;
"
L010F: " ; init and set baudrate
"
L0110: " ;
"
L0111: "
"
L0112: " lda #%10000111
"
L0112: F CF08: LDA # $87
L0113: " sta fifo_fcr
"
L0113: F CF0A: STA fifo_fcr
L0114: "
"
L0115: " ; that delay thing really needed ?!
"
L0116: " ; (original datasheet mentions a delay here)
"
L0117: " ; ldy #$00
"
L0118: " ; dey
"
L0119: " ; bny *-1
"
L011A: "
"
L011B: " ; set dlab
"
L011C: " lda #%10000011
"
L011C: F CF0D: LDA # $83
L011D: " sta fifo_lcr
"
L011D: F CF0F: STA fifo_lcr
L011E: "
"
L011F: " ; set baudrate
"
L0120: "
"
L0121: " stx fifo_dll
"
L0121: F CF12: STX fifo_dll
L0122: " lda #$00
"
L0122: F CF15: LDA # $0
L0123: " sta fifo_dlm
"
L0123: F CF17: STA fifo_dlm
L0124: "
"
L0125: " ; reset dlab
"
L0126: " lda #%00000011
"
L0126: F CF1A: LDA # $3
L0127: " sta fifo_lcr
"
L0127: F CF1C: STA fifo_lcr
L0128: "
"
L0129: " ; disable nmi's from ssurfer
"
L012A: " lda #%00000000
"
L012A: F CF1F: LDA # $0
L012B: " sta fifo_ier
"
L012B: F CF21: STA fifo_ier
L012C: "
"
L012D: " ; activate dtr
"
L012E: " jmp ss_pause
"
L012E: F CF24: JMP ss_pause
L012F: "
"
L0130: ";----------------------------------------------------------------------------------------------
"
L0131: "; check if data available
"
L0132: "; no data: AKKU=0
"
L0133: "; data: AKKU!=0
"
L0134: ";----------------------------------------------------------------------------------------------
"
L0135: "ss_stat_data_available:
"
L0135: F CF27: ss_stat_data_available :
L0136: " lda fifo_lsr
"
L0136: F CF27: LDA fifo_lsr
L0137: " and #%00000001
"
L0137: F CF2A: AND # $1
L0138: " rts
"
L0138: F CF2C: RTS
L0139: ";----------------------------------------------------------------------------------------------
"
L013A: "; check if transmit register empty
"
L013B: "; busy: AKKU=0
"
L013C: "; empty: AKKU!=0
"
L013D: ";----------------------------------------------------------------------------------------------
"
L013E: "ss_stat_transmit_ready:
"
L013E: F CF2D: ss_stat_transmit_ready :
L013F: " lda fifo_lsr
"
L013F: F CF2D: LDA fifo_lsr
L0140: " and #%00100000
"
L0140: F CF30: AND # $20
L0141: " rts
"
L0141: F CF32: RTS
L0142: ";----------------------------------------------------------------------------------------------
"
L0143: "; check if reciever ready
"
L0144: "; busy: AKKU=0
"
L0145: "; ready: AKKU!=0
"
L0146: ";----------------------------------------------------------------------------------------------
"
L0147: "ss_stat_reciever_ready:
"
L0147: F CF33: ss_stat_reciever_ready :
L0148: " ; check cts
"
L0149: " lda fifo_msr
"
L0149: F CF33: LDA fifo_msr
L014A: " and #%00010000
"
L014A: F CF36: AND # $10
L014B: " rts
"
L014B: F CF38: RTS
L014C: ";----------------------------------------------------------------------------------------------
"
L014D: "; Flow-Control
"
L014E: ";----------------------------------------------------------------------------------------------
"
L014F: "ss_unpause:
"
L014F: F CF39: ss_unpause :
L0150: " ; activate rts
"
L0151: " lda #%00000011
"
L0151: F CF39: LDA # $3
L0152: " sta fifo_mcr
"
L0152: F CF3B: STA fifo_mcr
L0153: " rts
"
L0153: F CF3E: RTS
L0154: "ss_pause:
"
L0154: F CF3F: ss_pause :
L0155: " ; deactivate rts
"
L0156: " lda #%00000001
"
L0156: F CF3F: LDA # $1
L0157: " sta fifo_mcr
"
L0157: F CF41: STA fifo_mcr
L0158: " rts
"
L0158: F CF44: RTS
L0159: ";----------------------------------------------------------------------------------------------
"
L015A: "; get byte (non blocking, returns byte in A or CARRY=1 - error)
"
L015B: ";----------------------------------------------------------------------------------------------
"
L015C: "ss_getchr2:
"
L015C: F CF45: ss_getchr2 :
L015D: " ; check if byte available
"
L015E: " jsr ss_stat_data_available
"
L015E: F CF45: JSR ss_stat_data_available
L015F: " bne sk32 ; yes
"
L015F: F CF48: BNE sk32
L0160: "
"
L0161: " ; release flow-control
"
L0162: " jsr ss_unpause
"
L0162: F CF4A: JSR ss_unpause
L0163: "sk32:
"
L0163: F CF4D: sk32 :
L0164: " ; set flow-control
"
L0165: " jsr ss_pause
"
L0165: F CF4D: JSR ss_pause
L0166: "
"
L0167: " ; check if byte available
"
L0168: " jsr ss_stat_data_available
"
L0168: F CF50: JSR ss_stat_data_available
L0169: " bne sk33 ; yes
"
L0169: F CF53: BNE sk33
L016A: " sec
"
L016A: F CF55: SEC
L016B: " rts
"
L016B: F CF56: RTS
L016C: "sk33:
"
L016C: F CF57: sk33 :
L016D: " ; get byte
"
L016E: " lda fifo_rxd
"
L016E: F CF57: LDA fifo_rxd
L016F: " clc
"
L016F: F CF5A: CLC
L0170: " rts
"
L0170: F CF5B: RTS
L0171: "
"
L0172: ";----------------------------------------------------------------------------------------------
"
L0173: "; get byte (blocking) - returns next byte in A
"
L0174: ";----------------------------------------------------------------------------------------------
"
L0175: "
"
L0176: "ss_getchr:
"
L0176: F CF5C: ss_getchr :
L0177: "
"
L0178: "lp1:
"
L0178: F CF5C: lp1 :
L0179: " jsr ss_getchr2
"
L0179: F CF5C: JSR ss_getchr2
L017A: " bcs lp1 ; no byte read
"
L017A: F CF5F: BCS lp1
L017B: " rts
"
L017B: F CF61: RTS
L017C: "
"
L017D: ";----------------------------------------------------------------------------------------------
"
L017E: "; send byte in A (blocking) - waits until byte can be send
"
L017F: ";----------------------------------------------------------------------------------------------
"
L0180: "
"
L0181: "ss_putchr:
"
L0181: F CF62: ss_putchr :
L0182: " pha
"
L0182: F CF62: PHA
L0183: "
"
L0184: " ; wait until reciever is ready to recieve
"
L0185: "l2:
"
L0185: F CF63: l2 :
L0186: " jsr ss_stat_reciever_ready
"
L0186: F CF63: JSR ss_stat_reciever_ready
L0187: " beq l2
"
L0187: F CF66: BEQ l2
L0188: "
"
L0189: " ; wait until send buffer is empty
"
L018A: "l1:
"
L018A: F CF68: l1 :
L018B: " jsr ss_stat_transmit_ready
"
L018B: F CF68: JSR ss_stat_transmit_ready
L018C: " beq l1
"
L018C: F CF6B: BEQ l1
L018D: "
"
L018E: " ; send byte
"
L018F: " pla
"
L018F: F CF6D: PLA
L0190: " sta fifo_txd
"
L0190: F CF6E: STA fifo_txd
L0191: " rts
"
L0191: F CF71: RTS
L0192: "
"
L0193: ";----------------------------------------------------------------------------------------------
"
L0019: "
"
L001A: "
"
L001B: "
"
L001C: " ; lda $d020+
"
L001D: "
"
L001E: "; so you got here ... uncomment the line above, press F1, press F4 to jump to errors and warnings (also self made #warning "messages") ...
"
fifo_dll | $de08 | |
fifo_dlm | $de09 | |
fifo_fcr | $de0a | |
fifo_ier | $de09 | |
fifo_iir | $de0a | unused |
fifo_lcr | $de0b | |
fifo_lsr | $de0d | |
fifo_mcr | $de0c | |
fifo_msr | $de0e | |
fifo_rxd | $de08 | |
fifo_scratch | $de0f | |
fifo_txd | $de08 | |
l | $ce0b | |
l1 | $cf68 | |
l2 | $cf63 | |
lp1 | $cf5c | |
lx1 | $cef0 | |
nochar | $ce3a | |
notmagic | $ce3a | |
ptr | $a0 | |
rs16550base | $de08 | |
sk1 | $cefd | |
sk221 | $ce25 | |
sk222 | $ce2c | |
sk223 | $ce33 | |
sk32 | $cf4d | |
sk33 | $cf57 | |
sl1 | $ce69 | |
sl2 | $ce5e | |
sl3 | $ceb4 | |
sl4 | $cea9 | |
ss_cmdclearbp | $49 | unused |
ss_cmdexec | $4b | |
ss_cmdfreeze | $46 | unused |
ss_cmdgetblk | $42 | |
ss_cmdgetimgblk | $4c | unused |
ss_cmdgetpc | $45 | unused |
ss_cmdmagic | $41 | |
ss_cmdpresskey | $4a | unused |
ss_cmdsetbp | $48 | unused |
ss_cmdsetpc | $44 | |
ss_cmdsndblk | $43 | |
ss_cmdsndimgblk | $4d | unused |
ss_cmdunfreeze | $47 | unused |
ss_detect | $cee6 | |
ss_getchr | $cf5c | |
ss_getchr2 | $cf45 | |
ss_init | $ceff | |
ss_pause | $cf3f | |
ss_putchr | $cf62 | |
ss_stat_data_available | $cf27 | |
ss_stat_reciever_ready | $cf33 | |
ss_stat_transmit_ready | $cf2d | |
ss_unpause | $cf39 | |
stub_exec | $cedb | |
stub_getblk | $ce3c | |
stub_link | $ce06 | |
stub_poll | $ce11 | |
stub_return | $ce3a | |
stub_setpc | $cece | |
stub_sndblk | $ce87 |
FileIdx: 0 *** command line ***
Linebuffer Size: 1
0000:L0001: F CF72:
FileIdx: 1 src/main.src
Linebuffer Size: 4
0000:L0012: F CF72: . . . . . . . . . . . . . .
0001:L0014: F CF72: . . . . . . . . . .
0002:L0016: F CF72:
FileIdx: 2 macros.src
Linebuffer Size: 4
0000:L0017: F CF72: .
0001:L0024: F CF72: .
0002:L002D: F CF72: .
0003:L0036: F CF72: .
back to FileIdx: 1 src/main.src
(continuing...) .
0003:L0018: F CF72:
FileIdx: 3 debugstub.src
Linebuffer Size: 238
0000:L0011: F CF72: SEGMENTENTER($00000001) .
0001:L0013: F CF72: VARDEF(rs16550base=$0000de08) . .
0002:L0015: F CF72: VARDEF(fifo_rxd=$0000de08) . . . .
0003:L0016: F CF72: VARDEF(fifo_txd=$0000de08) . . . .
0004:L0018: F CF72: VARDEF(fifo_dll=$0000de08) . . . .
0005:L0019: F CF72: VARDEF(fifo_dlm=$0000de09) . . . .
0006:L001B: F CF72: VARDEF(fifo_ier=$0000de09) . . . .
0007:L001D: F CF72: VARDEF(fifo_fcr=$0000de0a) . . . .
0008:L001E: F CF72: VARDEF(fifo_iir=$0000de0a) . . . .
0009:L001F: F CF72: VARDEF(fifo_lcr=$0000de0b) . . . .
000A:L0020: F CF72: VARDEF(fifo_mcr=$0000de0c) . . . .
000B:L0021: F CF72: VARDEF(fifo_lsr=$0000de0d) . . . .
000C:L0022: F CF72: VARDEF(fifo_msr=$0000de0e) . . . .
000D:L0023: F CF72: VARDEF(fifo_scratch=$0000de0f) . . . .
000E:L0025: F CF72: VARDEF(ss_cmdmagic=$00000041) . .
000F:L0026: F CF72: VARDEF(ss_cmdgetblk=$00000042) . .
0010:L0027: F CF72: VARDEF(ss_cmdsndblk=$00000043) . .
0011:L0028: F CF72: VARDEF(ss_cmdsetpc=$00000044) . .
0012:L0029: F CF72: VARDEF(ss_cmdgetpc=$00000045) . .
0013:L002A: F CF72: VARDEF(ss_cmdfreeze=$00000046) . .
0014:L002B: F CF72: VARDEF(ss_cmdunfreeze=$00000047) . .
0015:L002C: F CF72: VARDEF(ss_cmdsetbp=$00000048) . .
0016:L002D: F CF72: VARDEF(ss_cmdclearbp=$00000049) . .
0017:L002E: F CF72: VARDEF(ss_cmdpresskey=$0000004a) . .
0018:L002F: F CF72: VARDEF(ss_cmdexec=$0000004b) . .
0019:L0030: F CF72: VARDEF(ss_cmdgetimgblk=$0000004c) . .
001A:L0031: F CF72: VARDEF(ss_cmdsndimgblk=$0000004d) . .
001B:L0035: F CF72: SEGELEMENTER($00000000) . .
001C:L0036: F CF72: CODE(scr)
001D:L0038: F CF72: VARDEF(ptr=$000000a0) . .
001E:L003B: F CF72: $4c TERM(2BYTE)
001F:L003C: F CF72: $4c TERM(2BYTE)
0020:L003E: F CF72: VARDEF(stub_link=$0000ce06) .
0021:L0046: F CF72: $a9 . $04
0022:L0047: F CF72: $20 TERM(2BYTE)
0023:L0048: F CF72: VARDEF(l=$0000ce0b) .
0024:L0049: F CF72: $20 TERM(2BYTE)
0025:L004A: F CF72: $4c $ce0b
0026:L004D: F CF72: VARDEF(stub_poll=$0000ce11) .
0027:L004E: F CF72: $78
0028:L0050: F CF72: $20 TERM(2BYTE)
0029:L0051: F CF72: $b0 TERM(RBYTE)
002A:L0054: F CF72: $c9 . $41
002B:L0055: F CF72: $d0 TERM(RBYTE)
002C:L0058: F CF72: $20 TERM(2BYTE)
002D:L005A: F CF72: $c9 . $42
002E:L005B: F CF72: $d0 TERM(RBYTE)
002F:L005C: F CF72: $4c TERM(2BYTE)
0030:L005D: F CF72: VARDEF(sk221=$0000ce25) .
0031:L005E: F CF72: $c9 . $43
0032:L005F: F CF72: $d0 TERM(RBYTE)
0033:L0060: F CF72: $4c TERM(2BYTE)
0034:L0061: F CF72: VARDEF(sk222=$0000ce2c) .
0035:L0062: F CF72: $c9 . $44
0036:L0063: F CF72: $d0 TERM(RBYTE)
0037:L0064: F CF72: $4c TERM(2BYTE)
0038:L0065: F CF72: VARDEF(sk223=$0000ce33) .
0039:L0066: F CF72: $c9 . $4b
003A:L0067: F CF72: $d0 TERM(RBYTE)
003B:L0068: F CF72: $4c TERM(2BYTE)
003C:L006A: F CF72: VARDEF(nochar=$0000ce3a) .
003D:L006B: F CF72: VARDEF(notmagic=$0000ce3a) .
003E:L006C: F CF72: VARDEF(stub_return=$0000ce3a) .
003F:L006D: F CF72: $58
0040:L006E: F CF72: $60
0041:L0070: F CF72: VARDEF(stub_getblk=$0000ce3c) .
0042:L0071: F CF72: $a5 $a0
0043:L0072: F CF72: $48
0044:L0073: F CF72: $a5 $a1 . .
0045:L0074: F CF72: $48
0046:L0075: F CF72: $a5 $a2 . .
0047:L0076: F CF72: $48
0048:L0077: F CF72: $a5 $a3 . .
0049:L0078: F CF72: $48
004A:L0079: F CF72: $20 TERM(2BYTE)
004B:L007A: F CF72: $85 $a2 . .
004C:L007B: F CF72: $20 TERM(2BYTE)
004D:L007C: F CF72: $85 $a3 . .
004E:L007D: F CF72: $20 TERM(2BYTE)
004F:L007E: F CF72: $85 $a0
0050:L007F: F CF72: $20 TERM(2BYTE)
0051:L0080: F CF72: $85 $a1 . .
0052:L0081: F CF72: $a0 . $00
0053:L0082: F CF72: VARDEF(sl2=$0000ce5e) . $20 TERM(2BYTE)
0054:L0083: F CF72: $91 . $a0 . . .
0055:L0084: F CF72: $e6 $a0
0056:L0085: F CF72: $d0 TERM(RBYTE)
0057:L0086: F CF72: $e6 $a1 . .
0058:L0087: F CF72: VARDEF(sl1=$0000ce69) . $a5 $a1 . .
0059:L0088: F CF72: $c5 $a3 . .
005A:L0089: F CF72: $d0 $ef
005B:L008A: F CF72: $a5 $a0
005C:L008B: F CF72: $c5 $a2 . .
005D:L008C: F CF72: $d0 $e9
005E:L008D: F CF72: $68
005F:L008E: F CF72: $8d $00a3 . .
0060:L008F: F CF72: $68
0061:L0090: F CF72: $8d $00a2 . .
0062:L0091: F CF72: $68
0063:L0092: F CF72: $8d $00a1 . .
0064:L0093: F CF72: $68
0065:L0094: F CF72: $8d $00a0 . .
0066:L0095: F CF72: $58
0067:L0096: F CF72: $60
0068:L0098: F CF72: VARDEF(stub_sndblk=$0000ce87) .
0069:L0099: F CF72: $a5 $a0
006A:L009A: F CF72: $48
006B:L009B: F CF72: $a5 $a1 . .
006C:L009C: F CF72: $48
006D:L009D: F CF72: $a5 $a2 . .
006E:L009E: F CF72: $48
006F:L009F: F CF72: $a5 $a3 . .
0070:L00A0: F CF72: $48
0071:L00A1: F CF72: $20 TERM(2BYTE)
0072:L00A2: F CF72: $85 $a2 . .
0073:L00A3: F CF72: $20 TERM(2BYTE)
0074:L00A4: F CF72: $85 $a3 . .
0075:L00A5: F CF72: $20 TERM(2BYTE)
0076:L00A6: F CF72: $85 $a0
0077:L00A7: F CF72: $20 TERM(2BYTE)
0078:L00A8: F CF72: $85 $a1 . .
0079:L00A9: F CF72: $a0 . $00
007A:L00AA: F CF72: VARDEF(sl4=$0000cea9) $b1 . $a0 . . .
007B:L00AB: F CF72: $20 TERM(2BYTE)
007C:L00AC: F CF72: $e6 $a0
007D:L00AD: F CF72: $d0 TERM(RBYTE)
007E:L00AE: F CF72: $e6 $a1 . .
007F:L00AF: F CF72: VARDEF(sl3=$0000ceb4) . $a5 $a1 . .
0080:L00B0: F CF72: $c5 $a3 . .
0081:L00B1: F CF72: $d0 $ef
0082:L00B2: F CF72: $a5 $a0
0083:L00B3: F CF72: $c5 $a2 . .
0084:L00B4: F CF72: $d0 $e9
0085:L00B5: F CF72: $68
0086:L00B6: F CF72: $85 $a3 . .
0087:L00B7: F CF72: $68
0088:L00B8: F CF72: $85 $a2 . .
0089:L00B9: F CF72: $68
008A:L00BA: F CF72: $85 $a1 . .
008B:L00BB: F CF72: $68
008C:L00BC: F CF72: $85 $a0
008D:L00BD: F CF72: $58
008E:L00BE: F CF72: $60
008F:L00C3: F CF72: VARDEF(stub_setpc=$0000cece) .
0090:L00C5: F CF72: $20 TERM(2BYTE)
0091:L00C6: F CF72: $85 $a0 . . .
0092:L00C7: F CF72: $20 TERM(2BYTE)
0093:L00C8: F CF72: $85 $a1 . . . . .
0094:L00CA: F CF72: $6c . $00a0 .
0095:L00CC: F CF72: VARDEF(stub_exec=$0000cedb) .
0096:L00CD: F CF72: $a9 . $37
0097:L00CE: F CF72: $85 $01
0098:L00CF: F CF72: $58
0099:L00D0: F CF72: $20 $a659
009A:L00D1: F CF72: $4c $a7ae
009B:L00D7: F CF72: VARDEF(ss_detect=$0000cee6) .
009C:L00DD: F CF72: $ad $de01
009D:L00DE: F CF72: $09 . $01
009E:L00DF: F CF72: $8d $de01
009F:L00E5: F CF72: $a2 . $00
00A0:L00E6: F CF72: VARDEF(lx1=$0000cef0) .
00A1:L00E7: F CF72: $8e $de0f
00A2:L00E8: F CF72: $ec $de0f
00A3:L00E9: F CF72: $d0 TERM(RBYTE)
00A4:L00EB: F CF72: $e8
00A5:L00EC: F CF72: $d0 $f5
00A6:L00EF: F CF72: $18
00A7:L00F0: F CF72: $60
00A8:L00F2: F CF72: VARDEF(sk1=$0000cefd) .
00A9:L00F4: F CF72: $38
00AA:L00F5: F CF72: $60
00AB:L0103: F CF72: VARDEF(ss_init=$0000ceff) .
00AC:L0104: F CF72: $aa
00AD:L010A: F CF72: $ad $de01
00AE:L010B: F CF72: $09 . $01
00AF:L010C: F CF72: $8d $de01
00B0:L0112: F CF72: $a9 . $87
00B1:L0113: F CF72: $8d $de0a
00B2:L011C: F CF72: $a9 . $83
00B3:L011D: F CF72: $8d $de0b
00B4:L0121: F CF72: $8e $de08
00B5:L0122: F CF72: $a9 . $00
00B6:L0123: F CF72: $8d $de09
00B7:L0126: F CF72: $a9 . $03
00B8:L0127: F CF72: $8d $de0b
00B9:L012A: F CF72: $a9 . $00
00BA:L012B: F CF72: $8d $de09
00BB:L012E: F CF72: $4c TERM(2BYTE)
00BC:L0135: F CF72: VARDEF(ss_stat_data_available=$0000cf27) .
00BD:L0136: F CF72: $ad $de0d
00BE:L0137: F CF72: $29 . $01
00BF:L0138: F CF72: $60
00C0:L013E: F CF72: VARDEF(ss_stat_transmit_ready=$0000cf2d) .
00C1:L013F: F CF72: $ad $de0d
00C2:L0140: F CF72: $29 . $20
00C3:L0141: F CF72: $60
00C4:L0147: F CF72: VARDEF(ss_stat_reciever_ready=$0000cf33) .
00C5:L0149: F CF72: $ad $de0e
00C6:L014A: F CF72: $29 . $10
00C7:L014B: F CF72: $60
00C8:L014F: F CF72: VARDEF(ss_unpause=$0000cf39) .
00C9:L0151: F CF72: $a9 . $03
00CA:L0152: F CF72: $8d $de0c
00CB:L0153: F CF72: $60
00CC:L0154: F CF72: VARDEF(ss_pause=$0000cf3f) .
00CD:L0156: F CF72: $a9 . $01
00CE:L0157: F CF72: $8d $de0c
00CF:L0158: F CF72: $60
00D0:L015C: F CF72: VARDEF(ss_getchr2=$0000cf45) .
00D1:L015E: F CF72: $20 $cf27
00D2:L015F: F CF72: $d0 TERM(RBYTE)
00D3:L0162: F CF72: $20 $cf39
00D4:L0163: F CF72: VARDEF(sk32=$0000cf4d) .
00D5:L0165: F CF72: $20 $cf3f
00D6:L0168: F CF72: $20 $cf27
00D7:L0169: F CF72: $d0 TERM(RBYTE)
00D8:L016A: F CF72: $38
00D9:L016B: F CF72: $60
00DA:L016C: F CF72: VARDEF(sk33=$0000cf57) .
00DB:L016E: F CF72: $ad $de08
00DC:L016F: F CF72: $18
00DD:L0170: F CF72: $60
00DE:L0176: F CF72: VARDEF(ss_getchr=$0000cf5c) .
00DF:L0178: F CF72: VARDEF(lp1=$0000cf5c) .
00E0:L0179: F CF72: $20 $cf45
00E1:L017A: F CF72: $b0 $fb
00E2:L017B: F CF72: $60
00E3:L0181: F CF72: VARDEF(ss_putchr=$0000cf62) .
00E4:L0182: F CF72: $48
00E5:L0185: F CF72: VARDEF(l2=$0000cf63) .
00E6:L0186: F CF72: $20 $cf33
00E7:L0187: F CF72: $f0 $fb
00E8:L018A: F CF72: VARDEF(l1=$0000cf68) .
00E9:L018B: F CF72: $20 $cf2d
00EA:L018C: F CF72: $f0 $fb
00EB:L018F: F CF72: $68
00EC:L0190: F CF72: $8d $de08
00ED:L0191: F CF72: $60
back to FileIdx: 1 src/main.src
(continuing...) .
back to FileIdx: 0 *** command line ***
(continuing...) .
0 | Flex | Len: $0000 |
0 | Fixed | Start: $ce00 | End: $cf72 |
fifo_dll | $de08 | unused |
fifo_dlm | $de09 | unused |
fifo_fcr | $de0a | unused |
fifo_ier | $de09 | unused |
fifo_iir | $de0a | unused |
fifo_lcr | $de0b | unused |
fifo_lsr | $de0d | unused |
fifo_mcr | $de0c | unused |
fifo_msr | $de0e | unused |
fifo_rxd | $de08 | unused |
fifo_scratch | $de0f | unused |
fifo_txd | $de08 | unused |
l | $ce0b | |
l1 | $cf68 | |
l2 | $cf63 | |
lp1 | $cf5c | |
lx1 | $cef0 | |
nochar | $ce3a | |
notmagic | $ce3a | |
ptr | $a0 | unused |
rs16550base | $de08 | unused |
sk1 | $cefd | |
sk221 | $ce25 | |
sk222 | $ce2c | |
sk223 | $ce33 | |
sk32 | $cf4d | |
sk33 | $cf57 | |
sl1 | $ce69 | |
sl2 | $ce5e | |
sl3 | $ceb4 | |
sl4 | $cea9 | |
ss_cmdclearbp | $49 | unused |
ss_cmdexec | $4b | unused |
ss_cmdfreeze | $46 | unused |
ss_cmdgetblk | $42 | unused |
ss_cmdgetimgblk | $4c | unused |
ss_cmdgetpc | $45 | unused |
ss_cmdmagic | $41 | unused |
ss_cmdpresskey | $4a | unused |
ss_cmdsetbp | $48 | unused |
ss_cmdsetpc | $44 | unused |
ss_cmdsndblk | $43 | unused |
ss_cmdsndimgblk | $4d | unused |
ss_cmdunfreeze | $47 | unused |
ss_detect | $cee6 | |
ss_getchr | $cf5c | |
ss_getchr2 | $cf45 | |
ss_init | $ceff | |
ss_pause | $cf3f | |
ss_putchr | $cf62 | |
ss_stat_data_available | $cf27 | |
ss_stat_reciever_ready | $cf33 | |
ss_stat_transmit_ready | $cf2d | |
ss_unpause | $cf39 | |
stub_exec | $cedb | |
stub_getblk | $ce3c | |
stub_link | $ce06 | |
stub_poll | $ce11 | |
stub_return | $ce3a | |
stub_setpc | $cece | |
stub_sndblk | $ce87 |
FileIdx: 0 *** command line ***
Linebuffer Size: 1
0000:L0001: F CF72:
FileIdx: 1 src/main.src
Linebuffer Size: 4
0000:L0012: F CF72: . . . . . . . . . . . . . .
0001:L0014: F CF72: . . . . . . . . . .
0002:L0016: F CF72:
FileIdx: 2 macros.src
Linebuffer Size: 4
0000:L0017: F CF72: .
0001:L0024: F CF72: .
0002:L002D: F CF72: .
0003:L0036: F CF72: .
back to FileIdx: 1 src/main.src
(continuing...) .
0003:L0018: F CF72:
FileIdx: 3 debugstub.src
Linebuffer Size: 238
0000:L0011: F CF72: SEGMENTENTER($00000001) .
0001:L0013: F CF72: VARDEF(rs16550base=$0000de08) . .
0002:L0015: F CF72: VARDEF(fifo_rxd=$0000de08) . . . .
0003:L0016: F CF72: VARDEF(fifo_txd=$0000de08) . . . .
0004:L0018: F CF72: VARDEF(fifo_dll=$0000de08) . . . .
0005:L0019: F CF72: VARDEF(fifo_dlm=$0000de09) . . . .
0006:L001B: F CF72: VARDEF(fifo_ier=$0000de09) . . . .
0007:L001D: F CF72: VARDEF(fifo_fcr=$0000de0a) . . . .
0008:L001E: F CF72: VARDEF(fifo_iir=$0000de0a) . . . .
0009:L001F: F CF72: VARDEF(fifo_lcr=$0000de0b) . . . .
000A:L0020: F CF72: VARDEF(fifo_mcr=$0000de0c) . . . .
000B:L0021: F CF72: VARDEF(fifo_lsr=$0000de0d) . . . .
000C:L0022: F CF72: VARDEF(fifo_msr=$0000de0e) . . . .
000D:L0023: F CF72: VARDEF(fifo_scratch=$0000de0f) . . . .
000E:L0025: F CF72: VARDEF(ss_cmdmagic=$00000041) . .
000F:L0026: F CF72: VARDEF(ss_cmdgetblk=$00000042) . .
0010:L0027: F CF72: VARDEF(ss_cmdsndblk=$00000043) . .
0011:L0028: F CF72: VARDEF(ss_cmdsetpc=$00000044) . .
0012:L0029: F CF72: VARDEF(ss_cmdgetpc=$00000045) . .
0013:L002A: F CF72: VARDEF(ss_cmdfreeze=$00000046) . .
0014:L002B: F CF72: VARDEF(ss_cmdunfreeze=$00000047) . .
0015:L002C: F CF72: VARDEF(ss_cmdsetbp=$00000048) . .
0016:L002D: F CF72: VARDEF(ss_cmdclearbp=$00000049) . .
0017:L002E: F CF72: VARDEF(ss_cmdpresskey=$0000004a) . .
0018:L002F: F CF72: VARDEF(ss_cmdexec=$0000004b) . .
0019:L0030: F CF72: VARDEF(ss_cmdgetimgblk=$0000004c) . .
001A:L0031: F CF72: VARDEF(ss_cmdsndimgblk=$0000004d) . .
001B:L0035: F CF72: SEGELEMENTER($00000000) . .
001C:L0036: F CF72: CODE(scr)
001D:L0038: F CF72: VARDEF(ptr=$000000a0) . .
001E:L003B: F CF72: $4c $ce06
001F:L003C: F CF72: $4c $ce11
0020:L003E: F CF72: VARDEF(stub_link=$0000ce06) .
0021:L0046: F CF72: $a9 . $04
0022:L0047: F CF72: $20 $ceff
0023:L0048: F CF72: VARDEF(l=$0000ce0b) .
0024:L0049: F CF72: $20 $ce11
0025:L004A: F CF72: $4c $ce0b
0026:L004D: F CF72: VARDEF(stub_poll=$0000ce11) .
0027:L004E: F CF72: $78
0028:L0050: F CF72: $20 $cf45
0029:L0051: F CF72: $b0 $23
002A:L0054: F CF72: $c9 . $41
002B:L0055: F CF72: $d0 $1f
002C:L0058: F CF72: $20 $cf5c
002D:L005A: F CF72: $c9 . $42
002E:L005B: F CF72: $d0 $03
002F:L005C: F CF72: $4c $ce3c
0030:L005D: F CF72: VARDEF(sk221=$0000ce25) .
0031:L005E: F CF72: $c9 . $43
0032:L005F: F CF72: $d0 $03
0033:L0060: F CF72: $4c $ce87
0034:L0061: F CF72: VARDEF(sk222=$0000ce2c) .
0035:L0062: F CF72: $c9 . $44
0036:L0063: F CF72: $d0 $03
0037:L0064: F CF72: $4c $cece
0038:L0065: F CF72: VARDEF(sk223=$0000ce33) .
0039:L0066: F CF72: $c9 . $4b
003A:L0067: F CF72: $d0 $03
003B:L0068: F CF72: $4c $cedb
003C:L006A: F CF72: VARDEF(nochar=$0000ce3a) .
003D:L006B: F CF72: VARDEF(notmagic=$0000ce3a) .
003E:L006C: F CF72: VARDEF(stub_return=$0000ce3a) .
003F:L006D: F CF72: $58
0040:L006E: F CF72: $60
0041:L0070: F CF72: VARDEF(stub_getblk=$0000ce3c) .
0042:L0071: F CF72: $a5 $a0
0043:L0072: F CF72: $48
0044:L0073: F CF72: $a5 $a1 . .
0045:L0074: F CF72: $48
0046:L0075: F CF72: $a5 $a2 . .
0047:L0076: F CF72: $48
0048:L0077: F CF72: $a5 $a3 . .
0049:L0078: F CF72: $48
004A:L0079: F CF72: $20 $cf5c
004B:L007A: F CF72: $85 $a2 . .
004C:L007B: F CF72: $20 $cf5c
004D:L007C: F CF72: $85 $a3 . .
004E:L007D: F CF72: $20 $cf5c
004F:L007E: F CF72: $85 $a0
0050:L007F: F CF72: $20 $cf5c
0051:L0080: F CF72: $85 $a1 . .
0052:L0081: F CF72: $a0 . $00
0053:L0082: F CF72: VARDEF(sl2=$0000ce5e) . $20 $cf5c
0054:L0083: F CF72: $91 . $a0 . . .
0055:L0084: F CF72: $e6 $a0
0056:L0085: F CF72: $d0 $02
0057:L0086: F CF72: $e6 $a1 . .
0058:L0087: F CF72: VARDEF(sl1=$0000ce69) . $a5 $a1 . .
0059:L0088: F CF72: $c5 $a3 . .
005A:L0089: F CF72: $d0 $ef
005B:L008A: F CF72: $a5 $a0
005C:L008B: F CF72: $c5 $a2 . .
005D:L008C: F CF72: $d0 $e9
005E:L008D: F CF72: $68
005F:L008E: F CF72: $8d $00a3 . .
0060:L008F: F CF72: $68
0061:L0090: F CF72: $8d $00a2 . .
0062:L0091: F CF72: $68
0063:L0092: F CF72: $8d $00a1 . .
0064:L0093: F CF72: $68
0065:L0094: F CF72: $8d $00a0 . .
0066:L0095: F CF72: $58
0067:L0096: F CF72: $60
0068:L0098: F CF72: VARDEF(stub_sndblk=$0000ce87) .
0069:L0099: F CF72: $a5 $a0
006A:L009A: F CF72: $48
006B:L009B: F CF72: $a5 $a1 . .
006C:L009C: F CF72: $48
006D:L009D: F CF72: $a5 $a2 . .
006E:L009E: F CF72: $48
006F:L009F: F CF72: $a5 $a3 . .
0070:L00A0: F CF72: $48
0071:L00A1: F CF72: $20 $cf5c
0072:L00A2: F CF72: $85 $a2 . .
0073:L00A3: F CF72: $20 $cf5c
0074:L00A4: F CF72: $85 $a3 . .
0075:L00A5: F CF72: $20 $cf5c
0076:L00A6: F CF72: $85 $a0
0077:L00A7: F CF72: $20 $cf5c
0078:L00A8: F CF72: $85 $a1 . .
0079:L00A9: F CF72: $a0 . $00
007A:L00AA: F CF72: VARDEF(sl4=$0000cea9) $b1 . $a0 . . .
007B:L00AB: F CF72: $20 $cf62
007C:L00AC: F CF72: $e6 $a0
007D:L00AD: F CF72: $d0 $02
007E:L00AE: F CF72: $e6 $a1 . .
007F:L00AF: F CF72: VARDEF(sl3=$0000ceb4) . $a5 $a1 . .
0080:L00B0: F CF72: $c5 $a3 . .
0081:L00B1: F CF72: $d0 $ef
0082:L00B2: F CF72: $a5 $a0
0083:L00B3: F CF72: $c5 $a2 . .
0084:L00B4: F CF72: $d0 $e9
0085:L00B5: F CF72: $68
0086:L00B6: F CF72: $85 $a3 . .
0087:L00B7: F CF72: $68
0088:L00B8: F CF72: $85 $a2 . .
0089:L00B9: F CF72: $68
008A:L00BA: F CF72: $85 $a1 . .
008B:L00BB: F CF72: $68
008C:L00BC: F CF72: $85 $a0
008D:L00BD: F CF72: $58
008E:L00BE: F CF72: $60
008F:L00C3: F CF72: VARDEF(stub_setpc=$0000cece) .
0090:L00C5: F CF72: $20 $cf5c
0091:L00C6: F CF72: $85 $a0 . . .
0092:L00C7: F CF72: $20 $cf5c
0093:L00C8: F CF72: $85 $a1 . . . . .
0094:L00CA: F CF72: $6c . $00a0 .
0095:L00CC: F CF72: VARDEF(stub_exec=$0000cedb) .
0096:L00CD: F CF72: $a9 . $37
0097:L00CE: F CF72: $85 $01
0098:L00CF: F CF72: $58
0099:L00D0: F CF72: $20 $a659
009A:L00D1: F CF72: $4c $a7ae
009B:L00D7: F CF72: VARDEF(ss_detect=$0000cee6) .
009C:L00DD: F CF72: $ad $de01
009D:L00DE: F CF72: $09 . $01
009E:L00DF: F CF72: $8d $de01
009F:L00E5: F CF72: $a2 . $00
00A0:L00E6: F CF72: VARDEF(lx1=$0000cef0) .
00A1:L00E7: F CF72: $8e $de0f
00A2:L00E8: F CF72: $ec $de0f
00A3:L00E9: F CF72: $d0 $05
00A4:L00EB: F CF72: $e8
00A5:L00EC: F CF72: $d0 $f5
00A6:L00EF: F CF72: $18
00A7:L00F0: F CF72: $60
00A8:L00F2: F CF72: VARDEF(sk1=$0000cefd) .
00A9:L00F4: F CF72: $38
00AA:L00F5: F CF72: $60
00AB:L0103: F CF72: VARDEF(ss_init=$0000ceff) .
00AC:L0104: F CF72: $aa
00AD:L010A: F CF72: $ad $de01
00AE:L010B: F CF72: $09 . $01
00AF:L010C: F CF72: $8d $de01
00B0:L0112: F CF72: $a9 . $87
00B1:L0113: F CF72: $8d $de0a
00B2:L011C: F CF72: $a9 . $83
00B3:L011D: F CF72: $8d $de0b
00B4:L0121: F CF72: $8e $de08
00B5:L0122: F CF72: $a9 . $00
00B6:L0123: F CF72: $8d $de09
00B7:L0126: F CF72: $a9 . $03
00B8:L0127: F CF72: $8d $de0b
00B9:L012A: F CF72: $a9 . $00
00BA:L012B: F CF72: $8d $de09
00BB:L012E: F CF72: $4c $cf3f
00BC:L0135: F CF72: VARDEF(ss_stat_data_available=$0000cf27) .
00BD:L0136: F CF72: $ad $de0d
00BE:L0137: F CF72: $29 . $01
00BF:L0138: F CF72: $60
00C0:L013E: F CF72: VARDEF(ss_stat_transmit_ready=$0000cf2d) .
00C1:L013F: F CF72: $ad $de0d
00C2:L0140: F CF72: $29 . $20
00C3:L0141: F CF72: $60
00C4:L0147: F CF72: VARDEF(ss_stat_reciever_ready=$0000cf33) .
00C5:L0149: F CF72: $ad $de0e
00C6:L014A: F CF72: $29 . $10
00C7:L014B: F CF72: $60
00C8:L014F: F CF72: VARDEF(ss_unpause=$0000cf39) .
00C9:L0151: F CF72: $a9 . $03
00CA:L0152: F CF72: $8d $de0c
00CB:L0153: F CF72: $60
00CC:L0154: F CF72: VARDEF(ss_pause=$0000cf3f) .
00CD:L0156: F CF72: $a9 . $01
00CE:L0157: F CF72: $8d $de0c
00CF:L0158: F CF72: $60
00D0:L015C: F CF72: VARDEF(ss_getchr2=$0000cf45) .
00D1:L015E: F CF72: $20 $cf27
00D2:L015F: F CF72: $d0 $03
00D3:L0162: F CF72: $20 $cf39
00D4:L0163: F CF72: VARDEF(sk32=$0000cf4d) .
00D5:L0165: F CF72: $20 $cf3f
00D6:L0168: F CF72: $20 $cf27
00D7:L0169: F CF72: $d0 $02
00D8:L016A: F CF72: $38
00D9:L016B: F CF72: $60
00DA:L016C: F CF72: VARDEF(sk33=$0000cf57) .
00DB:L016E: F CF72: $ad $de08
00DC:L016F: F CF72: $18
00DD:L0170: F CF72: $60
00DE:L0176: F CF72: VARDEF(ss_getchr=$0000cf5c) .
00DF:L0178: F CF72: VARDEF(lp1=$0000cf5c) .
00E0:L0179: F CF72: $20 $cf45
00E1:L017A: F CF72: $b0 $fb
00E2:L017B: F CF72: $60
00E3:L0181: F CF72: VARDEF(ss_putchr=$0000cf62) .
00E4:L0182: F CF72: $48
00E5:L0185: F CF72: VARDEF(l2=$0000cf63) .
00E6:L0186: F CF72: $20 $cf33
00E7:L0187: F CF72: $f0 $fb
00E8:L018A: F CF72: VARDEF(l1=$0000cf68) .
00E9:L018B: F CF72: $20 $cf2d
00EA:L018C: F CF72: $f0 $fb
00EB:L018F: F CF72: $68
00EC:L0190: F CF72: $8d $de08
00ED:L0191: F CF72: $60
back to FileIdx: 1 src/main.src
(continuing...) .
back to FileIdx: 0 *** command line ***
(continuing...) .
0 | Flex | Len: $0000 |
0 | Fixed | Start: $ce00 | End: $cf72 |