Re: F9dasm and bad 6809 op codes
Sean Conner via Coco <coco-uNHYcr1XS/wmlAP/[email protected]>
| Newsgroups | gmane.comp.hardware.tandy.coco |
|---|---|
| Message-ID | <[email protected]> |
It was thus said that the Great Allen Huffman via Coco once stated: > Is there such an op code as DEY or PSHX? > > Both are generated by the f9dasm disassembler: > > LDY M3AFD ;3A04: 10 BE 3A FD '..:.' > Z3A08 DEY ;3A08: 31 3F '1?' > BNE GETKEY ;3A0A: 26 05 '&.' > > …then later… > > LEAX -$05,X ;3A6D: 30 1B '0.' > PSHX ;3A6F: 34 10 '4.' > LDX #DCOPC ;3A71: 8E 00 EA '...' > > Any op code but experts out there? The 31 seems to be LEAY $3F,Y, > perhaps. Unsure about the other. The document I am looking at is not OCR’d > so I cannot do a search in it. The DEY seems to be a macro (why?) for LEAY -1,Y. PSHX seems to be a macro for PSHS X. The author of f9dasm probably didn't like typing, or was too used to another style CPU (maybe the 6800?). > https://github.com/allenhuffman/SubEthaSoftware/tree/main/OS-9/MultiBoot/asm > > The dat file (one directory higher) also exists as data numbers in my C > program, so I used a Python script to spit those data numbers into > multiboot.bin and am working from that. > > Earlier, I was doing it from an Intel HEX file. I was having problems > there, too, so switched to the .bin approach - same issues. > > Just me? Might need some better tools. Here's what I was able to do with the second array. It seems to assume SECB, so for a Coco 3. 3900 8E 3800 - LDX #3800 ; -aa0- 3903 108E 2600 - LDY #2600 ; -aa0- 3907 EC 81 - LDD ,X++ ; -aa0- 3909 ED A1 - STD ,Y++ ; -aa0- 390B 8C 3900 - CMPX #3900 ; -aaaa 390E 25 F7 - BLO 3907 ; ----- backwards unsigned 3910 17 0198 - LBSR 3AAB ; ----- forwards 3913 17 01AB - LBSR 3AC1 ; ----- forwards " MultiBoot V1.12\r" " by Terry Todd & Allen Huffman\r" " Copyright (C) 1993 by\r" " Sub-Etha Software\r" 3982 108E 05C0 - LDY #05C0 ; -aa0- 3986 109F 88 - STY 88 ; -aa0- ; CURPOS 3989 17 0135 - LBSR 3AC1 ; ----- forwards " Use UP/DOWN to scroll\r" "[ENTER] Selects [BREAK] Quits" 39C7 F6 3AEB - LDB 3AEB ; -aa0- 39CA 17 0110 - LBSR 3ADD ; ----- forwards 39CD CE 04A4 - LDU #04A4 ; -aa0- 39D0 F6 3AFF - LDB 3AFF ; -aa0- 39D3 1027 00D1 - LBEQ 3AA8 ; ----- forwards 39D7 F0 3AEB - SUBB 3AEB ; uaaaa 39DA C1 08 - CMPB #08 ; uaaaa 39DC 25 02 - BLO 39E0 ; ----- forwards unsigned 39DE C6 08 - LDB #08 ; -aa0- 39E0 34 14 - PSHS X,B ; ----- 39E2 DF 88 - STU 88 ; -aa0- 39E4 BD 3AD0 - JSR 3AD0 ; ----- 39E7 35 14 - PULS B,X ; ccccc 39E9 30 8820 - LEAX 32,X ; --a-- 39EC 33 C820 - LEAU 32,U ; ----- 39EF 5A - DECB ; -aaa- 39F0 26 EE - BNE 39E0 ; ----- backwards 39F2 B6 3AEA - LDA 3AEA ; -aa0- 39F5 B0 3AEB - SUBA 3AEB ; uaaaa 39F8 C6 20 - LDB #20 ; -aa0- 39FA 3D - MUL ; --a-a 39FB C3 04A3 - ADDD #04A3 ; -aaaa 39FE 1F 01 - TFR D,X ; ccccc 3A00 86 6A - LDA #6A ; -aa0- 3A02 A7 84 - STA ,X ; -aa0- 3A04 10BE 3AFD - LDY 3AFD ; -aa0- 3A08 31 3F - LEAY -1,Y ; --a-- 3A0A 26 05 - BNE 3A11 ; ----- forwards 3A0C 32 62 - LEAS 2,S ; ----- 3A0E 16 0097 - LBRA 3AA8 ; ----- forwards 3A11 AD 9FA000 - JSR [A000] ; ----- 3A15 27 F1 - BEQ 3A08 ; ----- backwards 3A17 C6 60 - LDB #60 ; -aa0- 3A19 E7 84 - STB ,X ; -aa0- 3A1B C6 FF - LDB #FF ; -aa0- 3A1D 81 5E - CMPA #5E ; uaaaa 3A1F 27 11 - BEQ 3A32 ; ----- forwards 3A21 81 0A - CMPA #0A ; uaaaa 3A23 27 24 - BEQ 3A49 ; ----- forwards 3A25 81 0D - CMPA #0D ; uaaaa 3A27 27 3E - BEQ 3A67 ; ----- forwards 3A29 81 03 - CMPA #03 ; uaaaa 3A2B 26 C5 - BNE 39F2 ; ----- backwards 3A2D 0F 71 - CLR 71 ; -0100 3A2F 7E 8C1B - JMP 8C1B ; ----- ; DLOAD 3A32 B6 3AEA - LDA 3AEA ; -aa0- 3A35 27 BB - BEQ 39F2 ; ----- backwards 3A37 F7 0155 - STB 0155 ; -aa0- 3A3A 4A - DECA ; -aaa- 3A3B B7 3AEA - STA 3AEA ; -aa0- 3A3E B1 3AEB - CMPA 3AEB ; uaaaa 3A41 24 03 - BHS 3A46 ; ----- forwards unsigned 3A43 7A 3AEB - DEC 3AEB ; -aaa- 3A46 16 FF7E - LBRA 39C7 ; ----- backwards 3A49 B6 3AEA - LDA 3AEA ; -aa0- 3A4C 4C - INCA ; -aaa- 3A4D B1 3AFF - CMPA 3AFF ; uaaaa 3A50 24 A0 - BHS 39F2 ; ----- backwards unsigned 3A52 F7 0156 - STB 0156 ; -aa0- 3A55 B7 3AEA - STA 3AEA ; -aa0- 3A58 B6 3AEB - LDA 3AEB ; -aa0- 3A5B 8B 07 - ADDA #07 ; aaaaa 3A5D B1 3AEA - CMPA 3AEA ; uaaaa 3A60 24 E4 - BHS 3A46 ; ----- backwards unsigned 3A62 7C 3AEB - INC 3AEB ; -aaa- 3A65 20 DF - BRA 3A46 ; ----- backwards 3A67 F6 3AEA - LDB 3AEA ; -aa0- 3A6A 5C - INCB ; -aaa- 3A6B 8D 70 - BSR 3ADD ; ----- forwards 3A6D 30 1B - LEAX -5,X ; --a-- 3A6F 34 10 - PSHS X ; ----- 3A71 8E 00EA - LDX #00EA ; -aa0- 3A74 CC 0200 - LDD #0200 ; -aa0- 3A77 ED 84 - STD ,X ; -aa0- 3A79 CC 0001 - LDD #0001 ; -aa0- 3A7C ED 02 - STD 2,X ; -aa0- 3A7E CC 01DA - LDD #01DA ; -aa0- 3A81 ED 04 - STD 4,X ; -aa0- 3A83 AD 9FC004 - JSR [C004] ; ----- 3A87 6D 06 - TST 6,X ; -aa0- 3A89 26 4F - BNE 3ADA ; ----- forwards 3A8B 10AE 04 - LDY 4,X ; -aa0- 3A8E 31 A815 - LEAY 21,Y ; --a-- 3A91 35 40 - PULS U ; ccccc 3A93 C6 05 - LDB #05 ; -aa0- 3A95 A6 C0 - LDA ,U+ ; -aa0- 3A97 A7 A0 - STA ,Y+ ; -aa0- 3A99 5A - DECB ; -aaa- 3A9A 26 F9 - BNE 3A95 ; ----- backwards 3A9C 86 03 - LDA #03 ; -aa0- 3A9E A7 84 - STA ,X ; -aa0- 3AA0 AD 9FC004 - JSR [C004] ; ----- 3AA4 6D 06 - TST 6,X ; -aa0- 3AA6 26 32 - BNE 3ADA ; ----- forwards 3AA8 7E 2602 - JMP 2602 ; ----- 3AAB 86 57 - LDA #57 ; -aa0- ; patch ECB to force 3AAD B7 95C9 - STA 95C9 ; -aa0- ; black-on-orange text 3AB0 86 10 - LDA #10 ; -aa0- ; set black-on-orange 3AB2 B7 FF22 - STA FF22 ; -aa0- ; text 3AB5 CC 3F00 - LDD #3F00 ; -aa0- 3AB8 FD FFBC - STD FFBC ; -aa0- ; set pallette register 3ABB BD F652 - JSR F652 ; ----- ; force 32-column screen 3ABE 7E A928 - JMP A928 ; ----- ; CLS 3AC1 AE E4 - LDX ,S ; -aa0- ; point to string 3AC3 A6 80 - LDA ,X+ ; -aa0- ; get next character 3AC5 27 06 - BEQ 3ACD ; ----- forwards ; NUL? exit 3AC7 AD 9FA002 - JSR [A002] ; ----- ; print character 3ACB 20 F6 - BRA 3AC3 ; ----- backwards ; continue 3ACD AF E4 - STX ,S ; -aa0- ; save return address 3ACF 39 - RTS ; ----- ; return 3AD0 A6 80 - LDA ,X+ ; -aa0- ; get next character 3AD2 27 FB - BEQ 3ACF ; ----- backwards ; NUL? exit 3AD4 AD 9FA002 - JSR [A002] ; ----- ; print character 3AD8 20 F6 - BRA 3AD0 ; ----- backwards ;continue 3ADA 7E D709 - JMP D709 ; ----- ; signal IO error 3ADD 8E 3B00 - LDX #3B00 ; -aa0- 3AE0 5D - TSTB ; -aa0- 3AE1 27 EC - BEQ 3ACF ; ----- backwards 3AE3 30 8820 - LEAX 32,X ; --a-- 3AE6 5A - DECB ; -aaa- 3AE7 26 FA - BNE 3AE3 ; ----- backwards 3AE9 39 - RTS ; ----- 3AEA fdb 0 3AEC fdb 0 3AEE fdb 0 3AF0 fdb 0 3AF2 fdb 0 3AF4 fdb 0 3AF6 fdb 0 3AF8 fdb 0 3AFA fdb 0 3AFC fdb $0042 3AFE fdb $4200 -spc -- Coco mailing list [email protected] https://pairlist5.pair.net/mailman/listinfo/coco