L0001: "#include "src/main.src" "
L0001: . 0000: #include "src/main.src"
L0001: "/* "
L0002: " * $Id$ "
L0003: " * "
L0004: " * Description : main.src "controller" "
L0005: " * "
L0006: " * Authors : Count Zero "
L0007: " * "
L0008: " * Copyright 2013 rr.pokefinder.org "
L0009: " * "
L000A: " */ "
L000B: ";############################################################################################## "
L000C: "; Source code setup: "
L000D: "; - main.src (this file) defines the segments and outfile setup - to be extended "
L000E: "; - config/macros.src sample macros "
L000F: "; - includes as you like ... "
L0010: "; "
L0011: ";############################################################################################## "
L0012: " #segdef "debugstub",$ce00-$cff0, fillup, force, $bd, abs "
L0012: . 0000: #segdef "debugstub", $ce00 - $cff0 , fillup , force , $bd , abs
L0013: " "
L0014: " #outfile @, sort, startadr, $bd, "debugstub" ; output filename defined by Makefile - only includes the segment "debugstub" "
L0014: . 0000: #outfile @ , sort , startadr , $bd , "debugstub"
L0015: " "
L0016: " #include "macros.src" ; not used on the source to assemble - just examples "
L0016: . 0000: #include "macros.src"
L0001: "/* "
L0002: " * $Id$ "
L0003: " * "
L0004: " * Description : Macro Definitions "
L0005: " * "
L0006: " * Authors : Count Zero "
L0007: " * : DocBacardi "
L0008: " * "
L0009: " * Copyright 2013 rr.pokefinder.org "
L000A: " * "
L000B: " */ "
L000C: ";############################################################################################## "
L000D: "; Usage: .Debugflash () "
L000E: "; Purpose: flash the screen and stop "
L000F: ";############################################################################################## "
L0010: " "
L0011: "#macro Debugflash ( ) "
L0012: " { "
L0013: "flash: "
L0014: " inc $d020 "
L0015: " dec $d020 "
L0016: " jmp flash "
L0017: " } "

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") ... "


[pass 1]


LABELS

fifo_dll$de08 
fifo_dlm$de09 
fifo_fcr$de0a 
fifo_ier$de09 
fifo_iir$de0aunused
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$49unused
ss_cmdexec$4b 
ss_cmdfreeze$46unused
ss_cmdgetblk$42 
ss_cmdgetimgblk$4cunused
ss_cmdgetpc$45unused
ss_cmdmagic$41 
ss_cmdpresskey$4aunused
ss_cmdsetbp$48unused
ss_cmdsetpc$44 
ss_cmdsndblk$43 
ss_cmdsndimgblk$4dunused
ss_cmdunfreeze$47unused
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 


SOURCE

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...) .


Segment 0 (seg1)

Dump: 1 SegElem
0FlexLen: $0000 

Segment 1 (debugstub)

Dump: 1 SegElem
0FixedStart: $ce00End: $cf72

[pass 2]


LABELS

fifo_dll$de08unused
fifo_dlm$de09unused
fifo_fcr$de0aunused
fifo_ier$de09unused
fifo_iir$de0aunused
fifo_lcr$de0bunused
fifo_lsr$de0dunused
fifo_mcr$de0cunused
fifo_msr$de0eunused
fifo_rxd$de08unused
fifo_scratch$de0funused
fifo_txd$de08unused
l$ce0b 
l1$cf68 
l2$cf63 
lp1$cf5c 
lx1$cef0 
nochar$ce3a 
notmagic$ce3a 
ptr$a0unused
rs16550base$de08unused
sk1$cefd 
sk221$ce25 
sk222$ce2c 
sk223$ce33 
sk32$cf4d 
sk33$cf57 
sl1$ce69 
sl2$ce5e 
sl3$ceb4 
sl4$cea9 
ss_cmdclearbp$49unused
ss_cmdexec$4bunused
ss_cmdfreeze$46unused
ss_cmdgetblk$42unused
ss_cmdgetimgblk$4cunused
ss_cmdgetpc$45unused
ss_cmdmagic$41unused
ss_cmdpresskey$4aunused
ss_cmdsetbp$48unused
ss_cmdsetpc$44unused
ss_cmdsndblk$43unused
ss_cmdsndimgblk$4dunused
ss_cmdunfreeze$47unused
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 


SOURCE

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...) .


Segment 0 (seg1)

Dump: 1 SegElem
0FlexLen: $0000 

Segment 1 (debugstub)

Dump: 1 SegElem
0FixedStart: $ce00End: $cf72