------+--------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code ------+--------------------+-------------+----+---------+------+-----------------------+------------------------------------------------------------------- 1 | 1 gsport.s 1 | Comment | 11 | | 0 | 00/8000 | * XC 2 | 1 gsport.s 2 | Comment | 11 | | 0 | 00/8000 | * TR 3 | 1 gsport.s 3 | Comment | 11 | | 0 | 00/8000 | * TR ADR 4 | 1 gsport.s 4 | Comment | 11 | | 0 | 00/8000 | * 5 | 1 gsport.s 5 | Empty | 11 | | 0 | 00/8000 | 6 | 1 gsport.s 6 | Directive | 11 | | 0 | 00/8000 | mx %11 7 | 1 gsport.s 7 | Directive | 11 | | 0 | 00/8000 | org $2000 8 | 1 gsport.s 8 | Directive | 11 | | 0 | 00/2000 | lst off 9 | 1 gsport.s 9 | Empty | 11 | | 0 | 00/2000 | 10 | 1 gsport.s 10 | Equivalence | 11 | | 0 | 00/2000 | COUT = $fded 11 | 1 gsport.s 11 | Empty | 11 | | 0 | 00/2000 | 12 | 1 gsport.s 12 | Comment | 11 | | 0 | 00/2000 | * GS Port Driver Bios 13 | 1 gsport.s 13 | Comment | 11 | | 0 | 00/2000 | * written by Andy Nicholas on July 26, 1987 14 | 1 gsport.s 14 | Comment | 11 | | 0 | 00/2000 | * 15 | 1 gsport.s 15 | Comment | 11 | | 0 | 00/2000 | * History: 16 | 1 gsport.s 16 | Comment | 11 | | 0 | 00/2000 | * 17 | 1 gsport.s 17 | Comment | 11 | | 0 | 00/2000 | * 11/07/89 AMW 18 | 1 gsport.s 18 | Comment | 11 | | 0 | 00/2000 | * 1. History section added 19 | 1 gsport.s 19 | Comment | 11 | | 0 | 00/2000 | * 2. Checked and or modified for LLUCE 20 | 1 gsport.s 20 | Comment | 11 | | 0 | 00/2000 | * 3. Section titles added 21 | 1 gsport.s 21 | Comment | 11 | | 0 | 00/2000 | * 22 | 1 gsport.s 22 | Comment | 11 | | 0 | 00/2000 | * 11/10/89 AMW 23 | 1 gsport.s 23 | Comment | 11 | | 0 | 00/2000 | * Added interrupt buffers 24 | 1 gsport.s 24 | Comment | 11 | | 0 | 00/2000 | *-------------------------- 25 | 1 gsport.s 25 | Comment | 11 | | 0 | 00/2000 | * rel 26 | 1 gsport.s 26 | Comment | 11 | | 0 | 00/2000 | *SLOT KBD 'Slot to assemble for (1/2)' 27 | 1 gsport.s 27 | Equivalence | 11 | | 0 | 00/2000 | SLOT = 2 28 | 1 gsport.s 28 | Equivalence | 11 | | 0 | 00/2000 | N0 = {2}*16 29 | 1 gsport.s 29 | Equivalence | 11 | | 0 | 00/2000 | CN = {2}!$C0 30 | 1 gsport.s 30 | Equivalence | 11 | | 0 | 00/2000 | SLTADR = {2}!$C0*256 31 | 1 gsport.s 31 | Equivalence | 11 | | 0 | 00/2000 | FLAG = {2}-1 32 | 1 gsport.s 32 | Empty | 11 | | 0 | 00/2000 | 33 | 1 gsport.s 33 | Equivalence | 11 | | 0 | 00/2000 | CR = $0d 34 | 1 gsport.s 34 | Equivalence | 11 | | 0 | 00/2000 | LF = $0a 35 | 1 gsport.s 35 | Empty | 11 | | 0 | 00/2000 | 36 | 1 gsport.s 36 | Code | 11 | | 3 | 00/2000 : 20 60 20 | jsr INIT 37 | 1 gsport.s 37 | Code | 11 | | 3 | 00/2003 : 20 C0 20 | jsr SETSPEED 38 | 1 gsport.s 38 | Code | 11 | | 2 | 00/2006 : A2 20 | ldx #>strSA 39 | 1 gsport.s 39 | Code | 11 | | 2 | 00/2008 : A0 45 | ldy #strPL 44 | 1 gsport.s 44 | Code | 11 | | 2 | 00/2012 : A0 48 | ldy #B4800 176 | 1 gsport.s 176 | Empty | 11 | | 0 | 00/20C4 | 177 | 1 gsport.s 177 | Code | 11 | | 3 | 00/20C4 : 8E D4 20 | _SETBAUD STX _BAUDRD+1 178 | 1 gsport.s 178 | Code | 11 | | 3 | 00/20C7 : 8D D5 20 | STA _BAUDRD+2 179 | 1 gsport.s 179 | Empty | 11 | | 0 | 00/20CA | 180 | 1 gsport.s 180 | Code | 11 | | 2 | 00/20CA : A2 C2 | LDX #{{2}!$C0} 181 | 1 gsport.s 181 | Code | 11 | | 2 | 00/20CC : A0 20 | LDY #{{2}*16} 182 | 1 gsport.s 182 | Code | 11 | | 3 | 00/20CE : 20 51 20 | JSR DOINIT 183 | 1 gsport.s 183 | Empty | 11 | | 0 | 00/20D1 | 184 | 1 gsport.s 184 | Code | 11 | | 2 | 00/20D1 : A2 00 | LDX #0 185 | 1 gsport.s 185 | Code | 11 | | 2 | 00/20D3 : B5 FF | _BAUDRD LDA -1,X 186 | 1 gsport.s 186 | Code | 11 | | 2 | 00/20D5 : F0 06 | BEQ _FINISH 187 | 1 gsport.s 187 | Code | 11 | | 3 | 00/20D7 : 20 9B 20 | JSR OUT 188 | 1 gsport.s 188 | Code | 11 | | 1 | 00/20DA : E8 | INX 189 | 1 gsport.s 189 | Code | 11 | | 2 | 00/20DB : 80 F6 | BRA _BAUDRD 190 | 1 gsport.s 190 | Empty | 11 | | 0 | 00/20DD | 191 | 1 gsport.s 191 | Code | 11 | | 2 | 00/20DD : A2 00 | _FINISH LDX #0 192 | 1 gsport.s 192 | Code | 11 | | 3 | 00/20DF : BD F4 20 | _LOOP LDA PORTINIT,X 193 | 1 gsport.s 193 | Code | 11 | | 2 | 00/20E2 : F0 06 | BEQ _DONE 194 | 1 gsport.s 194 | Code | 11 | | 3 | 00/20E4 : 20 9B 20 | JSR OUT 195 | 1 gsport.s 195 | Code | 11 | | 1 | 00/20E7 : E8 | INX 196 | 1 gsport.s 196 | Code | 11 | | 2 | 00/20E8 : 80 F5 | BRA _LOOP 197 | 1 gsport.s 197 | Empty | 11 | | 0 | 00/20EA | 198 | 1 gsport.s 198 | Code | 11 | | 2 | 00/20EA : A9 1A | _DONE LDA #OUT_BUF 200 | 1 gsport.s 200 | Code | 11 | | 2 | 00/20EE : A0 00 | LDY #0 201 | 1 gsport.s 201 | Code | 11 | | 3 | 00/20F0 : 20 5D 20 | JSR DOEXT 202 | 1 gsport.s 202 | Empty | 11 | | 0 | 00/20F3 | 203 | 1 gsport.s 203 | Code | 11 | | 1 | 00/20F3 : 60 | RTS 204 | 1 gsport.s 204 | Empty | 11 | | 0 | 00/20F4 | 205 | 1 gsport.s 205 | Data | 11 | | 1 | 00/20F4 : 01 | PORTINIT DB 1 206 | 1 gsport.s 206 | Data | 11 | | 2 | 00/20F5 : 30 44 | ASC '0D' ;8 bits 207 | 1 gsport.s 207 | Data | 11 | | 1 | 00/20F7 : 01 | DB 1 208 | 1 gsport.s 208 | Data | 11 | | 2 | 00/20F8 : 30 50 | ASC '0P' ;no parity 209 | 1 gsport.s 209 | Comment | 11 | | 0 | 00/20FA | * db 1 210 | 1 gsport.s 210 | Comment | 11 | | 0 | 00/20FA | * asc '0N' 211 | 1 gsport.s 211 | Data | 11 | | 1 | 00/20FA : 01 | db 1 212 | 1 gsport.s 212 | Data | 11 | | 2 | 00/20FB : 4C 44 | asc 'LD' 213 | 1 gsport.s 213 | Data | 11 | | 1 | 00/20FD : 01 | db 1 214 | 1 gsport.s 214 | Data | 11 | | 2 | 00/20FE : 4D 45 | asc 'ME' 215 | 1 gsport.s 215 | Data | 11 | | 1 | 00/2100 : 01 | DB 1 216 | 1 gsport.s 216 | Data | 11 | | 2 | 00/2101 : 41 44 | ASC 'AD' ;auto-tabbing 217 | 1 gsport.s 217 | Data | 11 | | 1 | 00/2103 : 01 | DB 1 218 | 1 gsport.s 218 | Data | 11 | | 2 | 00/2104 : 58 44 | ASC 'XD' ;no xoff recognition 219 | 1 gsport.s 219 | Data | 11 | | 1 | 00/2106 : 01 | DB 1 220 | 1 gsport.s 220 | Data | 11 | | 2 | 00/2107 : 46 44 | ASC 'FD' ;no find keyboard 221 | 1 gsport.s 221 | Data | 11 | | 1 | 00/2109 : 01 | DB 1 222 | 1 gsport.s 222 | Data | 11 | | 2 | 00/210A : 43 44 | ASC 'CD' ;no column overflow 223 | 1 gsport.s 223 | Data | 11 | | 1 | 00/210C : 01 | DB 1 224 | 1 gsport.s 224 | Data | 11 | | 2 | 00/210D : 45 44 | ASC 'ED' ;echo disabled 225 | 1 gsport.s 225 | Comment | 11 | | 0 | 00/210F | * DB 1 226 | 1 gsport.s 226 | Comment | 11 | | 0 | 00/210F | * ASC 'MD' ;no lf masking 227 | 1 gsport.s 227 | Data | 11 | | 1 | 00/210F : 01 | DB 1 228 | 1 gsport.s 228 | Data | 11 | | 2 | 00/2110 : 42 45 | ASC 'BE' ;buffering enabled 229 | 1 gsport.s 229 | Data | 11 | | 1 | 00/2112 : 01 | DB 1 230 | 1 gsport.s 230 | Data | 11 | | 1 | 00/2113 : 5A | ASC 'Z' 231 | 1 gsport.s 231 | Data | 11 | | 1 | 00/2114 : 00 | DB 0 ;no more control characters 232 | 1 gsport.s 232 | Empty | 11 | | 0 | 00/2115 | 233 | 1 gsport.s 233 | Data | 11 | | 1 | 00/2115 : 01 | B4800 DB 1 234 | 1 gsport.s 234 | Data | 11 | | 4 | 00/2116 : 31 32 42 00 | ASC '12B'00 ;accept 4800 Baud 235 | 1 gsport.s 235 | Empty | 11 | | 0 | 00/211A | 236 | 1 gsport.s 236 | Comment | 11 | | 0 | 00/211A | *------------------------------- 237 | 1 gsport.s 237 | Empty | 11 | | 0 | 00/211A | 238 | 1 gsport.s 238 | Data | 11 | | 1 | 00/211A : 04 | OUT_BUF DB 4 ;Parameters to set the 239 | 1 gsport.s 239 | Data | 11 | | 1 | 00/211B : 13 | DB $13 ;Output buffer 240 | 1 gsport.s 240 | Data | 11 | | 2 | 00/211C : 00 00 | DA 0 241 | 1 gsport.s 241 | Data | 11 | | 4 | 00/211E : 34 21 00 00 | ADRL BUFFER ;Buffer it where 242 | 1 gsport.s 242 | Data | 11 | | 2 | 00/2122 : 02 00 | DA 2 ;Buffer 2 bytes 243 | 1 gsport.s 243 | Empty | 11 | | 0 | 00/2124 | 244 | 1 gsport.s 244 | Comment | 11 | | 0 | 00/2124 | *------------------------------- 245 | 1 gsport.s 245 | Empty | 11 | | 0 | 00/2124 | 246 | 1 gsport.s 246 | Data | 11 | | 1 | 00/2124 : 03 | CARRLIST DB 3 ;Parameter list for 247 | 1 gsport.s 247 | Data | 11 | | 1 | 00/2125 : 06 | DB 6 ;detecting carrier drop 248 | 1 gsport.s 248 | Data | 11 | | 2 | 00/2126 : 00 00 | DA 0 249 | 1 gsport.s 249 | Data | 11 | | 2 | 00/2128 : 00 00 | CARRBITS DA 0 ;Carrier status here 250 | 1 gsport.s 250 | Empty | 11 | | 0 | 00/212A | 251 | 1 gsport.s 251 | Comment | 11 | | 0 | 00/212A | *------------------------------- 252 | 1 gsport.s 252 | Empty | 11 | | 0 | 00/212A | 253 | 1 gsport.s 253 | Data | 11 | | 1 | 00/212A : 03 | DTRLST DB 3 ;Parameter list for 254 | 1 gsport.s 254 | Data | 11 | | 1 | 00/212B : 0B | DB $B ;setting DTR 255 | 1 gsport.s 255 | Data | 11 | | 2 | 00/212C : 00 00 | DA 0 256 | 1 gsport.s 256 | Data | 11 | | 2 | 00/212E : 00 00 | DTRSTATE DA 0 ;Bit 7 affects DTR 257 | 1 gsport.s 257 | Empty | 11 | | 0 | 00/2130 | 258 | 1 gsport.s 258 | Comment | 11 | | 0 | 00/2130 | *------------------------------- 259 | 1 gsport.s 259 | Empty | 11 | | 0 | 00/2130 | 260 | 1 gsport.s 260 | Data | 11 | | 1 | 00/2130 : 02 | FLUSHLST DB 2 ;parameter list for flushing input queue 261 | 1 gsport.s 261 | Data | 11 | | 1 | 00/2131 : 14 | DB $14 262 | 1 gsport.s 262 | Data | 11 | | 2 | 00/2132 : 00 00 | DA 0 263 | 1 gsport.s 263 | Empty | 11 | | 0 | 00/2134 | 264 | 1 gsport.s 264 | Comment | 11 | | 0 | 00/2134 | *------------------------------- 265 | 1 gsport.s 265 | Empty | 11 | | 0 | 00/2134 | 266 | 1 gsport.s 266 | Data | 11 | | 256 | 00/2134 : 00 00 00 00 | BUFFER ds 256 | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | | | | | | | 00 00 00 00 | 267 | 1 gsport.s 267 | Empty | 11 | | 0 | 00/2234 | ------+--------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------