AKD Code.
If you've any interest in reverse engineering old code, Ghidra does a pretty good job of it though it does seem rather massive overkill to run it against <400 bytes of assembler.
I hope nobody objects to this, I've tried and tried to locate schematics and information on this oddball radio but even the people I've managed to track down from Garex/AKD don't seem to have it.
If you own this code and object to my posting it here, please contact me, I *will* remove it but also bear in mind reverse engineering is legal.
This is the code from the AKD:
LAB_fc00 XREF[1]: fffe(*)
fc00 8e 00 1f LDS #0x1f
fc03 86 2d LDAA #0x2d
fc05 97 20 STAA DAT_0020 = FFh
fc07 86 00 LDAA #0x0
fc09 97 22 STAA DAT_0022 = FFh
fc0b ce fe b4 LDX #0xfeb4
fc0e df 23 STX DAT_0023 = FFFFh
fc10 e6 01 LDAB 0x1,X=>DAT_feb5 = 03h
fc12 f7 a0 00 STAB DAT_a000 = FFh
fc15 bd fc 22 JSR FUN_fc22 = FFFFh
undefined FUN_fc22()
LAB_fc18 XREF[1]: fc1a(j)
fc18 0e CLI
fc19 3e WAI = FFh
= FFFFh
fc1a 20 fc BRA LAB_fc18
**************************************************************
* FUNCTION *
**************************************************************
undefined FUN_fc1c()
undefined
FUN_fc1c XREF[2]: fcd9(c), fd1a(c)
fc1c de 23 LDX DAT_0023 = FFFFh
fc1e ee 02 LDX 0x2,X
fc20 20 19 BRA LAB_fc3b
**************************************************************
* FUNCTION *
**************************************************************
undefined FUN_fc22()
undefined
FUN_fc22 XREF[4]: fc15(c), fcd2(c), fcf7(c),
fd16(c)
fc22 de 23 LDX DAT_0023 = FFFFh
fc24 ee 04 LDX 0x4,X
fc26 7d 00 22 TST DAT_0022 = FFh
fc29 27 10 BEQ LAB_fc3b
fc2b df 26 STX DAT_0026 = FFFFh
fc2d 96 27 LDAA DAT_0026+1
fc2f 80 18 SUBA #0x18
fc31 97 27 STAA DAT_0026+1
fc33 96 26 LDAA DAT_0026 = FFFFh
fc35 82 00 SBCA #0x0
fc37 97 26 STAA DAT_0026 = FFFFh
fc39 de 26 LDX DAT_0026 = FFFFh
LAB_fc3b XREF[2]: FUN_fc1c:fc20(j), fc29(j)
fc3b df 26 STX DAT_0026 = FFFFh
fc3d 86 02 LDAA #0x2
fc3f 97 25 STAA DAT_0025 = FFh
fc41 c6 05 LDAB #0x5
LAB_fc43 XREF[1]: fc4e(j)
fc43 0c CLC
fc44 79 00 27 ROL DAT_0026+1
fc47 79 00 26 ROL DAT_0026 = FFFFh
fc4a 79 00 25 ROL DAT_0025 = FFh
fc4d 5a DECB
fc4e 26 f3 BNE LAB_fc43
fc50 c6 13 LDAB #0x13
LAB_fc52 XREF[1]: fc6b(j)
fc52 37 PSHB
fc53 c6 01 LDAB #0x1
fc55 7d 00 25 TST DAT_0025 = FFh
fc58 2b 02 BMI LAB_fc5c
fc5a c6 00 LDAB #0x0
LAB_fc5c XREF[1]: fc58(j)
fc5c f7 60 00 STAB DAT_6000 = FFh
fc5f 0c CLC
fc60 79 00 27 ROL DAT_0026+1
fc63 79 00 26 ROL DAT_0026 = FFFFh
fc66 79 00 25 ROL DAT_0025 = FFh
fc69 33 PULB
fc6a 5a DECB
fc6b 26 e5 BNE LAB_fc52
fc6d f7 80 00 STAB DAT_8000 = FFh
fc70 39 RTS
LAB_fc71 XREF[1]: fff8(*)
fc71 32 PULA
fc72 8a 10 ORAA #0x10
fc74 36 PSHA
fc75 86 ff LDAA #0xff
fc77 97 21 STAA DAT_0021 = FFh
LAB_fc79 XREF[1]: fcd7(j)
fc79 b6 c0 00 LDAA DAT_c000 = FFh
fc7c 84 0f ANDA #0xf
fc7e 81 07 CMPA #0x7
fc80 27 1b BEQ LAB_fc9d
fc82 81 0b CMPA #0xb
fc84 27 29 BEQ LAB_fcaf
fc86 85 02 BITA #0x2
fc88 27 4f BEQ LAB_fcd9
fc8a de 23 LDX DAT_0023 = FFFFh
fc8c 6d 00 TST 0x0,X
fc8e 26 01 BNE LAB_fc91
fc90 3b RTI
LAB_fc91 XREF[1]: fc8e(j)
fc91 81 0e CMPA #0xe
fc93 27 01 BEQ LAB_fc96
fc95 3b RTI
LAB_fc96 XREF[1]: fc93(j)
fc96 7d 00 22 TST DAT_0022 = FFh
fc99 26 26 BNE LAB_fcc1
fc9b 20 2c BRA LAB_fcc9
LAB_fc9d XREF[1]: fc80(j)
fc9d de 23 LDX DAT_0023 = FFFFh
fc9f 09 DEX
fca0 09 DEX
fca1 09 DEX
fca2 09 DEX
fca3 09 DEX
fca4 09 DEX
fca5 8c fd fa CPX #0xfdfa
fca8 26 03 BNE LAB_fcad
fcaa ce ff c2 LDX #0xffc2
LAB_fcad XREF[1]: fca8(j)
fcad 20 10 BRA LAB_fcbf
LAB_fcaf XREF[1]: fc84(j)
fcaf de 23 LDX DAT_0023 = FFFFh
fcb1 08 INX
fcb2 08 INX
fcb3 08 INX
fcb4 08 INX
fcb5 08 INX
fcb6 08 INX
fcb7 8c ff c8 CPX #0xffc8
fcba 26 03 BNE LAB_fcbf
fcbc ce fe 00 LDX #0xfe00
LAB_fcbf XREF[2]: fcad(j), fcba(j)
fcbf df 23 STX DAT_0023 = FFFFh
LAB_fcc1 XREF[1]: fc99(j)
fcc1 c6 00 LDAB #0x0
fcc3 d7 22 STAB DAT_0022 = FFh
fcc5 e6 01 LDAB 0x1,X=>Channel_Table = 79h
fcc7 20 06 BRA LAB_fccf
LAB_fcc9 XREF[1]: fc9b(j)
fcc9 c6 ff LDAB #0xff
fccb d7 22 STAB DAT_0022 = FFh
fccd e6 00 LDAB 0x0,X
LAB_fccf XREF[1]: fcc7(j)
fccf f7 a0 00 STAB DAT_a000 = FFh
fcd2 bd fc 22 JSR FUN_fc22 undefined FUN_fc22()
fcd5 8d 62 BSR FUN_fd39 undefined FUN_fd39()
fcd7 20 a0 BRA LAB_fc79
LAB_fcd9 XREF[1]: fc88(j)
fcd9 bd fc 1c JSR FUN_fc1c undefined FUN_fc1c()
fcdc c6 00 LDAB #0x0
fcde d7 22 STAB DAT_0022 = FFh
fce0 de 23 LDX DAT_0023 = FFFFh
fce2 e6 01 LDAB 0x1,X
fce4 f7 a0 00 STAB DAT_a000 = FFh
fce7 6d 00 TST 0x0,X
fce9 27 22 BEQ LAB_fd0d
fceb ce 50 00 LDX #0x5000
LAB_fcee XREF[1]: fd0b(j)
fcee b6 c0 00 LDAA DAT_c000 = FFh
fcf1 84 0f ANDA #0xf
fcf3 85 02 BITA #0x2
fcf5 27 13 BEQ LAB_fd0a
fcf7 bd fc 22 JSR FUN_fc22 undefined FUN_fc22()
fcfa ce 50 00 LDX #0x5000
LAB_fcfd XREF[1]: fd07(j)
fcfd b6 c0 00 LDAA DAT_c000 = FFh
fd00 84 0f ANDA #0xf
fd02 85 02 BITA #0x2
fd04 27 14 BEQ LAB_fd1a
fd06 09 DEX
fd07 26 f4 BNE LAB_fcfd
fd09 3b RTI
LAB_fd0a XREF[1]: fcf5(j)
fd0a 09 DEX
fd0b 26 e1 BNE LAB_fcee
LAB_fd0d XREF[3]: fce9(j), fd14(j), fd37(j)
fd0d b6 c0 00 LDAA DAT_c000 = FFh
fd10 84 0f ANDA #0xf
fd12 85 02 BITA #0x2
fd14 27 f7 BEQ LAB_fd0d
fd16 bd fc 22 JSR FUN_fc22 undefined FUN_fc22()
fd19 3b RTI
LAB_fd1a XREF[1]: fd04(j)
fd1a bd fc 1c JSR FUN_fc1c undefined FUN_fc1c()
fd1d c6 ff LDAB #0xff
fd1f f7 a0 00 STAB DAT_a000 = FFh
fd22 ce 06 d4 LDX #0x6d4
LAB_fd25 XREF[1]: fd2e(j)
fd25 b7 40 00 STAA DAT_4000 = FFh
fd28 d6 20 LDAB DAT_0020 = FFh
LAB_fd2a XREF[1]: fd2b(j)
fd2a 5a DECB
fd2b 26 fd BNE LAB_fd2a
fd2d 09 DEX
fd2e 26 f5 BNE LAB_fd25
fd30 de 23 LDX DAT_0023 = FFFFh
fd32 e6 01 LDAB 0x1,X
fd34 f7 a0 00 STAB DAT_a000 = FFh
fd37 20 d4 BRA LAB_fd0d
**************************************************************
* FUNCTION *
**************************************************************
undefined FUN_fd39()
undefined
FUN_fd39 XREF[1]: fcd5(c)
fd39 7d 00 21 TST DAT_0021 = FFh
fd3c 27 0b BEQ LAB_fd49
fd3e ce a0 00 LDX #0xa000
LAB_fd41 XREF[1]: fd42(j)
fd41 09 DEX
fd42 26 fd BNE LAB_fd41
fd44 86 00 LDAA #0x0
fd46 97 21 STAA DAT_0021 = FFh
fd48 39 RTS
LAB_fd49 XREF[1]: fd3c(j)
fd49 ce 28 00 LDX #0x2800
LAB_fd4c XREF[1]: fd4d(j)
fd4c 09 DEX
fd4d 26 fd BNE LAB_fd4c
fd4f 39 RTS
Comments
Post a Comment