------+-------------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code ------+-------------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- 1 | 1 UnidriveU.asm 1 | Comment | 11 | | 0 | 00/8000 | * 2 | 1 UnidriveU.asm 2 | Comment | 11 | | 0 | 00/8000 | * Unidisk 3.5 Calc Unimplemented area 3 | 1 UnidriveU.asm 3 | Comment | 11 | | 0 | 00/8000 | * 4 | 1 UnidriveU.asm 4 | Comment | 11 | | 0 | 00/8000 | * The target of this project is to use the Unidisk 3.5 drive to perform 5 | 1 UnidriveU.asm 5 | Comment | 11 | | 0 | 00/8000 | * specific numerical routines: 2 Byte Add integer numbers calculation; 6 | 1 UnidriveU.asm 6 | Comment | 11 | | 0 | 00/8000 | * in order to use it as a Apple II co-processor unit. 7 | 1 UnidriveU.asm 7 | Comment | 11 | | 0 | 00/8000 | * 8 | 1 UnidriveU.asm 8 | Comment | 11 | | 0 | 00/8000 | * Copyright (C) 2015 Riccardo Greco . 9 | 1 UnidriveU.asm 9 | Comment | 11 | | 0 | 00/8000 | * 10 | 1 UnidriveU.asm 10 | Comment | 11 | | 0 | 00/8000 | * This program is free software: you can redistribute it and/or modify 11 | 1 UnidriveU.asm 11 | Comment | 11 | | 0 | 00/8000 | * it under the terms of the GNU General Public License as published by 12 | 1 UnidriveU.asm 12 | Comment | 11 | | 0 | 00/8000 | * the Free Software Foundation, either version 3 of the License, or 13 | 1 UnidriveU.asm 13 | Comment | 11 | | 0 | 00/8000 | * (at your option) any later version. 14 | 1 UnidriveU.asm 14 | Comment | 11 | | 0 | 00/8000 | * This program is distributed in the hope that it will be useful, 15 | 1 UnidriveU.asm 15 | Comment | 11 | | 0 | 00/8000 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | 1 UnidriveU.asm 16 | Comment | 11 | | 0 | 00/8000 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | 1 UnidriveU.asm 17 | Comment | 11 | | 0 | 00/8000 | * GNU General Public License for more details. 18 | 1 UnidriveU.asm 18 | Comment | 11 | | 0 | 00/8000 | * You should have received a copy of the GNU General Public License 19 | 1 UnidriveU.asm 19 | Comment | 11 | | 0 | 00/8000 | * along with this program. If not, see . 20 | 1 UnidriveU.asm 20 | Comment | 11 | | 0 | 00/8000 | * 21 | 1 UnidriveU.asm 21 | Comment | 11 | | 0 | 00/8000 | * 22 | 1 UnidriveU.asm 22 | Comment | 11 | | 0 | 00/8000 | * @com.wudsn.ide.asm.hardware=APPLE2 23 | 1 UnidriveU.asm 23 | Comment | 11 | | 0 | 00/8000 | * Protocol Converter Call 24 | 1 UnidriveU.asm 24 | Directive | 11 | | 0 | 00/8000 | XC 25 | 1 UnidriveU.asm 25 | Equivalence | 11 | | 0 | 00/8000 | ZPTempL equ $0006 ;Temporary zero page storage 26 | 1 UnidriveU.asm 26 | Equivalence | 11 | | 0 | 00/8000 | ZPTempH equ $0007 27 | 1 UnidriveU.asm 27 | Comment | 11 | | 0 | 00/8000 | ** Zero page storage ** 28 | 1 UnidriveU.asm 28 | Equivalence | 11 | | 0 | 00/8000 | N1 equ $19 ;25 29 | 1 UnidriveU.asm 29 | Equivalence | 11 | | 0 | 00/8000 | N2 equ $1B ;27 30 | 1 UnidriveU.asm 30 | Equivalence | 11 | | 0 | 00/8000 | RSLT equ $1D ;29 31 | 1 UnidriveU.asm 31 | Comment | 11 | | 0 | 00/8000 | *** Monitor routines *** 32 | 1 UnidriveU.asm 32 | Equivalence | 11 | | 0 | 00/8000 | COut equ $FDED ;Console output ASCII 33 | 1 UnidriveU.asm 33 | Equivalence | 11 | | 0 | 00/8000 | CROut equ $FD8E ;Carriage return 34 | 1 UnidriveU.asm 34 | Comment | 11 | | 0 | 00/8000 | ** Command Code ** 35 | 1 UnidriveU.asm 35 | Equivalence | 11 | | 0 | 00/8000 | StatusCmd equ 0 36 | 1 UnidriveU.asm 36 | Comment | 11 | | 0 | 00/8000 | ** Status Code ** 37 | 1 UnidriveU.asm 37 | Comment | 11 | | 0 | 00/8000 | * StatusDIB equ 3 38 | 1 UnidriveU.asm 38 | Equivalence | 11 | | 0 | 00/8000 | StatusUNI equ 5 39 | 1 UnidriveU.asm 39 | Comment | 11 | | 0 | 00/8000 | * 40 | 1 UnidriveU.asm 40 | Equivalence | 11 | | 0 | 00/8000 | ControlCmd equ 4 41 | 1 UnidriveU.asm 41 | Comment | 11 | | 0 | 00/8000 | ** Control Codes ** 42 | 1 UnidriveU.asm 42 | Equivalence | 11 | | 0 | 00/8000 | Eject equ 4 43 | 1 UnidriveU.asm 43 | Equivalence | 11 | | 0 | 00/8000 | Run equ 5 44 | 1 UnidriveU.asm 44 | Equivalence | 11 | | 0 | 00/8000 | SetDWLoad equ 6 45 | 1 UnidriveU.asm 45 | Equivalence | 11 | | 0 | 00/8000 | DWLoad equ 7 46 | 1 UnidriveU.asm 46 | Comment | 11 | | 0 | 00/8000 | * 47 | 1 UnidriveU.asm 47 | Directive | 11 | | 0 | 00/8000 | org $8000 48 | 1 UnidriveU.asm 48 | Comment | 11 | | 0 | 00/8000 | ***************************************************** 49 | 1 UnidriveU.asm 49 | Empty | 11 | | 0 | 00/8000 | 50 | 1 UnidriveU.asm 50 | Comment | 11 | | 0 | 00/8000 | * 51 | 1 UnidriveU.asm 51 | Comment | 11 | | 0 | 00/8000 | * Find a Protocol Converter in one of the slots. 52 | 1 UnidriveU.asm 52 | Code | 11 | | 3 | 00/8000 : 20 6A 80 | START jsr {ozunid_4} 53 | 1 UnidriveU.asm 53 | Code | 11 | | 2 | 00/8003 : B0 10 | bcs {ozunid_1} 54 | 1 UnidriveU.asm 54 | Comment | 11 | | 0 | 00/8005 | *** Eject *** 55 | 1 UnidriveU.asm 55 | Code | 11 | | 3 | 00/8005 : 20 9F 80 | jsr {ozunid_9} 56 | 1 UnidriveU.asm 56 | Data | 11 | | 1 | 00/8008 : 04 | dfb {4} 57 | 1 UnidriveU.asm 57 | Data | 11 | | 2 | 00/8009 : BE 80 | dw {ozunid_15} 58 | 1 UnidriveU.asm 58 | Comment | 11 | | 0 | 00/800B | *** Set Address *** 59 | 1 UnidriveU.asm 59 | Code | 11 | | 3 | 00/800B : 20 9F 80 | jsr {ozunid_9} 60 | 1 UnidriveU.asm 60 | Data | 11 | | 1 | 00/800E : 04 | dfb {4} 61 | 1 UnidriveU.asm 61 | Data | 11 | | 2 | 00/800F : AF 80 | dw {ozunid_12} 62 | 1 UnidriveU.asm 62 | Comment | 11 | | 0 | 00/8011 | * 63 | 1 UnidriveU.asm 63 | Code | 11 | | 3 | 00/8011 : 20 37 80 | jsr EXEC ; Jump the Error routine 64 | 1 UnidriveU.asm 64 | Code | 11 | | 1 | 00/8014 : 60 | rts 65 | 1 UnidriveU.asm 65 | Comment | 11 | | 0 | 00/8015 | ********************************************* 66 | 1 UnidriveU.asm 66 | Empty | 11 | | 0 | 00/8015 | ozunid_1 67 | 1 UnidriveU.asm 66 | Equivalence | 11 | | 0 | 00/8015 | Error equ ozunid_1 68 | 1 UnidriveU.asm 67 | Comment | 11 | | 0 | 00/8015 | * 69 | 1 UnidriveU.asm 68 | Comment | 11 | | 0 | 00/8015 | * There's either no PC around, or there was no give message 70 | 1 UnidriveU.asm 69 | Comment | 11 | | 0 | 00/8015 | * 71 | 1 UnidriveU.asm 70 | Code | 11 | | 2 | 00/8015 : A2 00 | ldx #0 72 | 1 UnidriveU.asm 71 | Empty | 11 | | 0 | 00/8017 | ozunid_2 73 | 1 UnidriveU.asm 71 | Equivalence | 11 | | 0 | 00/8017 | err1 equ ozunid_2 74 | 1 UnidriveU.asm 72 | Code | 11 | | 3 | 00/8017 : BD 23 80 | lda Message,x 75 | 1 UnidriveU.asm 73 | Code | 11 | | 2 | 00/801A : F0 06 | beq {ozunid_3} 76 | 1 UnidriveU.asm 74 | Code | 11 | | 3 | 00/801C : 20 ED FD | jsr {$FDED} 77 | 1 UnidriveU.asm 75 | Code | 11 | | 1 | 00/801F : E8 | inx 78 | 1 UnidriveU.asm 76 | Code | 11 | | 2 | 00/8020 : D0 F5 | bne {ozunid_2} 79 | 1 UnidriveU.asm 77 | Comment | 11 | | 0 | 00/8022 | * 80 | 1 UnidriveU.asm 78 | Empty | 11 | | 0 | 00/8022 | ozunid_3 81 | 1 UnidriveU.asm 78 | Equivalence | 11 | | 0 | 00/8022 | errout equ ozunid_3 82 | 1 UnidriveU.asm 79 | Code | 11 | | 1 | 00/8022 : 60 | rts 83 | 1 UnidriveU.asm 80 | Comment | 11 | | 0 | 00/8023 | * 84 | 1 UnidriveU.asm 81 | Data | 11 | | 18 | 00/8023 : 4E 4F 20 50 | Message asc 'NO PC OR NO DEVICE' | | | | | | 43 20 4F 52 | | | | | | | 20 4E 4F 20 | | | | | | | 44 45 56 49 | | | | | | | 43 45 | 85 | 1 UnidriveU.asm 82 | Data | 11 | | 2 | 00/8035 : 8D 00 | dfb $8D,0 86 | 1 UnidriveU.asm 83 | Comment | 11 | | 0 | 00/8037 | ********************************************* 87 | 1 UnidriveU.asm 84 | Comment | 11 | | 0 | 00/8037 | * 88 | 1 UnidriveU.asm 85 | Comment | 11 | | 0 | 00/8037 | ** Set the Input Value first ** 89 | 1 UnidriveU.asm 86 | Code | 11 | | 2 | 00/8037 : A5 19 | EXEC lda {$19} 90 | 1 UnidriveU.asm 87 | Code | 11 | | 3 | 00/8039 : 8D E9 80 | sta $80E9 ; Absolute addressing 91 | 1 UnidriveU.asm 88 | Code | 11 | | 2 | 00/803C : A5 1A | lda {$19}+1 92 | 1 UnidriveU.asm 89 | Code | 11 | | 3 | 00/803E : 8D EA 80 | sta $80EA 93 | 1 UnidriveU.asm 90 | Empty | 11 | | 0 | 00/8041 | 94 | 1 UnidriveU.asm 91 | Code | 11 | | 2 | 00/8041 : A5 1B | lda {$1B} 95 | 1 UnidriveU.asm 92 | Code | 11 | | 3 | 00/8043 : 8D EB 80 | sta $80EB 96 | 1 UnidriveU.asm 93 | Code | 11 | | 2 | 00/8046 : A5 1C | lda {$1B}+1 97 | 1 UnidriveU.asm 94 | Code | 11 | | 3 | 00/8048 : 8D EC 80 | sta $80EC 98 | 1 UnidriveU.asm 95 | Comment | 11 | | 0 | 00/804B | *** Download *** 99 | 1 UnidriveU.asm 96 | Code | 11 | | 3 | 00/804B : 20 9F 80 | jsr {ozunid_9} 100 | 1 UnidriveU.asm 97 | Data | 11 | | 1 | 00/804E : 04 | dfb {4} 101 | 1 UnidriveU.asm 98 | Data | 11 | | 2 | 00/804F : B4 80 | dw {ozunid_13} 102 | 1 UnidriveU.asm 99 | Comment | 11 | | 0 | 00/8051 | ** Execute ** 103 | 1 UnidriveU.asm 100 | Code | 11 | | 3 | 00/8051 : 20 9F 80 | jsr {ozunid_9} 104 | 1 UnidriveU.asm 101 | Data | 11 | | 1 | 00/8054 : 04 | dfb {4} 105 | 1 UnidriveU.asm 102 | Data | 11 | | 2 | 00/8055 : B9 80 | dw {ozunid_14} 106 | 1 UnidriveU.asm 103 | Code | 11 | | 3 | 00/8057 : 20 9F 80 | READ jsr {ozunid_9} 107 | 1 UnidriveU.asm 104 | Data | 11 | | 1 | 00/805A : 00 | dfb {0} 108 | 1 UnidriveU.asm 105 | Data | 11 | | 2 | 00/805B : A2 80 | dw {ozunid_10} 109 | 1 UnidriveU.asm 106 | Code | 11 | | 2 | 00/805D : B0 B6 | bcs {ozunid_1} 110 | 1 UnidriveU.asm 107 | Comment | 11 | | 0 | 00/805F | * 111 | 1 UnidriveU.asm 108 | Comment | 11 | | 0 | 00/805F | **** Store Output results in //c **** 112 | 1 UnidriveU.asm 109 | Comment | 11 | | 0 | 00/805F | * 113 | 1 UnidriveU.asm 110 | Code | 11 | | 3 | 00/805F : AD AB 80 | lda UNIX_reg 114 | 1 UnidriveU.asm 111 | Code | 11 | | 2 | 00/8062 : 85 1D | sta {$1D} ; Store the result 115 | 1 UnidriveU.asm 112 | Code | 11 | | 3 | 00/8064 : AD AC 80 | lda UNIY_reg 116 | 1 UnidriveU.asm 113 | Code | 11 | | 2 | 00/8067 : 85 1E | sta {$1D}+1 117 | 1 UnidriveU.asm 114 | Comment | 11 | | 0 | 00/8069 | * 118 | 1 UnidriveU.asm 115 | Code | 11 | | 1 | 00/8069 : 60 | rts 119 | 1 UnidriveU.asm 116 | Empty | 11 | | 0 | 00/806A | 120 | 1 UnidriveU.asm 117 | Comment | 11 | | 0 | 00/806A | ****************************************************** 121 | 1 UnidriveU.asm 118 | Empty | 11 | | 0 | 00/806A | ozunid_4 122 | 1 UnidriveU.asm 118 | Equivalence | 11 | | 0 | 00/806A | FindPC equ ozunid_4 123 | 1 UnidriveU.asm 119 | Comment | 11 | | 0 | 00/806A | * 124 | 1 UnidriveU.asm 120 | Comment | 11 | | 0 | 00/806A | * Search slot 7 to slot 1 looking for signature bytes 125 | 1 UnidriveU.asm 121 | Comment | 11 | | 0 | 00/806A | * 126 | 1 UnidriveU.asm 122 | Code | 11 | | 2 | 00/806A : A2 07 | ldx #7 ;Do for seven slots 127 | 1 UnidriveU.asm 123 | Code | 11 | | 2 | 00/806C : A9 C7 | lda #$C7 128 | 1 UnidriveU.asm 124 | Code | 11 | | 2 | 00/806E : 85 07 | sta {$0007} 129 | 1 UnidriveU.asm 125 | Code | 11 | | 2 | 00/8070 : A9 00 | lda #$00 130 | 1 UnidriveU.asm 126 | Code | 11 | | 2 | 00/8072 : 85 06 | sta {$0006} 131 | 1 UnidriveU.asm 127 | Comment | 11 | | 0 | 00/8074 | * 132 | 1 UnidriveU.asm 128 | Empty | 11 | | 0 | 00/8074 | ozunid_5 133 | 1 UnidriveU.asm 128 | Equivalence | 11 | | 0 | 00/8074 | newslot equ ozunid_5 134 | 1 UnidriveU.asm 129 | Code | 11 | | 2 | 00/8074 : A0 07 | ldy #7 135 | 1 UnidriveU.asm 130 | Comment | 11 | | 0 | 00/8076 | * 136 | 1 UnidriveU.asm 131 | Empty | 11 | | 0 | 00/8076 | ozunid_6 137 | 1 UnidriveU.asm 131 | Equivalence | 11 | | 0 | 00/8076 | again equ ozunid_6 138 | 1 UnidriveU.asm 132 | Code | 11 | | 2 | 00/8076 : B1 06 | lda ({$0006}),y 139 | 1 UnidriveU.asm 133 | Code | 11 | | 3 | 00/8078 : D9 97 80 | cmp sigtab,y ;One for byte signature 140 | 1 UnidriveU.asm 134 | Code | 11 | | 2 | 00/807B : F0 07 | beq {ozunid_7} ;Found one signature byte 141 | 1 UnidriveU.asm 135 | Code | 11 | | 2 | 00/807D : C6 07 | dec {$0007} 142 | 1 UnidriveU.asm 136 | Code | 11 | | 1 | 00/807F : CA | dex 143 | 1 UnidriveU.asm 137 | Code | 11 | | 2 | 00/8080 : D0 F2 | bne {ozunid_5} 144 | 1 UnidriveU.asm 138 | Comment | 11 | | 0 | 00/8082 | * 145 | 1 UnidriveU.asm 139 | Comment | 11 | | 0 | 00/8082 | * if we get here, no PC find 146 | 1 UnidriveU.asm 140 | Code | 11 | | 1 | 00/8082 : 38 | sec 147 | 1 UnidriveU.asm 141 | Code | 11 | | 1 | 00/8083 : 60 | rts 148 | 1 UnidriveU.asm 142 | Comment | 11 | | 0 | 00/8084 | * 149 | 1 UnidriveU.asm 143 | Comment | 11 | | 0 | 00/8084 | * if we get here, no byte find on PC 150 | 1 UnidriveU.asm 144 | Empty | 11 | | 0 | 00/8084 | ozunid_7 151 | 1 UnidriveU.asm 144 | Equivalence | 11 | | 0 | 00/8084 | maybe equ ozunid_7 152 | 1 UnidriveU.asm 145 | Code | 11 | | 1 | 00/8084 : 88 | dey 153 | 1 UnidriveU.asm 146 | Code | 11 | | 1 | 00/8085 : 88 | dey ;if N=1 then all sig bytes OK 154 | 1 UnidriveU.asm 147 | Code | 11 | | 2 | 00/8086 : 10 EE | bpl {ozunid_6} 155 | 1 UnidriveU.asm 148 | Comment | 11 | | 0 | 00/8088 | * Found PC interface. Set up call address. 156 | 1 UnidriveU.asm 149 | Comment | 11 | | 0 | 00/8088 | * we already have high byte ($CN), we need low byte 157 | 1 UnidriveU.asm 150 | Comment | 11 | | 0 | 00/8088 | * 158 | 1 UnidriveU.asm 151 | Empty | 11 | | 0 | 00/8088 | ozunid_8 159 | 1 UnidriveU.asm 151 | Equivalence | 11 | | 0 | 00/8088 | foundPC equ ozunid_8 160 | 1 UnidriveU.asm 152 | Code | 11 | | 2 | 00/8088 : A9 FF | lda #$FF 161 | 1 UnidriveU.asm 153 | Code | 11 | | 2 | 00/808A : 85 06 | sta {$0006} 162 | 1 UnidriveU.asm 154 | Code | 11 | | 2 | 00/808C : A0 00 | ldy #0 ;For indirect load 163 | 1 UnidriveU.asm 155 | Code | 11 | | 2 | 00/808E : B1 06 | lda ({$0006}),y ;Get the byte 164 | 1 UnidriveU.asm 156 | Comment | 11 | | 0 | 00/8090 | * 165 | 1 UnidriveU.asm 157 | Comment | 11 | | 0 | 00/8090 | * Now the Acc has the low oreder ProDOS entry point. 166 | 1 UnidriveU.asm 158 | Comment | 11 | | 0 | 00/8090 | * The PC entry is three locations past this ... 167 | 1 UnidriveU.asm 159 | Comment | 11 | | 0 | 00/8090 | * 168 | 1 UnidriveU.asm 160 | Code | 11 | | 1 | 00/8090 : 18 | clc 169 | 1 UnidriveU.asm 161 | Code | 11 | | 2 | 00/8091 : 69 03 | adc #3 170 | 1 UnidriveU.asm 162 | Code | 11 | | 2 | 00/8093 : 85 06 | sta {$0006} 171 | 1 UnidriveU.asm 163 | Comment | 11 | | 0 | 00/8095 | * 172 | 1 UnidriveU.asm 164 | Comment | 11 | | 0 | 00/8095 | * Now ZPTempL has PC entry point. 173 | 1 UnidriveU.asm 165 | Comment | 11 | | 0 | 00/8095 | * Return with carry clear. 174 | 1 UnidriveU.asm 166 | Comment | 11 | | 0 | 00/8095 | * 175 | 1 UnidriveU.asm 167 | Code | 11 | | 1 | 00/8095 : 18 | clc 176 | 1 UnidriveU.asm 168 | Code | 11 | | 1 | 00/8096 : 60 | rts 177 | 1 UnidriveU.asm 169 | Comment | 11 | | 0 | 00/8097 | *********************************************************** 178 | 1 UnidriveU.asm 170 | Comment | 11 | | 0 | 00/8097 | * 179 | 1 UnidriveU.asm 171 | Comment | 11 | | 0 | 00/8097 | * There are the PC signature bytes in their relative order. 180 | 1 UnidriveU.asm 172 | Comment | 11 | | 0 | 00/8097 | * The $FF bytes are filler bytes and are not compared. 181 | 1 UnidriveU.asm 173 | Comment | 11 | | 0 | 00/8097 | * 182 | 1 UnidriveU.asm 174 | Data | 11 | | 4 | 00/8097 : FF 20 FF 00 | sigtab dfb $FF,$20,$FF,$00 183 | 1 UnidriveU.asm 175 | Data | 11 | | 4 | 00/809B : FF 03 FF 00 | dfb $FF,$03,$FF,$00 184 | 1 UnidriveU.asm 176 | Comment | 11 | | 0 | 00/809F | * 185 | 1 UnidriveU.asm 177 | Empty | 11 | | 0 | 00/809F | ozunid_9 186 | 1 UnidriveU.asm 177 | Equivalence | 11 | | 0 | 00/809F | Dispatch equ ozunid_9 187 | 1 UnidriveU.asm 178 | Code | 11 | | 3 | 00/809F : 6C 06 00 | jmp ({$0006}) ;Simulate an indirect JSR to PC 188 | 1 UnidriveU.asm 179 | Comment | 11 | | 0 | 00/80A2 | * 189 | 1 UnidriveU.asm 180 | Comment | 11 | | 0 | 00/80A2 | *** Status Parameter Set for UNI *** 190 | 1 UnidriveU.asm 181 | Empty | 11 | | 0 | 00/80A2 | ozunid_10 191 | 1 UnidriveU.asm 181 | Equivalence | 11 | | 0 | 00/80A2 | DParms equ ozunid_10 192 | 1 UnidriveU.asm 182 | Data | 11 | | 1 | 00/80A2 : 03 | DPParmsCt dfb 3 ;Status calls have three parameters 193 | 1 UnidriveU.asm 183 | Data | 11 | | 1 | 00/80A3 : 01 | DPUnit dfb 1 194 | 1 UnidriveU.asm 184 | Data | 11 | | 2 | 00/80A4 : A7 80 | DPBuffer dw {ozunid_11} 195 | 1 UnidriveU.asm 185 | Data | 11 | | 1 | 00/80A6 : 05 | DPStatCode dfb {5} 196 | 1 UnidriveU.asm 186 | Comment | 11 | | 0 | 00/80A7 | * 197 | 1 UnidriveU.asm 187 | Comment | 11 | | 0 | 00/80A7 | * 198 | 1 UnidriveU.asm 188 | Comment | 11 | | 0 | 00/80A7 | * 199 | 1 UnidriveU.asm 189 | Comment | 11 | | 0 | 00/80A7 | *** Status List UNI *** 200 | 1 UnidriveU.asm 190 | Empty | 11 | | 0 | 00/80A7 | ozunid_11 201 | 1 UnidriveU.asm 190 | Equivalence | 11 | | 0 | 00/80A7 | UNI equ ozunid_11 202 | 1 UnidriveU.asm 191 | Data | 11 | | 1 | 00/80A7 : 00 | dfb 0 203 | 1 UnidriveU.asm 192 | Data | 11 | | 1 | 00/80A8 : 00 | UNIError dfb 0 204 | 1 UnidriveU.asm 193 | Data | 11 | | 1 | 00/80A9 : 00 | UNIRetries dfb 0 205 | 1 UnidriveU.asm 194 | Data | 11 | | 1 | 00/80AA : 00 | UNIAcc_reg dfb 0 206 | 1 UnidriveU.asm 195 | Data | 11 | | 1 | 00/80AB : 00 | UNIX_reg dfb 0 207 | 1 UnidriveU.asm 196 | Data | 11 | | 1 | 00/80AC : 00 | UNIY_reg dfb 0 208 | 1 UnidriveU.asm 197 | Data | 11 | | 1 | 00/80AD : 00 | UNIP_val dfb 0 209 | 1 UnidriveU.asm 198 | Data | 11 | | 1 | 00/80AE : 00 | HHH dfb 0 210 | 1 UnidriveU.asm 199 | Comment | 11 | | 0 | 00/80AF | * 211 | 1 UnidriveU.asm 200 | Comment | 11 | | 0 | 00/80AF | *** Set Address *** 212 | 1 UnidriveU.asm 201 | Empty | 11 | | 0 | 00/80AF | ozunid_12 213 | 1 UnidriveU.asm 201 | Equivalence | 11 | | 0 | 00/80AF | SET_ADD equ ozunid_12 214 | 1 UnidriveU.asm 202 | Data | 11 | | 1 | 00/80AF : 03 | dfb 3 215 | 1 UnidriveU.asm 203 | Data | 11 | | 1 | 00/80B0 : 01 | dfb 1 216 | 1 UnidriveU.asm 204 | Data | 11 | | 2 | 00/80B1 : CD 80 | dw {ozunid_18} 217 | 1 UnidriveU.asm 205 | Data | 11 | | 1 | 00/80B3 : 06 | dfb {6} 218 | 1 UnidriveU.asm 206 | Comment | 11 | | 0 | 00/80B4 | * 219 | 1 UnidriveU.asm 207 | Comment | 11 | | 0 | 00/80B4 | *** Download *** 220 | 1 UnidriveU.asm 208 | Empty | 11 | | 0 | 00/80B4 | ozunid_13 221 | 1 UnidriveU.asm 208 | Equivalence | 11 | | 0 | 00/80B4 | DOWNLOAD equ ozunid_13 222 | 1 UnidriveU.asm 209 | Data | 11 | | 1 | 00/80B4 : 03 | dfb 3 223 | 1 UnidriveU.asm 210 | Data | 11 | | 1 | 00/80B5 : 01 | dfb 1 224 | 1 UnidriveU.asm 211 | Data | 11 | | 2 | 00/80B6 : D1 80 | dw {ozunid_19} 225 | 1 UnidriveU.asm 212 | Data | 11 | | 1 | 00/80B8 : 07 | dfb {7} 226 | 1 UnidriveU.asm 213 | Comment | 11 | | 0 | 00/80B9 | * 227 | 1 UnidriveU.asm 214 | Comment | 11 | | 0 | 00/80B9 | *** Execute *** 228 | 1 UnidriveU.asm 215 | Empty | 11 | | 0 | 00/80B9 | ozunid_14 229 | 1 UnidriveU.asm 215 | Equivalence | 11 | | 0 | 00/80B9 | EXE equ ozunid_14 230 | 1 UnidriveU.asm 216 | Data | 11 | | 1 | 00/80B9 : 03 | dfb 3 231 | 1 UnidriveU.asm 217 | Data | 11 | | 1 | 00/80BA : 01 | dfb 1 232 | 1 UnidriveU.asm 218 | Data | 11 | | 2 | 00/80BB : C5 80 | dw {ozunid_17} 233 | 1 UnidriveU.asm 219 | Data | 11 | | 1 | 00/80BD : 05 | dfb {5} 234 | 1 UnidriveU.asm 220 | Comment | 11 | | 0 | 00/80BE | *** Eject *** 235 | 1 UnidriveU.asm 221 | Empty | 11 | | 0 | 00/80BE | ozunid_15 236 | 1 UnidriveU.asm 221 | Equivalence | 11 | | 0 | 00/80BE | E_JECT equ ozunid_15 237 | 1 UnidriveU.asm 222 | Data | 11 | | 1 | 00/80BE : 03 | dfb 3 238 | 1 UnidriveU.asm 223 | Data | 11 | | 1 | 00/80BF : 01 | dfb 1 239 | 1 UnidriveU.asm 224 | Data | 11 | | 2 | 00/80C0 : C3 80 | dw {ozunid_16} 240 | 1 UnidriveU.asm 225 | Data | 11 | | 1 | 00/80C2 : 04 | dfb {4} 241 | 1 UnidriveU.asm 226 | Comment | 11 | | 0 | 00/80C3 | * 242 | 1 UnidriveU.asm 227 | Comment | 11 | | 0 | 00/80C3 | ******** CONTROL LISTS ******** 243 | 1 UnidriveU.asm 228 | Comment | 11 | | 0 | 00/80C3 | * 244 | 1 UnidriveU.asm 229 | Comment | 11 | | 0 | 00/80C3 | * 245 | 1 UnidriveU.asm 230 | Comment | 11 | | 0 | 00/80C3 | *** Eject *** 246 | 1 UnidriveU.asm 231 | Empty | 11 | | 0 | 00/80C3 | ozunid_16 247 | 1 UnidriveU.asm 231 | Equivalence | 11 | | 0 | 00/80C3 | CNTL_LIST1 equ ozunid_16 248 | 1 UnidriveU.asm 232 | Data | 11 | | 2 | 00/80C3 : 00 00 | dw $0000 249 | 1 UnidriveU.asm 233 | Comment | 11 | | 0 | 00/80C5 | * 250 | 1 UnidriveU.asm 234 | Comment | 11 | | 0 | 00/80C5 | *** Execute *** 251 | 1 UnidriveU.asm 235 | Empty | 11 | | 0 | 00/80C5 | ozunid_17 252 | 1 UnidriveU.asm 235 | Equivalence | 11 | | 0 | 00/80C5 | CNTL_LIST2 equ ozunid_17 253 | 1 UnidriveU.asm 236 | Data | 11 | | 1 | 00/80C5 : 06 | Clow_byte dfb $06 254 | 1 UnidriveU.asm 237 | Data | 11 | | 1 | 00/80C6 : 00 | Chigh_byte dfb $00 255 | 1 UnidriveU.asm 238 | Data | 11 | | 1 | 00/80C7 : 00 | AccValue dfb $00 ; Input Value 256 | 1 UnidriveU.asm 239 | Data | 11 | | 1 | 00/80C8 : 00 | X_reg dfb $00 ; Input Value (N1) 257 | 1 UnidriveU.asm 240 | Data | 11 | | 1 | 00/80C9 : 00 | Y_reg dfb $00 ; Input Value (N2) 258 | 1 UnidriveU.asm 241 | Data | 11 | | 1 | 00/80CA : 00 | ProStatus dfb $00 ; Input Value 259 | 1 UnidriveU.asm 242 | Data | 11 | | 1 | 00/80CB : 10 | LowPC_reg dfb $10 ; Like ORG Unimplemented area $0A0F - $E000 260 | 1 UnidriveU.asm 243 | Data | 11 | | 1 | 00/80CC : 0A | HighPC_reg dfb $0A 261 | 1 UnidriveU.asm 244 | Comment | 11 | | 0 | 00/80CD | * 262 | 1 UnidriveU.asm 245 | Comment | 11 | | 0 | 00/80CD | *** Set Address *** 263 | 1 UnidriveU.asm 246 | Empty | 11 | | 0 | 00/80CD | ozunid_18 264 | 1 UnidriveU.asm 246 | Equivalence | 11 | | 0 | 00/80CD | CNTL_LIST3 equ ozunid_18 265 | 1 UnidriveU.asm 247 | Data | 11 | | 1 | 00/80CD : 02 | CountL_byte dfb $02 266 | 1 UnidriveU.asm 248 | Data | 11 | | 1 | 00/80CE : 00 | CountH_byte dfb $00 267 | 1 UnidriveU.asm 249 | Data | 11 | | 1 | 00/80CF : 10 | LByte_Addr dfb $10 ; Like ORG 268 | 1 UnidriveU.asm 250 | Data | 11 | | 1 | 00/80D0 : 0A | HByte_Addr dfb $0A 269 | 1 UnidriveU.asm 251 | Comment | 11 | | 0 | 00/80D1 | * 270 | 1 UnidriveU.asm 252 | Comment | 11 | | 0 | 00/80D1 | *** Download *** 271 | 1 UnidriveU.asm 253 | Empty | 11 | | 0 | 00/80D1 | ozunid_19 272 | 1 UnidriveU.asm 253 | Equivalence | 11 | | 0 | 00/80D1 | CNTL_LIST4 equ ozunid_19 273 | 1 UnidriveU.asm 254 | Data | 11 | | 1 | 00/80D1 : 1A | LenghtL_byte dfb $1A ;<----- Lenght of Unidisk program Lo Byte 274 | 1 UnidriveU.asm 255 | Data | 11 | | 1 | 00/80D2 : 00 | LenghtH_byte dfb $00 ;<----- Lenght of Unidisk program Hi Byte 275 | 1 UnidriveU.asm 256 | Comment | 11 | | 0 | 00/80D3 | * 276 | 1 UnidriveU.asm 257 | Comment | 11 | | 0 | 00/80D3 | *** Start UNIDISK Program *** 277 | 1 UnidriveU.asm 258 | Comment | 11 | | 0 | 00/80D3 | ** Two byte adc ** 278 | 1 UnidriveU.asm 259 | Directive | 11 | | 0 | 00/80D3 | org $0A10 279 | 1 UnidriveU.asm 260 | Equivalence | 11 | | 0 | 00/0A10 | RSLTU equ $C0 280 | 1 UnidriveU.asm 261 | Empty | 11 | | 0 | 00/0A10 | 281 | 1 UnidriveU.asm 262 | Code | 11 | | 1 | 00/0A10 : 18 | clc 282 | 1 UnidriveU.asm 263 | Empty | 11 | | 0 | 00/0A11 | 283 | 1 UnidriveU.asm 264 | Code | 11 | | 3 | 00/0A11 : AD 26 0A | lda N1U ; Lo Byte 284 | 1 UnidriveU.asm 265 | Code | 11 | | 3 | 00/0A14 : 6D 28 0A | adc N2U 285 | 1 UnidriveU.asm 266 | Code | 11 | | 2 | 00/0A17 : 85 C0 | sta {$C0} 286 | 1 UnidriveU.asm 267 | Empty | 11 | | 0 | 00/0A19 | 287 | 1 UnidriveU.asm 268 | Code | 11 | | 3 | 00/0A19 : AD 27 0A | lda N1U+1 ; Hi Byte 288 | 1 UnidriveU.asm 269 | Code | 11 | | 3 | 00/0A1C : 6D 29 0A | adc N2U+1 289 | 1 UnidriveU.asm 270 | Code | 11 | | 2 | 00/0A1F : 85 C1 | sta {$C0}+1 290 | 1 UnidriveU.asm 271 | Comment | 11 | | 0 | 00/0A21 | ** Output Data ** 291 | 1 UnidriveU.asm 272 | Code | 11 | | 2 | 00/0A21 : A6 C0 | ldx {$C0} 292 | 1 UnidriveU.asm 273 | Code | 11 | | 2 | 00/0A23 : A4 C1 | ldy {$C0}+1 293 | 1 UnidriveU.asm 274 | Empty | 11 | | 0 | 00/0A25 | 294 | 1 UnidriveU.asm 275 | Code | 11 | | 1 | 00/0A25 : 60 | rts 295 | 1 UnidriveU.asm 276 | Comment | 11 | | 0 | 00/0A26 | ** Input Dynamic Data append in the end of Unidisk routine ** 296 | 1 UnidriveU.asm 277 | Data | 11 | | 1 | 00/0A26 : 00 | N1U dfb $00 297 | 1 UnidriveU.asm 278 | Data | 11 | | 1 | 00/0A27 : 00 | dfb $00 298 | 1 UnidriveU.asm 279 | Data | 11 | | 1 | 00/0A28 : 00 | N2U dfb $00 299 | 1 UnidriveU.asm 280 | Data | 11 | | 1 | 00/0A29 : 00 | dfb $00 ------+-------------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------