URL
https://opencores.org/ocsvn/System09/System09/trunk
Subversion Repositories System09
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 22 to Rev 23
- ↔ Reverse comparison
Rev 22 → Rev 23
/branches/before_delete/src/flex9/flex9ads.lst
0,0 → 1,3040
Assembler release DWC_2.0 version 2.11 |
May 6, 2004 (c) Motorola (free ware) |
0001 NAM FLEX9 FOR THE ADS6809 |
0000 INCLUDE "f9-moneq.txt" |
|
|
f9-moneq.txt page 2 |
0002 * |
0003 *************************************************** |
0004 * MEMORY MAP EQUATES * |
0005 *************************************************** |
0006 E000 MONIO EQU $E000 I/O SPACE |
0007 DFC0 MONRAM EQU $DFC0 STACK SPACE |
0008 F800 MONROM EQU $F800 START OF ROM |
0009 F000 MONEXT EQU $F000 EXTENDED COMMANDS |
0010 *MONEXT EQU $1000 EXTENDED COMMANDS |
0011 * |
0012 *************************************************** |
0013 * SYS09BUG VARIABLE SPACE |
0014 *************************************************** |
0015 * |
0016 DFC0 STACK EQU MONRAM+0 TOP OF INTERNAL STACK / USER VECTOR |
0017 DFC2 SWI3 EQU MONRAM+2 SOFTWARE INTERRUPT VECTOR #3 |
0018 DFC4 SWI2 EQU MONRAM+4 SOFTWARE INTERRUPT VECTOR #2 |
0019 DFC6 FIRQ EQU MONRAM+6 FAST INTERRUPT VECTOR |
0020 DFC8 IRQ EQU MONRAM+8 INTERRUPT VECTOR |
0021 DFCA SWI EQU MONRAM+10 SOFTWARE INTERRUPT VECTOR |
0022 DFCC SVCVO EQU MONRAM+12 SUPERVISOR CALL VECTOR ORGIN |
0023 DFCE SVCVL EQU MONRAM+14 SUPERVISOR CALL VECTOR LIMIT |
0024 DFD0 LRARAM EQU MONRAM+16 LRA ADDRESSES |
0025 DFE0 CPORT EQU MONRAM+32 RE-VECTORABLE CONTROL PORT |
0026 DFE2 ECHO EQU MONRAM+34 ECHO FLAG |
0027 DFE3 BPTBL EQU MONRAM+35 BREAKPOINT TABLE BASE ADDR |
0028 ************************************************** |
0029 * VDU BYTES * |
0030 ************************************************** |
0031 * |
0032 **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ****** |
0033 DFFB COLADX EQU MONRAM+59 CURSOR COLUMN |
0034 DFFC ROWADX EQU MONRAM+60 CURSOR ROW |
0035 ************************************************** |
0036 * |
0037 DFFD NEWROW EQU MONRAM+61 NEW ROW TEMP FOR ESCAPE |
0038 DFFE ESCFLG EQU MONRAM+62 ESCAPE SEQUENCE ACTIVE |
0039 * |
0040 *************************************************** |
0041 * SERIAL PORT * |
0042 *************************************************** |
0043 * |
0044 E000 ACIAS EQU MONIO+$00 CONTROL PORT |
0045 * |
0046 *************************************************** |
0047 * PS/2 KEYBOARD PORT * |
0048 *************************************************** |
0049 * |
0050 E020 PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT |
0051 * |
0052 *************************************************** |
0053 * ADM3A DISPLAY DRIVER VARIABLES * |
0054 *************************************************** |
0055 * |
0056 ** VIDEO DISPLAY DEFINITIONS |
0057 * |
0058 E030 VDU EQU MONIO+$30 |
0059 0000 VDUCHR EQU 0 CHARACTER REGISTER |
0060 0001 VDUATT EQU 1 ATTRIBUTE REGISTER |
0061 0002 VDUCOL EQU 2 CURSOR COLUMN |
0062 0003 VDUROW EQU 3 CURSOR ROW |
0063 0004 VDUOFF EQU 4 ROW OFFSET |
0064 * |
0065 0050 LINLEN EQU 80 LENGTH OF A LINE |
0066 0019 NUMLIN EQU 25 NUMBER OF LINES |
0067 * |
0068 *************************************************** |
0069 * Serial PROM register |
0070 *************************************************** |
0071 * |
0072 ** CONFIGURATION PROM DEFINITIONS |
0073 * |
0074 E0C0 PROMREG EQU MONIO+$C0 |
0075 0001 PCLKHI EQU $01 Toggle PROM Clock High |
0076 0000 PCLKLO EQU $00 Toggle PROM Clock Low |
0077 0002 PRSTHI EQU $02 Toggle PROM Reset High |
0078 0000 PRSTLO EQU $00 Toggle PROM Reset Low |
0079 AA55 SYNCHI EQU $AA55 Synch Pattern High Word |
0080 FF00 SYNCLO EQU $FF00 Synch Pattern Low Word |
0081 * |
0082 * |
0083 *************************************************** |
0084 * Dynamic Address Translation Registers |
0085 *************************************************** |
0086 * |
0087 ** DAT Table |
0088 * |
0089 FFF0 IC11 EQU $FFF0 DAT RAM CHIP |
0090 * |
0091 *************************************************** |
0092 * START OF ROM * |
0093 *************************************************** |
0094 * |
0095 F800 MONITV EQU MONROM+0 FDB MONITOR |
0096 F802 NXTCMV EQU MONROM+2 FDB NEXTCMD |
0097 F804 INCHV EQU MONROM+4 FDB INCH |
0098 F806 INCHEV EQU MONROM+6 FDB INCHE |
0099 F808 INCHKV EQU MONROM+8 FDB INCHEK |
0100 F80A OUTCHV EQU MONROM+10 FDB OUTCH |
0101 F80C PDATAV EQU MONROM+12 FDB PDATA |
0102 F80E PCRLFV EQU MONROM+14 FDB PCRLF |
0103 F810 PSTRGV EQU MONROM+16 FDB PSTRNG |
0104 F812 LRAV EQU MONROM+18 FDB LRA |
0002 END |
0000 INCLUDE "f9-equ.txt" |
0001 0000 Z0000 EQU $0000 |
0002 0005 Z0005 EQU $0005 |
0003 0044 Z0044 EQU $0044 |
0004 00A0 Z00A0 EQU $00A0 |
0005 C07F ZC07F EQU $C07F |
0006 C080 LINBUF EQU $C080 |
0007 C0FF ZC0FF EQU $C0FF |
0003 END |
0000 INCLUDE "f9-spool.txt" |
0001 * |
0002 ** PRINTER SPOOLING |
0003 * |
0004 C700 ORG $C700 |
0005 C700 7E C7 21 PRSPL1 JMP ZC721 |
0006 C703 7E C7 03 PRSPL2 JMP * |
0007 C706 7E C7 47 PRSPL3 JMP ZC747 |
0008 C709 7E C7 85 PRSPL4 JMP ZC785 |
0009 C70C 7E C7 95 PRSPL5 JMP ZC795 |
0010 C70F 7E C7 1F PRSPL6 JMP ZC71F |
0011 * |
0012 ** SPOOLER SCRATCH AREA |
0013 * |
0014 C712 0C 00 00 00 00 C8 ZC712 FCB $0C,$00,$00,$00,$00,$C8,$10 |
10 |
0015 C719 C8 10 ZC719 FCB $C8,$10 |
0016 C71B 00 QCNT FCB $00 |
0017 C71C 00 ZC71C FCB $00 |
0018 C71D 00 ZC71D FCB $00 |
0019 C71E 00 ZC71E FCB $00 |
0020 * |
0021 C71F 3B ZC71F RTI |
0022 C720 12 NOP |
0023 * |
0024 C721 1A 10 ZC721 ORCC #$10 |
0025 C723 BE CC 31 LDX ZCC31 |
0026 C726 10 EF 02 STS 2,X |
0027 C729 7D CC 34 TST ZCC34 |
0028 C72C 26 11 BNE ZC73F |
0029 C72E 8E CC FC LDX #ZCCFC |
0030 C731 7C CC 34 INC ZCC34 |
0031 C734 6D 84 TST ,X |
0032 C736 27 07 BEQ ZC73F |
0033 C738 BF CC 31 ZC738 STX ZCC31 |
0034 C73B 10 EE 02 LDS $02,X |
0035 C73E 3B RTI |
0036 * |
0037 C73F 8E CC F8 ZC73F LDX #ZCCF8 |
0038 C742 7F CC 34 CLR ZCC34 |
0039 C745 20 F1 BRA ZC738 |
0040 * |
0041 C747 1A 10 ZC747 ORCC #$10 |
0042 C749 7D C7 1B TST QCNT |
0043 C74C 27 29 BEQ ZC777 |
0044 C74E BE C7 19 LDX ZC719 |
0045 C751 A6 84 LDA ,X |
0046 C753 34 02 PSHS A |
0047 C755 EC 01 LDD $01,X |
0048 C757 8E CA C0 LDX #ZCAC0 |
0049 C75A ED 88 40 STD $40,X |
0050 C75D 35 02 PULS A |
0051 C75F A7 03 STA $03,X |
0052 C761 6F 84 CLR ,X |
0053 C763 86 01 LDA #$01 |
0054 C765 A7 02 STA $02,X |
0055 C767 6F 88 22 CLR $22,X |
0056 C76A 6F 88 3B CLR $3B,X |
0057 C76D 7D C7 1E ZC76D TST ZC71E |
0058 C770 27 29 BEQ ZC79B |
0059 C772 11 3F SWI3 |
0060 C774 12 NOP |
0061 C775 20 F6 BRA ZC76D |
0062 * |
0063 C777 1C EF ZC777 ANDCC #$EF |
0064 C779 AD 9F D3 ED ZC779 JSR [TOFVEC] |
0065 C77D 7F CC FC CLR ZCCFC |
0066 C780 11 3F SWI3 |
0067 C782 12 NOP |
0068 C783 20 F4 BRA ZC779 |
0069 * |
0070 C785 1A 10 ZC785 ORCC #$10 |
0071 C787 7D CC 30 TST ZCC30 |
0072 C78A 27 05 BEQ ZC791 |
0073 C78C 11 3F SWI3 |
0074 C78E 12 NOP |
0075 C78F 20 F4 BRA ZC785 |
0076 * |
0077 C791 7C CC 30 ZC791 INC ZCC30 |
0078 C794 39 RTS |
0079 * |
0080 C795 7F CC 30 ZC795 CLR ZCC30 |
0081 C798 1C EF ANDCC #$EF |
0082 C79A 39 RTS |
0083 * |
0084 C79B 7D C7 1D ZC79B TST ZC71D |
0085 C79E 26 27 BNE ZC7C7 |
0086 C7A0 8E CA C0 LDX #ZCAC0 |
0087 C7A3 BD D4 06 JSR FMS |
0088 C7A6 26 1F BNE ZC7C7 |
0089 C7A8 7D C7 1C TST ZC71C |
0090 C7AB 27 0F BEQ ZC7BC |
0091 C7AD 7F C7 1C CLR ZC71C |
0092 C7B0 81 0A CMPA #$0A |
0093 C7B2 27 0F BEQ ZC7C3 |
0094 C7B4 34 02 PSHS A |
0095 C7B6 86 0A LDA #$0A |
0096 C7B8 8D 3C BSR ZC7F6 |
0097 C7BA 35 02 PULS A |
0098 C7BC 81 0D ZC7BC CMPA #$0D |
0099 C7BE 26 03 BNE ZC7C3 |
0100 C7C0 B7 C7 1C STA ZC71C |
0101 C7C3 8D 31 ZC7C3 BSR ZC7F6 |
0102 C7C5 20 D4 BRA ZC79B |
0103 * |
0104 C7C7 86 0D ZC7C7 LDA #$0D |
0105 C7C9 8D 2B BSR ZC7F6 |
0106 C7CB 86 0A LDA #$0A |
0107 C7CD 8D 27 BSR ZC7F6 |
0108 C7CF B6 C7 12 LDA ZC712 |
0109 C7D2 8D 22 BSR ZC7F6 |
0110 C7D4 7F C7 1D CLR ZC71D |
0111 C7D7 BE C7 19 LDX ZC719 |
0112 C7DA 6D 03 TST $03,X |
0113 C7DC 27 05 BEQ ZC7E3 |
0114 C7DE 6A 03 DEC $03,X |
0115 C7E0 7E C7 47 JMP ZC747 |
0116 * |
0117 C7E3 30 04 ZC7E3 LEAX $04,X |
0118 C7E5 8C C8 40 CMPX #FCB |
0119 C7E8 26 03 BNE ZC7ED |
0120 C7EA 8E C8 10 LDX #ZC810 |
0121 C7ED BF C7 19 ZC7ED STX ZC719 |
0122 C7F0 7A C7 1B DEC QCNT |
0123 C7F3 7E C7 47 JMP ZC747 |
0124 * |
0125 C7F6 BD CC D8 ZC7F6 JSR PCHK |
0126 C7F9 2B 05 BMI ZC800 |
0127 C7FB 11 3F SWI3 |
0128 C7FD 12 NOP |
0129 C7FE 20 F6 BRA ZC7F6 |
0130 * |
0131 C800 7E CC E4 ZC800 JMP POUT |
0132 C810 ZC810 EQU $C810 |
0133 C838 ZC838 EQU $C838 |
0004 END |
0000 INCLUDE "f9-sfcb.txt" |
0001 * |
0002 ** SYSTEM FILE CONTROL BLOCK |
0003 * |
0004 C840 ORG $C840 |
0005 C840 FF FCB FCB $FF |
0006 C841 00 FCB $00 |
0007 C842 00 FCB $00 |
0008 C843 00 FCB $00 |
0009 C844 53 54 41 52 54 55 ZC844 FCC "STARTUP" |
50 |
0010 C84B 00 FCB $00 |
0011 C84C 54 58 54 FCC "TXT" |
0012 C84F 00 FCB $00 |
0005 END |
0000 INCLUDE "f9-init.txt" |
0001 * |
0002 ** FLEX INITIATION |
0003 * |
0004 CA00 ORG $CA00 |
0005 CA00 20 06 ZCA00 BRA ZCA08 |
0006 CA02 BD CA AC ZCA02 JSR >ZCAAC |
0007 CA05 39 RTS |
0008 CA06 C0 A0 ZCA06 SUBB #$A0 |
0009 CA08 86 39 ZCA08 LDA #$39 |
0010 CA0A B7 D3 FD STA >ZD3FD |
0011 CA0D BE CC 2B LDX >MEMEND |
0012 CA10 30 89 00 A1 LEAX $00A1,X |
0013 CA14 BF CA 06 STX >ZCA06 |
0014 CA17 AD 9F D3 F1 JSR [TINVEC] |
0015 CA1B BE D3 FB LDX >INVEC |
0016 CA1E BF CD 0A STX >INCH+1 |
0017 CA21 BF CD 0D STX >INCH2+1 |
0018 CA24 BE D3 F9 LDX >OUTVEC |
0019 CA27 BF CD 10 STX >OUTCH+1 |
0020 CA2A BF CD 13 STX >OUTCH2+1 |
0021 CA2D BE D3 F7 LDX >STAVEC |
0022 CA30 BF CD 4F STX >ZCD4E+1 |
0023 CA33 8E 00 A0 LDX #Z00A0 |
0024 CA36 C6 B9 LDB #$B9 |
0025 CA38 A6 84 ZCA38 LDA ,X |
0026 CA3A E7 84 STB ,X |
0027 CA3C 12 NOP |
0028 CA3D E1 84 CMPB ,X |
0029 CA3F 26 0B BNE ZCA4C |
0030 CA41 A7 84 STA ,X |
0031 CA43 30 89 04 00 LEAX $0400,X |
0032 CA47 BC CA 06 CMPX >ZCA06 |
0033 CA4A 26 EC BNE ZCA38 |
0034 CA4C 30 89 FF 5F ZCA4C LEAX $FF5F,X |
0035 CA50 BF CC 2B STX >MEMEND |
0036 CA53 8E CD 03 LDX #WARMS |
0037 CA56 BF CC 16 STX >ESCVEC |
0038 CA59 8E CA DC LDX #TTLSTR |
0039 CA5C BD CE 81 JSR >PSTRG1 |
0040 CA5F BD CE B5 JSR >PCRLF1 |
0041 CA62 8D 9E BSR ZCA02 |
0042 CA64 BD CE B5 JSR >PCRLF1 |
0043 CA67 8E C8 40 LDX #FCB |
0044 CA6A 86 01 LDA #$01 |
0045 CA6C A7 84 STA ,X |
0046 CA6E BD D4 06 JSR >FMS |
0047 CA71 27 08 BEQ ZCA7B |
0048 CA73 A6 01 LDA $01,X |
0049 CA75 BD D2 00 JSR >ZD200 |
0050 CA78 7E CD 67 JMP >WARM1 |
0051 |
0052 CA7B 8E C0 80 ZCA7B LDX #LINBUF |
0053 CA7E BF CC 14 ZCA7E STX >LINPTR |
0054 CA81 8E C8 40 LDX #FCB |
0055 CA84 BD D4 06 JSR >FMS |
0056 CA87 27 05 BEQ ZCA8E |
0057 CA89 34 30 PSHS Y,X |
0058 CA8B 7E D2 D7 JMP >ZD2D7 |
0059 |
0060 CA8E BE CC 14 ZCA8E LDX >LINPTR |
0061 CA91 A7 80 STA ,X+ |
0062 CA93 81 0D CMPA #$0D |
0063 CA95 26 E7 BNE ZCA7E |
0064 CA97 8E C8 40 LDX #FCB |
0065 CA9A BD D1 F4 JSR >ZD1F4 |
0066 CA9D 8E C0 80 LDX #LINBUF |
0067 CAA0 BF CC 14 STX >LINPTR |
0068 CAA3 8E CD 67 LDX #WARM1 |
0069 CAA6 BF CC 43 STX >ZCC43 |
0070 CAA9 7E D3 2E JMP >ZD32E |
0071 |
0072 CAAC 8E CA EC ZCAAC LDX #DATSTR |
0073 CAAF BD CE 81 JSR >PSTRG1 |
0074 CAB2 BD CE 2B JSR >INBUF1 |
0075 CAB5 8D 14 BSR ZCACB |
0076 CAB7 25 F3 BCS ZCAAC |
0077 CAB9 B7 CC 0E STA >MONTH |
0078 CABC 8D 0D BSR ZCACB |
0079 CABE 25 EC BCS ZCAAC |
0080 CAC0 B7 CC 0F ZCAC0 STA >DAY |
0081 CAC3 8D 06 BSR ZCACB |
0082 CAC5 25 E5 BCS ZCAAC |
0083 CAC7 B7 CC 10 STA >YEAR |
0084 CACA 39 RTS |
0085 |
0086 CACB BD D1 75 ZCACB JSR >INDEC1 |
0087 CACE 25 0B BCS ZCADB |
0088 CAD0 B6 CC 1C LDA >LODOFF+1 |
0089 CAD3 5D TSTB |
0090 CAD4 27 03 BEQ ZCAD9 |
0091 CAD6 1C FE ANDCC #$FE |
0092 CAD8 39 RTS |
0093 |
0094 CAD9 1A 01 ZCAD9 ORCC #$01 |
0095 CADB 39 ZCADB RTS |
0096 |
0097 CADC 36 38 30 39 20 46 TTLSTR FCC "6809 FLEX V3.01" |
4C 45 58 20 56 33 |
2E 30 31 |
0098 CAEB 04 FCB $04 |
0099 CAEC 44 41 54 45 20 28 DATSTR FCC "DATE (MM,DD,YY)? " |
4D 4D 2C 44 44 2C |
59 59 29 3F 20 |
0100 CAFD 04 FCB $04 |
0006 END |
0000 INCLUDE "f9-var.txt" |
0001 * |
0002 ** TTYSET PARAMETERS |
0003 * |
0004 CC00 ORG $CC00 |
0005 CC00 08 BSPCHR FCB $08 |
0006 CC01 18 DELCHR FCB $18 |
0007 CC02 3A EOLCHR FCB $3A |
0008 CC03 19 DEPCNT FCB 25 |
0009 CC04 00 WIDCNT FCB $00 |
0010 CC05 04 NULCNT FCB $04 |
0011 CC06 40 TABCHR FCB '@ |
0012 CC07 00 BSECHR FCB $00 |
0013 CC08 00 EJTCNT FCB $00 |
0014 CC09 FF PAUSE FCB $FF |
0015 CC0A 1B ESCCHR FCB $1B |
0016 CC0B 00 SYSDRV FCB 0 |
0017 CC0C 01 WRKDRV FCB 1 |
0018 CC0D 00 ZCC0D FCB $00 |
0019 CC0E DATERG EQU * |
0020 CC0E 00 MONTH FCB $00 |
0021 CC0F 00 DAY FCB $00 |
0022 CC10 00 YEAR FCB $00 |
0023 CC11 00 LASTRM FCB $00 |
0024 CC12 00 00 UCTVEC FDB $0000 |
0025 CC14 00 00 LINPTR FDB $0000 |
0026 CC16 00 00 ESCVEC FDB $0000 |
0027 CC18 00 CURCHR FCB $00 |
0028 CC19 00 PRVCHR FCB $00 |
0029 CC1A 00 CURLIN FCB $00 |
0030 CC1B 00 00 LODOFF FDB $0000 |
0031 CC1D 00 TRNFLG FCB $00 |
0032 CC1E 00 00 TRNVEC FDB $0000 |
0033 CC20 00 ERRTYP FCB $00 |
0034 CC21 00 SIOFLG FCB $00 |
0035 CC22 00 OUTSWT FCB $00 |
0036 CC23 00 INPSWT FCB $00 |
0037 CC24 00 00 FOPADR FDB $0000 |
0038 CC26 00 00 FIPADR FDB $0000 |
0039 CC28 00 CMDFLG FCB $00 |
0040 CC29 00 CURCOL FCB $00 |
0041 CC2A 00 FCB $00 |
0042 CC2B BF FF MEMEND FDB $BFFF |
0043 CC2D 00 00 ERRVEC FDB $0000 |
0044 CC2F 01 FIEFLG FCB $01 |
0045 CC30 00 ZCC30 FCB $00 |
0046 CC31 00 00 00 ZCC31 FCB $00,$00,$00 |
0047 CC34 00 00 00 00 00 00 ZCC34 FCB $00,$00,$00,$00,$00,$00,$00 |
00 |
0048 CC3D ZCC3D EQU $CC3D |
0049 CC3F ZCC3F EQU $CC3F |
0050 CC43 ZCC43 EQU $CC43 |
0051 CC45 ZCC45 EQU $CC45 |
0052 CC47 ZCC47 EQU $CC47 |
0053 CC49 ORG $CC49 |
0054 CC49 60 MAPUP FCB $60 MAP LOWER TO UPPERCASE |
0055 CC4A ZCC4A EQU $CC4A |
0056 CC4B ZCC4B EQU $CC4B |
0057 CC4C ZCC4C EQU $CC4C |
0058 CC4D ZCC4D EQU $CC4D |
0007 END |
0000 INCLUDE "f9-data.txt" |
0001 * |
0002 ** STRINGS AND MESSAGES |
0003 * |
0004 CC4E ORG $CC4E |
0005 CC4E 2B 2B 2B PMTSTR FCC "+++" |
0006 CC51 04 FCB $04 |
0007 CC52 3F 3F 3F QRYSTR FCC "???" |
0008 CC55 04 FCB $04 |
0009 CC56 57 48 41 54 3F WOTMSG FCC "WHAT?" |
0010 CC5B 04 FCB $04 |
0011 CC5C 43 41 4E 27 54 20 NTRMSG FCC "CAN'T TRANSFER" |
54 52 41 4E 53 46 |
45 52 |
0012 CC6A 04 FCB $04 |
0013 CC6B 4E 4F 54 20 46 4F NFDMSG FCC "NOT FOUND" |
55 4E 44 |
0014 CC74 04 FCB $04 |
0015 CC75 44 49 53 4B 20 45 DERMSG FCC "DISK ERROR #" |
52 52 4F 52 20 23 |
0016 CC81 04 FCB $04 |
0017 CC82 44 52 49 56 45 53 DNRMSG FCC "DRIVES NOT READY" |
20 4E 4F 54 20 52 |
45 41 44 59 |
0018 CC92 04 FCB $04 |
0019 * |
0020 ** MEMORY RESIDENT COMMANDS |
0021 * |
0022 CC93 47 45 54 CMDTBL FCC "GET" |
0023 CC96 00 FCB $00 |
0024 CC97 D2 0F FDB GETCMD |
0025 CC99 4D 4F 4E FCC "MON" |
0026 CC9C 00 FCB $00 |
0027 CC9D D3 4B FDB ZD34B |
0028 CC9F 00 FCB $00 |
0029 * |
0030 ** DECIMAL CONVERSION TABLE |
0031 * |
0032 CCA0 27 10 DECTBL FDB 10000 |
0033 CCA2 03 E8 FDB 1000 |
0034 CCA4 00 64 FDB 100 |
0035 CCA6 00 0A FDB 10 |
0008 END |
0000 INCLUDE "f9-cli.txt" |
0001 ********************************************* |
0002 * |
0003 * FLEX COMMAND LINE INTERPRETER & SUBROUTINES |
0004 * |
0005 ********************************************* |
0006 CD00 ORG $CD00 |
0007 * |
0008 ** FLEX JUMPS |
0009 * |
0010 CD00 7E CD 57 COLDS JMP >COLD1 |
0011 CD03 7E CD 67 WARMS JMP >WARM1 |
0012 CD06 7E CD B1 RENTER JMP >RENT1 |
0013 CD09 7E CD 09 INCH JMP >INCH |
0014 CD0C 7E CD 0C INCH2 JMP >INCH2 |
0015 CD0F 7E CD 0F OUTCH JMP >OUTCH |
0016 CD12 7E CD 12 OUTCH2 JMP >OUTCH2 |
0017 CD15 7E CE FB GETCHR JMP >GETCH1 |
0018 CD18 7E CF 41 PUTCHR JMP >PUTCH1 |
0019 CD1B 7E CE 2B INBUFF JMP >INBUF1 |
0020 CD1E 7E CE 81 PSTRNG JMP >PSTRG1 |
0021 CD21 7E CF ED CLASS JMP >CLASS1 |
0022 CD24 7E CE B5 PCRLF JMP >PCRLF1 |
0023 CD27 7E D0 0E NXTCH JMP >NXTCH1 |
0024 CD2A 7E CD EA RSTRIO JMP >RSTIO1 |
0025 CD2D 7E D0 36 GETFIL JMP >GETFL1 |
0026 CD30 7E D1 A2 LOAD JMP >LOAD1 |
0027 CD33 7E D0 EB SETEXT JMP >SETEX1 |
0028 CD36 7E D3 49 ADDBX JMP >ADDBX1 |
0029 CD39 7E CF 86 OUTDEC JMP >OUTDC1 |
0030 CD3C 7E CF D4 OUTHEX JMP >OUTHX1 |
0031 CD3F 7E D2 7F RPTERR JMP >RPTER1 |
0032 CD42 7E D1 2F GETHEX JMP >GETHX1 |
0033 CD45 7E CF D0 OUTADR JMP >OUTAD1 |
0034 CD48 7E D1 75 INDEC JMP >INDEC1 |
0035 CD4B 7E D3 29 DOCMND JMP >DOCMD1 |
0036 CD4E 7E CD 4E ZCD4E JMP >ZCD4E |
0037 CD51 7E CE 05 JMP >ZCE05 |
0038 CD54 7E CE 05 JMP >ZCE05 |
0039 * |
0040 ** COLD START ENTRY |
0041 * |
0042 CD57 10 CE C0 7F COLD1 LDS #ZC07F |
0043 CD5B 7F CC 11 ZCD5B CLR >LASTRM |
0044 CD5E BD D4 00 JSR >ZD400 |
0045 CD61 7F CC 28 CLR >CMDFLG |
0046 CD64 BD D3 FD JSR >ZD3FD |
0047 * |
0048 ** WARM START ENTRY |
0049 * |
0050 CD67 10 CE C0 7F WARM1 LDS #ZC07F |
0051 CD6B BD DE 18 JSR >WARMDR |
0052 CD6E 8E CD 03 LDX #WARMS |
0053 CD71 BF CC 16 STX >ESCVEC |
0054 CD74 8E C7 00 LDX #PRSPL1 |
0055 CD77 AF 9F D3 E9 STX [SWIVVC] |
0056 CD7B BE D3 E7 LDX >IHNDVC |
0057 CD7E AF 9F D3 EB STX [IRQVVC] |
0058 CD82 8E CC F8 LDX #ZCCF8 |
0059 CD85 BF CC 31 STX >ZCC31 |
0060 CD88 7F CC 34 CLR >ZCC34 |
0061 CD8B 7F CC 4C CLR >ZCC4C |
0062 CD8E 8D 5A BSR RSTIO1 |
0063 CD90 B6 CC 11 LDA >LASTRM |
0064 CD93 B1 CC 02 CMPA >EOLCHR |
0065 CD96 26 05 BNE ZCD9D |
0066 CD98 7C CC 15 INC >LINPTR+1 |
0067 CD9B 20 14 BRA RENT1 |
0068 |
0069 CD9D 7D CC 28 ZCD9D TST >CMDFLG |
0070 CDA0 10 26 05 97 LBNE ZD33B |
0071 CDA4 BD D4 03 JSR >FMSCLS |
0072 CDA7 26 B2 BNE ZCD5B |
0073 CDA9 8E CC 4E LDX #PMTSTR |
0074 CDAC BD CE 81 JSR >PSTRG1 |
0075 CDAF 8D 7A BSR INBUF1 |
0076 * |
0077 ** MAIN CONTROL LOOP |
0078 * |
0079 CDB1 BD D0 D4 RENT1 JSR >ZD0D4 |
0080 CDB4 81 0D CMPA #$0D |
0081 CDB6 27 E5 BEQ ZCD9D |
0082 CDB8 8E C8 40 ZCDB8 LDX #FCB |
0083 CDBB 7C CC 0D INC >ZCC0D |
0084 CDBE BD D0 36 JSR >GETFL1 |
0085 CDC1 25 16 BCS ZCDD9 |
0086 CDC3 8E CC 93 LDX #CMDTBL |
0087 CDC6 8D 3E BSR ZCE06 |
0088 CDC8 27 09 BEQ ZCDD3 |
0089 CDCA BE CC 12 LDX >UCTVEC |
0090 CDCD 27 07 BEQ ZCDD6 |
0091 CDCF 8D 35 BSR ZCE06 |
0092 CDD1 26 03 BNE ZCDD6 |
0093 CDD3 6E 98 01 ZCDD3 JMP [$01,X] |
0094 |
0095 CDD6 BD D2 2E ZCDD6 JSR >ZD22E |
0096 CDD9 8E CC 56 ZCDD9 LDX #WOTMSG |
0097 CDDC 86 15 LDA #$15 |
0098 CDDE B7 CC 20 ZCDDE STA >ERRTYP |
0099 CDE1 BD CE 81 ZCDE1 JSR >PSTRG1 |
0100 CDE4 7F CC 11 ZCDE4 CLR >LASTRM |
0101 CDE7 7E CD 67 JMP >WARM1 |
0102 * |
0103 ** RESTORE IO VECTORS |
0104 * |
0105 CDEA BE CD 13 RSTIO1 LDX >OUTCH2+1 |
0106 CDED BF CD 10 STX >OUTCH+1 |
0107 CDF0 BE CD 0D LDX >INCH2+1 |
0108 CDF3 BF CD 0A STX >INCH+1 |
0109 CDF6 7F CC 23 CLR >INPSWT |
0110 CDF9 7F CC 22 CLR >OUTSWT |
0111 CDFC 7F CC 21 CLR >SIOFLG |
0112 CDFF 7F CC 26 CLR >FIPADR |
0113 CE02 7F CC 24 CLR >FOPADR |
0114 CE05 39 ZCE05 RTS |
0115 |
0116 CE06 10 8E C8 44 ZCE06 LDY #ZC844 |
0117 CE0A A6 A0 ZCE0A LDA ,Y+ |
0118 CE0C 81 5F CMPA #$5F |
0119 CE0E 23 02 BLS ZCE12 |
0120 CE10 80 20 SUBA #$20 |
0121 CE12 A1 80 ZCE12 CMPA ,X+ |
0122 CE14 26 08 BNE ZCE1E |
0123 CE16 6D 84 TST ,X |
0124 CE18 26 F0 BNE ZCE0A |
0125 CE1A 6D A4 TST ,Y |
0126 CE1C 27 0C BEQ ZCE2A |
0127 CE1E 6D 80 ZCE1E TST ,X+ |
0128 CE20 26 FC BNE ZCE1E |
0129 CE22 30 02 LEAX $02,X |
0130 CE24 6D 84 TST ,X |
0131 CE26 26 DE BNE ZCE06 |
0132 CE28 1C FB ANDCC #$FB |
0133 CE2A 39 ZCE2A RTS |
0134 * |
0135 ** GET USER COMMAND LINE |
0136 * |
0137 CE2B 8E C0 80 INBUF1 LDX #LINBUF |
0138 CE2E BF CC 14 STX >LINPTR |
0139 CE31 BD CE FB ZCE31 JSR >GETCH1 |
0140 CE34 B1 CC 01 CMPA >DELCHR |
0141 CE37 27 1D BEQ ZCE56 |
0142 CE39 B1 CC 00 CMPA >BSPCHR |
0143 CE3C 27 1F BEQ ZCE5D |
0144 CE3E 81 0D CMPA #$0D |
0145 CE40 27 0D BEQ ZCE4F |
0146 CE42 81 0A CMPA #$0A |
0147 CE44 27 32 BEQ ZCE78 |
0148 CE46 81 1F CMPA #$1F |
0149 CE48 23 E7 BLS ZCE31 |
0150 CE4A 8C C0 FF ZCE4A CMPX #ZC0FF |
0151 CE4D 27 E2 BEQ ZCE31 |
0152 CE4F A7 80 ZCE4F STA ,X+ |
0153 CE51 81 0D CMPA #$0D |
0154 CE53 26 DC BNE ZCE31 |
0155 CE55 39 RTS |
0156 |
0157 CE56 8E CC 52 ZCE56 LDX #QRYSTR |
0158 CE59 8D 26 BSR PSTRG1 |
0159 CE5B 20 CE BRA INBUF1 |
0160 |
0161 CE5D 8C C0 80 ZCE5D CMPX #LINBUF |
0162 CE60 27 F4 BEQ ZCE56 |
0163 CE62 30 1F LEAX -$01,X |
0164 CE64 B6 CC 07 LDA >BSECHR |
0165 CE67 81 08 CMPA #$08 |
0166 CE69 26 08 BNE ZCE73 |
0167 CE6B 86 20 LDA #$20 |
0168 CE6D BD CF 66 JSR >ZCF66 |
0169 CE70 B6 CC 07 LDA >BSECHR |
0170 CE73 BD CF 66 ZCE73 JSR >ZCF66 |
0171 CE76 20 B9 BRA ZCE31 |
0172 |
0173 CE78 86 0D ZCE78 LDA #$0D |
0174 CE7A BD CF 41 JSR >PUTCH1 |
0175 CE7D 86 20 LDA #$20 |
0176 CE7F 20 C9 BRA ZCE4A |
0177 |
0178 CE81 8D 32 PSTRG1 BSR PCRLF1 |
0179 CE83 A6 84 ZCE83 LDA ,X |
0180 CE85 81 04 CMPA #$04 |
0181 CE87 27 6F BEQ ZCEF8 |
0182 CE89 BD CF 41 JSR >PUTCH1 |
0183 CE8C 30 01 LEAX $01,X |
0184 CE8E 20 F3 BRA ZCE83 |
0185 |
0186 CE90 BD CD 4E ZCE90 JSR >ZCD4E |
0187 CE93 27 65 BEQ ZCEFA |
0188 CE95 AD 9F D3 E5 JSR [ZD3E5] |
0189 CE99 B1 CC 0A CMPA >ESCCHR |
0190 CE9C 26 5C BNE ZCEFA |
0191 CE9E 7F CC 1A ZCE9E CLR >CURLIN |
0192 CEA1 AD 9F D3 E5 ZCEA1 JSR [ZD3E5] |
0193 CEA5 B1 CC 0A CMPA >ESCCHR |
0194 CEA8 27 50 BEQ ZCEFA |
0195 CEAA 81 03 CMPA #$03 CTRL C |
0196 CEAC 26 F3 BNE ZCEA1 |
0197 CEAE 7F CC 11 CLR >LASTRM |
0198 CEB1 6E 9F CC 16 JMP [ESCVEC] |
0199 * |
0200 ** PRINT CR, LINEFEED |
0201 * |
0202 CEB5 7D CC 21 PCRLF1 TST >SIOFLG |
0203 CEB8 26 27 BNE ZCEE1 |
0204 CEBA 8D D4 BSR ZCE90 |
0205 CEBC B6 CC 03 LDA >DEPCNT |
0206 CEBF 27 20 BEQ ZCEE1 |
0207 CEC1 B1 CC 1A CMPA >CURLIN |
0208 CEC4 22 18 BHI ZCEDE |
0209 CEC6 7F CC 1A CLR >CURLIN |
0210 CEC9 7D CC 09 TST >PAUSE |
0211 CECC 27 02 BEQ ZCED0 |
0212 CECE 8D CE BSR ZCE9E |
0213 CED0 34 04 ZCED0 PSHS B |
0214 CED2 F6 CC 08 LDB >EJTCNT |
0215 CED5 27 05 BEQ ZCEDC |
0216 CED7 8D 08 ZCED7 BSR ZCEE1 |
0217 CED9 5A DECB |
0218 CEDA 26 FB BNE ZCED7 |
0219 CEDC 35 04 ZCEDC PULS B |
0220 CEDE 7C CC 1A ZCEDE INC >CURLIN |
0221 CEE1 86 0D ZCEE1 LDA #$0D |
0222 CEE3 8D 5C BSR PUTCH1 |
0223 CEE5 86 0A LDA #$0A |
0224 CEE7 8D 58 BSR PUTCH1 |
0225 CEE9 34 04 PSHS B |
0226 CEEB F6 CC 05 LDB >NULCNT |
0227 CEEE 27 06 BEQ ZCEF6 |
0228 CEF0 4F ZCEF0 CLRA |
0229 CEF1 8D 4E BSR PUTCH1 |
0230 CEF3 5A DECB |
0231 CEF4 26 FA BNE ZCEF0 |
0232 CEF6 35 04 ZCEF6 PULS B |
0233 CEF8 1C FE ZCEF8 ANDCC #$FE |
0234 CEFA 39 ZCEFA RTS |
0235 * |
0236 ** GET A CHARACTER HONOURING TTYSET |
0237 * |
0238 CEFB 7D CC 23 GETCH1 TST >INPSWT |
0239 CEFE 26 1A BNE ZCF1A |
0240 CF00 7D CC 26 TST >FIPADR |
0241 CF03 27 10 BEQ ZCF15 |
0242 CF05 8D 1A BSR ZCF21 |
0243 CF07 7D CC 2F TST >FIEFLG |
0244 CF0A 27 11 BEQ ZCF1D |
0245 CF0C 7D CC 24 TST >FOPADR |
0246 CF0F 27 0C BEQ ZCF1D |
0247 CF11 8D 53 BSR ZCF66 |
0248 CF13 20 08 BRA ZCF1D |
0249 CF15 BD CD 09 ZCF15 JSR >INCH |
0250 CF18 20 03 BRA ZCF1D |
0251 |
0252 CF1A BD CD 0C ZCF1A JSR >INCH2 |
0253 CF1D 7F CC 1A ZCF1D CLR >CURLIN |
0254 CF20 39 RTS |
0255 |
0256 CF21 BF CC 47 ZCF21 STX >ZCC47 |
0257 CF24 BE CC 26 LDX >FIPADR |
0258 CF27 20 06 BRA ZCF2F |
0259 |
0260 CF29 BF CC 47 ZCF29 STX >ZCC47 |
0261 CF2C BE CC 24 LDX >FOPADR |
0262 CF2F BD D4 06 ZCF2F JSR >FMS |
0263 CF32 26 04 BNE ZCF38 |
0264 CF34 BE CC 47 LDX >ZCC47 |
0265 CF37 39 RTS |
0266 |
0267 CF38 7F CC 24 ZCF38 CLR >FOPADR |
0268 CF3B BD D2 7F JSR >RPTER1 |
0269 CF3E 7E CD 03 JMP >WARMS |
0270 * |
0271 ** OUTPUT CHARACTER HONOURING TTYSET |
0272 * |
0273 CF41 7D CC 21 PUTCH1 TST >SIOFLG |
0274 CF44 26 20 BNE ZCF66 |
0275 CF46 81 1F CMPA #$1F |
0276 CF48 22 05 BHI ZCF4F |
0277 CF4A 7F CC 29 CLR >CURCOL |
0278 CF4D 20 17 BRA ZCF66 |
0279 |
0280 CF4F 7C CC 29 ZCF4F INC >CURCOL |
0281 CF52 34 02 PSHS A |
0282 CF54 B6 CC 04 LDA >WIDCNT |
0283 CF57 27 0B BEQ ZCF64 |
0284 CF59 B1 CC 29 CMPA >CURCOL |
0285 CF5C 24 06 BCC ZCF64 |
0286 CF5E BD CE B5 JSR >PCRLF1 |
0287 CF61 7C CC 29 INC >CURCOL |
0288 CF64 35 02 ZCF64 PULS A |
0289 CF66 34 02 ZCF66 PSHS A |
0290 CF68 7D CC 22 TST >OUTSWT |
0291 CF6B 26 13 BNE ZCF80 |
0292 CF6D 7D CC 24 TST >FOPADR |
0293 CF70 27 04 BEQ ZCF76 |
0294 CF72 8D B5 BSR ZCF29 |
0295 CF74 20 0D BRA ZCF83 |
0296 |
0297 CF76 7D CC 26 ZCF76 TST >FIPADR |
0298 CF79 26 08 BNE ZCF83 |
0299 CF7B BD CD 0F JSR >OUTCH |
0300 CF7E 20 03 BRA ZCF83 |
0301 CF80 BD CD 12 ZCF80 JSR >OUTCH2 |
0302 CF83 35 02 ZCF83 PULS A |
0303 CF85 39 RTS |
0304 |
0305 CF86 7F CC 4A OUTDC1 CLR >ZCC4A |
0306 CF89 F7 CC 1D STB >TRNFLG |
0307 CF8C 86 04 LDA #$04 |
0308 CF8E B7 CC 4D STA >ZCC4D |
0309 CF91 EC 84 LDD ,X |
0310 CF93 8E CC A0 LDX #DECTBL |
0311 CF96 8D 0B ZCF96 BSR ZCFA3 |
0312 CF98 30 02 LEAX $02,X |
0313 CF9A 7A CC 4D DEC >ZCC4D |
0314 CF9D 26 F7 BNE ZCF96 |
0315 CF9F 1F 98 TFR B,A |
0316 CFA1 20 3D BRA OUTHXR |
0317 |
0318 CFA3 7F CC 4B ZCFA3 CLR >ZCC4B |
0319 CFA6 10 A3 84 ZCFA6 CMPD ,X |
0320 CFA9 25 07 BCS ZCFB2 |
0321 CFAB A3 84 SUBD ,X |
0322 CFAD 7C CC 4B INC >ZCC4B |
0323 CFB0 20 F4 BRA ZCFA6 |
0324 |
0325 CFB2 34 02 ZCFB2 PSHS A |
0326 CFB4 B6 CC 4B LDA >ZCC4B |
0327 CFB7 26 10 BNE ZCFC9 |
0328 CFB9 7D CC 4A TST >ZCC4A |
0329 CFBC 26 0B BNE ZCFC9 |
0330 CFBE 7D CC 1D TST >TRNFLG |
0331 CFC1 27 0B BEQ ZCFCE |
0332 CFC3 86 20 LDA #$20 |
0333 CFC5 8D 23 BSR ZCFEA |
0334 CFC7 20 05 BRA ZCFCE |
0335 |
0336 CFC9 7C CC 4A ZCFC9 INC >ZCC4A |
0337 CFCC 8D 12 BSR OUTHXR |
0338 CFCE 35 82 ZCFCE PULS PC,A |
0339 * |
0340 ** DISPLAY HEX ADDRESS |
0341 * |
0342 CFD0 8D 02 OUTAD1 BSR OUTHX1 |
0343 CFD2 30 01 LEAX $01,X |
0344 * |
0345 ** OUPUT HEX BYTE |
0346 * |
0347 CFD4 A6 84 OUTHX1 LDA ,X |
0348 CFD6 8D 04 BSR OUTHXL |
0349 CFD8 A6 84 LDA ,X |
0350 CFDA 20 04 BRA OUTHXR |
0351 |
0352 CFDC 44 OUTHXL LSRA |
0353 CFDD 44 LSRA |
0354 CFDE 44 LSRA |
0355 CFDF 44 LSRA |
0356 CFE0 84 0F OUTHXR ANDA #$0F |
0357 CFE2 8B 30 ADDA #$30 |
0358 CFE4 81 39 CMPA #$39 |
0359 CFE6 23 02 BLS ZCFEA |
0360 CFE8 8B 07 ADDA #$07 |
0361 CFEA 7E CF 41 ZCFEA JMP >PUTCH1 |
0362 * |
0363 ** CLASSIFY CHARACTER ALHA/NUMERIC |
0364 * |
0365 CFED 81 30 CLASS1 CMPA #'0 |
0366 CFEF 25 14 BCS ZD005 |
0367 CFF1 81 39 CMPA #'9 |
0368 CFF3 23 16 BLS ZD00B |
0369 CFF5 81 41 CMPA #'A |
0370 CFF7 25 0C BCS ZD005 |
0371 CFF9 81 5A CMPA #'Z |
0372 CFFB 23 0E BLS ZD00B |
0373 CFFD 81 61 CMPA #'a $61 |
0374 CFFF 25 04 BCS ZD005 |
0375 D001 81 7A CMPA #'z $7A |
0376 D003 23 06 BLS ZD00B |
0377 D005 1A 01 ZD005 ORCC #$01 |
0378 D007 B7 CC 11 STA >LASTRM |
0379 D00A 39 RTS |
0380 D00B 1C FE ZD00B ANDCC #$FE |
0381 D00D 39 RTS |
0382 * |
0383 ** GET NEXT CHARACTER FROM FILE |
0384 * |
0385 D00E 34 10 NXTCH1 PSHS X |
0386 D010 BE CC 14 LDX >LINPTR |
0387 D013 B6 CC 18 LDA >CURCHR |
0388 D016 B7 CC 19 STA >PRVCHR |
0389 D019 A6 80 ZD019 LDA ,X+ |
0390 D01B B7 CC 18 STA >CURCHR |
0391 D01E 81 0D CMPA #$0D |
0392 D020 27 10 BEQ ZD032 |
0393 D022 B1 CC 02 CMPA >EOLCHR |
0394 D025 27 0B BEQ ZD032 |
0395 D027 BF CC 14 STX >LINPTR |
0396 D02A 81 20 CMPA #$20 |
0397 D02C 26 04 BNE ZD032 |
0398 D02E A1 84 CMPA ,X |
0399 D030 27 E7 BEQ ZD019 |
0400 D032 8D B9 ZD032 BSR CLASS1 |
0401 D034 35 90 PULS PC,X |
0402 * |
0403 ** PARSE FILE SPEC. IN LINE BUFFER |
0404 * |
0405 D036 86 15 GETFL1 LDA #$15 |
0406 D038 A7 01 STA $01,X |
0407 D03A 86 FF LDA #$FF |
0408 D03C A7 03 STA $03,X |
0409 D03E 6F 04 CLR $04,X |
0410 D040 6F 0C CLR $0C,X |
0411 D042 BD D0 D4 JSR >ZD0D4 |
0412 D045 86 08 LDA #$08 |
0413 D047 B7 CC 4B STA >ZCC4B |
0414 D04A 8D 34 BSR ZD080 |
0415 D04C 25 2E BCS ZD07C |
0416 D04E 26 0F BNE ZD05F |
0417 D050 8D 2E BSR ZD080 |
0418 D052 25 28 BCS ZD07C |
0419 D054 26 09 BNE ZD05F |
0420 D056 BC CC 3F CMPX >ZCC3F |
0421 D059 27 6C BEQ ZD0C7 |
0422 D05B 8D 23 BSR ZD080 |
0423 D05D 23 68 BLS ZD0C7 |
0424 D05F BE CC 3F ZD05F LDX >ZCC3F |
0425 D062 6D 04 TST $04,X |
0426 D064 27 61 BEQ ZD0C7 |
0427 D066 6D 03 TST $03,X |
0428 D068 2A 0F BPL ZD079 |
0429 D06A 7D CC 0D TST >ZCC0D |
0430 D06D 27 05 BEQ ZD074 |
0431 D06F B6 CC 0B LDA >SYSDRV |
0432 D072 20 03 BRA ZD077 |
0433 |
0434 D074 B6 CC 0C ZD074 LDA >WRKDRV |
0435 D077 A7 03 ZD077 STA $03,X |
0436 D079 7F CC 0D ZD079 CLR >ZCC0D |
0437 D07C BE CC 3F ZD07C LDX >ZCC3F |
0438 D07F 39 RTS |
0439 |
0440 D080 8D 8C ZD080 BSR NXTCH1 |
0441 D082 25 43 BCS ZD0C7 |
0442 D084 81 39 CMPA #$39 |
0443 D086 22 15 BHI ZD09D |
0444 D088 BE CC 3F LDX >ZCC3F |
0445 D08B 6D 03 TST $03,X |
0446 D08D 2A 38 BPL ZD0C7 |
0447 D08F 84 03 ANDA #$03 |
0448 D091 A7 03 STA $03,X |
0449 D093 BD D0 0E JSR >NXTCH1 |
0450 D096 24 2F BCC ZD0C7 |
0451 D098 81 2E ZD098 CMPA #$2E |
0452 D09A 1C FE ANDCC #$FE |
0453 D09C 39 RTS |
0454 |
0455 D09D F6 CC 4B ZD09D LDB >ZCC4B |
0456 D0A0 2B 25 BMI ZD0C7 |
0457 D0A2 34 04 PSHS B |
0458 D0A4 C0 05 SUBB #$05 |
0459 D0A6 F7 CC 4B STB >ZCC4B |
0460 D0A9 35 04 PULS B |
0461 D0AB B1 CC 49 ZD0AB CMPA >MAPUP |
0462 D0AE 25 02 BCS ZD0B2 |
0463 D0B0 80 20 SUBA #$20 |
0464 D0B2 A7 04 ZD0B2 STA $04,X |
0465 D0B4 30 01 LEAX $01,X |
0466 D0B6 5A DECB |
0467 D0B7 BD D0 0E JSR >NXTCH1 |
0468 D0BA 24 08 BCC ZD0C4 |
0469 D0BC 81 2D CMPA #$2D |
0470 D0BE 27 04 BEQ ZD0C4 |
0471 D0C0 81 5F CMPA #$5F |
0472 D0C2 26 06 BNE ZD0CA |
0473 D0C4 5D ZD0C4 TSTB |
0474 D0C5 26 E4 BNE ZD0AB |
0475 D0C7 1A 01 ZD0C7 ORCC #$01 |
0476 D0C9 39 RTS |
0477 |
0478 D0CA 5D ZD0CA TSTB |
0479 D0CB 27 CB BEQ ZD098 |
0480 D0CD 6F 04 CLR $04,X |
0481 D0CF 30 01 LEAX $01,X |
0482 D0D1 5A DECB |
0483 D0D2 20 F6 BRA ZD0CA |
0484 |
0485 D0D4 BF CC 3F ZD0D4 STX >ZCC3F |
0486 D0D7 BE CC 14 LDX >LINPTR |
0487 D0DA A6 84 ZD0DA LDA ,X |
0488 D0DC 81 20 CMPA #$20 |
0489 D0DE 26 04 BNE ZD0E4 |
0490 D0E0 30 01 LEAX $01,X |
0491 D0E2 20 F6 BRA ZD0DA |
0492 D0E4 BF CC 14 ZD0E4 STX >LINPTR |
0493 D0E7 BE CC 3F LDX >ZCC3F |
0494 D0EA 39 RTS |
0495 * |
0496 ** DEFAULT FILE EXTENSION |
0497 * |
0498 D0EB 34 30 SETEX1 PSHS Y,X |
0499 D0ED E6 0C LDB $0C,X |
0500 D0EF 26 18 BNE ZD109 |
0501 D0F1 10 8E D1 0B LDY #EXTTBL |
0502 D0F5 81 0B CMPA #$0B |
0503 D0F7 22 10 BHI ZD109 |
0504 D0F9 C6 03 LDB #$03 |
0505 D0FB 3D MUL |
0506 D0FC 31 A5 LEAY B,Y |
0507 D0FE C6 03 LDB #$03 |
0508 D100 A6 A0 ZD100 LDA ,Y+ |
0509 D102 A7 0C STA $0C,X |
0510 D104 30 01 LEAX $01,X |
0511 D106 5A DECB |
0512 D107 26 F7 BNE ZD100 |
0513 D109 35 B0 ZD109 PULS PC,Y,X |
0514 * |
0515 ** STANDARD FILE NAME EXTTENSIONS |
0516 * |
0517 D10B 42 49 4E EXTTBL FCC "BIN" |
0518 D10E 54 58 54 FCC "TXT" |
0519 D111 43 4D 44 FCC "CMD" |
0520 D114 42 41 53 FCC "BAS" |
0521 D117 53 59 53 FCC "SYS" |
0522 D11A 42 41 4B FCC "BAK" |
0523 D11D 53 43 52 FCC "SCR" |
0524 D120 44 41 54 FCC "DAT" |
0525 D123 42 41 43 FCC "BAC" |
0526 D126 44 49 52 FCC "DIR" |
0527 D129 50 52 54 FCC "PRT" |
0528 D12C 4F 55 54 FCC "OUT" |
0529 * |
0530 ** READ A HEX ADDRESS FROM THE LINE BUFFER |
0531 * |
0532 D12F BD D2 1E GETHX1 JSR >ZD21E |
0533 D132 BD D0 0E ZD132 JSR >NXTCH1 |
0534 D135 25 22 BCS ZD159 |
0535 D137 8D 26 BSR ZD15F |
0536 D139 25 18 BCS ZD153 |
0537 D13B 34 04 PSHS B |
0538 D13D C6 04 LDB #$04 |
0539 D13F 78 CC 1C ZD13F ASL >LODOFF+1 |
0540 D142 79 CC 1B ROL >LODOFF |
0541 D145 5A DECB |
0542 D146 26 F7 BNE ZD13F |
0543 D148 35 04 PULS B |
0544 D14A BB CC 1C ADDA >LODOFF+1 |
0545 D14D B7 CC 1C STA >LODOFF+1 |
0546 D150 5C INCB |
0547 D151 20 DF BRA ZD132 |
0548 |
0549 D153 BD D0 0E ZD153 JSR >NXTCH1 |
0550 D156 24 FB BCC ZD153 |
0551 D158 39 RTS |
0552 |
0553 D159 BE CC 1B ZD159 LDX >LODOFF |
0554 D15C 1C FE ANDCC #$FE |
0555 D15E 39 RTS |
0556 |
0557 D15F 80 47 ZD15F SUBA #$47 |
0558 D161 2A 0F BPL ZD172 |
0559 D163 8B 06 ADDA #$06 |
0560 D165 2A 04 BPL ZD16B |
0561 D167 8B 07 ADDA #$07 |
0562 D169 2A 07 BPL ZD172 |
0563 D16B 8B 0A ZD16B ADDA #$0A |
0564 D16D 2B 03 BMI ZD172 |
0565 D16F 1C FE ANDCC #$FE |
0566 D171 39 RTS |
0567 |
0568 D172 1A 01 ZD172 ORCC #$01 |
0569 D174 39 RTS |
0570 |
0571 D175 BD D2 1E INDEC1 JSR >ZD21E |
0572 D178 BD D0 0E ZD178 JSR >NXTCH1 |
0573 D17B 25 DC BCS ZD159 |
0574 D17D 81 39 CMPA #$39 |
0575 D17F 22 D2 BHI ZD153 |
0576 D181 84 0F ANDA #$0F |
0577 D183 34 04 PSHS B |
0578 D185 34 02 PSHS A |
0579 D187 FC CC 1B LDD >LODOFF |
0580 D18A 58 ASLB |
0581 D18B 49 ROLA |
0582 D18C 58 ASLB |
0583 D18D 49 ROLA |
0584 D18E 58 ASLB |
0585 D18F 49 ROLA |
0586 D190 F3 CC 1B ADDD >LODOFF |
0587 D193 F3 CC 1B ADDD >LODOFF |
0588 D196 EB E0 ADDB ,S+ |
0589 D198 89 00 ADCA #$00 |
0590 D19A FD CC 1B STD >LODOFF |
0591 D19D 35 04 PULS B |
0592 D19F 5C INCB |
0593 D1A0 20 D6 BRA ZD178 |
0594 * |
0595 ** LOAD BINARY FILE |
0596 * |
0597 D1A2 7F CC 1D LOAD1 CLR >TRNFLG |
0598 D1A5 8D 3D ZD1A5 BSR ZD1E4 |
0599 D1A7 81 02 CMPA #$02 |
0600 D1A9 27 15 BEQ ZD1C0 |
0601 D1AB 81 16 CMPA #$16 |
0602 D1AD 26 F6 BNE ZD1A5 |
0603 D1AF 8D 33 BSR ZD1E4 |
0604 D1B1 B7 CC 1E STA >TRNVEC |
0605 D1B4 8D 2E BSR ZD1E4 |
0606 D1B6 B7 CC 1F STA >TRNVEC+1 |
0607 D1B9 86 01 LDA #$01 |
0608 D1BB B7 CC 1D STA >TRNFLG |
0609 D1BE 20 E5 BRA ZD1A5 |
0610 |
0611 D1C0 8D 22 ZD1C0 BSR ZD1E4 |
0612 D1C2 1F 89 TFR A,B |
0613 D1C4 8D 1E BSR ZD1E4 |
0614 D1C6 1E 89 EXG A,B |
0615 D1C8 F3 CC 1B ADDD >LODOFF |
0616 D1CB FD CC 3D STD >ZCC3D |
0617 D1CE 8D 14 BSR ZD1E4 |
0618 D1D0 1F 89 TFR A,B |
0619 D1D2 4D TSTA |
0620 D1D3 27 D0 BEQ ZD1A5 |
0621 D1D5 8D 0D ZD1D5 BSR ZD1E4 |
0622 D1D7 BE CC 3D LDX >ZCC3D |
0623 D1DA A7 80 STA ,X+ |
0624 D1DC BF CC 3D STX >ZCC3D |
0625 D1DF 5A DECB |
0626 D1E0 26 F3 BNE ZD1D5 |
0627 D1E2 20 C1 BRA ZD1A5 |
0628 |
0629 D1E4 8E C8 40 ZD1E4 LDX #FCB |
0630 D1E7 BD D4 06 JSR >FMS |
0631 D1EA 27 11 BEQ ZD1FD |
0632 D1EC A6 01 LDA $01,X |
0633 D1EE 81 08 CMPA #$08 |
0634 D1F0 26 0E BNE ZD200 |
0635 D1F2 32 62 LEAS $02,S |
0636 D1F4 86 04 ZD1F4 LDA #$04 |
0637 D1F6 A7 84 STA ,X |
0638 D1F8 BD D4 06 JSR >FMS |
0639 D1FB 26 0D BNE ZD20A |
0640 D1FD 1C FE ZD1FD ANDCC #$FE |
0641 D1FF 39 RTS |
0642 |
0643 D200 B7 CC 20 ZD200 STA >ERRTYP |
0644 D203 81 04 CMPA #$04 |
0645 D205 26 03 BNE ZD20A |
0646 D207 1A 01 ORCC #$01 |
0647 D209 39 RTS |
0648 |
0649 D20A 8D 73 ZD20A BSR RPTER1 |
0650 D20C 7E CD E4 JMP >ZCDE4 |
0651 * |
0652 ** 'GET' - LOAD BINARY FILE |
0653 * |
0654 D20F 86 00 GETCMD LDA #$00 |
0655 D211 8D 35 BSR ZD248 |
0656 D213 25 0F BCS ZD224 |
0657 D215 8D 07 BSR ZD21E |
0658 D217 7C CC 4C INC >ZCC4C |
0659 D21A 8D 86 BSR LOAD1 |
0660 D21C 20 F1 BRA GETCMD |
0661 |
0662 D21E 4F ZD21E CLRA |
0663 D21F 5F CLRB |
0664 D220 FD CC 1B STD >LODOFF |
0665 D223 39 RTS |
0666 |
0667 D224 F6 CC 4C ZD224 LDB >ZCC4C |
0668 D227 10 27 FB AE LBEQ ZCDD9 |
0669 D22B 7E CD 03 JMP >WARMS |
0670 |
0671 D22E 86 02 ZD22E LDA #$02 |
0672 D230 8D 22 BSR ZD254 |
0673 D232 8D EA BSR ZD21E |
0674 D234 BD D1 A2 JSR >LOAD1 |
0675 D237 F6 CC 1D LDB >TRNFLG |
0676 D23A 27 04 BEQ ZD240 |
0677 D23C 6E 9F CC 1E JMP [TRNVEC] |
0678 |
0679 D240 8E CC 5C ZD240 LDX #NTRMSG |
0680 D243 86 81 LDA #$81 |
0681 D245 7E CD DE JMP >ZCDDE |
0682 |
0683 D248 34 02 ZD248 PSHS A |
0684 D24A 8E C8 40 LDX #FCB |
0685 D24D BD D0 36 JSR >GETFL1 |
0686 D250 35 02 PULS A |
0687 D252 25 1A BCS ZD26E |
0688 D254 8E C8 40 ZD254 LDX #FCB |
0689 D257 BD D0 EB JSR >SETEX1 |
0690 D25A 8E C8 40 LDX #FCB |
0691 D25D 86 01 LDA #$01 |
0692 D25F A7 84 STA ,X |
0693 D261 BD D1 E4 JSR >ZD1E4 |
0694 D264 10 25 00 BB LBCS ZD323 |
0695 D268 86 FF LDA #$FF |
0696 D26A A7 88 3B STA $3B,X |
0697 D26D 39 RTS |
0698 |
0699 D26E B6 CC 11 ZD26E LDA >LASTRM |
0700 D271 81 0D CMPA #$0D |
0701 D273 27 07 BEQ ZD27C |
0702 D275 B1 CC 02 CMPA >EOLCHR |
0703 D278 10 26 FB 5D LBNE ZCDD9 |
0704 D27C 1A 01 ZD27C ORCC #$01 |
0705 D27E 39 RTS |
0706 |
0707 D27F 34 30 RPTER1 PSHS Y,X |
0708 D281 A6 01 LDA $01,X |
0709 D283 B7 CC 20 STA >ERRTYP |
0710 D286 27 63 BEQ ZD2EB |
0711 D288 BD CD EA JSR >RSTIO1 |
0712 D28B 10 BE CC 2D LDY >ERRVEC |
0713 D28F 26 08 BNE ZD299 |
0714 D291 81 10 CMPA #$10 |
0715 D293 27 58 BEQ ZD2ED |
0716 D295 10 8E D3 61 LDY #ZD361 |
0717 D299 8E C8 40 ZD299 LDX #FCB |
0718 D29C 6D 02 TST $02,X |
0719 D29E 27 09 BEQ ZD2A9 |
0720 D2A0 86 04 LDA #$04 |
0721 D2A2 A7 84 STA ,X |
0722 D2A4 BD D4 06 JSR >FMS |
0723 D2A7 26 2E BNE ZD2D7 |
0724 D2A9 8E C8 38 ZD2A9 LDX #ZC838 |
0725 D2AC C6 0B LDB #$0B |
0726 D2AE 8D 6E BSR ZD31E |
0727 D2B0 8E C8 40 LDX #FCB |
0728 D2B3 B6 CC 0B LDA >SYSDRV |
0729 D2B6 A7 03 STA $03,X |
0730 D2B8 86 01 LDA #$01 |
0731 D2BA A7 84 STA ,X |
0732 D2BC BD D4 06 JSR >FMS |
0733 D2BF 26 16 BNE ZD2D7 |
0734 D2C1 B6 CC 20 LDA >ERRTYP |
0735 D2C4 4A DECA |
0736 D2C5 47 ASRA |
0737 D2C6 47 ASRA |
0738 D2C7 4C INCA |
0739 D2C8 6F 88 20 CLR $20,X |
0740 D2CB A7 88 21 STA $21,X |
0741 D2CE 86 15 LDA #$15 |
0742 D2D0 A7 84 STA ,X |
0743 D2D2 BD D4 06 JSR >FMS |
0744 D2D5 27 1E BEQ ZD2F5 |
0745 D2D7 8E CC 75 ZD2D7 LDX #DERMSG |
0746 D2DA BD CE 81 JSR >PSTRG1 |
0747 D2DD BE CC 3F LDX >ZCC3F |
0748 D2E0 B6 CC 20 LDA >ERRTYP |
0749 D2E3 A7 01 STA $01,X |
0750 D2E5 6F 84 CLR ,X |
0751 D2E7 5F CLRB |
0752 D2E8 BD CF 86 JSR >OUTDC1 |
0753 D2EB 35 B0 ZD2EB PULS PC,Y,X |
0754 |
0755 D2ED 8E CC 82 ZD2ED LDX #DNRMSG |
0756 D2F0 BD CE 81 JSR >PSTRG1 |
0757 D2F3 20 F6 BRA ZD2EB |
0758 |
0759 D2F5 BD CE B5 ZD2F5 JSR >PCRLF1 |
0760 D2F8 8E C8 40 LDX #FCB |
0761 D2FB B6 CC 20 LDA >ERRTYP |
0762 D2FE 4A DECA |
0763 D2FF 84 03 ANDA #$03 |
0764 D301 C6 3F LDB #$3F |
0765 D303 3D MUL |
0766 D304 CB 04 ADDB #$04 |
0767 D306 E7 88 22 STB $22,X |
0768 D309 BD D4 06 ZD309 JSR >FMS |
0769 D30C 26 C9 BNE ZD2D7 |
0770 D30E BD CF 41 JSR >PUTCH1 |
0771 D311 81 0D CMPA #$0D |
0772 D313 26 F4 BNE ZD309 |
0773 D315 86 04 LDA #$04 |
0774 D317 A7 84 STA ,X |
0775 D319 BD D4 06 JSR >FMS |
0776 D31C 20 CD BRA ZD2EB |
0777 D31E 34 30 ZD31E PSHS Y,X |
0778 D320 7E D1 00 JMP >ZD100 |
0779 |
0780 D323 8E CC 6B ZD323 LDX #NFDMSG NOT FOUND |
0781 D326 7E CD E1 JMP >ZCDE1 |
0782 * |
0783 ** CALL FLEX AS A SUBROUTINE |
0784 * |
0785 D329 35 06 DOCMD1 PULS B,A |
0786 D32B FD CC 43 STD >ZCC43 |
0787 D32E 10 FF CC 45 ZD32E STS >ZCC45 |
0788 D332 7F CC 20 CLR >ERRTYP |
0789 D335 7C CC 28 INC >CMDFLG |
0790 D338 7E CD B8 JMP >ZCDB8 |
0791 D33B 7F CC 28 ZD33B CLR >CMDFLG |
0792 D33E 10 FE CC 45 LDS >ZCC45 |
0793 D342 F6 CC 20 LDB >ERRTYP |
0794 D345 6E 9F CC 43 JMP [ZCC43] |
0795 * |
0796 ** ADD ACCB TO IX |
0797 * |
0798 D349 3A ADDBX1 ABX |
0799 D34A 39 RTS |
0800 |
0801 D34B 7D CC FC ZD34B TST >ZCCFC |
0802 D34E 26 04 BNE ZD354 |
0803 D350 6E 9F D3 F3 JMP [MONVEC] |
0804 |
0805 D354 8E C8 40 ZD354 LDX #FCB |
0806 D357 86 1B LDA #$1B |
0807 D359 A7 01 STA $01,X |
0808 D35B BD D2 7F JSR >RPTER1 |
0809 D35E 7E CD 67 JMP >WARM1 |
0810 |
0811 D361 45 52 52 4F 52 53 ZD361 FCC /ERRORS/ |
0812 D367 00 00 FCB $00,$00 |
0813 D369 53 59 53 FCC /SYS/ |
0009 END |
0000 INCLUDE "f9-monio.txt" |
0001 * |
0002 ** TERMINAL AND PRINTER DRIVERS |
0003 ** SYS09BUG - Spartan 3 Starter Board |
0004 * |
0005 ** FLEX DRIVER MEMORY MAP: |
0006 ** C700 - C83F PRINTER SPOOLER |
0007 ** CCC0 - CCF7 PRINTER DRIVERS |
0008 ** D370 - D3FF CONSOLE DRIVERS |
0009 ** DE00 - DFAF DISK DRIVERS |
0010 * |
0011 * |
0012 ** INTERRUPT VECTORS |
0013 * |
0014 DFC8 IRQVEC EQU MONRAM+$08 |
0015 DFC2 SWIVEC EQU MONRAM+$02 SWI3 VECTOR |
0016 * |
0017 ** PRINTER DRIVERS |
0018 * |
0019 CCC0 ORG $CCC0 |
0020 CCC0 7E D3 70 PINIT JMP DUMRTS INITIATE PRINTER |
0021 CCD8 ORG $CCD8 |
0022 CCD8 7E D3 70 PCHK JMP DUMRTS CHECK IF PRINTER READY |
0023 CCE4 ORG $CCE4 |
0024 CCE4 7E D3 70 POUT JMP DUMRTS OUTPUT CHR. TO PRINTER |
0025 CCF8 ORG $CCF8 |
0026 CCF8 01 00 00 00 ZCCF8 FCB $01,$00,$00,$00 |
0027 CCFC 00 00 00 00 ZCCFC FCB $00,$00,$00,$00 |
0028 * |
0029 ** CONSOLE DRIVER PATCHES: |
0030 * |
0031 D370 ORG $D370 |
0032 D370 IHND EQU * INTERRUPT HANDLER |
0033 D370 TMON EQU * TIMER ON |
0034 D370 TMOFF EQU * TIMER OFF |
0035 D370 TMINT EQU * TIMER INITIALIZATION |
0036 D370 DUMRTS EQU * |
0037 D370 39 RTS |
0038 * |
0039 ** SBUG MONITOR I/O CALLS |
0040 * |
0041 D371 7E D3 70 TERINZ JMP DUMRTS INITIATE ACIA |
0042 D374 6E 9F F8 04 INCHNE JMP [MONROM+$04] INPUT WITHOUT ECHO |
0043 D378 6E 9F F8 00 MONITR JMP [MONROM+$00] |
0044 D37C 6E 9F F8 08 INCHEK JMP [MONROM+$08] CHECK FOR TERMINAL ENTRY |
0045 D380 6E 9F F8 0A OUTEEE JMP [MONROM+$0A] OUPUT CHARACTER |
0046 D384 6E 9F F8 06 INEEE JMP [MONROM+$06] INPUT WITH ECHO |
0047 |
0048 * |
0049 ** AUTO BLOCK FDBS |
0050 * |
0051 D3E5 ORG $D3E5 |
0052 D3E5 D3 74 ZD3E5 FDB INCHNE INPUT - NO ECHO |
0053 D3E7 D3 70 IHNDVC FDB IHND IRQ INTERRUPT HANDLER |
0054 D3E9 DF C2 SWIVVC FDB SWIVEC SWI3 VECTOR LOCATION |
0055 D3EB DF C8 IRQVVC FDB IRQVEC IRQ VECTOR LOCATION |
0056 D3ED D3 70 TOFVEC FDB TMOFF TIMER OFF ROUTINE |
0057 D3EF D3 70 TONVEC FDB TMON TIMER ON ROUTINE |
0058 D3F1 D3 70 TINVEC FDB TMINT TIMER INITIALIZE ROUTINE |
0059 D3F3 D3 78 MONVEC FDB MONITR MONITOR RETURN ADDRESS |
0060 D3F5 D3 71 TERVEC FDB TERINZ TERMINAL INITIATION |
0061 D3F7 D3 7C STAVEC FDB INCHEK CHECK TERMINAL STATUS |
0062 D3F9 D3 80 OUTVEC FDB OUTEEE TERMINAL CHAR OUTPUT |
0063 D3FB D3 84 INVEC FDB INEEE TERMINAL INPUT CHARACTER |
0064 D3FD 7E CA 00 ZD3FD JMP ZCA00 |
0010 END |
0000 INCLUDE "f9-fms.txt" |
0001 * |
0002 ** FILE MANAGEMENT SYSTEM |
0003 * |
0004 D400 7E D4 36 ZD400 JMP >ZD436 |
0005 D403 7E D4 59 FMSCLS JMP >ZD459 |
0006 D406 7E D4 7B FMS JMP >FMS1 |
0007 D409 20 44 49 53 4B 20 CPYMSG FCC / DISK OPERATING SYSTEM/ |
4F 50 45 52 41 54 |
49 4E 47 20 53 59 |
53 54 45 4D |
0008 D41F 20 43 4F 50 59 52 FCC / COPYRIGHT (C) 1980 BY/ |
49 47 48 54 20 28 |
43 29 20 31 39 38 |
30 20 42 59 |
0009 D435 20 54 45 43 48 4E FCC / TECHNICAL SYSTEMS CONSULTANTS/ |
49 43 41 4C 20 53 |
59 53 54 45 4D 53 |
20 43 4F 4E 53 55 |
4C 54 41 4E 54 53 |
0010 D409 ORG CPYMSG |
0011 D409 FCBPTR RMB 2 |
0012 D40B CURFCB RMB 4 |
0013 D40F ZD40F RMB 2 |
0014 D411 ZD411 RMB 1 |
0015 D412 ZD412 RMB 1 |
0016 D413 ZD413 RMB 1 |
0017 D414 ZD414 RMB 1 |
0018 D415 ZD415 RMB 2 |
0019 D417 ZD417 RMB 1 |
0020 D418 ZD418 RMB 2 |
0021 D41A ZD41A RMB 1 |
0022 D41B ZD41B RMB 2 |
0023 D41D ZD41D RMB 24 |
0024 D435 FF VERFLG FCB $FF |
0025 * |
0026 ** |
0027 * |
0028 D436 BD DE 15 ZD436 JSR >COLDDR |
0029 D439 8E D4 09 LDX #FCBPTR |
0030 D43C C6 0A LDB #$0A |
0031 D43E 8D 11 BSR ZD451 |
0032 D440 8E 00 05 LDX #Z0005 |
0033 D443 BF D4 13 STX >ZD413 |
0034 D446 BF D4 15 STX >ZD415 |
0035 D449 7F D4 1A CLR >ZD41A |
0036 D44C 8E D4 1B ZD44C LDX #ZD41B |
0037 D44F C6 1A LDB #$1A |
0038 D451 6F 80 ZD451 CLR ,X+ |
0039 D453 5A DECB |
0040 D454 26 FB BNE ZD451 |
0041 D456 7E C7 0C JMP >PRSPL5 |
0042 |
0043 D459 BD C7 09 ZD459 JSR >PRSPL4 |
0044 D45C BE D4 09 ZD45C LDX >FCBPTR |
0045 D45F 27 EB BEQ ZD44C |
0046 D461 30 88 E4 LEAX -$1C,X |
0047 D464 BF D4 0B STX >CURFCB |
0048 D467 34 20 PSHS Y |
0049 D469 BD DA C3 JSR >CLOSE |
0050 D46C 35 20 PULS Y |
0051 D46E 24 EC BCC ZD45C |
0052 D470 BE D4 0B LDX >CURFCB |
0053 D473 6F 02 CLR $02,X |
0054 D475 BD C7 0C JSR >PRSPL5 |
0055 D478 C6 FF LDB #$FF |
0056 D47A 39 RTS |
0057 |
0058 * |
0059 ** FMS CALL, PROCESSING |
0060 * |
0061 D47B 7D CC FC FMS1 TST >ZCCFC |
0062 D47E 27 03 BEQ ZD483 |
0063 D480 BD C7 09 JSR >PRSPL4 |
0064 D483 34 24 ZD483 PSHS Y,B |
0065 D485 BF D4 0B STX >CURFCB |
0066 D488 6F 01 CLR $01,X |
0067 D48A E6 84 LDB ,X |
0068 D48C 26 22 BNE DOFUNC |
0069 * |
0070 ** READ/WRITE CHAR/BYTE |
0071 * |
0072 D48E E6 02 LDB $02,X |
0073 D490 27 1A BEQ ZD4AC |
0074 D492 C1 02 CMPB #$02 |
0075 D494 27 11 BEQ ZD4A7 |
0076 D496 BD D5 B4 JSR >ZD5B4 |
0077 D499 BE D4 0B ZD499 LDX >CURFCB |
0078 D49C 25 26 BCS ZD4C4 |
0079 D49E 7D CC FC TST >ZCCFC |
0080 D4A1 26 23 BNE ZD4C6 |
0081 D4A3 5F CLRB |
0082 D4A4 35 24 PULS Y,B |
0083 D4A6 39 RTS |
0084 |
0085 D4A7 BD D6 CF ZD4A7 JSR >ZD6CF |
0086 D4AA 20 ED BRA ZD499 |
0087 D4AC C6 12 ZD4AC LDB #$12 |
0088 D4AE 20 14 BRA ZD4C4 |
0089 |
0090 D4B0 C1 16 DOFUNC CMPB #$16 |
0091 D4B2 23 04 BLS DOFUN1 |
0092 D4B4 C6 01 LDB #$01 |
0093 D4B6 20 0C BRA ZD4C4 |
0094 D4B8 5A DOFUN1 DECB |
0095 D4B9 58 ASLB |
0096 D4BA 8E D4 CE LDX #FMSTBL |
0097 D4BD AD 95 JSR [B,X] |
0098 D4BF BE D4 0B LDX >CURFCB |
0099 D4C2 24 02 BCC ZD4C6 |
0100 D4C4 E7 01 ZD4C4 STB $01,X |
0101 D4C6 BD C7 0C ZD4C6 JSR >PRSPL5 |
0102 D4C9 6D 01 TST $01,X |
0103 D4CB 35 24 PULS Y,B |
0104 D4CD 39 RTS |
0105 * |
0106 ** FMS COMMAND VECTOR TABLE |
0107 * |
0108 D4CE D9 86 FMSTBL FDB OPENRD FC 1 |
0109 D4D0 D9 D9 FDB OPENWR FC 2 |
0110 D4D2 DA F9 FDB OPENUD FC 3 |
0111 D4D4 DA C3 FDB CLOSE FC 4 |
0112 D4D6 D5 E2 FDB REWIND FC 5 |
0113 D4D8 D8 1D FDB OPNDIR FC 6 |
0114 D4DA D8 38 FDB GETREC FC 7 |
0115 D4DC D8 76 FDB PUTREC FC 8 |
0116 D4DE D6 41 FDB RDSECT FC 9 |
0117 D4E0 D6 9F FDB WRSECT FC 10 |
0118 D4E2 D9 69 FDB RESV1 FC 11 |
0119 D4E4 DB D6 FDB DELETE FC 12 |
0120 D4E6 DB 2C FDB RENAME FC 13 |
0121 D4E8 D6 99 FDB RESV2 FC 14 |
0122 D4EA DA 87 FDB NXTSEC FC 15 |
0123 D4EC D8 10 FDB OPNREC FC 16 |
0124 D4EE D5 6F FDB GETBYT FC 17 |
0125 D4F0 D5 90 FDB PUTBYT FC 18 |
0126 D4F2 DB 07 FDB RESV3 FC 19 |
0127 D4F4 DD BD FDB NXTDRV FC 20 |
0128 D4F6 DC FB FDB POSREC FC 21 |
0129 D4F8 DC E5 FDB BAKREC FC 22 |
0130 * |
0131 ** |
0132 * |
0133 D4FA 8D 20 ZD4FA BSR ZD51C |
0134 D4FC 26 05 BNE ZD503 |
0135 D4FE C6 02 LDB #$02 |
0136 D500 1A 01 ORCC #$01 |
0137 D502 39 RTS |
0138 |
0139 D503 ED 84 ZD503 STD ,X |
0140 D505 AE 84 LDX ,X |
0141 D507 6F 84 CLR ,X |
0142 D509 6F 01 CLR $01,X |
0143 D50B 39 RTS |
0144 |
0145 D50C 8D 0E ZD50C BSR ZD51C |
0146 D50E 27 05 BEQ ZD515 |
0147 D510 C6 0D LDB #$0D |
0148 D512 1A 01 ORCC #$01 |
0149 D514 39 RTS |
0150 |
0151 D515 EC 94 ZD515 LDD [,X] |
0152 D517 ED 84 STD ,X |
0153 D519 1C FE ANDCC #$FE |
0154 D51B 39 RTS |
0155 |
0156 D51C FC D4 0B ZD51C LDD >CURFCB |
0157 D51F C3 00 1C ADDD #$001C |
0158 D522 8E D4 09 LDX #FCBPTR |
0159 D525 10 AE 84 ZD525 LDY ,X |
0160 D528 26 03 BNE ZD52D |
0161 D52A 1C FB ANDCC #$FB |
0162 D52C 39 RTS |
0163 |
0164 D52D 10 A3 84 ZD52D CMPD ,X |
0165 D530 26 01 BNE ZD533 |
0166 D532 39 RTS |
0167 D533 AE 84 ZD533 LDX ,X |
0168 D535 20 EE BRA ZD525 |
0169 |
0170 D537 BE D4 0B ZD537 LDX >CURFCB |
0171 D53A 4F CLRA |
0172 D53B 5F CLRB |
0173 D53C 8D 02 BSR ZD540 |
0174 D53E C6 2F LDB #$2F |
0175 D540 A7 88 11 ZD540 STA $11,X |
0176 D543 30 01 LEAX $01,X |
0177 D545 5A DECB |
0178 D546 26 F8 BNE ZD540 |
0179 D548 39 RTS |
0180 |
0181 D549 BE D4 0B ZD549 LDX >CURFCB |
0182 D54C C6 0B LDB #$0B |
0183 D54E A6 04 ZD54E LDA $04,X |
0184 D550 A7 88 24 STA $24,X |
0185 D553 30 01 LEAX $01,X |
0186 D555 5A DECB |
0187 D556 26 F6 BNE ZD54E |
0188 D558 39 RTS |
0189 |
0190 D559 BE D4 0B ZD559 LDX >CURFCB |
0191 D55C C6 0B LDB #$0B |
0192 D55E A6 04 ZD55E LDA $04,X |
0193 D560 34 02 PSHS A |
0194 D562 A6 88 24 LDA $24,X |
0195 D565 A1 E0 CMPA ,S+ |
0196 D567 26 05 BNE ZD56E |
0197 D569 30 01 LEAX $01,X |
0198 D56B 5A DECB |
0199 D56C 26 F0 BNE ZD55E |
0200 D56E 39 ZD56E RTS |
0201 * |
0202 ** GET RANDOM BYTE FROM SECTOR |
0203 * |
0204 D56F BE D4 0B GETBYT LDX >CURFCB |
0205 D572 E6 02 LDB $02,X |
0206 D574 54 LSRB |
0207 D575 24 79 BCC ZD5F0 |
0208 D577 E6 88 23 LDB $23,X |
0209 D57A 7E D6 00 JMP >ZD600 |
0210 |
0211 D57D BE D4 0B ZD57D LDX >CURFCB |
0212 D580 E6 88 22 LDB $22,X |
0213 D583 6C 88 22 INC $22,X |
0214 D586 3A ABX |
0215 D587 A7 88 40 STA $40,X |
0216 D58A 5C INCB |
0217 D58B 26 1F BNE ZD5AC |
0218 D58D 1A 01 ORCC #$01 |
0219 D58F 39 RTS |
0220 * |
0221 ** PUT RANDOM BYTE IN SECTOR |
0222 * |
0223 D590 BE D4 0B PUTBYT LDX >CURFCB |
0224 D593 E6 02 LDB $02,X |
0225 D595 C4 03 ANDB #$03 |
0226 D597 C1 03 CMPB #$03 |
0227 D599 26 55 BNE ZD5F0 |
0228 D59B CA 80 ORB #$80 |
0229 D59D E7 02 STB $02,X |
0230 D59F E6 0F LDB $0F,X |
0231 D5A1 C5 80 BITB #$80 |
0232 D5A3 26 0A BNE ZD5AF |
0233 D5A5 E6 88 23 LDB $23,X |
0234 D5A8 3A ABX |
0235 D5A9 A7 88 40 STA $40,X |
0236 D5AC 1C FE ZD5AC ANDCC #$FE |
0237 D5AE 39 RTS |
0238 |
0239 D5AF C6 0B ZD5AF LDB #$0B |
0240 D5B1 1A 01 ORCC #$01 |
0241 D5B3 39 RTS |
0242 |
0243 D5B4 A6 88 3B ZD5B4 LDA $3B,X |
0244 D5B7 2B 3C BMI ZD5F5 |
0245 D5B9 27 07 BEQ ZD5C2 |
0246 D5BB 6A 88 3B DEC $3B,X |
0247 D5BE 86 20 LDA #$20 |
0248 D5C0 20 1D BRA ZD5DF |
0249 |
0250 D5C2 8D 31 ZD5C2 BSR ZD5F5 |
0251 D5C4 25 1B BCS ZD5E1 |
0252 D5C6 81 18 CMPA #$18 |
0253 D5C8 22 15 BHI ZD5DF |
0254 D5CA 27 F6 BEQ ZD5C2 |
0255 D5CC 81 09 CMPA #$09 |
0256 D5CE 26 0C BNE ZD5DC |
0257 D5D0 8D 23 BSR ZD5F5 |
0258 D5D2 25 0D BCS ZD5E1 |
0259 D5D4 BE D4 0B LDX >CURFCB |
0260 D5D7 A7 88 3B STA $3B,X |
0261 D5DA 20 D8 BRA ZD5B4 |
0262 |
0263 D5DC 4D ZD5DC TSTA |
0264 D5DD 27 E3 BEQ ZD5C2 |
0265 D5DF 1C FE ZD5DF ANDCC #$FE |
0266 D5E1 39 ZD5E1 RTS |
0267 * |
0268 ** REWIND FILE |
0269 * |
0270 D5E2 BD DA B1 REWIND JSR >ZDAB1 |
0271 D5E5 25 09 BCS ZD5F0 |
0272 D5E7 85 01 BITA #$01 |
0273 D5E9 27 05 BEQ ZD5F0 |
0274 D5EB A7 84 STA ,X |
0275 D5ED 7E D9 A0 JMP >ZD9A0 |
0276 |
0277 D5F0 C6 12 ZD5F0 LDB #$12 |
0278 D5F2 1A 01 ORCC #$01 |
0279 D5F4 39 RTS |
0280 |
0281 D5F5 BE D4 0B ZD5F5 LDX >CURFCB |
0282 D5F8 E6 88 22 LDB $22,X |
0283 D5FB 27 0A BEQ ZD607 |
0284 D5FD 6C 88 22 INC $22,X |
0285 D600 3A ZD600 ABX |
0286 D601 A6 88 40 LDA $40,X |
0287 D604 1C FE ANDCC #$FE |
0288 D606 39 RTS |
0289 |
0290 D607 8D 03 ZD607 BSR ZD60C |
0291 D609 24 EA BCC ZD5F5 |
0292 D60B 39 RTS |
0293 |
0294 D60C BE D4 0B ZD60C LDX >CURFCB |
0295 D60F EC 88 40 LDD $40,X |
0296 D612 6C 88 21 INC $21,X |
0297 D615 26 03 BNE ZD61A |
0298 D617 6C 88 20 INC $20,X |
0299 D61A 10 83 00 00 ZD61A CMPD #$0000 |
0300 D61E 27 1C BEQ ZD63C |
0301 D620 ED 88 1E ZD620 STD $1E,X |
0302 D623 34 02 PSHS A |
0303 D625 86 04 LDA #$04 |
0304 D627 A7 88 22 STA $22,X |
0305 D62A 35 02 PULS A |
0306 D62C 8D 13 BSR RDSECT |
0307 D62E 24 10 BCC ZD640 |
0308 D630 C5 80 BITB #$80 |
0309 D632 27 04 BEQ ZD638 |
0310 D634 C6 10 LDB #$10 |
0311 D636 20 06 BRA ZD63E |
0312 |
0313 D638 C6 09 ZD638 LDB #$09 |
0314 D63A 20 02 BRA ZD63E |
0315 |
0316 D63C C6 08 ZD63C LDB #$08 |
0317 D63E 1A 01 ZD63E ORCC #$01 |
0318 D640 39 ZD640 RTS |
0319 * |
0320 ** READ SINGLE SECTOR |
0321 * |
0322 D641 8D 25 RDSECT BSR ZD668 |
0323 D643 BE D4 0B LDX >CURFCB |
0324 D646 BD DE 0C JSR >DRIVE |
0325 D649 25 12 BCS ZD65D |
0326 D64B 8D 11 ZD64B BSR ZD65E |
0327 D64D BD DE 00 JSR >READ |
0328 D650 26 03 BNE ZD655 |
0329 D652 1C FE ANDCC #$FE |
0330 D654 39 RTS |
0331 |
0332 D655 34 04 ZD655 PSHS B |
0333 D657 8D 17 BSR ZD670 |
0334 D659 35 04 PULS B |
0335 D65B 24 EE BCC ZD64B |
0336 D65D 39 ZD65D RTS |
0337 |
0338 D65E BE D4 0B ZD65E LDX >CURFCB |
0339 D661 EC 88 1E LDD $1E,X |
0340 D664 30 88 40 LEAX $40,X |
0341 D667 39 RTS |
0342 |
0343 D668 4F ZD668 CLRA |
0344 D669 B7 D4 11 STA >ZD411 |
0345 D66C B7 D4 12 STA >ZD412 |
0346 D66F 39 RTS |
0347 |
0348 D670 C5 10 ZD670 BITB #$10 |
0349 D672 26 11 BNE ZD685 |
0350 D674 C5 80 BITB #$80 |
0351 D676 26 24 BNE ZD69C |
0352 D678 F6 D4 11 LDB >ZD411 |
0353 D67B 5C INCB |
0354 D67C C1 07 CMPB #$07 |
0355 D67E 27 05 BEQ ZD685 |
0356 D680 F7 D4 11 STB >ZD411 |
0357 D683 20 14 BRA RESV2 |
0358 |
0359 D685 7F D4 11 ZD685 CLR >ZD411 |
0360 D688 F6 D4 12 LDB >ZD412 |
0361 D68B 5C INCB |
0362 D68C C1 04 CMPB #$04 |
0363 D68E 27 0C BEQ ZD69C |
0364 D690 F7 D4 12 STB >ZD412 |
0365 D693 BE D4 0B LDX >CURFCB |
0366 D696 BD DE 09 JSR >RESTOR |
0367 * |
0368 ** RESERVED |
0369 * |
0370 D699 1C FE RESV2 ANDCC #$FE |
0371 D69B 39 RTS |
0372 D69C 1A 01 ZD69C ORCC #$01 |
0373 D69E 39 RTS |
0374 * |
0375 ** WRITE SINGLE SECTOR |
0376 * |
0377 D69F 8D C7 WRSECT BSR ZD668 |
0378 D6A1 BE D4 0B LDX >CURFCB |
0379 D6A4 BD DE 0C JSR >DRIVE |
0380 D6A7 25 20 BCS ZD6C9 |
0381 D6A9 BE D4 0B ZD6A9 LDX >CURFCB |
0382 D6AC 8D B0 BSR ZD65E |
0383 D6AE BD DE 03 JSR >WRITE |
0384 D6B1 26 0A BNE ZD6BD |
0385 D6B3 B6 D4 35 LDA >VERFLG |
0386 D6B6 27 37 BEQ ZD6EF |
0387 D6B8 BD DE 06 JSR >VERIFY |
0388 D6BB 27 32 BEQ ZD6EF |
0389 D6BD C5 40 ZD6BD BITB #$40 |
0390 D6BF 26 0B BNE ZD6CC |
0391 D6C1 34 04 PSHS B |
0392 D6C3 8D AB BSR ZD670 |
0393 D6C5 35 04 PULS B |
0394 D6C7 24 E0 BCC ZD6A9 |
0395 D6C9 39 ZD6C9 RTS |
0396 |
0397 D6CA C6 20 LDB #$20 |
0398 D6CC 1A 01 ZD6CC ORCC #$01 |
0399 D6CE 39 RTS |
0400 |
0401 D6CF BE D4 0B ZD6CF LDX >CURFCB |
0402 D6D2 E6 88 3B LDB $3B,X |
0403 D6D5 2B 3D BMI ZD714 |
0404 D6D7 81 20 CMPA #$20 |
0405 D6D9 26 0F BNE ZD6EA |
0406 D6DB 5C INCB |
0407 D6DC E7 88 3B STB $3B,X |
0408 D6DF C1 7F CMPB #$7F |
0409 D6E1 26 0C BNE ZD6EF |
0410 D6E3 20 0D BRA ZD6F2 |
0411 |
0412 D6E5 8D 0B ZD6E5 BSR ZD6F2 |
0413 D6E7 24 E6 BCC ZD6CF |
0414 D6E9 39 RTS |
0415 |
0416 D6EA 5D ZD6EA TSTB |
0417 D6EB 27 27 BEQ ZD714 |
0418 D6ED 20 F6 BRA ZD6E5 |
0419 |
0420 D6EF 1C FE ZD6EF ANDCC #$FE |
0421 D6F1 39 RTS |
0422 |
0423 D6F2 34 02 ZD6F2 PSHS A |
0424 D6F4 C1 01 CMPB #$01 |
0425 D6F6 26 04 BNE ZD6FC |
0426 D6F8 86 20 LDA #$20 |
0427 D6FA 20 10 BRA ZD70C |
0428 |
0429 D6FC 86 09 ZD6FC LDA #$09 |
0430 D6FE 8D 14 BSR ZD714 |
0431 D700 35 02 PULS A |
0432 D702 25 0F BCS ZD713 |
0433 D704 34 02 PSHS A |
0434 D706 BE D4 0B LDX >CURFCB |
0435 D709 A6 88 3B LDA $3B,X |
0436 D70C 6F 88 3B ZD70C CLR $3B,X |
0437 D70F 8D 03 BSR ZD714 |
0438 D711 35 02 PULS A |
0439 D713 39 ZD713 RTS |
0440 |
0441 D714 BE D4 0B ZD714 LDX >CURFCB |
0442 D717 E6 02 LDB $02,X |
0443 D719 C1 02 CMPB #$02 |
0444 D71B 10 26 FE D1 LBNE ZD5F0 |
0445 D71F E6 88 22 LDB $22,X |
0446 D722 C1 04 CMPB #$04 |
0447 D724 26 08 BNE ZD72E |
0448 D726 34 02 PSHS A |
0449 D728 8D 21 BSR ZD74B |
0450 D72A 35 02 PULS A |
0451 D72C 25 0F BCS ZD73D |
0452 D72E BD D5 7D ZD72E JSR >ZD57D |
0453 D731 24 0A BCC ZD73D |
0454 D733 C6 04 LDB #$04 |
0455 D735 BE D4 0B LDX >CURFCB |
0456 D738 E7 88 22 STB $22,X |
0457 D73B 1C FE ANDCC #$FE |
0458 D73D 39 ZD73D RTS |
0459 |
0460 D73E BE D4 0B ZD73E LDX >CURFCB |
0461 D741 4F CLRA |
0462 D742 5F CLRB |
0463 D743 ED 88 20 STD $20,X |
0464 D746 ED 88 42 STD $42,X |
0465 D749 20 27 BRA ZD772 |
0466 |
0467 D74B E6 88 12 ZD74B LDB $12,X |
0468 D74E 26 22 BNE ZD772 |
0469 D750 E6 88 17 LDB $17,X |
0470 D753 27 44 BEQ ZD799 |
0471 D755 6F 88 17 CLR $17,X |
0472 D758 8D 3F BSR ZD799 |
0473 D75A 25 2A BCS ZD786 |
0474 D75C 8D E0 BSR ZD73E |
0475 D75E 25 26 BCS ZD786 |
0476 D760 8D DC BSR ZD73E |
0477 D762 25 22 BCS ZD786 |
0478 D764 BE D4 0B LDX >CURFCB |
0479 D767 C6 02 LDB #$02 |
0480 D769 E7 88 17 STB $17,X |
0481 D76C EC 88 11 LDD $11,X |
0482 D76F 7E DC 82 JMP >ZDC82 |
0483 |
0484 D772 8D 0E ZD772 BSR ZD782 |
0485 D774 BE D4 0B LDX >CURFCB |
0486 D777 ED 88 40 STD $40,X |
0487 D77A BD D6 9F JSR >WRSECT |
0488 D77D 24 1A BCC ZD799 |
0489 D77F 7E DB C1 JMP >ZDBC1 |
0490 |
0491 D782 8D 03 ZD782 BSR ZD787 |
0492 D784 EC 84 LDD ,X |
0493 D786 39 ZD786 RTS |
0494 |
0495 D787 BE D4 0B ZD787 LDX >CURFCB |
0496 D78A E6 03 LDB $03,X |
0497 D78C 86 06 LDA #$06 |
0498 D78E 3D MUL |
0499 D78F 8E D4 1D LDX #ZD41D |
0500 D792 3A ABX |
0501 D793 BF D4 1B STX >ZD41B |
0502 D796 6D 84 TST ,X |
0503 D798 39 RTS |
0504 |
0505 D799 8D E7 ZD799 BSR ZD782 |
0506 D79B 26 05 BNE ZD7A2 |
0507 D79D C6 07 LDB #$07 |
0508 D79F 1A 01 ZD79F ORCC #$01 |
0509 D7A1 39 RTS |
0510 |
0511 D7A2 BE D4 0B ZD7A2 LDX >CURFCB |
0512 D7A5 ED 88 13 STD $13,X |
0513 D7A8 6D 88 12 TST $12,X |
0514 D7AB 26 03 BNE ZD7B0 |
0515 D7AD ED 88 11 STD $11,X |
0516 D7B0 6C 88 16 ZD7B0 INC $16,X |
0517 D7B3 26 03 BNE ZD7B8 |
0518 D7B5 6C 88 15 INC $15,X |
0519 D7B8 6D 88 17 ZD7B8 TST $17,X |
0520 D7BB 27 0B BEQ ZD7C8 |
0521 D7BD BD DC 43 JSR >ZDC43 |
0522 D7C0 25 DD BCS ZD79F |
0523 D7C2 BE D4 0B LDX >CURFCB |
0524 D7C5 EC 88 13 LDD $13,X |
0525 D7C8 BD D6 20 ZD7C8 JSR >ZD620 |
0526 D7CB 25 D2 BCS ZD79F |
0527 D7CD BE D4 0B LDX >CURFCB |
0528 D7D0 EC 88 40 LDD $40,X |
0529 D7D3 34 06 PSHS B,A |
0530 D7D5 8D B0 BSR ZD787 |
0531 D7D7 35 06 PULS B,A |
0532 D7D9 ED 84 STD ,X |
0533 D7DB 26 0A BNE ZD7E7 |
0534 D7DD 6F 02 CLR $02,X |
0535 D7DF 6F 03 CLR $03,X |
0536 D7E1 6F 04 CLR $04,X |
0537 D7E3 6F 05 CLR $05,X |
0538 D7E5 20 08 BRA ZD7EF |
0539 |
0540 D7E7 10 AE 04 ZD7E7 LDY $04,X |
0541 D7EA 31 3F LEAY -$01,Y |
0542 D7EC 10 AF 04 STY $04,X |
0543 D7EF 4F ZD7EF CLRA |
0544 D7F0 BE D4 0B LDX >CURFCB |
0545 D7F3 6C 88 21 INC $21,X |
0546 D7F6 26 03 BNE ZD7FB |
0547 D7F8 6C 88 20 INC $20,X |
0548 D7FB 5F ZD7FB CLRB |
0549 D7FC A7 88 40 ZD7FC STA $40,X |
0550 D7FF 30 01 LEAX $01,X |
0551 D801 5A DECB |
0552 D802 26 F8 BNE ZD7FC |
0553 D804 BE D4 0B LDX >CURFCB |
0554 D807 EC 88 20 LDD $20,X |
0555 D80A ED 88 42 STD $42,X |
0556 D80D 1C FE ANDCC #$FE |
0557 D80F 39 RTS |
0558 * |
0559 ** OPEN SYSTEM INFO. RECORD |
0560 * |
0561 D810 5F OPNREC CLRB |
0562 D811 34 04 PSHS B |
0563 D813 C6 03 LDB #$03 |
0564 D815 20 0E BRA ZD825 |
0565 D817 BE D4 15 LDX >ZD415 |
0566 D81A BF D4 13 STX >ZD413 |
0567 D81D F6 D4 13 OPNDIR LDB >ZD413 |
0568 D820 34 04 PSHS B |
0569 D822 F6 D4 14 LDB >ZD414 |
0570 D825 BE D4 0B ZD825 LDX >CURFCB |
0571 D828 E7 88 41 STB $41,X |
0572 D82B 35 04 PULS B |
0573 D82D E7 88 40 STB $40,X |
0574 D830 7F D4 18 CLR >ZD418 |
0575 D833 5F CLRB |
0576 D834 E7 88 22 STB $22,X |
0577 D837 39 RTS |
0578 * |
0579 ** GET INFO RECORD |
0580 * |
0581 D838 BE D4 0B GETREC LDX >CURFCB |
0582 D83B E6 88 22 LDB $22,X |
0583 D83E 26 1D BNE ZD85D |
0584 D840 BD D6 0C JSR >ZD60C |
0585 D843 25 30 BCS ZD875 |
0586 D845 BE D4 0B LDX >CURFCB |
0587 D848 7D D4 18 TST >ZD418 |
0588 D84B 26 05 BNE ZD852 |
0589 D84D DC 44 LDD <Z0044 |
0590 D84F FD D4 18 STD >ZD418 |
0591 D852 86 10 ZD852 LDA #$10 |
0592 D854 A7 88 22 STA $22,X |
0593 D857 EC 88 1E LDD $1E,X |
0594 D85A ED 88 2F STD $2F,X |
0595 D85D A6 88 22 ZD85D LDA $22,X |
0596 D860 A7 88 31 STA $31,X |
0597 D863 C6 18 LDB #$18 |
0598 D865 34 14 ZD865 PSHS X,B |
0599 D867 BD D5 F5 JSR >ZD5F5 |
0600 D86A 35 14 PULS X,B |
0601 D86C A7 04 STA $04,X |
0602 D86E 30 01 LEAX $01,X |
0603 D870 5A DECB |
0604 D871 26 F2 BNE ZD865 |
0605 D873 1C FE ANDCC #$FE |
0606 D875 39 ZD875 RTS |
0607 * |
0608 ** PUT INFORMATION RECORD |
0609 * |
0610 D876 BE D4 0B PUTREC LDX >CURFCB |
0611 D879 A6 88 31 LDA $31,X |
0612 D87C A7 88 22 STA $22,X |
0613 D87F C6 18 LDB #$18 |
0614 D881 34 14 ZD881 PSHS X,B |
0615 D883 A6 04 LDA $04,X |
0616 D885 BD D7 14 JSR >ZD714 |
0617 D888 35 14 PULS X,B |
0618 D88A 30 01 LEAX $01,X |
0619 D88C 5A DECB |
0620 D88D 26 F2 BNE ZD881 |
0621 D88F 7E D6 9F JMP >WRSECT |
0622 |
0623 D892 BE D4 0B ZD892 LDX >CURFCB |
0624 D895 A6 03 LDA $03,X |
0625 D897 A7 88 23 STA $23,X |
0626 D89A B6 D4 17 LDA >ZD417 |
0627 D89D 7D D4 1A TST >ZD41A |
0628 D8A0 26 31 BNE ZD8D3 |
0629 D8A2 A7 03 STA $03,X |
0630 D8A4 BE D4 15 LDX >ZD415 |
0631 D8A7 BF D4 13 STX >ZD413 |
0632 D8AA 8C 00 05 ZD8AA CMPX #Z0005 |
0633 D8AD 27 0C BEQ ZD8BB |
0634 D8AF 8D 22 BSR ZD8D3 |
0635 D8B1 23 37 BLS ZD8EA |
0636 D8B3 BE D4 18 LDX >ZD418 |
0637 D8B6 BF D4 13 STX >ZD413 |
0638 D8B9 20 EF BRA ZD8AA |
0639 |
0640 D8BB BE D4 0B ZD8BB LDX >CURFCB |
0641 D8BE A6 88 23 LDA $23,X |
0642 D8C1 A7 03 STA $03,X |
0643 D8C3 2A 0E BPL ZD8D3 |
0644 D8C5 BD DD BD ZD8C5 JSR >NXTDRV |
0645 D8C8 25 36 BCS ZD900 |
0646 D8CA 8D 07 BSR ZD8D3 |
0647 D8CC 23 1C BLS ZD8EA |
0648 D8CE BD DD AD JSR >ZDDAD |
0649 D8D1 20 F2 BRA ZD8C5 |
0650 |
0651 D8D3 BE D4 0B ZD8D3 LDX >CURFCB |
0652 D8D6 7F D4 1A CLR >ZD41A |
0653 D8D9 BD D5 49 JSR >ZD549 |
0654 D8DC BD D8 1D JSR >OPNDIR |
0655 D8DF BD D8 38 ZD8DF JSR >GETREC |
0656 D8E2 24 07 BCC ZD8EB |
0657 D8E4 C1 08 CMPB #$08 |
0658 D8E6 27 18 BEQ ZD900 |
0659 D8E8 1A 01 ORCC #$01 |
0660 D8EA 39 ZD8EA RTS |
0661 |
0662 D8EB BE D4 0B ZD8EB LDX >CURFCB |
0663 D8EE A6 04 LDA $04,X |
0664 D8F0 27 0C BEQ ZD8FE |
0665 D8F2 2A 02 BPL ZD8F6 |
0666 D8F4 8D 0F BSR ZD905 |
0667 D8F6 BD D5 59 ZD8F6 JSR >ZD559 |
0668 D8F9 26 E4 BNE ZD8DF |
0669 D8FB 1C FE ANDCC #$FE |
0670 D8FD 39 RTS |
0671 |
0672 D8FE 8D 05 ZD8FE BSR ZD905 |
0673 D900 1C FB ZD900 ANDCC #$FB |
0674 D902 1C FE ANDCC #$FE |
0675 D904 39 RTS |
0676 |
0677 D905 A6 88 33 ZD905 LDA $33,X |
0678 D908 26 0C BNE ZD916 |
0679 D90A EC 88 2F LDD $2F,X |
0680 D90D ED 88 32 STD $32,X |
0681 D910 A6 88 31 LDA $31,X |
0682 D913 A7 88 34 STA $34,X |
0683 D916 39 ZD916 RTS |
0684 |
0685 D917 BD D7 87 ZD917 JSR >ZD787 |
0686 D91A 26 17 BNE ZD933 |
0687 D91C 8D 18 BSR ZD936 |
0688 D91E 25 15 BCS ZD935 |
0689 D920 C6 06 LDB #$06 |
0690 D922 10 BE D4 0B LDY >CURFCB |
0691 D926 BE D4 1B LDX >ZD41B |
0692 D929 A6 A8 5D ZD929 LDA $5D,Y |
0693 D92C 31 21 LEAY $01,Y |
0694 D92E A7 80 STA ,X+ |
0695 D930 5A DECB |
0696 D931 26 F6 BNE ZD929 |
0697 D933 1C FE ZD933 ANDCC #$FE |
0698 D935 39 ZD935 RTS |
0699 |
0700 D936 BD D8 10 ZD936 JSR >OPNREC |
0701 D939 BD D6 0C JSR >ZD60C |
0702 D93C 25 08 BCS ZD946 |
0703 D93E BE D4 0B LDX >CURFCB |
0704 D941 C6 10 LDB #$10 |
0705 D943 E7 88 22 STB $22,X |
0706 D946 39 ZD946 RTS |
0707 |
0708 D947 BD D7 87 ZD947 JSR >ZD787 |
0709 D94A 8D EA BSR ZD936 |
0710 D94C 25 F8 BCS ZD946 |
0711 D94E C6 06 LDB #$06 |
0712 D950 10 BE D4 0B LDY >CURFCB |
0713 D954 BE D4 1B LDX >ZD41B |
0714 D957 A6 80 ZD957 LDA ,X+ |
0715 D959 A7 A8 5D STA $5D,Y |
0716 D95C 31 21 LEAY $01,Y |
0717 D95E 5A DECB |
0718 D95F 26 F6 BNE ZD957 |
0719 D961 BD D6 9F JSR >WRSECT |
0720 D964 24 E0 BCC ZD946 |
0721 D966 7E DB C1 JMP >ZDBC1 |
0722 * |
0723 ** |
0724 * |
0725 D969 BE D4 0B RESV1 LDX >CURFCB |
0726 D96C 86 02 LDA #$02 |
0727 D96E A7 02 STA $02,X |
0728 D970 EC 88 2F LDD $2F,X |
0729 D973 ED 88 1E STD $1E,X |
0730 D976 BD D6 41 JSR >RDSECT |
0731 D979 25 08 BCS ZD983 |
0732 D97B BD D8 76 JSR >PUTREC |
0733 D97E 24 05 BCC ZD985 |
0734 D980 7E DB C1 JMP >ZDBC1 |
0735 |
0736 D983 C6 0A ZD983 LDB #$0A |
0737 D985 39 ZD985 RTS |
0738 * |
0739 ** OPEN FOR READ |
0740 * |
0741 D986 BD D4 FA OPENRD JSR >ZD4FA |
0742 D989 25 3D BCS ZD9C8 |
0743 D98B BD D8 92 JSR >ZD892 |
0744 D98E 25 38 BCS ZD9C8 |
0745 D990 26 3B BNE ZD9CD |
0746 D992 BE D4 0B LDX >CURFCB |
0747 D995 7D D4 1A TST >ZD41A |
0748 D998 27 06 BEQ ZD9A0 |
0749 D99A A6 0F LDA $0F,X |
0750 D99C 85 20 BITA #$20 |
0751 D99E 26 29 BNE ZD9C9 |
0752 D9A0 BD DC C0 ZD9A0 JSR >ZDCC0 |
0753 D9A3 25 2A BCS ZD9CF |
0754 D9A5 EC 88 11 LDD $11,X |
0755 D9A8 ED 88 40 STD $40,X |
0756 D9AB BD DA 76 JSR >ZDA76 |
0757 D9AE E6 88 17 LDB $17,X |
0758 D9B1 27 13 BEQ ZD9C6 |
0759 D9B3 34 04 ZD9B3 PSHS B |
0760 D9B5 BD D6 0C JSR >ZD60C |
0761 D9B8 35 04 PULS B |
0762 D9BA 25 0C BCS ZD9C8 |
0763 D9BC 5A DECB |
0764 D9BD 26 F4 BNE ZD9B3 |
0765 D9BF BE D4 0B LDX >CURFCB |
0766 D9C2 5F CLRB |
0767 D9C3 E7 88 22 STB $22,X |
0768 D9C6 1C FE ZD9C6 ANDCC #$FE |
0769 D9C8 39 ZD9C8 RTS |
0770 |
0771 D9C9 C6 11 ZD9C9 LDB #$11 |
0772 D9CB 20 02 BRA ZD9CF |
0773 |
0774 D9CD C6 04 ZD9CD LDB #$04 |
0775 D9CF 34 04 ZD9CF PSHS B |
0776 D9D1 BD D5 0C JSR >ZD50C |
0777 D9D4 35 04 PULS B |
0778 D9D6 1A 01 ORCC #$01 |
0779 D9D8 39 RTS |
0780 |
0781 D9D9 BE D4 0B OPENWR LDX >CURFCB |
0782 D9DC 6D 03 TST $03,X |
0783 D9DE 2A 08 BPL ZD9E8 |
0784 D9E0 BD DD BD JSR >NXTDRV |
0785 D9E3 24 03 BCC ZD9E8 |
0786 D9E5 C6 10 LDB #$10 |
0787 D9E7 39 RTS |
0788 |
0789 D9E8 BD D4 FA ZD9E8 JSR >ZD4FA |
0790 D9EB 25 E2 BCS ZD9CF |
0791 D9ED BD D5 37 JSR >ZD537 |
0792 D9F0 BD D9 17 JSR >ZD917 |
0793 D9F3 25 DA BCS ZD9CF |
0794 D9F5 BD D8 92 JSR >ZD892 |
0795 D9F8 25 D5 BCS ZD9CF |
0796 D9FA 26 04 BNE ZDA00 |
0797 D9FC C6 03 LDB #$03 |
0798 D9FE 20 CF BRA ZD9CF |
0799 |
0800 DA00 BD DC C0 ZDA00 JSR >ZDCC0 |
0801 DA03 25 CA BCS ZD9CF |
0802 DA05 BE D4 0B LDX >CURFCB |
0803 DA08 C6 0A LDB #$0A |
0804 DA0A 6F 0F ZDA0A CLR $0F,X |
0805 DA0C 30 01 LEAX $01,X |
0806 DA0E 5A DECB |
0807 DA0F 26 F9 BNE ZDA0A |
0808 DA11 BE D4 0B LDX >CURFCB |
0809 DA14 EC 88 32 LDD $32,X |
0810 DA17 27 27 BEQ ZDA40 |
0811 DA19 ED 88 2F STD $2F,X |
0812 DA1C A6 88 34 LDA $34,X |
0813 DA1F A7 88 31 STA $31,X |
0814 DA22 FC CC 0E LDD >DATERG |
0815 DA25 ED 88 19 STD $19,X |
0816 DA28 B6 CC 10 LDA >YEAR |
0817 DA2B A7 88 1B STA $1B,X |
0818 DA2E BD DD AD JSR >ZDDAD |
0819 DA31 BD D9 69 JSR >RESV1 |
0820 DA34 25 99 BCS ZD9CF |
0821 DA36 8D 3E BSR ZDA76 |
0822 DA38 86 04 LDA #$04 |
0823 DA3A A7 88 22 STA $22,X |
0824 DA3D 1C FE ANDCC #$FE |
0825 DA3F 39 RTS |
0826 |
0827 DA40 BE D4 0B ZDA40 LDX >CURFCB |
0828 DA43 6F 88 17 CLR $17,X |
0829 DA46 6C 88 12 INC $12,X |
0830 DA49 EC 88 2F LDD $2F,X |
0831 DA4C BD D6 20 JSR >ZD620 |
0832 DA4F 25 0D BCS ZDA5E |
0833 DA51 BD D7 72 JSR >ZD772 |
0834 DA54 25 08 BCS ZDA5E |
0835 DA56 BD D6 9F JSR >WRSECT |
0836 DA59 24 06 BCC ZDA61 |
0837 DA5B BD DB C1 JSR >ZDBC1 |
0838 DA5E 7E D9 CF ZDA5E JMP >ZD9CF |
0839 |
0840 DA61 BE D4 0B ZDA61 LDX >CURFCB |
0841 DA64 EC 88 1E LDD $1E,X |
0842 DA67 ED 88 32 STD $32,X |
0843 DA6A 86 10 LDA #$10 |
0844 DA6C A7 88 34 STA $34,X |
0845 DA6F BD D9 47 JSR >ZD947 |
0846 DA72 25 EA BCS ZDA5E |
0847 DA74 20 8A BRA ZDA00 |
0848 |
0849 DA76 BE D4 0B ZDA76 LDX >CURFCB |
0850 DA79 A6 84 LDA ,X |
0851 DA7B A7 02 STA $02,X |
0852 DA7D 6F 84 CLR ,X |
0853 DA7F 6F 88 3B CLR $3B,X |
0854 DA82 4F CLRA |
0855 DA83 A7 88 22 STA $22,X |
0856 DA86 39 RTS |
0857 * |
0858 ** READ/WRITE NEXT SECTOR |
0859 * |
0860 DA87 8D 28 NXTSEC BSR ZDAB1 |
0861 DA89 25 0E BCS ZDA99 |
0862 DA8B 6F 84 CLR ,X |
0863 DA8D 44 LSRA |
0864 DA8E 10 25 FB 7A LBCS ZD60C |
0865 DA92 C6 04 LDB #$04 |
0866 DA94 E7 88 22 STB $22,X |
0867 DA97 1C FE ANDCC #$FE |
0868 DA99 39 ZDA99 RTS |
0869 |
0870 DA9A BE D4 0B ZDA9A LDX >CURFCB |
0871 DA9D A6 02 LDA $02,X |
0872 DA9F 81 83 CMPA #$83 |
0873 DAA1 26 0B BNE ZDAAE |
0874 DAA3 86 03 LDA #$03 |
0875 DAA5 A7 02 STA $02,X |
0876 DAA7 BD D6 9F ZDAA7 JSR >WRSECT |
0877 DAAA 10 25 01 13 LBCS ZDBC1 |
0878 DAAE 1C FE ZDAAE ANDCC #$FE |
0879 DAB0 39 RTS |
0880 |
0881 DAB1 8D E7 ZDAB1 BSR ZDA9A |
0882 DAB3 25 0D BCS ZDAC2 |
0883 DAB5 BE D4 0B LDX >CURFCB |
0884 DAB8 A6 02 LDA $02,X |
0885 DABA 81 03 CMPA #$03 |
0886 DABC 23 F0 BLS ZDAAE |
0887 DABE C6 12 LDB #$12 |
0888 DAC0 1A 01 ORCC #$01 |
0889 DAC2 39 ZDAC2 RTS |
0890 |
0891 DAC3 8D EC CLOSE BSR ZDAB1 |
0892 DAC5 25 31 BCS ZDAF8 |
0893 DAC7 81 02 CMPA #$02 |
0894 DAC9 27 08 BEQ ZDAD3 |
0895 DACB BE D4 0B ZDACB LDX >CURFCB |
0896 DACE 6F 02 CLR $02,X |
0897 DAD0 7E D5 0C JMP >ZD50C |
0898 |
0899 DAD3 A6 88 12 ZDAD3 LDA $12,X |
0900 DAD6 26 05 BNE ZDADD |
0901 DAD8 BD DB A7 JSR >ZDBA7 |
0902 DADB 20 19 BRA ZDAF6 |
0903 |
0904 DADD 8D C8 ZDADD BSR ZDAA7 |
0905 DADF 25 17 BCS ZDAF8 |
0906 DAE1 BE D4 0B LDX >CURFCB |
0907 DAE4 6D 88 17 TST $17,X |
0908 DAE7 27 05 BEQ ZDAEE |
0909 DAE9 BD DC 98 JSR >ZDC98 |
0910 DAEC 25 0A BCS ZDAF8 |
0911 DAEE BD D9 69 ZDAEE JSR >RESV1 |
0912 DAF1 25 05 BCS ZDAF8 |
0913 DAF3 BD D9 47 JSR >ZD947 |
0914 DAF6 24 D3 ZDAF6 BCC ZDACB |
0915 DAF8 39 ZDAF8 RTS |
0916 * |
0917 ** OPEN FOR UPDATE |
0918 * |
0919 DAF9 BD D9 86 OPENUD JSR >OPENRD |
0920 DAFC 25 28 BCS ZDB26 |
0921 DAFE BD D6 0C JSR >ZD60C |
0922 DB01 25 23 BCS ZDB26 |
0923 DB03 86 03 LDA #$03 |
0924 DB05 20 18 BRA ZDB1F |
0925 * |
0926 ** |
0927 * |
0928 DB07 BD D9 86 RESV3 JSR >OPENRD |
0929 DB0A 25 1A BCS ZDB26 |
0930 DB0C BE D4 0B LDX >CURFCB |
0931 DB0F A6 0F LDA $0F,X |
0932 DB11 85 80 BITA #$80 |
0933 DB13 26 12 BNE ZDB27 |
0934 DB15 EC 88 13 LDD $13,X |
0935 DB18 BD D6 20 JSR >ZD620 |
0936 DB1B 25 09 BCS ZDB26 |
0937 DB1D 86 02 LDA #$02 |
0938 DB1F BE D4 0B ZDB1F LDX >CURFCB |
0939 DB22 A7 02 STA $02,X |
0940 DB24 1C FE ANDCC #$FE |
0941 DB26 39 ZDB26 RTS |
0942 |
0943 DB27 C6 0B ZDB27 LDB #$0B |
0944 DB29 1A 01 ORCC #$01 |
0945 DB2B 39 RTS |
0946 * |
0947 ** RENAME FILE |
0948 * |
0949 DB2C 8D 35 RENAME BSR ZDB63 |
0950 DB2E BD D8 92 JSR >ZD892 |
0951 DB31 25 2A BCS ZDB5D |
0952 DB33 27 24 BEQ ZDB59 |
0953 DB35 BE D4 0B LDX >CURFCB |
0954 DB38 C6 0B LDB #$0B |
0955 DB3A A6 88 24 ZDB3A LDA $24,X |
0956 DB3D A7 04 STA $04,X |
0957 DB3F 30 01 LEAX $01,X |
0958 DB41 5A DECB |
0959 DB42 26 F6 BNE ZDB3A |
0960 DB44 8D 4D BSR ZDB93 |
0961 DB46 25 15 BCS ZDB5D |
0962 DB48 BE D4 0B LDX >CURFCB |
0963 DB4B A6 0F LDA $0F,X |
0964 DB4D 85 80 BITA #$80 |
0965 DB4F 26 D6 BNE ZDB27 |
0966 DB51 85 60 BITA #$60 |
0967 DB53 26 09 BNE ZDB5E |
0968 DB55 8D 0C BSR ZDB63 |
0969 DB57 20 55 BRA ZDBAE |
0970 |
0971 DB59 C6 03 ZDB59 LDB #$03 |
0972 DB5B 1A 01 ORCC #$01 |
0973 DB5D 39 ZDB5D RTS |
0974 DB5E C6 0C ZDB5E LDB #$0C |
0975 DB60 1A 01 ORCC #$01 |
0976 DB62 39 RTS |
0977 |
0978 DB63 BE D4 0B ZDB63 LDX >CURFCB |
0979 DB66 86 0B LDA #$0B |
0980 DB68 B7 D4 11 STA >ZD411 |
0981 DB6B A6 04 ZDB6B LDA $04,X |
0982 DB6D E6 88 35 LDB $35,X |
0983 DB70 A7 88 35 STA $35,X |
0984 DB73 E7 04 STB $04,X |
0985 DB75 30 01 LEAX $01,X |
0986 DB77 7A D4 11 DEC >ZD411 |
0987 DB7A 26 EF BNE ZDB6B |
0988 DB7C BE D4 0B LDX >CURFCB |
0989 DB7F A6 0C LDA $0C,X |
0990 DB81 26 0C BNE ZDB8F |
0991 DB83 C6 03 LDB #$03 |
0992 DB85 A6 88 3D ZDB85 LDA $3D,X |
0993 DB88 A7 0C STA $0C,X |
0994 DB8A 30 01 LEAX $01,X |
0995 DB8C 5A DECB |
0996 DB8D 26 F6 BNE ZDB85 |
0997 DB8F BE D4 0B ZDB8F LDX >CURFCB |
0998 DB92 39 RTS |
0999 |
1000 DB93 8D CE ZDB93 BSR ZDB63 |
1001 DB95 BD D8 92 ZDB95 JSR >ZD892 |
1002 DB98 25 07 BCS ZDBA1 |
1003 DB9A 26 06 BNE ZDBA2 |
1004 DB9C BE D4 0B LDX >CURFCB |
1005 DB9F 1C FE ANDCC #$FE |
1006 DBA1 39 ZDBA1 RTS |
1007 |
1008 DBA2 C6 04 ZDBA2 LDB #$04 |
1009 DBA4 1A 01 ORCC #$01 |
1010 DBA6 39 RTS |
1011 |
1012 DBA7 BE D4 0B ZDBA7 LDX >CURFCB |
1013 DBAA 86 FF LDA #$FF |
1014 DBAC A7 04 STA $04,X |
1015 DBAE BD D9 69 ZDBAE JSR >RESV1 |
1016 DBB1 BE D4 0B LDX >CURFCB |
1017 DBB4 86 00 LDA #$00 |
1018 DBB6 A7 02 STA $02,X |
1019 DBB8 39 RTS |
1020 |
1021 DBB9 ED 88 40 ZDBB9 STD $40,X |
1022 DBBC BD D6 9F JSR >WRSECT |
1023 DBBF 24 14 BCC ZDBD5 |
1024 DBC1 C5 40 ZDBC1 BITB #$40 |
1025 DBC3 26 08 BNE ZDBCD |
1026 DBC5 C5 80 BITB #$80 |
1027 DBC7 27 0A BEQ ZDBD3 |
1028 DBC9 C6 10 LDB #$10 |
1029 DBCB 20 06 BRA ZDBD3 |
1030 DBCD C6 0B ZDBCD LDB #$0B |
1031 DBCF 20 02 BRA ZDBD3 |
1032 |
1033 DBD1 C6 0A LDB #$0A |
1034 DBD3 1A 01 ZDBD3 ORCC #$01 |
1035 DBD5 39 ZDBD5 RTS |
1036 * |
1037 ** DELETE FILE |
1038 * |
1039 DBD6 BD D9 17 DELETE JSR >ZD917 |
1040 DBD9 25 5E BCS ZDC39 |
1041 DBDB 8D B8 BSR ZDB95 |
1042 DBDD 25 5A BCS ZDC39 |
1043 DBDF BE D4 0B LDX >CURFCB |
1044 DBE2 A6 0F LDA $0F,X |
1045 DBE4 85 80 BITA #$80 |
1046 DBE6 26 52 BNE ZDC3A |
1047 DBE8 85 60 BITA #$60 |
1048 DBEA 26 52 BNE ZDC3E |
1049 DBEC BD D7 87 JSR >ZD787 |
1050 DBEF BE D4 1B LDX >ZD41B |
1051 DBF2 EC 02 LDD $02,X |
1052 DBF4 26 0F BNE ZDC05 |
1053 DBF6 BE D4 0B LDX >CURFCB |
1054 DBF9 EC 88 11 LDD $11,X |
1055 DBFC 27 33 BEQ ZDC31 |
1056 DBFE BE D4 1B LDX >ZD41B |
1057 DC01 ED 84 STD ,X |
1058 DC03 20 14 BRA ZDC19 |
1059 |
1060 DC05 BE D4 0B ZDC05 LDX >CURFCB |
1061 DC08 BD D6 20 JSR >ZD620 |
1062 DC0B 25 2C BCS ZDC39 |
1063 DC0D BE D4 0B LDX >CURFCB |
1064 DC10 EC 88 11 LDD $11,X |
1065 DC13 27 1C BEQ ZDC31 |
1066 DC15 8D A2 BSR ZDBB9 |
1067 DC17 25 20 BCS ZDC39 |
1068 DC19 BE D4 0B ZDC19 LDX >CURFCB |
1069 DC1C EC 88 13 LDD $13,X |
1070 DC1F BE D4 1B LDX >ZD41B |
1071 DC22 ED 02 STD $02,X |
1072 DC24 BE D4 0B LDX >CURFCB |
1073 DC27 EC 88 15 LDD $15,X |
1074 DC2A BE D4 1B LDX >ZD41B |
1075 DC2D E3 04 ADDD $04,X |
1076 DC2F ED 04 STD $04,X |
1077 DC31 BD DB A7 ZDC31 JSR >ZDBA7 |
1078 DC34 25 03 BCS ZDC39 |
1079 DC36 BD D9 47 JSR >ZD947 |
1080 DC39 39 ZDC39 RTS |
1081 |
1082 DC3A C6 0B ZDC3A LDB #$0B |
1083 DC3C 20 02 BRA ZDC40 |
1084 DC3E C6 0C ZDC3E LDB #$0C |
1085 DC40 1A 01 ZDC40 ORCC #$01 |
1086 DC42 39 RTS |
1087 |
1088 DC43 EC 88 1E ZDC43 LDD $1E,X |
1089 DC46 5C INCB |
1090 DC47 E1 88 3C CMPB $3C,X |
1091 DC4A 23 03 BLS ZDC4F |
1092 DC4C C6 01 LDB #$01 |
1093 DC4E 4C INCA |
1094 DC4F 10 A3 88 13 ZDC4F CMPD $13,X |
1095 DC53 26 0E BNE ZDC63 |
1096 DC55 A6 88 37 LDA $37,X |
1097 DC58 81 FF CMPA #$FF |
1098 DC5A 27 07 BEQ ZDC63 |
1099 DC5C 4C INCA |
1100 DC5D A7 88 37 STA $37,X |
1101 DC60 1C FE ANDCC #$FE |
1102 DC62 39 RTS |
1103 |
1104 DC63 8D 33 ZDC63 BSR ZDC98 |
1105 DC65 25 30 BCS ZDC97 |
1106 DC67 BE D4 0B LDX >CURFCB |
1107 DC6A A6 88 3A LDA $3A,X |
1108 DC6D 8B 03 ADDA #$03 |
1109 DC6F 26 16 BNE ZDC87 |
1110 DC71 EC 88 1E LDD $1E,X |
1111 DC74 10 A3 88 11 CMPD $11,X |
1112 DC78 27 05 BEQ ZDC7F |
1113 DC7A C6 17 LDB #$17 |
1114 DC7C 1A 01 ORCC #$01 |
1115 DC7E 39 RTS |
1116 |
1117 DC7F EC 88 40 ZDC7F LDD $40,X |
1118 DC82 ED 88 38 ZDC82 STD $38,X |
1119 DC85 86 04 LDA #$04 |
1120 DC87 A7 88 3A ZDC87 STA $3A,X |
1121 DC8A EC 88 13 LDD $13,X |
1122 DC8D ED 88 35 STD $35,X |
1123 DC90 86 01 LDA #$01 |
1124 DC92 A7 88 37 STA $37,X |
1125 DC95 1C FE ANDCC #$FE |
1126 DC97 39 ZDC97 RTS |
1127 |
1128 DC98 EC 88 38 ZDC98 LDD $38,X |
1129 DC9B BD D6 20 JSR >ZD620 |
1130 DC9E 25 F7 BCS ZDC97 |
1131 DCA0 BE D4 0B LDX >CURFCB |
1132 DCA3 1F 12 TFR X,Y |
1133 DCA5 E6 88 3A LDB $3A,X |
1134 DCA8 3A ABX |
1135 DCA9 C6 03 LDB #$03 |
1136 DCAB A6 A8 35 ZDCAB LDA $35,Y |
1137 DCAE 31 21 LEAY $01,Y |
1138 DCB0 A7 88 40 STA $40,X |
1139 DCB3 30 01 LEAX $01,X |
1140 DCB5 5A DECB |
1141 DCB6 26 F3 BNE ZDCAB |
1142 DCB8 BD D6 9F JSR >WRSECT |
1143 DCBB 24 DA BCC ZDC97 |
1144 DCBD 7E DB C1 JMP >ZDBC1 |
1145 |
1146 DCC0 BD D8 10 ZDCC0 JSR >OPNREC |
1147 DCC3 BD D6 0C JSR >ZD60C |
1148 DCC6 25 46 BCS ZDD0E |
1149 DCC8 BE D4 0B LDX >CURFCB |
1150 DCCB 4F CLRA |
1151 DCCC 5F CLRB |
1152 DCCD ED 88 20 STD $20,X |
1153 DCD0 A6 88 67 LDA $67,X |
1154 DCD3 A7 88 3C STA $3C,X |
1155 DCD6 5F CLRB |
1156 DCD7 6F 88 40 ZDCD7 CLR $40,X |
1157 DCDA 30 01 LEAX $01,X |
1158 DCDC 5A DECB |
1159 DCDD 26 F8 BNE ZDCD7 |
1160 DCDF BE D4 0B LDX >CURFCB |
1161 DCE2 1C FE ANDCC #$FE |
1162 DCE4 39 RTS |
1163 * |
1164 ** BACKUP ONE RECORD |
1165 * |
1166 DCE5 BE D4 0B BAKREC LDX >CURFCB |
1167 DCE8 A6 88 17 LDA $17,X |
1168 DCEB 27 1D BEQ ZDD0A |
1169 DCED EC 88 20 LDD $20,X |
1170 DCF0 83 00 01 SUBD #$0001 |
1171 DCF3 2A 03 BPL ZDCF8 |
1172 DCF5 7E DD 9A JMP >ZDD9A |
1173 * |
1174 ** POSITION TO RECORD N |
1175 * |
1176 DCF8 ED 88 20 ZDCF8 STD $20,X |
1177 DCFB BD DA B1 POSREC JSR >ZDAB1 |
1178 DCFE 25 0E BCS ZDD0E |
1179 DD00 46 RORA |
1180 DD01 24 07 BCC ZDD0A |
1181 DD03 6F 84 CLR ,X |
1182 DD05 A6 88 17 LDA $17,X |
1183 DD08 26 05 BNE ZDD0F |
1184 DD0A C6 12 ZDD0A LDB #$12 |
1185 DD0C 1A 01 ORCC #$01 |
1186 DD0E 39 ZDD0E RTS |
1187 |
1188 DD0F 7F D4 11 ZDD0F CLR >ZD411 |
1189 DD12 EC 88 11 LDD $11,X |
1190 DD15 10 AE 88 20 LDY $20,X |
1191 DD19 27 6A BEQ ZDD85 |
1192 DD1B BD DD 9F JSR >ZDD9F |
1193 DD1E 25 EE BCS ZDD0E |
1194 DD20 4F CLRA |
1195 DD21 5F CLRB |
1196 DD22 6D 02 ZDD22 TST $02,X |
1197 DD24 27 74 BEQ ZDD9A |
1198 DD26 EB 02 ADDB $02,X |
1199 DD28 89 00 ADCA #$00 |
1200 DD2A BF D4 0F STX >ZD40F |
1201 DD2D BE D4 0B LDX >CURFCB |
1202 DD30 10 A3 88 20 CMPD $20,X |
1203 DD34 24 2C BCC ZDD62 |
1204 DD36 BE D4 0F LDX >ZD40F |
1205 DD39 30 03 LEAX $03,X |
1206 DD3B 34 02 PSHS A |
1207 DD3D B6 D4 11 LDA >ZD411 |
1208 DD40 4C INCA |
1209 DD41 B7 D4 11 STA >ZD411 |
1210 DD44 81 54 CMPA #$54 |
1211 DD46 27 08 BEQ ZDD50 |
1212 DD48 81 A8 CMPA #$A8 |
1213 DD4A 35 02 PULS A |
1214 DD4C 27 4C BEQ ZDD9A |
1215 DD4E 20 D2 BRA ZDD22 |
1216 |
1217 DD50 34 04 ZDD50 PSHS B |
1218 DD52 BE D4 0B LDX >CURFCB |
1219 DD55 EC 88 40 LDD $40,X |
1220 DD58 8D 45 BSR ZDD9F |
1221 DD5A 25 3E BCS ZDD9A |
1222 DD5C 35 04 PULS B |
1223 DD5E 35 02 PULS A |
1224 DD60 20 C0 BRA ZDD22 |
1225 |
1226 DD62 A3 88 20 ZDD62 SUBD $20,X |
1227 DD65 BE D4 0F LDX >ZD40F |
1228 DD68 A6 02 LDA $02,X |
1229 DD6A 34 04 PSHS B |
1230 DD6C A0 E0 SUBA ,S+ |
1231 DD6E 4A DECA |
1232 DD6F 1F 89 TFR A,B |
1233 DD71 A6 84 LDA ,X |
1234 DD73 EB 01 ADDB $01,X |
1235 DD75 BE D4 0B LDX >CURFCB |
1236 DD78 25 05 BCS ZDD7F |
1237 DD7A E1 88 3C ZDD7A CMPB $3C,X |
1238 DD7D 23 06 BLS ZDD85 |
1239 DD7F E0 88 3C ZDD7F SUBB $3C,X |
1240 DD82 4C INCA |
1241 DD83 20 F5 BRA ZDD7A |
1242 |
1243 DD85 BD D6 20 ZDD85 JSR >ZD620 |
1244 DD88 25 14 BCS ZDD9E |
1245 DD8A BE D4 0B LDX >CURFCB |
1246 DD8D EC 88 42 LDD $42,X |
1247 DD90 10 A3 88 20 CMPD $20,X |
1248 DD94 27 14 BEQ ZDDAA |
1249 DD96 C6 19 LDB #$19 |
1250 DD98 20 02 BRA ZDD9C |
1251 |
1252 DD9A C6 18 ZDD9A LDB #$18 |
1253 DD9C 1A 01 ZDD9C ORCC #$01 |
1254 DD9E 39 ZDD9E RTS |
1255 |
1256 DD9F BD D6 20 ZDD9F JSR >ZD620 |
1257 DDA2 25 08 BCS ZDDAC |
1258 DDA4 BE D4 0B LDX >CURFCB |
1259 DDA7 C6 44 LDB #$44 |
1260 DDA9 3A ABX |
1261 DDAA 1C FE ZDDAA ANDCC #$FE |
1262 DDAC 39 ZDDAC RTS |
1263 |
1264 DDAD BE D4 0B ZDDAD LDX >CURFCB |
1265 DDB0 C6 0B LDB #$0B |
1266 DDB2 A6 88 24 ZDDB2 LDA $24,X |
1267 DDB5 A7 04 STA $04,X |
1268 DDB7 30 01 LEAX $01,X |
1269 DDB9 5A DECB |
1270 DDBA 26 F6 BNE ZDDB2 |
1271 DDBC 39 RTS |
1272 * |
1273 ** FIND NEXT DRIVE |
1274 * |
1275 DDBD BE D4 0B NXTDRV LDX >CURFCB |
1276 DDC0 A6 03 LDA $03,X |
1277 DDC2 4C INCA |
1278 DDC3 81 04 CMPA #$04 |
1279 DDC5 24 0F BCC ZDDD6 |
1280 DDC7 A7 03 STA $03,X |
1281 DDC9 26 05 BNE ZDDD0 |
1282 DDCB BD DE 0F JSR >DRVRDY |
1283 DDCE 20 03 BRA ZDDD3 |
1284 |
1285 DDD0 BD DE 12 ZDDD0 JSR >QUICK |
1286 DDD3 25 E8 ZDDD3 BCS NXTDRV |
1287 DDD5 39 RTS |
1288 |
1289 DDD6 C6 10 ZDDD6 LDB #$10 |
1290 DDD8 1A 01 ORCC #$01 |
1291 DDDA 39 RTS |
0011 END |
0000 INCLUDE "f9-dskio.txt" |
0001 * |
0002 ** FLEX 9 DISK DRIVERS |
0003 ** FOR SINGLE/DOUBLE SIDED 5" DRIVES ONLY. |
0004 ** USING FD1771. |
0005 ** SIDES MAY BE TREATED AS SEPERATE DISKS. |
0006 ** |
0007 ** BY J.E.KENT 1 JAN 1982 |
0008 * |
0009 * |
0010 ** F.D. CONTROLLER |
0011 * |
0012 E014 DRVREG EQU $E014 |
0013 0080 MOTOR EQU %10000000 |
0014 0040 SIDESL EQU %01000000 |
0015 0001 DRIVSL EQU %00000001 |
0016 E018 CMDREG EQU $E018 |
0017 E019 TRKREG EQU $E019 |
0018 E01A SECREG EQU $E01A |
0019 E01B DATREG EQU $E01B |
0020 * |
0021 ** FD1771 DISK CONTROLLER INSTRUCTIONS |
0022 * |
0023 ** TYPE I INSTRUCTIONS: |
0024 * |
0025 0000 IREST EQU $00 RESTORE (SEEK TRACK 0) |
0026 0010 ISEEK EQU $10 SEEK TRACK |
0027 0020 ISTEP EQU $20 STEP ONE TRACK (IN/OUT) |
0028 0040 ISTIN EQU $40 STEP IN ONE TRACK |
0029 0060 ISTOUT EQU $60 STEP OUT ONE TRACK |
0030 * |
0031 ** BIT FIELDS FOR TYPE I INSTRUCTIONS |
0032 * |
0033 0000 SMR6 EQU $00 6MSEC STEPPING RATE |
0034 0001 SMR12 EQU $01 12 MSEC STEPPING RATE |
0035 0002 SMR20 EQU $02 20 MSEC |
0036 0003 SMR40 EQU $03 40 MSEC |
0037 * |
0038 0004 BVERIF EQU $04 VERIFY BIT (1=ON) |
0039 0008 BHDLD EQU $08 HEAD LOAD (1=LOAD HEAD AT BEGINING) |
0040 0010 BUPDAT EQU $10 UPDATE TRACK REGISTER (1=TRUE) |
0041 * |
0042 ** TYPE II INSTRUCTIONS |
0043 * |
0044 0080 IREAD EQU $80 READ SECTOR |
0045 00A0 IWRITE EQU $A0 WRITE SECTOR |
0046 * |
0047 ** BIT FIELD FOR TYPE II |
0048 * |
0049 0000 BDAMFB EQU $00 $FB DATA ADDRESS MARK |
0050 0001 BDAMFA EQU $01 $FA DATA ADDREES MARK |
0051 0002 BDAMF9 EQU $02 $F9 DATA ADDRESS MARK |
0052 0003 BDAMF8 EQU $03 $F8 DATA ADDRESS MARK |
0053 0004 BEHLD EQU $04 ENABLE HLD & 10 MSEC DELAY (1=ACTIVE) |
0054 0008 BBLEN EQU $08 BLOCK LENGTH (1=IBM FORMAT 128 - 1024 BYTES) |
0055 0010 BMREC EQU $10 MULTIPLE RECORD (0=SINGLE, 1=MULTIPLE) |
0056 * |
0057 ** TYPE III INSTRUCTIONS |
0058 * |
0059 00C4 IRDADD EQU $C4 READ ADDRESS |
0060 00E4 IRDTRK EQU $E4 READ TRACK |
0061 00F4 IWRTRK EQU $F4 WRITE TRACK |
0062 * |
0063 ** BIT FIELD TYPE III (READ TRACK ONLY) |
0064 * |
0065 0001 BSYNC EQU $01 SYNCRONIZE FLAG (0=SYNC TO AM) |
0066 * |
0067 ** TYPE IV NSTRUCTION |
0068 * |
0069 00D0 IFINTR EQU $D0 FORCE INTERRUPT |
0070 * |
0071 ** FORCED INTERRUPT BITS (TYPE IV INSTRUCTION) |
0072 * |
0073 0001 FI0 EQU $01 NOT READY TO READY TRANSITION |
0074 0002 FI1 EQU $02 READY TO NOT READY TRANSITION |
0075 0004 FI2 EQU $04 INDEX PULSE |
0076 0008 FI3 EQU $08 EVERY 10 MSEC |
0077 * |
0078 ** DISK DRIVER PATCHES |
0079 * |
0080 DE00 ORG $DE00 |
0081 * |
0082 ** JUMP TABLE TO DISK DRIVERS |
0083 * |
0084 DE00 7E DE 37 READ JMP READSC |
0085 DE03 7E DE D8 WRITE JMP WRITSC |
0086 DE06 7E DF 05 VERIFY JMP VERIF1 |
0087 DE09 7E DF 17 RESTOR JMP RESTR1 |
0088 DE0C 7E DF 35 DRIVE JMP DRVSEL |
0089 DE0F 7E DF 60 DRVRDY JMP CHKDRV |
0090 DE12 7E DF 60 QUICK JMP CHKDRV |
0091 DE15 7E DE 2C COLDDR JMP INITDR |
0092 DE18 7E DE 36 WARMDR JMP WARMD1 |
0093 DE1B 7E DE 6B SEEK JMP SEEK1 |
0094 * |
0095 ** CURRNT DRIVE NUMBER ($DE1E) |
0096 * |
0097 DE1E 00 CURDRV FCB $00 |
0098 * |
0099 ** HEAD POSITION TABLE ($DE1F) |
0100 * |
0101 DE1F 00 TRKTBL FCB $00 DRIVE 0 |
0102 DE20 00 FCB $00 DRIVE 1 |
0103 DE21 00 FCB $00 DRIVE 2 |
0104 DE22 00 FCB $00 DRIVE 3 |
0105 * |
0106 ** ??? ($DE23) |
0107 * |
0108 DE23 00 FCB 0 |
0109 * |
0110 ** DENSITY TABLE: ($DE24) |
0111 ** HOLDS SECTORS/TRACK FOR DRIVE |
0112 ** 5" SINGLE DENSITY => 10 SECTORS/TRACK |
0113 * |
0114 DE24 0A 0A 0A 0A DNSTBL FCB 10,10,10,10 ALL MINIS |
0115 * |
0116 ** DRIVE & DISK CHARACTERISTICS |
0117 * |
0118 * BITS 1,0 STEPPING RATES |
0119 * BIT 2 TRACKS/DISK (0=40 TRACK, 1=80 TRACK) |
0120 * BIT 3 TRACKS/DRIVE (0=40 TRACK, 1=80 TRACK) |
0121 * |
0122 0008 BDVTPI EQU $08 |
0123 0004 BDKTPI EQU $04 |
0124 DE28 DDCTBL EQU * |
0125 DE28 0C FCB BDVTPI+BDKTPI+SMR6 |
0126 DE29 0C FCB BDVTPI+BDKTPI+SMR6 |
0127 DE2A 03 FCB SMR40 |
0128 DE2B 03 FCB SMR40 |
0129 * |
0130 ** DISK DRIVERS |
0131 * |
0132 * DRIVER INITIATION |
0133 * |
0134 DE2C 8E DE 1E INITDR LDX #CURDRV |
0135 DE2F C6 05 LDB #5 |
0136 DE31 6F 80 INITD2 CLR ,X+ |
0137 DE33 5A DECB |
0138 DE34 26 FB BNE INITD2 |
0139 DE36 39 WARMD1 RTS |
0140 * |
0141 * READ ONE SECTOR |
0142 * |
0143 DE37 8D 32 READSC BSR SEEK1 |
0144 DE39 86 8C LDA #IREAD+BBLEN+BEHLD |
0145 DE3B 1A 10 READ2 ORCC #$10 |
0146 * SEI DISABLE INTERRUPTS |
0147 DE3D B7 E0 18 STA CMDREG |
0148 DE40 17 01 36 LBSR DLY47 |
0149 DE43 C6 00 LDB #$00 |
0150 DE45 B6 E0 18 RDLOOP LDA CMDREG |
0151 DE48 85 02 BITA #$02 |
0152 DE4A 26 08 BNE RDBYTE |
0153 DE4C 85 01 BITA #$01 |
0154 DE4E 26 F5 BNE RDLOOP |
0155 DE50 1F 89 TFR A,B |
0156 DE52 20 0A BRA RDEXIT |
0157 * |
0158 DE54 B6 E0 1B RDBYTE LDA DATREG |
0159 DE57 A7 80 STA ,X+ |
0160 DE59 5A DECB |
0161 DE5A 26 E9 BNE RDLOOP |
0162 DE5C 8D 05 BSR WAIT |
0163 DE5E C5 1C RDEXIT BITB #$1C |
0164 DE60 1C EF ANDCC #$EF |
0165 * CLI |
0166 DE62 39 RTS |
0167 * |
0168 ** WAIT UNTIL CONTROLLER READY |
0169 * |
0170 DE63 F6 E0 18 WAIT LDB CMDREG |
0171 DE66 C5 01 BITB #$01 |
0172 DE68 26 F9 BNE WAIT |
0173 DE6A 39 RTS |
0174 * |
0175 ** SEEK1 TRACK AND SECTOR |
0176 ** ACCA = TRACK NUMBER |
0177 ** ACCB = SECTOR NUMBER |
0178 * |
0179 DE6B F7 E0 1A SEEK1 STB SECREG SET SECTOR |
0180 DE6E C1 0A CMPB #10 DOUBLE-SIDED ? |
0181 DE70 22 0B BHI SEEK2 DOUBLE SIDED, FLIP |
0182 DE72 F6 DE 1E LDB CURDRV BACK SIDE OF DISK ? |
0183 DE75 C1 01 CMPB #1 DRIVE 2-3 BACK SIDE |
0184 DE77 22 07 BHI SEEK3 |
0185 DE79 C4 BF ANDB #$FF-SIDESL SELECT SIDE 0 |
0186 DE7B 20 07 BRA SEEK4 |
0187 * |
0188 DE7D F6 DE 1E SEEK2 LDB CURDRV SELECT SIDE 1 |
0189 DE80 C4 01 SEEK3 ANDB #DRIVSL |
0190 DE82 CA 40 ORB #SIDESL |
0191 DE84 F7 E0 14 SEEK4 STB DRVREG |
0192 * |
0193 DE87 B1 E0 19 CMPA TRKREG DIFFERENT TO LAST ? |
0194 DE8A 27 49 BEQ FOUND |
0195 DE8C 34 02 PSHS A SAVE TRACK NO. ON STACK |
0196 * |
0197 * IF 80 TRACK DRIVE, & 40 TRACK DISK, FIRST SEEK |
0198 * SHOULD NOT UPDATE TRACK REGISTER NOR VERIFY. |
0199 * |
0200 DE8E B0 E0 19 SUBA TRKREG CALC. DIFFERENCE |
0201 DE91 1F 89 TFR A,B |
0202 DE93 34 20 PSHS Y |
0203 * |
0204 ** GET STEPPING RATE FROM TABLE |
0205 * |
0206 DE95 10 8E DE 28 LDY #DDCTBL |
0207 DE99 B6 DE 1E LDA CURDRV |
0208 DE9C 84 01 ANDA #$01 |
0209 DE9E A6 A6 LDA A,Y |
0210 DEA0 35 20 PULS Y |
0211 * |
0212 ** CHECK DRIVE AND DISK TYPE |
0213 * |
0214 DEA2 85 08 BITA #BDVTPI DRIVE TRACK DENSITY = 48 TPI ? |
0215 DEA4 27 19 BEQ SEEKVU YES, SKIP |
0216 DEA6 85 04 BITA #BDKTPI DISK TRACK DENSITY = 96 TPI ? |
0217 DEA8 26 15 BNE SEEKVU YES, SKIP (DRIVE & DISK MATCH) |
0218 * |
0219 ** HERE IF 40TRACK DISK IN 80 TRACK DRIVE |
0220 ** USE STEP INSTRUCTIONS TO PREVENT UPDATE OF TRACK REG. |
0221 * |
0222 DEAA 84 03 ANDA #$03 LEAVE STEPPING RATE BITS |
0223 DEAC 5D TSTB |
0224 DEAD 2A 05 BPL STEPIN |
0225 DEAF 50 NEGB |
0226 DEB0 8A 60 ORA #ISTOUT |
0227 DEB2 20 02 BRA STEPLP |
0228 DEB4 8A 40 STEPIN ORA #ISTIN |
0229 DEB6 34 04 STEPLP PSHS B |
0230 DEB8 8D 11 BSR SEEK5 |
0231 DEBA 35 04 PULS B |
0232 DEBC 5A DECB |
0233 DEBD 26 F7 BNE STEPLP |
0234 * |
0235 ** SEEK TRACK WITH VERIFY & UPDATE |
0236 * |
0237 DEBF 84 03 SEEKVU ANDA #$03 RETAIN STEPPING RATE |
0238 DEC1 8A 18 ORA #ISEEK+BHDLD ($18) |
0239 DEC3 35 04 PULS B RESTORE DEST TRACK NO. |
0240 DEC5 F7 E0 1B STB DATREG YES, SEEK1 NEW TRACK |
0241 DEC8 17 00 AE LBSR DLY47 |
0242 DECB B7 E0 18 SEEK5 STA CMDREG |
0243 DECE 17 00 A8 LBSR DLY47 |
0244 DED1 8D 90 BSR WAIT |
0245 DED3 C5 10 BITB #$10 CHECK FOR SEEK1 ERROR |
0246 DED5 7E DF 79 FOUND JMP DLY47 |
0247 * |
0248 ** WRITE SECTOR TO DISK |
0249 * |
0250 DED8 8D 91 WRITSC BSR SEEK1 |
0251 DEDA 86 AC LDA #IWRITE+BBLEN+BEHLD ($AC) |
0252 DEDC 1A 10 WRITE2 ORCC #$10 |
0253 * SEI |
0254 DEDE B7 E0 18 STA CMDREG |
0255 DEE1 17 00 95 LBSR DLY47 |
0256 DEE4 C6 00 LDB #$00 |
0257 DEE6 B6 E0 18 WRLOOP LDA CMDREG |
0258 DEE9 85 02 BITA #$02 |
0259 DEEB 26 08 BNE WRBYTE |
0260 DEED 85 01 BITA #$01 |
0261 DEEF 26 F5 BNE WRLOOP |
0262 DEF1 1F 89 TFR A,B |
0263 DEF3 20 0B BRA WREXIT |
0264 * |
0265 DEF5 A6 80 WRBYTE LDA ,X+ |
0266 DEF7 B7 E0 1B STA DATREG |
0267 DEFA 5A DECB |
0268 DEFB 26 E9 BNE WRLOOP |
0269 DEFD 17 FF 63 LBSR WAIT |
0270 DF00 C5 5C WREXIT BITB #$5C |
0271 DF02 1C EF ANDCC #$EF |
0272 * CLI |
0273 DF04 39 RTS |
0274 * |
0275 ** VERIFY SECTOR WRITTEN |
0276 * |
0277 DF05 86 8C VERIF1 LDA #IREAD+BBLEN+BEHLD ($8C) |
0278 DF07 1A 10 VERIF2 ORCC #$10 |
0279 * SEI |
0280 DF09 B7 E0 18 STA CMDREG |
0281 DF0C 17 00 6A LBSR DLY47 |
0282 DF0F 17 FF 51 LBSR WAIT |
0283 DF12 1C EF ANDCC #$EF |
0284 * CLI |
0285 DF14 C5 18 BITB #$18 |
0286 DF16 39 RTS |
0287 * |
0288 ** SEEK TRACK ZERO |
0289 * |
0290 DF17 34 10 RESTR1 PSHS X |
0291 DF19 8D 1A BSR DRVSEL |
0292 DF1B 8E DE 28 LDX #DDCTBL |
0293 DF1E B6 DE 1E LDA CURDRV |
0294 DF21 84 01 ANDA #1 |
0295 DF23 A6 86 LDA A,X |
0296 DF25 84 03 ANDA #$03 |
0297 DF27 8A 08 ORA #IREST+BHDLD |
0298 DF29 B7 E0 18 STA CMDREG |
0299 DF2C 8D 4B BSR DLY47 |
0300 DF2E 17 FF 32 LBSR WAIT |
0301 DF31 C5 D8 BITB #$D8 CHECK FOR ERROR |
0302 DF33 35 90 PULS X,PC |
0303 * |
0304 ** SELECT DRIVE |
0305 ** IX -> FCB |
0306 ** ACCA = NEW DRIVE NUMBER |
0307 * |
0308 * SAVE OLD TRACK NUMBER IN TABLE |
0309 * AND SET UP TRACK FOR NEW DRIVE |
0310 * |
0311 * |
0312 DF35 A6 03 DRVSEL LDA 3,X |
0313 DF37 81 03 CMPA #3 |
0314 DF39 23 05 BLS DRSEL1 |
0315 DF3B C6 0F LDB #$0F SET ERROR VALUE |
0316 * SEC |
0317 DF3D 1A 01 ORCC #$01 |
0318 DF3F 39 RTS |
0319 * |
0320 * SAVE TRACK POSITION OF PREVIOUS DRIVE |
0321 * |
0322 DF40 8D 2D DRSEL1 BSR PNTDRV |
0323 DF42 F6 E0 19 LDB TRKREG |
0324 DF45 E7 84 STB ,X |
0325 * |
0326 * SELECT NEW DRIVE |
0327 * |
0328 DF47 B7 DE 1E DRSEL3 STA CURDRV MAY BE 0 - 3 |
0329 DF4A 81 01 CMPA #1 |
0330 DF4C 23 04 BLS DRSEL4 ONE DIRECTORY ? |
0331 DF4E 84 01 ANDA #DRIVSL ROUND OFF |
0332 DF50 8A 40 ORA #SIDESL SELECT SIDE 1 |
0333 DF52 B7 E0 14 DRSEL4 STA DRVREG |
0334 * |
0335 * RESTORE LAST TRACK POSITION FOR THIS DRIVE |
0336 * |
0337 DF55 8D 18 BSR PNTDRV |
0338 DF57 A6 84 LDA ,X |
0339 DF59 B7 E0 19 STA TRKREG |
0340 DF5C 8D 1B BSR DLY47 |
0341 DF5E 20 0B BRA OK |
0342 * |
0343 ** CHECK IF DRIVE READY |
0344 * |
0345 DF60 A6 03 CHKDRV LDA 3,X |
0346 DF62 81 03 CMPA #3 |
0347 DF64 23 05 BLS OK |
0348 DF66 C6 80 LDB #$80 |
0349 * SEC |
0350 DF68 1A 01 ORCC #$01 |
0351 DF6A 39 RTS |
0352 |
0353 DF6B 5F OK CLRB |
0354 * CLC |
0355 DF6C 1C FE ANDCC #$FE |
0356 DF6E 39 RTS |
0357 * |
0358 * POINT TO TRACK TABLE ENTRY FOR THIS DRIVE |
0359 * |
0360 DF6F 8E DE 1F PNTDRV LDX #TRKTBL |
0361 DF72 F6 DE 1E LDB CURDRV |
0362 DF75 C4 01 ANDB #DRIVSL |
0363 DF77 3A ABX |
0364 DF78 39 RTS |
0365 * |
0366 ** DELAY ROUTINE |
0367 * |
0368 DF79 17 00 00 DLY47 LBSR DLY19 |
0369 DF7C 17 00 00 DLY19 LBSR DLY5US |
0370 DF7F 39 DLY5US RTS |
0012 END |
0013 END COLDS |
Program + Init Data = 5328 bytes |
Error count = 0 |
/branches/before_delete/src/flex9/flex9ide.sh
0,0 → 1,3
../../Tools/as09/as09.exe flex9ide.asm -l > flex9ide.lst |
../../Tools/epedit/epedit.exe flex9ide.aux |
|
/branches/before_delete/src/flex9/FLEX9IDE.S19
0,0 → 1,170
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC |
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3 |
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712 |
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC |
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC |
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B |
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332 |
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2 |
S106C8007ECCE403 |
S113C840FF000000535441525455500054585400B2 |
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14 |
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648 |
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78 |
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75 |
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054 |
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9 |
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981 |
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B |
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E |
S11ECC200000000000000000000000BFFF000001000000000000000000000036 |
S104CC496086 |
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E |
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296 |
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08 |
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5 |
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8 |
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460 |
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB |
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887 |
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003 |
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF |
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7 |
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058 |
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F |
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF |
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2 |
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4 |
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6 |
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63 |
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B |
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7 |
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9 |
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE |
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316 |
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF |
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B |
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2 |
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD |
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42 |
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477 |
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1 |
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B |
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51 |
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475 |
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5 |
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3 |
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D |
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886 |
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB |
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A |
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71 |
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7 |
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B |
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902 |
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0 |
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2 |
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D |
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8 |
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906 |
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634 |
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1 |
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453 |
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC |
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3 |
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD |
S10FD360674552524F525300005359537A |
S106CCC07ED370AC |
S106CCD87ED37094 |
S106CCE47ED37088 |
S10BCCF801000000000000002F |
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672 |
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF |
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217 |
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3 |
S111D4454D5320434F4E53554C54414E5453B7 |
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631 |
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2 |
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE |
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676 |
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09 |
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0 |
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D |
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405 |
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137 |
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404 |
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA |
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677 |
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3 |
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1 |
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166 |
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9 |
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6 |
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F |
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489 |
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C |
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28 |
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168 |
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49 |
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488 |
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9 |
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A |
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E |
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D |
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2 |
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850 |
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0 |
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B |
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711 |
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1 |
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15 |
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB |
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442 |
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3 |
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851 |
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70 |
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01 |
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF |
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9 |
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447 |
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523 |
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03 |
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5 |
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4 |
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7 |
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF |
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B |
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50 |
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829 |
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3 |
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B |
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB |
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F |
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5 |
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7 |
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0 |
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8 |
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7 |
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29 |
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8 |
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B |
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D |
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780 |
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF |
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B |
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355 |
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D |
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB |
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73 |
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D |
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F |
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F |
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819 |
S109DDD539C6101A0139E1 |
S123DE007EDE537EDE747EDE967EDE337EDE987EDEA47EDEA47EDE1F7EDE527EDE3800CC81 |
S123DE200006FDE11ECC0002FDE11ECC00E0FDE10C20758D634FC6015A34024FFDE106E638 |
S123DE40E4FDE108F6DE1EFDE10AC601FDE10435025F398DE3CC0020FDE10E8D4B3420101E |
S123DE608E01008D52FCE100E780313F26F535208D365F398DC2CC0030FDE10E8D2A34206F |
S123DE80108E01004F8D30E680FDE100313F26F535208D145F395F39A603810323014FB787 |
S122DEA0DE1E5F39A6035F39FCE10EC58026F9FCE10EC54027F239FCE10EC50827F939E8 |
S9030000FC |
/branches/before_delete/src/flex9/flex9cf8.aux
0,0 → 1,9
t m |
l FLEX9CF8.S19 |
t h |
s flex9_cf8_b16_0.vhd c000 c7ff |
s flex9_cf8_b16_1.vhd c800 cfff |
s flex9_cf8_b16_2.vhd d000 d7ff |
s flex9_cf8_b16_3.vhd d800 dfff |
q |
|
/branches/before_delete/src/flex9/f9-spool.txt
0,0 → 1,134
* |
** PRINTER SPOOLING |
* |
ORG $C700 |
PRSPL1 JMP ZC721 |
PRSPL2 JMP * |
PRSPL3 JMP ZC747 |
PRSPL4 JMP ZC785 |
PRSPL5 JMP ZC795 |
PRSPL6 JMP ZC71F |
* |
** SPOOLER SCRATCH AREA |
* |
ZC712 FCB $0C,$00,$00,$00,$00,$C8,$10 |
ZC719 FCB $C8,$10 |
QCNT FCB $00 |
ZC71C FCB $00 |
ZC71D FCB $00 |
ZC71E FCB $00 |
* |
ZC71F RTI |
NOP |
* |
ZC721 ORCC #$10 |
LDX ZCC31 |
STS 2,X |
TST ZCC34 |
BNE ZC73F |
LDX #ZCCFC |
INC ZCC34 |
TST ,X |
BEQ ZC73F |
ZC738 STX ZCC31 |
LDS $02,X |
RTI |
* |
ZC73F LDX #ZCCF8 |
CLR ZCC34 |
BRA ZC738 |
* |
ZC747 ORCC #$10 |
TST QCNT |
BEQ ZC777 |
LDX ZC719 |
LDA ,X |
PSHS A |
LDD $01,X |
LDX #ZCAC0 |
STD $40,X |
PULS A |
STA $03,X |
CLR ,X |
LDA #$01 |
STA $02,X |
CLR $22,X |
CLR $3B,X |
ZC76D TST ZC71E |
BEQ ZC79B |
SWI3 |
NOP |
BRA ZC76D |
* |
ZC777 ANDCC #$EF |
ZC779 JSR [TOFVEC] |
CLR ZCCFC |
SWI3 |
NOP |
BRA ZC779 |
* |
ZC785 ORCC #$10 |
TST ZCC30 |
BEQ ZC791 |
SWI3 |
NOP |
BRA ZC785 |
* |
ZC791 INC ZCC30 |
RTS |
* |
ZC795 CLR ZCC30 |
ANDCC #$EF |
RTS |
* |
ZC79B TST ZC71D |
BNE ZC7C7 |
LDX #ZCAC0 |
JSR FMS |
BNE ZC7C7 |
TST ZC71C |
BEQ ZC7BC |
CLR ZC71C |
CMPA #$0A |
BEQ ZC7C3 |
PSHS A |
LDA #$0A |
BSR ZC7F6 |
PULS A |
ZC7BC CMPA #$0D |
BNE ZC7C3 |
STA ZC71C |
ZC7C3 BSR ZC7F6 |
BRA ZC79B |
* |
ZC7C7 LDA #$0D |
BSR ZC7F6 |
LDA #$0A |
BSR ZC7F6 |
LDA ZC712 |
BSR ZC7F6 |
CLR ZC71D |
LDX ZC719 |
TST $03,X |
BEQ ZC7E3 |
DEC $03,X |
JMP ZC747 |
* |
ZC7E3 LEAX $04,X |
CMPX #FCB |
BNE ZC7ED |
LDX #ZC810 |
ZC7ED STX ZC719 |
DEC QCNT |
JMP ZC747 |
* |
ZC7F6 JSR PCHK |
BMI ZC800 |
SWI3 |
NOP |
BRA ZC7F6 |
* |
ZC800 JMP POUT |
ZC810 EQU $C810 |
ZC838 EQU $C838 |
END |
/branches/before_delete/src/flex9/f9-dkram.txt
0,0 → 1,192
* |
** FLEX 9 DISK DRIVERS |
* |
* FOR SYS09BUG ON THE DIGILENT SPARTAN 3 STARTER BOARD |
* WITH I/O MAPPED AT $XE000 |
* AND ROM MAPPED AT $XF000 |
* THE DIGILENT SPARTAN 3 STARTER BOARD HAS 1MBYTE OF SRAM |
* THE FIRST 64K IS USED BY FLEX, |
* THE SECOND 192K IS USED AS A ROM DISK |
* THE REMAINING RAM IS USED FOR A RAM DISK |
* |
* These drivers should also work on the B5-X300 board |
* although there is only enough room for the ROM Disk. |
* |
IMASK EQU $10 IRQ MASK CC |
FMASK EQU $40 FIRQ MASK CC |
TRPAGE EQU $0E PAGE $E000 DAT ADDRESS |
DATREG EQU $FFF0 DAT REGISTERS |
ORG $DE00 |
* |
* DISK DRIVER JUMP TABLE LAST UPDATE: 22/12/2006 |
* Disk driver for RAM Disk. |
* |
* 14 SECTORS PER TRACK |
* 16 * N TRACKS PER DISK |
* |
* ROM DISK OCCUPIES $10000 - $1E000, $20000 - $2E000, $30000 - $3E000 |
* RAM DISK OCCUPIES $40000 - $4E000 ... $F0000 - $FE000 |
* Track Buffer page mapped at $E000 - $EFFF |
* TRPAGE = $0E = 14 x $1000 (4 K pages) |
* LEAST SIGNIFICANT NYBBLE OF THE DAT IS INVERTED |
* ON SWTPC ROM AT $XF000 AND IO AT $XE000 |
* APPEARS THROUGHOUT THE MEMORY SO MUST BE SKIPPED OVER |
* WHEN USING RAM AS A RAMDISK. |
* THE MSN OF THE TRACK MAPS INTO THE MSN OF THE DAT |
* THE LSN OF THE TRACK NUMBER INDEXES INTO THE 4K RAM PAGE |
* THE SECTOR MAPS INTO THE LSN OF THE DAT WHICH IS INVERTED |
* |
* |
READ JMP READSC |
WRITE JMP WRITSC |
VERIFY JMP BUSY |
RESTOR JMP RESTR1 |
DRIVE JMP DRVSEL |
DRVRDY JMP CHKDRV |
QUICK JMP CHKDRV |
COLDDR JMP INITDR |
WARMDR JMP WARMD1 |
SEEK JMP SEEKTS |
* |
* RAM SPACE |
* |
WRKDR FDB 0 |
WRKTR FDB 0,0,0,0 |
SECPTR FDB 0 |
TRKCNT FCB 0 |
SECCNT FCB 0 |
VERERR FCB 0 |
CCSAVE FCB 0 |
* |
DRVBAS FCB $10 DRIVE 0 |
FCB $40 DRIVE 1 |
FCB $40 DRIVE 2 |
FCB $40 DRIVE 3 |
* |
INITDR RTS |
WARMD1 RTS |
* |
* Seek track and sector |
* A holds track number (0-32) |
* B holds sector number (1-14) |
* |
SEEKTS STA TRKCNT |
STB SECCNT |
ANDCC #$FE ; CLEAR CARRY |
ORCC #$40 ; SET Z |
RTS |
* |
* MAP RAM DISK INTO I/O SPACE |
* |
MAPIN TFR CC,A ; Save state of interrupt masks |
STA CCSAVE |
ORCC #FMASK+IMASK ; Mask interrupts while IO mapped out |
LDA TRKCNT |
LDU #DRVBAS ; Point to Drive base offset |
LDB WRKDR ; Get working drive number |
ADDA B,U ; Add Base offset into RAM |
ANDA #$F0 ; Mask MSN |
STA ,-S ; Save A on stack |
* |
LDA SECCNT |
SUBA #1 ; Sectors 1 to 14 => 0 to 13 |
EORA #$0F ; Complement LSNybble |
ANDA #$0F |
* |
ADDA ,S+ ; Add sector to LSN of Track and pop |
STA DATREG+TRPAGE |
* |
LDA TRKCNT ; LSN of Track indexes into 4K page |
ANDA #$0F |
ADDA #TRPAGE*16 |
STA SECPTR |
CLR SECPTR+1 |
LDU SECPTR |
RTS |
* |
* MAP RAM DISK OUT OF MEMORY |
* |
MAPOUT LDA #TRPAGE ; Point to the I/O page |
EORA #$0F ; Complement LSNybble |
STA DATREG+TRPAGE ; map in I/O page |
LDA CCSAVE ; restore interrupt masks |
TFR A,CC |
RTS |
* |
* READ DISK DRIVER |
* |
READSC LBSR SEEKTS ; SEEK TRACK & SECTOR |
PSHS U,X |
BSR MAPIN ; MAP RAM DISK INTO I/O SPACE |
* |
CLRB |
READ3 LDA ,U+ |
STA ,X+ ; Move Sector to FCB |
INCB |
BNE READ3 |
* |
BSR MAPOUT ; MAP RAM DISK OUT OF I/O SPACE |
CLRB ; Z SET C CLEAR |
PULS U,X,PC ; Restore registers and return |
* |
* WRITE DISK DRIVER |
* |
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR |
PSHS U,X |
BSR MAPIN ; MAP RAM DISK INTO I/O SPACE |
* |
CLRB |
WRIT3 LDA ,X+ ; COPY FCB BLOCK TO RAM DISK |
STA ,U+ |
INCB |
BNE WRIT3 |
* |
BSR MAPOUT ; MAP OUT RAM DISK |
CLRB ; SET Z, CLEAR C |
PULS U,X,PC ; Restore registers and return |
* |
* RESTORE DISK DRIVER (SEEK TRACK 00) |
* |
RESTR1 PSHS A |
CLRA ; Track 0 |
LDAB #$01 ; Sector 1 |
LBSR SEEKTS |
PULS A,PC |
* |
* CHECK FOR BUSY |
* Doubles as VERIFY |
* |
BUSY CLRB Never busy |
RTS |
* |
* DRIVE SELECT DISK DRIVER |
* |
DRVSEL PSHS X |
LDA 3,X GET DRIVE # FROM FCB |
CMPA #3 |
BLS DRVS2 IF > 3, SET IT TO 0 |
CLRA |
DRVS2 BSR MXWT MOVE X TO WORKING TRK |
LDB TRKCNT |
STB 0,X SAVE TRACK |
STA WRKDR SAVE DESIRED DRV AS WORKING DRV |
BSR MXWT MOVE X TO WORKING TRK |
LDA 0,X GET WORKING TRK ON DESIRED DRV |
STA TRKCNT UPDATE 1771 TRACK REG |
CLRB ; SET Z, CLEAR C |
PULS X,PC |
* |
* MOVE INDEX REG TO POINT TO |
* WORKING TRACK STORAGE |
* |
MXWT LDX #WRKTR POINT TO START OF STG |
LDB WRKDR GET WORKING DRIVE |
ABX |
MXWT2 RTS |
* |
* CHECK DRIVE READY DISK DRIVER |
* |
CHKDRV LDA 3,X |
CLRB ; CLEAR C, SET Z |
RTS |
END |
/branches/before_delete/src/flex9/flex9ads.sh
0,0 → 1,192
../../Tools/as09/as09.exe flex9ads.asm -l > flex9ads.lst |
/branches/before_delete/src/flex9/flex9cf8.lst
0,0 → 1,2857
Assembler release DWC_2.0 version 2.11 |
May 6, 2004 (c) Motorola (free ware) |
0001 NAM FLEX9 SOURCE |
0000 INCLUDE "f9-moneq.txt" |
|
|
f9-moneq.txt page 2 |
0002 * |
0003 *************************************************** |
0004 * MEMORY MAP EQUATES * |
0005 *************************************************** |
0006 E000 MONIO EQU $E000 I/O SPACE |
0007 DFC0 MONRAM EQU $DFC0 STACK SPACE |
0008 F800 MONROM EQU $F800 START OF ROM |
0009 F000 MONEXT EQU $F000 EXTENDED COMMANDS |
0010 *MONEXT EQU $1000 EXTENDED COMMANDS |
0011 * |
0012 *************************************************** |
0013 * SYS09BUG VARIABLE SPACE |
0014 *************************************************** |
0015 * |
0016 DFC0 STACK EQU MONRAM+0 TOP OF INTERNAL STACK / USER VECTOR |
0017 DFC2 SWI3 EQU MONRAM+2 SOFTWARE INTERRUPT VECTOR #3 |
0018 DFC4 SWI2 EQU MONRAM+4 SOFTWARE INTERRUPT VECTOR #2 |
0019 DFC6 FIRQ EQU MONRAM+6 FAST INTERRUPT VECTOR |
0020 DFC8 IRQ EQU MONRAM+8 INTERRUPT VECTOR |
0021 DFCA SWI EQU MONRAM+10 SOFTWARE INTERRUPT VECTOR |
0022 DFCC SVCVO EQU MONRAM+12 SUPERVISOR CALL VECTOR ORGIN |
0023 DFCE SVCVL EQU MONRAM+14 SUPERVISOR CALL VECTOR LIMIT |
0024 DFD0 LRARAM EQU MONRAM+16 LRA ADDRESSES |
0025 DFE0 CPORT EQU MONRAM+32 RE-VECTORABLE CONTROL PORT |
0026 DFE2 ECHO EQU MONRAM+34 ECHO FLAG |
0027 DFE3 BPTBL EQU MONRAM+35 BREAKPOINT TABLE BASE ADDR |
0028 ************************************************** |
0029 * VDU BYTES * |
0030 ************************************************** |
0031 * |
0032 **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ****** |
0033 DFFB COLADX EQU MONRAM+59 CURSOR COLUMN |
0034 DFFC ROWADX EQU MONRAM+60 CURSOR ROW |
0035 ************************************************** |
0036 * |
0037 DFFD NEWROW EQU MONRAM+61 NEW ROW TEMP FOR ESCAPE |
0038 DFFE ESCFLG EQU MONRAM+62 ESCAPE SEQUENCE ACTIVE |
0039 * |
0040 *************************************************** |
0041 * SERIAL PORT * |
0042 *************************************************** |
0043 * |
0044 E000 ACIAS EQU MONIO+$00 CONTROL PORT |
0045 * |
0046 *************************************************** |
0047 * PS/2 KEYBOARD PORT * |
0048 *************************************************** |
0049 * |
0050 E020 PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT |
0051 * |
0052 *************************************************** |
0053 * ADM3A DISPLAY DRIVER VARIABLES * |
0054 *************************************************** |
0055 * |
0056 ** VIDEO DISPLAY DEFINITIONS |
0057 * |
0058 E030 VDU EQU MONIO+$30 |
0059 0000 VDUCHR EQU 0 CHARACTER REGISTER |
0060 0001 VDUATT EQU 1 ATTRIBUTE REGISTER |
0061 0002 VDUCOL EQU 2 CURSOR COLUMN |
0062 0003 VDUROW EQU 3 CURSOR ROW |
0063 0004 VDUOFF EQU 4 ROW OFFSET |
0064 * |
0065 0050 LINLEN EQU 80 LENGTH OF A LINE |
0066 0019 NUMLIN EQU 25 NUMBER OF LINES |
0067 * |
0068 *************************************************** |
0069 * Serial PROM register |
0070 *************************************************** |
0071 * |
0072 ** CONFIGURATION PROM DEFINITIONS |
0073 * |
0074 E0C0 PROMREG EQU MONIO+$C0 |
0075 0001 PCLKHI EQU $01 Toggle PROM Clock High |
0076 0000 PCLKLO EQU $00 Toggle PROM Clock Low |
0077 0002 PRSTHI EQU $02 Toggle PROM Reset High |
0078 0000 PRSTLO EQU $00 Toggle PROM Reset Low |
0079 AA55 SYNCHI EQU $AA55 Synch Pattern High Word |
0080 FF00 SYNCLO EQU $FF00 Synch Pattern Low Word |
0081 * |
0082 * |
0083 *************************************************** |
0084 * Dynamic Address Translation Registers |
0085 *************************************************** |
0086 * |
0087 ** DAT Table |
0088 * |
0089 FFF0 IC11 EQU $FFF0 DAT RAM CHIP |
0090 * |
0091 *************************************************** |
0092 * START OF ROM * |
0093 *************************************************** |
0094 * |
0095 F800 MONITV EQU MONROM+0 FDB MONITOR |
0096 F802 NXTCMV EQU MONROM+2 FDB NEXTCMD |
0097 F804 INCHV EQU MONROM+4 FDB INCH |
0098 F806 INCHEV EQU MONROM+6 FDB INCHE |
0099 F808 INCHKV EQU MONROM+8 FDB INCHEK |
0100 F80A OUTCHV EQU MONROM+10 FDB OUTCH |
0101 F80C PDATAV EQU MONROM+12 FDB PDATA |
0102 F80E PCRLFV EQU MONROM+14 FDB PCRLF |
0103 F810 PSTRGV EQU MONROM+16 FDB PSTRNG |
0104 F812 LRAV EQU MONROM+18 FDB LRA |
0002 END |
0000 INCLUDE "f9-equ.txt" |
0001 0000 Z0000 EQU $0000 |
0002 0005 Z0005 EQU $0005 |
0003 0044 Z0044 EQU $0044 |
0004 00A0 Z00A0 EQU $00A0 |
0005 C07F ZC07F EQU $C07F |
0006 C080 LINBUF EQU $C080 |
0007 C0FF ZC0FF EQU $C0FF |
0003 END |
0000 INCLUDE "f9-spool.txt" |
0001 * |
0002 ** PRINTER SPOOLING |
0003 * |
0004 C700 ORG $C700 |
0005 C700 7E C7 21 PRSPL1 JMP ZC721 |
0006 C703 7E C7 03 PRSPL2 JMP * |
0007 C706 7E C7 47 PRSPL3 JMP ZC747 |
0008 C709 7E C7 85 PRSPL4 JMP ZC785 |
0009 C70C 7E C7 95 PRSPL5 JMP ZC795 |
0010 C70F 7E C7 1F PRSPL6 JMP ZC71F |
0011 * |
0012 ** SPOOLER SCRATCH AREA |
0013 * |
0014 C712 0C 00 00 00 00 C8 ZC712 FCB $0C,$00,$00,$00,$00,$C8,$10 |
10 |
0015 C719 C8 10 ZC719 FCB $C8,$10 |
0016 C71B 00 QCNT FCB $00 |
0017 C71C 00 ZC71C FCB $00 |
0018 C71D 00 ZC71D FCB $00 |
0019 C71E 00 ZC71E FCB $00 |
0020 * |
0021 C71F 3B ZC71F RTI |
0022 C720 12 NOP |
0023 * |
0024 C721 1A 10 ZC721 ORCC #$10 |
0025 C723 BE CC 31 LDX ZCC31 |
0026 C726 10 EF 02 STS 2,X |
0027 C729 7D CC 34 TST ZCC34 |
0028 C72C 26 11 BNE ZC73F |
0029 C72E 8E CC FC LDX #ZCCFC |
0030 C731 7C CC 34 INC ZCC34 |
0031 C734 6D 84 TST ,X |
0032 C736 27 07 BEQ ZC73F |
0033 C738 BF CC 31 ZC738 STX ZCC31 |
0034 C73B 10 EE 02 LDS $02,X |
0035 C73E 3B RTI |
0036 * |
0037 C73F 8E CC F8 ZC73F LDX #ZCCF8 |
0038 C742 7F CC 34 CLR ZCC34 |
0039 C745 20 F1 BRA ZC738 |
0040 * |
0041 C747 1A 10 ZC747 ORCC #$10 |
0042 C749 7D C7 1B TST QCNT |
0043 C74C 27 29 BEQ ZC777 |
0044 C74E BE C7 19 LDX ZC719 |
0045 C751 A6 84 LDA ,X |
0046 C753 34 02 PSHS A |
0047 C755 EC 01 LDD $01,X |
0048 C757 8E CA C0 LDX #ZCAC0 |
0049 C75A ED 88 40 STD $40,X |
0050 C75D 35 02 PULS A |
0051 C75F A7 03 STA $03,X |
0052 C761 6F 84 CLR ,X |
0053 C763 86 01 LDA #$01 |
0054 C765 A7 02 STA $02,X |
0055 C767 6F 88 22 CLR $22,X |
0056 C76A 6F 88 3B CLR $3B,X |
0057 C76D 7D C7 1E ZC76D TST ZC71E |
0058 C770 27 29 BEQ ZC79B |
0059 C772 11 3F SWI3 |
0060 C774 12 NOP |
0061 C775 20 F6 BRA ZC76D |
0062 * |
0063 C777 1C EF ZC777 ANDCC #$EF |
0064 C779 AD 9F D3 ED ZC779 JSR [TOFVEC] |
0065 C77D 7F CC FC CLR ZCCFC |
0066 C780 11 3F SWI3 |
0067 C782 12 NOP |
0068 C783 20 F4 BRA ZC779 |
0069 * |
0070 C785 1A 10 ZC785 ORCC #$10 |
0071 C787 7D CC 30 TST ZCC30 |
0072 C78A 27 05 BEQ ZC791 |
0073 C78C 11 3F SWI3 |
0074 C78E 12 NOP |
0075 C78F 20 F4 BRA ZC785 |
0076 * |
0077 C791 7C CC 30 ZC791 INC ZCC30 |
0078 C794 39 RTS |
0079 * |
0080 C795 7F CC 30 ZC795 CLR ZCC30 |
0081 C798 1C EF ANDCC #$EF |
0082 C79A 39 RTS |
0083 * |
0084 C79B 7D C7 1D ZC79B TST ZC71D |
0085 C79E 26 27 BNE ZC7C7 |
0086 C7A0 8E CA C0 LDX #ZCAC0 |
0087 C7A3 BD D4 06 JSR FMS |
0088 C7A6 26 1F BNE ZC7C7 |
0089 C7A8 7D C7 1C TST ZC71C |
0090 C7AB 27 0F BEQ ZC7BC |
0091 C7AD 7F C7 1C CLR ZC71C |
0092 C7B0 81 0A CMPA #$0A |
0093 C7B2 27 0F BEQ ZC7C3 |
0094 C7B4 34 02 PSHS A |
0095 C7B6 86 0A LDA #$0A |
0096 C7B8 8D 3C BSR ZC7F6 |
0097 C7BA 35 02 PULS A |
0098 C7BC 81 0D ZC7BC CMPA #$0D |
0099 C7BE 26 03 BNE ZC7C3 |
0100 C7C0 B7 C7 1C STA ZC71C |
0101 C7C3 8D 31 ZC7C3 BSR ZC7F6 |
0102 C7C5 20 D4 BRA ZC79B |
0103 * |
0104 C7C7 86 0D ZC7C7 LDA #$0D |
0105 C7C9 8D 2B BSR ZC7F6 |
0106 C7CB 86 0A LDA #$0A |
0107 C7CD 8D 27 BSR ZC7F6 |
0108 C7CF B6 C7 12 LDA ZC712 |
0109 C7D2 8D 22 BSR ZC7F6 |
0110 C7D4 7F C7 1D CLR ZC71D |
0111 C7D7 BE C7 19 LDX ZC719 |
0112 C7DA 6D 03 TST $03,X |
0113 C7DC 27 05 BEQ ZC7E3 |
0114 C7DE 6A 03 DEC $03,X |
0115 C7E0 7E C7 47 JMP ZC747 |
0116 * |
0117 C7E3 30 04 ZC7E3 LEAX $04,X |
0118 C7E5 8C C8 40 CMPX #FCB |
0119 C7E8 26 03 BNE ZC7ED |
0120 C7EA 8E C8 10 LDX #ZC810 |
0121 C7ED BF C7 19 ZC7ED STX ZC719 |
0122 C7F0 7A C7 1B DEC QCNT |
0123 C7F3 7E C7 47 JMP ZC747 |
0124 * |
0125 C7F6 BD CC D8 ZC7F6 JSR PCHK |
0126 C7F9 2B 05 BMI ZC800 |
0127 C7FB 11 3F SWI3 |
0128 C7FD 12 NOP |
0129 C7FE 20 F6 BRA ZC7F6 |
0130 * |
0131 C800 7E CC E4 ZC800 JMP POUT |
0132 C810 ZC810 EQU $C810 |
0133 C838 ZC838 EQU $C838 |
0004 END |
0000 INCLUDE "f9-sfcb.txt" |
0001 * |
0002 ** SYSTEM FILE CONTROL BLOCK |
0003 * |
0004 C840 ORG $C840 |
0005 C840 FF FCB FCB $FF |
0006 C841 00 FCB $00 |
0007 C842 00 FCB $00 |
0008 C843 00 FCB $00 |
0009 C844 53 54 41 52 54 55 ZC844 FCC "STARTUP" |
50 |
0010 C84B 00 FCB $00 |
0011 C84C 54 58 54 FCC "TXT" |
0012 C84F 00 FCB $00 |
0005 END |
0000 INCLUDE "f9-init.txt" |
0001 * |
0002 ** FLEX INITIATION |
0003 * |
0004 CA00 ORG $CA00 |
0005 CA00 20 06 ZCA00 BRA ZCA08 |
0006 CA02 BD CA AC ZCA02 JSR >ZCAAC |
0007 CA05 39 RTS |
0008 CA06 C0 A0 ZCA06 SUBB #$A0 |
0009 CA08 86 39 ZCA08 LDA #$39 |
0010 CA0A B7 D3 FD STA >ZD3FD |
0011 CA0D BE CC 2B LDX >MEMEND |
0012 CA10 30 89 00 A1 LEAX $00A1,X |
0013 CA14 BF CA 06 STX >ZCA06 |
0014 CA17 AD 9F D3 F1 JSR [TINVEC] |
0015 CA1B BE D3 FB LDX >INVEC |
0016 CA1E BF CD 0A STX >INCH+1 |
0017 CA21 BF CD 0D STX >INCH2+1 |
0018 CA24 BE D3 F9 LDX >OUTVEC |
0019 CA27 BF CD 10 STX >OUTCH+1 |
0020 CA2A BF CD 13 STX >OUTCH2+1 |
0021 CA2D BE D3 F7 LDX >STAVEC |
0022 CA30 BF CD 4F STX >ZCD4E+1 |
0023 CA33 8E 00 A0 LDX #Z00A0 |
0024 CA36 C6 B9 LDB #$B9 |
0025 CA38 A6 84 ZCA38 LDA ,X |
0026 CA3A E7 84 STB ,X |
0027 CA3C 12 NOP |
0028 CA3D E1 84 CMPB ,X |
0029 CA3F 26 0B BNE ZCA4C |
0030 CA41 A7 84 STA ,X |
0031 CA43 30 89 04 00 LEAX $0400,X |
0032 CA47 BC CA 06 CMPX >ZCA06 |
0033 CA4A 26 EC BNE ZCA38 |
0034 CA4C 30 89 FF 5F ZCA4C LEAX $FF5F,X |
0035 CA50 BF CC 2B STX >MEMEND |
0036 CA53 8E CD 03 LDX #WARMS |
0037 CA56 BF CC 16 STX >ESCVEC |
0038 CA59 8E CA DC LDX #TTLSTR |
0039 CA5C BD CE 81 JSR >PSTRG1 |
0040 CA5F BD CE B5 JSR >PCRLF1 |
0041 CA62 8D 9E BSR ZCA02 |
0042 CA64 BD CE B5 JSR >PCRLF1 |
0043 CA67 8E C8 40 LDX #FCB |
0044 CA6A 86 01 LDA #$01 |
0045 CA6C A7 84 STA ,X |
0046 CA6E BD D4 06 JSR >FMS |
0047 CA71 27 08 BEQ ZCA7B |
0048 CA73 A6 01 LDA $01,X |
0049 CA75 BD D2 00 JSR >ZD200 |
0050 CA78 7E CD 67 JMP >WARM1 |
0051 |
0052 CA7B 8E C0 80 ZCA7B LDX #LINBUF |
0053 CA7E BF CC 14 ZCA7E STX >LINPTR |
0054 CA81 8E C8 40 LDX #FCB |
0055 CA84 BD D4 06 JSR >FMS |
0056 CA87 27 05 BEQ ZCA8E |
0057 CA89 34 30 PSHS Y,X |
0058 CA8B 7E D2 D7 JMP >ZD2D7 |
0059 |
0060 CA8E BE CC 14 ZCA8E LDX >LINPTR |
0061 CA91 A7 80 STA ,X+ |
0062 CA93 81 0D CMPA #$0D |
0063 CA95 26 E7 BNE ZCA7E |
0064 CA97 8E C8 40 LDX #FCB |
0065 CA9A BD D1 F4 JSR >ZD1F4 |
0066 CA9D 8E C0 80 LDX #LINBUF |
0067 CAA0 BF CC 14 STX >LINPTR |
0068 CAA3 8E CD 67 LDX #WARM1 |
0069 CAA6 BF CC 43 STX >ZCC43 |
0070 CAA9 7E D3 2E JMP >ZD32E |
0071 |
0072 CAAC 8E CA EC ZCAAC LDX #DATSTR |
0073 CAAF BD CE 81 JSR >PSTRG1 |
0074 CAB2 BD CE 2B JSR >INBUF1 |
0075 CAB5 8D 14 BSR ZCACB |
0076 CAB7 25 F3 BCS ZCAAC |
0077 CAB9 B7 CC 0E STA >MONTH |
0078 CABC 8D 0D BSR ZCACB |
0079 CABE 25 EC BCS ZCAAC |
0080 CAC0 B7 CC 0F ZCAC0 STA >DAY |
0081 CAC3 8D 06 BSR ZCACB |
0082 CAC5 25 E5 BCS ZCAAC |
0083 CAC7 B7 CC 10 STA >YEAR |
0084 CACA 39 RTS |
0085 |
0086 CACB BD D1 75 ZCACB JSR >INDEC1 |
0087 CACE 25 0B BCS ZCADB |
0088 CAD0 B6 CC 1C LDA >LODOFF+1 |
0089 CAD3 5D TSTB |
0090 CAD4 27 03 BEQ ZCAD9 |
0091 CAD6 1C FE ANDCC #$FE |
0092 CAD8 39 RTS |
0093 |
0094 CAD9 1A 01 ZCAD9 ORCC #$01 |
0095 CADB 39 ZCADB RTS |
0096 |
0097 CADC 36 38 30 39 20 46 TTLSTR FCC "6809 FLEX V3.01" |
4C 45 58 20 56 33 |
2E 30 31 |
0098 CAEB 04 FCB $04 |
0099 CAEC 44 41 54 45 20 28 DATSTR FCC "DATE (MM,DD,YY)? " |
4D 4D 2C 44 44 2C |
59 59 29 3F 20 |
0100 CAFD 04 FCB $04 |
0006 END |
0000 INCLUDE "f9-var.txt" |
0001 * |
0002 ** TTYSET PARAMETERS |
0003 * |
0004 CC00 ORG $CC00 |
0005 CC00 08 BSPCHR FCB $08 |
0006 CC01 18 DELCHR FCB $18 |
0007 CC02 3A EOLCHR FCB $3A |
0008 CC03 19 DEPCNT FCB 25 |
0009 CC04 00 WIDCNT FCB $00 |
0010 CC05 04 NULCNT FCB $04 |
0011 CC06 40 TABCHR FCB '@ |
0012 CC07 00 BSECHR FCB $00 |
0013 CC08 00 EJTCNT FCB $00 |
0014 CC09 FF PAUSE FCB $FF |
0015 CC0A 1B ESCCHR FCB $1B |
0016 CC0B 00 SYSDRV FCB 0 |
0017 CC0C 01 WRKDRV FCB 1 |
0018 CC0D 00 ZCC0D FCB $00 |
0019 CC0E DATERG EQU * |
0020 CC0E 00 MONTH FCB $00 |
0021 CC0F 00 DAY FCB $00 |
0022 CC10 00 YEAR FCB $00 |
0023 CC11 00 LASTRM FCB $00 |
0024 CC12 00 00 UCTVEC FDB $0000 |
0025 CC14 00 00 LINPTR FDB $0000 |
0026 CC16 00 00 ESCVEC FDB $0000 |
0027 CC18 00 CURCHR FCB $00 |
0028 CC19 00 PRVCHR FCB $00 |
0029 CC1A 00 CURLIN FCB $00 |
0030 CC1B 00 00 LODOFF FDB $0000 |
0031 CC1D 00 TRNFLG FCB $00 |
0032 CC1E 00 00 TRNVEC FDB $0000 |
0033 CC20 00 ERRTYP FCB $00 |
0034 CC21 00 SIOFLG FCB $00 |
0035 CC22 00 OUTSWT FCB $00 |
0036 CC23 00 INPSWT FCB $00 |
0037 CC24 00 00 FOPADR FDB $0000 |
0038 CC26 00 00 FIPADR FDB $0000 |
0039 CC28 00 CMDFLG FCB $00 |
0040 CC29 00 CURCOL FCB $00 |
0041 CC2A 00 FCB $00 |
0042 CC2B BF FF MEMEND FDB $BFFF |
0043 CC2D 00 00 ERRVEC FDB $0000 |
0044 CC2F 01 FIEFLG FCB $01 |
0045 CC30 00 ZCC30 FCB $00 |
0046 CC31 00 00 00 ZCC31 FCB $00,$00,$00 |
0047 CC34 00 00 00 00 00 00 ZCC34 FCB $00,$00,$00,$00,$00,$00,$00 |
00 |
0048 CC3D ZCC3D EQU $CC3D |
0049 CC3F ZCC3F EQU $CC3F |
0050 CC43 ZCC43 EQU $CC43 |
0051 CC45 ZCC45 EQU $CC45 |
0052 CC47 ZCC47 EQU $CC47 |
0053 CC49 ORG $CC49 |
0054 CC49 60 MAPUP FCB $60 MAP LOWER TO UPPERCASE |
0055 CC4A ZCC4A EQU $CC4A |
0056 CC4B ZCC4B EQU $CC4B |
0057 CC4C ZCC4C EQU $CC4C |
0058 CC4D ZCC4D EQU $CC4D |
0007 END |
0000 INCLUDE "f9-data.txt" |
0001 * |
0002 ** STRINGS AND MESSAGES |
0003 * |
0004 CC4E ORG $CC4E |
0005 CC4E 2B 2B 2B PMTSTR FCC "+++" |
0006 CC51 04 FCB $04 |
0007 CC52 3F 3F 3F QRYSTR FCC "???" |
0008 CC55 04 FCB $04 |
0009 CC56 57 48 41 54 3F WOTMSG FCC "WHAT?" |
0010 CC5B 04 FCB $04 |
0011 CC5C 43 41 4E 27 54 20 NTRMSG FCC "CAN'T TRANSFER" |
54 52 41 4E 53 46 |
45 52 |
0012 CC6A 04 FCB $04 |
0013 CC6B 4E 4F 54 20 46 4F NFDMSG FCC "NOT FOUND" |
55 4E 44 |
0014 CC74 04 FCB $04 |
0015 CC75 44 49 53 4B 20 45 DERMSG FCC "DISK ERROR #" |
52 52 4F 52 20 23 |
0016 CC81 04 FCB $04 |
0017 CC82 44 52 49 56 45 53 DNRMSG FCC "DRIVES NOT READY" |
20 4E 4F 54 20 52 |
45 41 44 59 |
0018 CC92 04 FCB $04 |
0019 * |
0020 ** MEMORY RESIDENT COMMANDS |
0021 * |
0022 CC93 47 45 54 CMDTBL FCC "GET" |
0023 CC96 00 FCB $00 |
0024 CC97 D2 0F FDB GETCMD |
0025 CC99 4D 4F 4E FCC "MON" |
0026 CC9C 00 FCB $00 |
0027 CC9D D3 4B FDB ZD34B |
0028 CC9F 00 FCB $00 |
0029 * |
0030 ** DECIMAL CONVERSION TABLE |
0031 * |
0032 CCA0 27 10 DECTBL FDB 10000 |
0033 CCA2 03 E8 FDB 1000 |
0034 CCA4 00 64 FDB 100 |
0035 CCA6 00 0A FDB 10 |
0008 END |
0000 INCLUDE "f9-cli.txt" |
0001 ********************************************* |
0002 * |
0003 * FLEX COMMAND LINE INTERPRETER & SUBROUTINES |
0004 * |
0005 ********************************************* |
0006 CD00 ORG $CD00 |
0007 * |
0008 ** FLEX JUMPS |
0009 * |
0010 CD00 7E CD 57 COLDS JMP >COLD1 |
0011 CD03 7E CD 67 WARMS JMP >WARM1 |
0012 CD06 7E CD B1 RENTER JMP >RENT1 |
0013 CD09 7E CD 09 INCH JMP >INCH |
0014 CD0C 7E CD 0C INCH2 JMP >INCH2 |
0015 CD0F 7E CD 0F OUTCH JMP >OUTCH |
0016 CD12 7E CD 12 OUTCH2 JMP >OUTCH2 |
0017 CD15 7E CE FB GETCHR JMP >GETCH1 |
0018 CD18 7E CF 41 PUTCHR JMP >PUTCH1 |
0019 CD1B 7E CE 2B INBUFF JMP >INBUF1 |
0020 CD1E 7E CE 81 PSTRNG JMP >PSTRG1 |
0021 CD21 7E CF ED CLASS JMP >CLASS1 |
0022 CD24 7E CE B5 PCRLF JMP >PCRLF1 |
0023 CD27 7E D0 0E NXTCH JMP >NXTCH1 |
0024 CD2A 7E CD EA RSTRIO JMP >RSTIO1 |
0025 CD2D 7E D0 36 GETFIL JMP >GETFL1 |
0026 CD30 7E D1 A2 LOAD JMP >LOAD1 |
0027 CD33 7E D0 EB SETEXT JMP >SETEX1 |
0028 CD36 7E D3 49 ADDBX JMP >ADDBX1 |
0029 CD39 7E CF 86 OUTDEC JMP >OUTDC1 |
0030 CD3C 7E CF D4 OUTHEX JMP >OUTHX1 |
0031 CD3F 7E D2 7F RPTERR JMP >RPTER1 |
0032 CD42 7E D1 2F GETHEX JMP >GETHX1 |
0033 CD45 7E CF D0 OUTADR JMP >OUTAD1 |
0034 CD48 7E D1 75 INDEC JMP >INDEC1 |
0035 CD4B 7E D3 29 DOCMND JMP >DOCMD1 |
0036 CD4E 7E CD 4E ZCD4E JMP >ZCD4E |
0037 CD51 7E CE 05 JMP >ZCE05 |
0038 CD54 7E CE 05 JMP >ZCE05 |
0039 * |
0040 ** COLD START ENTRY |
0041 * |
0042 CD57 10 CE C0 7F COLD1 LDS #ZC07F |
0043 CD5B 7F CC 11 ZCD5B CLR >LASTRM |
0044 CD5E BD D4 00 JSR >ZD400 |
0045 CD61 7F CC 28 CLR >CMDFLG |
0046 CD64 BD D3 FD JSR >ZD3FD |
0047 * |
0048 ** WARM START ENTRY |
0049 * |
0050 CD67 10 CE C0 7F WARM1 LDS #ZC07F |
0051 CD6B BD DE 18 JSR >WARMDR |
0052 CD6E 8E CD 03 LDX #WARMS |
0053 CD71 BF CC 16 STX >ESCVEC |
0054 CD74 8E C7 00 LDX #PRSPL1 |
0055 CD77 AF 9F D3 E9 STX [SWIVVC] |
0056 CD7B BE D3 E7 LDX >IHNDVC |
0057 CD7E AF 9F D3 EB STX [IRQVVC] |
0058 CD82 8E CC F8 LDX #ZCCF8 |
0059 CD85 BF CC 31 STX >ZCC31 |
0060 CD88 7F CC 34 CLR >ZCC34 |
0061 CD8B 7F CC 4C CLR >ZCC4C |
0062 CD8E 8D 5A BSR RSTIO1 |
0063 CD90 B6 CC 11 LDA >LASTRM |
0064 CD93 B1 CC 02 CMPA >EOLCHR |
0065 CD96 26 05 BNE ZCD9D |
0066 CD98 7C CC 15 INC >LINPTR+1 |
0067 CD9B 20 14 BRA RENT1 |
0068 |
0069 CD9D 7D CC 28 ZCD9D TST >CMDFLG |
0070 CDA0 10 26 05 97 LBNE ZD33B |
0071 CDA4 BD D4 03 JSR >FMSCLS |
0072 CDA7 26 B2 BNE ZCD5B |
0073 CDA9 8E CC 4E LDX #PMTSTR |
0074 CDAC BD CE 81 JSR >PSTRG1 |
0075 CDAF 8D 7A BSR INBUF1 |
0076 * |
0077 ** MAIN CONTROL LOOP |
0078 * |
0079 CDB1 BD D0 D4 RENT1 JSR >ZD0D4 |
0080 CDB4 81 0D CMPA #$0D |
0081 CDB6 27 E5 BEQ ZCD9D |
0082 CDB8 8E C8 40 ZCDB8 LDX #FCB |
0083 CDBB 7C CC 0D INC >ZCC0D |
0084 CDBE BD D0 36 JSR >GETFL1 |
0085 CDC1 25 16 BCS ZCDD9 |
0086 CDC3 8E CC 93 LDX #CMDTBL |
0087 CDC6 8D 3E BSR ZCE06 |
0088 CDC8 27 09 BEQ ZCDD3 |
0089 CDCA BE CC 12 LDX >UCTVEC |
0090 CDCD 27 07 BEQ ZCDD6 |
0091 CDCF 8D 35 BSR ZCE06 |
0092 CDD1 26 03 BNE ZCDD6 |
0093 CDD3 6E 98 01 ZCDD3 JMP [$01,X] |
0094 |
0095 CDD6 BD D2 2E ZCDD6 JSR >ZD22E |
0096 CDD9 8E CC 56 ZCDD9 LDX #WOTMSG |
0097 CDDC 86 15 LDA #$15 |
0098 CDDE B7 CC 20 ZCDDE STA >ERRTYP |
0099 CDE1 BD CE 81 ZCDE1 JSR >PSTRG1 |
0100 CDE4 7F CC 11 ZCDE4 CLR >LASTRM |
0101 CDE7 7E CD 67 JMP >WARM1 |
0102 * |
0103 ** RESTORE IO VECTORS |
0104 * |
0105 CDEA BE CD 13 RSTIO1 LDX >OUTCH2+1 |
0106 CDED BF CD 10 STX >OUTCH+1 |
0107 CDF0 BE CD 0D LDX >INCH2+1 |
0108 CDF3 BF CD 0A STX >INCH+1 |
0109 CDF6 7F CC 23 CLR >INPSWT |
0110 CDF9 7F CC 22 CLR >OUTSWT |
0111 CDFC 7F CC 21 CLR >SIOFLG |
0112 CDFF 7F CC 26 CLR >FIPADR |
0113 CE02 7F CC 24 CLR >FOPADR |
0114 CE05 39 ZCE05 RTS |
0115 |
0116 CE06 10 8E C8 44 ZCE06 LDY #ZC844 |
0117 CE0A A6 A0 ZCE0A LDA ,Y+ |
0118 CE0C 81 5F CMPA #$5F |
0119 CE0E 23 02 BLS ZCE12 |
0120 CE10 80 20 SUBA #$20 |
0121 CE12 A1 80 ZCE12 CMPA ,X+ |
0122 CE14 26 08 BNE ZCE1E |
0123 CE16 6D 84 TST ,X |
0124 CE18 26 F0 BNE ZCE0A |
0125 CE1A 6D A4 TST ,Y |
0126 CE1C 27 0C BEQ ZCE2A |
0127 CE1E 6D 80 ZCE1E TST ,X+ |
0128 CE20 26 FC BNE ZCE1E |
0129 CE22 30 02 LEAX $02,X |
0130 CE24 6D 84 TST ,X |
0131 CE26 26 DE BNE ZCE06 |
0132 CE28 1C FB ANDCC #$FB |
0133 CE2A 39 ZCE2A RTS |
0134 * |
0135 ** GET USER COMMAND LINE |
0136 * |
0137 CE2B 8E C0 80 INBUF1 LDX #LINBUF |
0138 CE2E BF CC 14 STX >LINPTR |
0139 CE31 BD CE FB ZCE31 JSR >GETCH1 |
0140 CE34 B1 CC 01 CMPA >DELCHR |
0141 CE37 27 1D BEQ ZCE56 |
0142 CE39 B1 CC 00 CMPA >BSPCHR |
0143 CE3C 27 1F BEQ ZCE5D |
0144 CE3E 81 0D CMPA #$0D |
0145 CE40 27 0D BEQ ZCE4F |
0146 CE42 81 0A CMPA #$0A |
0147 CE44 27 32 BEQ ZCE78 |
0148 CE46 81 1F CMPA #$1F |
0149 CE48 23 E7 BLS ZCE31 |
0150 CE4A 8C C0 FF ZCE4A CMPX #ZC0FF |
0151 CE4D 27 E2 BEQ ZCE31 |
0152 CE4F A7 80 ZCE4F STA ,X+ |
0153 CE51 81 0D CMPA #$0D |
0154 CE53 26 DC BNE ZCE31 |
0155 CE55 39 RTS |
0156 |
0157 CE56 8E CC 52 ZCE56 LDX #QRYSTR |
0158 CE59 8D 26 BSR PSTRG1 |
0159 CE5B 20 CE BRA INBUF1 |
0160 |
0161 CE5D 8C C0 80 ZCE5D CMPX #LINBUF |
0162 CE60 27 F4 BEQ ZCE56 |
0163 CE62 30 1F LEAX -$01,X |
0164 CE64 B6 CC 07 LDA >BSECHR |
0165 CE67 81 08 CMPA #$08 |
0166 CE69 26 08 BNE ZCE73 |
0167 CE6B 86 20 LDA #$20 |
0168 CE6D BD CF 66 JSR >ZCF66 |
0169 CE70 B6 CC 07 LDA >BSECHR |
0170 CE73 BD CF 66 ZCE73 JSR >ZCF66 |
0171 CE76 20 B9 BRA ZCE31 |
0172 |
0173 CE78 86 0D ZCE78 LDA #$0D |
0174 CE7A BD CF 41 JSR >PUTCH1 |
0175 CE7D 86 20 LDA #$20 |
0176 CE7F 20 C9 BRA ZCE4A |
0177 |
0178 CE81 8D 32 PSTRG1 BSR PCRLF1 |
0179 CE83 A6 84 ZCE83 LDA ,X |
0180 CE85 81 04 CMPA #$04 |
0181 CE87 27 6F BEQ ZCEF8 |
0182 CE89 BD CF 41 JSR >PUTCH1 |
0183 CE8C 30 01 LEAX $01,X |
0184 CE8E 20 F3 BRA ZCE83 |
0185 |
0186 CE90 BD CD 4E ZCE90 JSR >ZCD4E |
0187 CE93 27 65 BEQ ZCEFA |
0188 CE95 AD 9F D3 E5 JSR [ZD3E5] |
0189 CE99 B1 CC 0A CMPA >ESCCHR |
0190 CE9C 26 5C BNE ZCEFA |
0191 CE9E 7F CC 1A ZCE9E CLR >CURLIN |
0192 CEA1 AD 9F D3 E5 ZCEA1 JSR [ZD3E5] |
0193 CEA5 B1 CC 0A CMPA >ESCCHR |
0194 CEA8 27 50 BEQ ZCEFA |
0195 CEAA 81 03 CMPA #$03 CTRL C |
0196 CEAC 26 F3 BNE ZCEA1 |
0197 CEAE 7F CC 11 CLR >LASTRM |
0198 CEB1 6E 9F CC 16 JMP [ESCVEC] |
0199 * |
0200 ** PRINT CR, LINEFEED |
0201 * |
0202 CEB5 7D CC 21 PCRLF1 TST >SIOFLG |
0203 CEB8 26 27 BNE ZCEE1 |
0204 CEBA 8D D4 BSR ZCE90 |
0205 CEBC B6 CC 03 LDA >DEPCNT |
0206 CEBF 27 20 BEQ ZCEE1 |
0207 CEC1 B1 CC 1A CMPA >CURLIN |
0208 CEC4 22 18 BHI ZCEDE |
0209 CEC6 7F CC 1A CLR >CURLIN |
0210 CEC9 7D CC 09 TST >PAUSE |
0211 CECC 27 02 BEQ ZCED0 |
0212 CECE 8D CE BSR ZCE9E |
0213 CED0 34 04 ZCED0 PSHS B |
0214 CED2 F6 CC 08 LDB >EJTCNT |
0215 CED5 27 05 BEQ ZCEDC |
0216 CED7 8D 08 ZCED7 BSR ZCEE1 |
0217 CED9 5A DECB |
0218 CEDA 26 FB BNE ZCED7 |
0219 CEDC 35 04 ZCEDC PULS B |
0220 CEDE 7C CC 1A ZCEDE INC >CURLIN |
0221 CEE1 86 0D ZCEE1 LDA #$0D |
0222 CEE3 8D 5C BSR PUTCH1 |
0223 CEE5 86 0A LDA #$0A |
0224 CEE7 8D 58 BSR PUTCH1 |
0225 CEE9 34 04 PSHS B |
0226 CEEB F6 CC 05 LDB >NULCNT |
0227 CEEE 27 06 BEQ ZCEF6 |
0228 CEF0 4F ZCEF0 CLRA |
0229 CEF1 8D 4E BSR PUTCH1 |
0230 CEF3 5A DECB |
0231 CEF4 26 FA BNE ZCEF0 |
0232 CEF6 35 04 ZCEF6 PULS B |
0233 CEF8 1C FE ZCEF8 ANDCC #$FE |
0234 CEFA 39 ZCEFA RTS |
0235 * |
0236 ** GET A CHARACTER HONOURING TTYSET |
0237 * |
0238 CEFB 7D CC 23 GETCH1 TST >INPSWT |
0239 CEFE 26 1A BNE ZCF1A |
0240 CF00 7D CC 26 TST >FIPADR |
0241 CF03 27 10 BEQ ZCF15 |
0242 CF05 8D 1A BSR ZCF21 |
0243 CF07 7D CC 2F TST >FIEFLG |
0244 CF0A 27 11 BEQ ZCF1D |
0245 CF0C 7D CC 24 TST >FOPADR |
0246 CF0F 27 0C BEQ ZCF1D |
0247 CF11 8D 53 BSR ZCF66 |
0248 CF13 20 08 BRA ZCF1D |
0249 CF15 BD CD 09 ZCF15 JSR >INCH |
0250 CF18 20 03 BRA ZCF1D |
0251 |
0252 CF1A BD CD 0C ZCF1A JSR >INCH2 |
0253 CF1D 7F CC 1A ZCF1D CLR >CURLIN |
0254 CF20 39 RTS |
0255 |
0256 CF21 BF CC 47 ZCF21 STX >ZCC47 |
0257 CF24 BE CC 26 LDX >FIPADR |
0258 CF27 20 06 BRA ZCF2F |
0259 |
0260 CF29 BF CC 47 ZCF29 STX >ZCC47 |
0261 CF2C BE CC 24 LDX >FOPADR |
0262 CF2F BD D4 06 ZCF2F JSR >FMS |
0263 CF32 26 04 BNE ZCF38 |
0264 CF34 BE CC 47 LDX >ZCC47 |
0265 CF37 39 RTS |
0266 |
0267 CF38 7F CC 24 ZCF38 CLR >FOPADR |
0268 CF3B BD D2 7F JSR >RPTER1 |
0269 CF3E 7E CD 03 JMP >WARMS |
0270 * |
0271 ** OUTPUT CHARACTER HONOURING TTYSET |
0272 * |
0273 CF41 7D CC 21 PUTCH1 TST >SIOFLG |
0274 CF44 26 20 BNE ZCF66 |
0275 CF46 81 1F CMPA #$1F |
0276 CF48 22 05 BHI ZCF4F |
0277 CF4A 7F CC 29 CLR >CURCOL |
0278 CF4D 20 17 BRA ZCF66 |
0279 |
0280 CF4F 7C CC 29 ZCF4F INC >CURCOL |
0281 CF52 34 02 PSHS A |
0282 CF54 B6 CC 04 LDA >WIDCNT |
0283 CF57 27 0B BEQ ZCF64 |
0284 CF59 B1 CC 29 CMPA >CURCOL |
0285 CF5C 24 06 BCC ZCF64 |
0286 CF5E BD CE B5 JSR >PCRLF1 |
0287 CF61 7C CC 29 INC >CURCOL |
0288 CF64 35 02 ZCF64 PULS A |
0289 CF66 34 02 ZCF66 PSHS A |
0290 CF68 7D CC 22 TST >OUTSWT |
0291 CF6B 26 13 BNE ZCF80 |
0292 CF6D 7D CC 24 TST >FOPADR |
0293 CF70 27 04 BEQ ZCF76 |
0294 CF72 8D B5 BSR ZCF29 |
0295 CF74 20 0D BRA ZCF83 |
0296 |
0297 CF76 7D CC 26 ZCF76 TST >FIPADR |
0298 CF79 26 08 BNE ZCF83 |
0299 CF7B BD CD 0F JSR >OUTCH |
0300 CF7E 20 03 BRA ZCF83 |
0301 CF80 BD CD 12 ZCF80 JSR >OUTCH2 |
0302 CF83 35 02 ZCF83 PULS A |
0303 CF85 39 RTS |
0304 |
0305 CF86 7F CC 4A OUTDC1 CLR >ZCC4A |
0306 CF89 F7 CC 1D STB >TRNFLG |
0307 CF8C 86 04 LDA #$04 |
0308 CF8E B7 CC 4D STA >ZCC4D |
0309 CF91 EC 84 LDD ,X |
0310 CF93 8E CC A0 LDX #DECTBL |
0311 CF96 8D 0B ZCF96 BSR ZCFA3 |
0312 CF98 30 02 LEAX $02,X |
0313 CF9A 7A CC 4D DEC >ZCC4D |
0314 CF9D 26 F7 BNE ZCF96 |
0315 CF9F 1F 98 TFR B,A |
0316 CFA1 20 3D BRA OUTHXR |
0317 |
0318 CFA3 7F CC 4B ZCFA3 CLR >ZCC4B |
0319 CFA6 10 A3 84 ZCFA6 CMPD ,X |
0320 CFA9 25 07 BCS ZCFB2 |
0321 CFAB A3 84 SUBD ,X |
0322 CFAD 7C CC 4B INC >ZCC4B |
0323 CFB0 20 F4 BRA ZCFA6 |
0324 |
0325 CFB2 34 02 ZCFB2 PSHS A |
0326 CFB4 B6 CC 4B LDA >ZCC4B |
0327 CFB7 26 10 BNE ZCFC9 |
0328 CFB9 7D CC 4A TST >ZCC4A |
0329 CFBC 26 0B BNE ZCFC9 |
0330 CFBE 7D CC 1D TST >TRNFLG |
0331 CFC1 27 0B BEQ ZCFCE |
0332 CFC3 86 20 LDA #$20 |
0333 CFC5 8D 23 BSR ZCFEA |
0334 CFC7 20 05 BRA ZCFCE |
0335 |
0336 CFC9 7C CC 4A ZCFC9 INC >ZCC4A |
0337 CFCC 8D 12 BSR OUTHXR |
0338 CFCE 35 82 ZCFCE PULS PC,A |
0339 * |
0340 ** DISPLAY HEX ADDRESS |
0341 * |
0342 CFD0 8D 02 OUTAD1 BSR OUTHX1 |
0343 CFD2 30 01 LEAX $01,X |
0344 * |
0345 ** OUPUT HEX BYTE |
0346 * |
0347 CFD4 A6 84 OUTHX1 LDA ,X |
0348 CFD6 8D 04 BSR OUTHXL |
0349 CFD8 A6 84 LDA ,X |
0350 CFDA 20 04 BRA OUTHXR |
0351 |
0352 CFDC 44 OUTHXL LSRA |
0353 CFDD 44 LSRA |
0354 CFDE 44 LSRA |
0355 CFDF 44 LSRA |
0356 CFE0 84 0F OUTHXR ANDA #$0F |
0357 CFE2 8B 30 ADDA #$30 |
0358 CFE4 81 39 CMPA #$39 |
0359 CFE6 23 02 BLS ZCFEA |
0360 CFE8 8B 07 ADDA #$07 |
0361 CFEA 7E CF 41 ZCFEA JMP >PUTCH1 |
0362 * |
0363 ** CLASSIFY CHARACTER ALHA/NUMERIC |
0364 * |
0365 CFED 81 30 CLASS1 CMPA #'0 |
0366 CFEF 25 14 BCS ZD005 |
0367 CFF1 81 39 CMPA #'9 |
0368 CFF3 23 16 BLS ZD00B |
0369 CFF5 81 41 CMPA #'A |
0370 CFF7 25 0C BCS ZD005 |
0371 CFF9 81 5A CMPA #'Z |
0372 CFFB 23 0E BLS ZD00B |
0373 CFFD 81 61 CMPA #'a $61 |
0374 CFFF 25 04 BCS ZD005 |
0375 D001 81 7A CMPA #'z $7A |
0376 D003 23 06 BLS ZD00B |
0377 D005 1A 01 ZD005 ORCC #$01 |
0378 D007 B7 CC 11 STA >LASTRM |
0379 D00A 39 RTS |
0380 D00B 1C FE ZD00B ANDCC #$FE |
0381 D00D 39 RTS |
0382 * |
0383 ** GET NEXT CHARACTER FROM FILE |
0384 * |
0385 D00E 34 10 NXTCH1 PSHS X |
0386 D010 BE CC 14 LDX >LINPTR |
0387 D013 B6 CC 18 LDA >CURCHR |
0388 D016 B7 CC 19 STA >PRVCHR |
0389 D019 A6 80 ZD019 LDA ,X+ |
0390 D01B B7 CC 18 STA >CURCHR |
0391 D01E 81 0D CMPA #$0D |
0392 D020 27 10 BEQ ZD032 |
0393 D022 B1 CC 02 CMPA >EOLCHR |
0394 D025 27 0B BEQ ZD032 |
0395 D027 BF CC 14 STX >LINPTR |
0396 D02A 81 20 CMPA #$20 |
0397 D02C 26 04 BNE ZD032 |
0398 D02E A1 84 CMPA ,X |
0399 D030 27 E7 BEQ ZD019 |
0400 D032 8D B9 ZD032 BSR CLASS1 |
0401 D034 35 90 PULS PC,X |
0402 * |
0403 ** PARSE FILE SPEC. IN LINE BUFFER |
0404 * |
0405 D036 86 15 GETFL1 LDA #$15 |
0406 D038 A7 01 STA $01,X |
0407 D03A 86 FF LDA #$FF |
0408 D03C A7 03 STA $03,X |
0409 D03E 6F 04 CLR $04,X |
0410 D040 6F 0C CLR $0C,X |
0411 D042 BD D0 D4 JSR >ZD0D4 |
0412 D045 86 08 LDA #$08 |
0413 D047 B7 CC 4B STA >ZCC4B |
0414 D04A 8D 34 BSR ZD080 |
0415 D04C 25 2E BCS ZD07C |
0416 D04E 26 0F BNE ZD05F |
0417 D050 8D 2E BSR ZD080 |
0418 D052 25 28 BCS ZD07C |
0419 D054 26 09 BNE ZD05F |
0420 D056 BC CC 3F CMPX >ZCC3F |
0421 D059 27 6C BEQ ZD0C7 |
0422 D05B 8D 23 BSR ZD080 |
0423 D05D 23 68 BLS ZD0C7 |
0424 D05F BE CC 3F ZD05F LDX >ZCC3F |
0425 D062 6D 04 TST $04,X |
0426 D064 27 61 BEQ ZD0C7 |
0427 D066 6D 03 TST $03,X |
0428 D068 2A 0F BPL ZD079 |
0429 D06A 7D CC 0D TST >ZCC0D |
0430 D06D 27 05 BEQ ZD074 |
0431 D06F B6 CC 0B LDA >SYSDRV |
0432 D072 20 03 BRA ZD077 |
0433 |
0434 D074 B6 CC 0C ZD074 LDA >WRKDRV |
0435 D077 A7 03 ZD077 STA $03,X |
0436 D079 7F CC 0D ZD079 CLR >ZCC0D |
0437 D07C BE CC 3F ZD07C LDX >ZCC3F |
0438 D07F 39 RTS |
0439 |
0440 D080 8D 8C ZD080 BSR NXTCH1 |
0441 D082 25 43 BCS ZD0C7 |
0442 D084 81 39 CMPA #$39 |
0443 D086 22 15 BHI ZD09D |
0444 D088 BE CC 3F LDX >ZCC3F |
0445 D08B 6D 03 TST $03,X |
0446 D08D 2A 38 BPL ZD0C7 |
0447 D08F 84 03 ANDA #$03 |
0448 D091 A7 03 STA $03,X |
0449 D093 BD D0 0E JSR >NXTCH1 |
0450 D096 24 2F BCC ZD0C7 |
0451 D098 81 2E ZD098 CMPA #$2E |
0452 D09A 1C FE ANDCC #$FE |
0453 D09C 39 RTS |
0454 |
0455 D09D F6 CC 4B ZD09D LDB >ZCC4B |
0456 D0A0 2B 25 BMI ZD0C7 |
0457 D0A2 34 04 PSHS B |
0458 D0A4 C0 05 SUBB #$05 |
0459 D0A6 F7 CC 4B STB >ZCC4B |
0460 D0A9 35 04 PULS B |
0461 D0AB B1 CC 49 ZD0AB CMPA >MAPUP |
0462 D0AE 25 02 BCS ZD0B2 |
0463 D0B0 80 20 SUBA #$20 |
0464 D0B2 A7 04 ZD0B2 STA $04,X |
0465 D0B4 30 01 LEAX $01,X |
0466 D0B6 5A DECB |
0467 D0B7 BD D0 0E JSR >NXTCH1 |
0468 D0BA 24 08 BCC ZD0C4 |
0469 D0BC 81 2D CMPA #$2D |
0470 D0BE 27 04 BEQ ZD0C4 |
0471 D0C0 81 5F CMPA #$5F |
0472 D0C2 26 06 BNE ZD0CA |
0473 D0C4 5D ZD0C4 TSTB |
0474 D0C5 26 E4 BNE ZD0AB |
0475 D0C7 1A 01 ZD0C7 ORCC #$01 |
0476 D0C9 39 RTS |
0477 |
0478 D0CA 5D ZD0CA TSTB |
0479 D0CB 27 CB BEQ ZD098 |
0480 D0CD 6F 04 CLR $04,X |
0481 D0CF 30 01 LEAX $01,X |
0482 D0D1 5A DECB |
0483 D0D2 20 F6 BRA ZD0CA |
0484 |
0485 D0D4 BF CC 3F ZD0D4 STX >ZCC3F |
0486 D0D7 BE CC 14 LDX >LINPTR |
0487 D0DA A6 84 ZD0DA LDA ,X |
0488 D0DC 81 20 CMPA #$20 |
0489 D0DE 26 04 BNE ZD0E4 |
0490 D0E0 30 01 LEAX $01,X |
0491 D0E2 20 F6 BRA ZD0DA |
0492 D0E4 BF CC 14 ZD0E4 STX >LINPTR |
0493 D0E7 BE CC 3F LDX >ZCC3F |
0494 D0EA 39 RTS |
0495 * |
0496 ** DEFAULT FILE EXTENSION |
0497 * |
0498 D0EB 34 30 SETEX1 PSHS Y,X |
0499 D0ED E6 0C LDB $0C,X |
0500 D0EF 26 18 BNE ZD109 |
0501 D0F1 10 8E D1 0B LDY #EXTTBL |
0502 D0F5 81 0B CMPA #$0B |
0503 D0F7 22 10 BHI ZD109 |
0504 D0F9 C6 03 LDB #$03 |
0505 D0FB 3D MUL |
0506 D0FC 31 A5 LEAY B,Y |
0507 D0FE C6 03 LDB #$03 |
0508 D100 A6 A0 ZD100 LDA ,Y+ |
0509 D102 A7 0C STA $0C,X |
0510 D104 30 01 LEAX $01,X |
0511 D106 5A DECB |
0512 D107 26 F7 BNE ZD100 |
0513 D109 35 B0 ZD109 PULS PC,Y,X |
0514 * |
0515 ** STANDARD FILE NAME EXTTENSIONS |
0516 * |
0517 D10B 42 49 4E EXTTBL FCC "BIN" |
0518 D10E 54 58 54 FCC "TXT" |
0519 D111 43 4D 44 FCC "CMD" |
0520 D114 42 41 53 FCC "BAS" |
0521 D117 53 59 53 FCC "SYS" |
0522 D11A 42 41 4B FCC "BAK" |
0523 D11D 53 43 52 FCC "SCR" |
0524 D120 44 41 54 FCC "DAT" |
0525 D123 42 41 43 FCC "BAC" |
0526 D126 44 49 52 FCC "DIR" |
0527 D129 50 52 54 FCC "PRT" |
0528 D12C 4F 55 54 FCC "OUT" |
0529 * |
0530 ** READ A HEX ADDRESS FROM THE LINE BUFFER |
0531 * |
0532 D12F BD D2 1E GETHX1 JSR >ZD21E |
0533 D132 BD D0 0E ZD132 JSR >NXTCH1 |
0534 D135 25 22 BCS ZD159 |
0535 D137 8D 26 BSR ZD15F |
0536 D139 25 18 BCS ZD153 |
0537 D13B 34 04 PSHS B |
0538 D13D C6 04 LDB #$04 |
0539 D13F 78 CC 1C ZD13F ASL >LODOFF+1 |
0540 D142 79 CC 1B ROL >LODOFF |
0541 D145 5A DECB |
0542 D146 26 F7 BNE ZD13F |
0543 D148 35 04 PULS B |
0544 D14A BB CC 1C ADDA >LODOFF+1 |
0545 D14D B7 CC 1C STA >LODOFF+1 |
0546 D150 5C INCB |
0547 D151 20 DF BRA ZD132 |
0548 |
0549 D153 BD D0 0E ZD153 JSR >NXTCH1 |
0550 D156 24 FB BCC ZD153 |
0551 D158 39 RTS |
0552 |
0553 D159 BE CC 1B ZD159 LDX >LODOFF |
0554 D15C 1C FE ANDCC #$FE |
0555 D15E 39 RTS |
0556 |
0557 D15F 80 47 ZD15F SUBA #$47 |
0558 D161 2A 0F BPL ZD172 |
0559 D163 8B 06 ADDA #$06 |
0560 D165 2A 04 BPL ZD16B |
0561 D167 8B 07 ADDA #$07 |
0562 D169 2A 07 BPL ZD172 |
0563 D16B 8B 0A ZD16B ADDA #$0A |
0564 D16D 2B 03 BMI ZD172 |
0565 D16F 1C FE ANDCC #$FE |
0566 D171 39 RTS |
0567 |
0568 D172 1A 01 ZD172 ORCC #$01 |
0569 D174 39 RTS |
0570 |
0571 D175 BD D2 1E INDEC1 JSR >ZD21E |
0572 D178 BD D0 0E ZD178 JSR >NXTCH1 |
0573 D17B 25 DC BCS ZD159 |
0574 D17D 81 39 CMPA #$39 |
0575 D17F 22 D2 BHI ZD153 |
0576 D181 84 0F ANDA #$0F |
0577 D183 34 04 PSHS B |
0578 D185 34 02 PSHS A |
0579 D187 FC CC 1B LDD >LODOFF |
0580 D18A 58 ASLB |
0581 D18B 49 ROLA |
0582 D18C 58 ASLB |
0583 D18D 49 ROLA |
0584 D18E 58 ASLB |
0585 D18F 49 ROLA |
0586 D190 F3 CC 1B ADDD >LODOFF |
0587 D193 F3 CC 1B ADDD >LODOFF |
0588 D196 EB E0 ADDB ,S+ |
0589 D198 89 00 ADCA #$00 |
0590 D19A FD CC 1B STD >LODOFF |
0591 D19D 35 04 PULS B |
0592 D19F 5C INCB |
0593 D1A0 20 D6 BRA ZD178 |
0594 * |
0595 ** LOAD BINARY FILE |
0596 * |
0597 D1A2 7F CC 1D LOAD1 CLR >TRNFLG |
0598 D1A5 8D 3D ZD1A5 BSR ZD1E4 |
0599 D1A7 81 02 CMPA #$02 |
0600 D1A9 27 15 BEQ ZD1C0 |
0601 D1AB 81 16 CMPA #$16 |
0602 D1AD 26 F6 BNE ZD1A5 |
0603 D1AF 8D 33 BSR ZD1E4 |
0604 D1B1 B7 CC 1E STA >TRNVEC |
0605 D1B4 8D 2E BSR ZD1E4 |
0606 D1B6 B7 CC 1F STA >TRNVEC+1 |
0607 D1B9 86 01 LDA #$01 |
0608 D1BB B7 CC 1D STA >TRNFLG |
0609 D1BE 20 E5 BRA ZD1A5 |
0610 |
0611 D1C0 8D 22 ZD1C0 BSR ZD1E4 |
0612 D1C2 1F 89 TFR A,B |
0613 D1C4 8D 1E BSR ZD1E4 |
0614 D1C6 1E 89 EXG A,B |
0615 D1C8 F3 CC 1B ADDD >LODOFF |
0616 D1CB FD CC 3D STD >ZCC3D |
0617 D1CE 8D 14 BSR ZD1E4 |
0618 D1D0 1F 89 TFR A,B |
0619 D1D2 4D TSTA |
0620 D1D3 27 D0 BEQ ZD1A5 |
0621 D1D5 8D 0D ZD1D5 BSR ZD1E4 |
0622 D1D7 BE CC 3D LDX >ZCC3D |
0623 D1DA A7 80 STA ,X+ |
0624 D1DC BF CC 3D STX >ZCC3D |
0625 D1DF 5A DECB |
0626 D1E0 26 F3 BNE ZD1D5 |
0627 D1E2 20 C1 BRA ZD1A5 |
0628 |
0629 D1E4 8E C8 40 ZD1E4 LDX #FCB |
0630 D1E7 BD D4 06 JSR >FMS |
0631 D1EA 27 11 BEQ ZD1FD |
0632 D1EC A6 01 LDA $01,X |
0633 D1EE 81 08 CMPA #$08 |
0634 D1F0 26 0E BNE ZD200 |
0635 D1F2 32 62 LEAS $02,S |
0636 D1F4 86 04 ZD1F4 LDA #$04 |
0637 D1F6 A7 84 STA ,X |
0638 D1F8 BD D4 06 JSR >FMS |
0639 D1FB 26 0D BNE ZD20A |
0640 D1FD 1C FE ZD1FD ANDCC #$FE |
0641 D1FF 39 RTS |
0642 |
0643 D200 B7 CC 20 ZD200 STA >ERRTYP |
0644 D203 81 04 CMPA #$04 |
0645 D205 26 03 BNE ZD20A |
0646 D207 1A 01 ORCC #$01 |
0647 D209 39 RTS |
0648 |
0649 D20A 8D 73 ZD20A BSR RPTER1 |
0650 D20C 7E CD E4 JMP >ZCDE4 |
0651 * |
0652 ** 'GET' - LOAD BINARY FILE |
0653 * |
0654 D20F 86 00 GETCMD LDA #$00 |
0655 D211 8D 35 BSR ZD248 |
0656 D213 25 0F BCS ZD224 |
0657 D215 8D 07 BSR ZD21E |
0658 D217 7C CC 4C INC >ZCC4C |
0659 D21A 8D 86 BSR LOAD1 |
0660 D21C 20 F1 BRA GETCMD |
0661 |
0662 D21E 4F ZD21E CLRA |
0663 D21F 5F CLRB |
0664 D220 FD CC 1B STD >LODOFF |
0665 D223 39 RTS |
0666 |
0667 D224 F6 CC 4C ZD224 LDB >ZCC4C |
0668 D227 10 27 FB AE LBEQ ZCDD9 |
0669 D22B 7E CD 03 JMP >WARMS |
0670 |
0671 D22E 86 02 ZD22E LDA #$02 |
0672 D230 8D 22 BSR ZD254 |
0673 D232 8D EA BSR ZD21E |
0674 D234 BD D1 A2 JSR >LOAD1 |
0675 D237 F6 CC 1D LDB >TRNFLG |
0676 D23A 27 04 BEQ ZD240 |
0677 D23C 6E 9F CC 1E JMP [TRNVEC] |
0678 |
0679 D240 8E CC 5C ZD240 LDX #NTRMSG |
0680 D243 86 81 LDA #$81 |
0681 D245 7E CD DE JMP >ZCDDE |
0682 |
0683 D248 34 02 ZD248 PSHS A |
0684 D24A 8E C8 40 LDX #FCB |
0685 D24D BD D0 36 JSR >GETFL1 |
0686 D250 35 02 PULS A |
0687 D252 25 1A BCS ZD26E |
0688 D254 8E C8 40 ZD254 LDX #FCB |
0689 D257 BD D0 EB JSR >SETEX1 |
0690 D25A 8E C8 40 LDX #FCB |
0691 D25D 86 01 LDA #$01 |
0692 D25F A7 84 STA ,X |
0693 D261 BD D1 E4 JSR >ZD1E4 |
0694 D264 10 25 00 BB LBCS ZD323 |
0695 D268 86 FF LDA #$FF |
0696 D26A A7 88 3B STA $3B,X |
0697 D26D 39 RTS |
0698 |
0699 D26E B6 CC 11 ZD26E LDA >LASTRM |
0700 D271 81 0D CMPA #$0D |
0701 D273 27 07 BEQ ZD27C |
0702 D275 B1 CC 02 CMPA >EOLCHR |
0703 D278 10 26 FB 5D LBNE ZCDD9 |
0704 D27C 1A 01 ZD27C ORCC #$01 |
0705 D27E 39 RTS |
0706 |
0707 D27F 34 30 RPTER1 PSHS Y,X |
0708 D281 A6 01 LDA $01,X |
0709 D283 B7 CC 20 STA >ERRTYP |
0710 D286 27 63 BEQ ZD2EB |
0711 D288 BD CD EA JSR >RSTIO1 |
0712 D28B 10 BE CC 2D LDY >ERRVEC |
0713 D28F 26 08 BNE ZD299 |
0714 D291 81 10 CMPA #$10 |
0715 D293 27 58 BEQ ZD2ED |
0716 D295 10 8E D3 61 LDY #ZD361 |
0717 D299 8E C8 40 ZD299 LDX #FCB |
0718 D29C 6D 02 TST $02,X |
0719 D29E 27 09 BEQ ZD2A9 |
0720 D2A0 86 04 LDA #$04 |
0721 D2A2 A7 84 STA ,X |
0722 D2A4 BD D4 06 JSR >FMS |
0723 D2A7 26 2E BNE ZD2D7 |
0724 D2A9 8E C8 38 ZD2A9 LDX #ZC838 |
0725 D2AC C6 0B LDB #$0B |
0726 D2AE 8D 6E BSR ZD31E |
0727 D2B0 8E C8 40 LDX #FCB |
0728 D2B3 B6 CC 0B LDA >SYSDRV |
0729 D2B6 A7 03 STA $03,X |
0730 D2B8 86 01 LDA #$01 |
0731 D2BA A7 84 STA ,X |
0732 D2BC BD D4 06 JSR >FMS |
0733 D2BF 26 16 BNE ZD2D7 |
0734 D2C1 B6 CC 20 LDA >ERRTYP |
0735 D2C4 4A DECA |
0736 D2C5 47 ASRA |
0737 D2C6 47 ASRA |
0738 D2C7 4C INCA |
0739 D2C8 6F 88 20 CLR $20,X |
0740 D2CB A7 88 21 STA $21,X |
0741 D2CE 86 15 LDA #$15 |
0742 D2D0 A7 84 STA ,X |
0743 D2D2 BD D4 06 JSR >FMS |
0744 D2D5 27 1E BEQ ZD2F5 |
0745 D2D7 8E CC 75 ZD2D7 LDX #DERMSG |
0746 D2DA BD CE 81 JSR >PSTRG1 |
0747 D2DD BE CC 3F LDX >ZCC3F |
0748 D2E0 B6 CC 20 LDA >ERRTYP |
0749 D2E3 A7 01 STA $01,X |
0750 D2E5 6F 84 CLR ,X |
0751 D2E7 5F CLRB |
0752 D2E8 BD CF 86 JSR >OUTDC1 |
0753 D2EB 35 B0 ZD2EB PULS PC,Y,X |
0754 |
0755 D2ED 8E CC 82 ZD2ED LDX #DNRMSG |
0756 D2F0 BD CE 81 JSR >PSTRG1 |
0757 D2F3 20 F6 BRA ZD2EB |
0758 |
0759 D2F5 BD CE B5 ZD2F5 JSR >PCRLF1 |
0760 D2F8 8E C8 40 LDX #FCB |
0761 D2FB B6 CC 20 LDA >ERRTYP |
0762 D2FE 4A DECA |
0763 D2FF 84 03 ANDA #$03 |
0764 D301 C6 3F LDB #$3F |
0765 D303 3D MUL |
0766 D304 CB 04 ADDB #$04 |
0767 D306 E7 88 22 STB $22,X |
0768 D309 BD D4 06 ZD309 JSR >FMS |
0769 D30C 26 C9 BNE ZD2D7 |
0770 D30E BD CF 41 JSR >PUTCH1 |
0771 D311 81 0D CMPA #$0D |
0772 D313 26 F4 BNE ZD309 |
0773 D315 86 04 LDA #$04 |
0774 D317 A7 84 STA ,X |
0775 D319 BD D4 06 JSR >FMS |
0776 D31C 20 CD BRA ZD2EB |
0777 D31E 34 30 ZD31E PSHS Y,X |
0778 D320 7E D1 00 JMP >ZD100 |
0779 |
0780 D323 8E CC 6B ZD323 LDX #NFDMSG NOT FOUND |
0781 D326 7E CD E1 JMP >ZCDE1 |
0782 * |
0783 ** CALL FLEX AS A SUBROUTINE |
0784 * |
0785 D329 35 06 DOCMD1 PULS B,A |
0786 D32B FD CC 43 STD >ZCC43 |
0787 D32E 10 FF CC 45 ZD32E STS >ZCC45 |
0788 D332 7F CC 20 CLR >ERRTYP |
0789 D335 7C CC 28 INC >CMDFLG |
0790 D338 7E CD B8 JMP >ZCDB8 |
0791 D33B 7F CC 28 ZD33B CLR >CMDFLG |
0792 D33E 10 FE CC 45 LDS >ZCC45 |
0793 D342 F6 CC 20 LDB >ERRTYP |
0794 D345 6E 9F CC 43 JMP [ZCC43] |
0795 * |
0796 ** ADD ACCB TO IX |
0797 * |
0798 D349 3A ADDBX1 ABX |
0799 D34A 39 RTS |
0800 |
0801 D34B 7D CC FC ZD34B TST >ZCCFC |
0802 D34E 26 04 BNE ZD354 |
0803 D350 6E 9F D3 F3 JMP [MONVEC] |
0804 |
0805 D354 8E C8 40 ZD354 LDX #FCB |
0806 D357 86 1B LDA #$1B |
0807 D359 A7 01 STA $01,X |
0808 D35B BD D2 7F JSR >RPTER1 |
0809 D35E 7E CD 67 JMP >WARM1 |
0810 |
0811 D361 45 52 52 4F 52 53 ZD361 FCC /ERRORS/ |
0812 D367 00 00 FCB $00,$00 |
0813 D369 53 59 53 FCC /SYS/ |
0009 END |
0000 INCLUDE "f9-monio.txt" |
0001 * |
0002 ** TERMINAL AND PRINTER DRIVERS |
0003 ** SYS09BUG - Spartan 3 Starter Board |
0004 * |
0005 ** FLEX DRIVER MEMORY MAP: |
0006 ** C700 - C83F PRINTER SPOOLER |
0007 ** CCC0 - CCF7 PRINTER DRIVERS |
0008 ** D370 - D3FF CONSOLE DRIVERS |
0009 ** DE00 - DFAF DISK DRIVERS |
0010 * |
0011 * |
0012 ** INTERRUPT VECTORS |
0013 * |
0014 DFC8 IRQVEC EQU MONRAM+$08 |
0015 DFC2 SWIVEC EQU MONRAM+$02 SWI3 VECTOR |
0016 * |
0017 ** PRINTER DRIVERS |
0018 * |
0019 CCC0 ORG $CCC0 |
0020 CCC0 7E D3 70 PINIT JMP DUMRTS INITIATE PRINTER |
0021 CCD8 ORG $CCD8 |
0022 CCD8 7E D3 70 PCHK JMP DUMRTS CHECK IF PRINTER READY |
0023 CCE4 ORG $CCE4 |
0024 CCE4 7E D3 70 POUT JMP DUMRTS OUTPUT CHR. TO PRINTER |
0025 CCF8 ORG $CCF8 |
0026 CCF8 01 00 00 00 ZCCF8 FCB $01,$00,$00,$00 |
0027 CCFC 00 00 00 00 ZCCFC FCB $00,$00,$00,$00 |
0028 * |
0029 ** CONSOLE DRIVER PATCHES: |
0030 * |
0031 D370 ORG $D370 |
0032 D370 IHND EQU * INTERRUPT HANDLER |
0033 D370 TMON EQU * TIMER ON |
0034 D370 TMOFF EQU * TIMER OFF |
0035 D370 TMINT EQU * TIMER INITIALIZATION |
0036 D370 DUMRTS EQU * |
0037 D370 39 RTS |
0038 * |
0039 ** SBUG MONITOR I/O CALLS |
0040 * |
0041 D371 7E D3 70 TERINZ JMP DUMRTS INITIATE ACIA |
0042 D374 6E 9F F8 04 INCHNE JMP [MONROM+$04] INPUT WITHOUT ECHO |
0043 D378 6E 9F F8 00 MONITR JMP [MONROM+$00] |
0044 D37C 6E 9F F8 08 INCHEK JMP [MONROM+$08] CHECK FOR TERMINAL ENTRY |
0045 D380 6E 9F F8 0A OUTEEE JMP [MONROM+$0A] OUPUT CHARACTER |
0046 D384 6E 9F F8 06 INEEE JMP [MONROM+$06] INPUT WITH ECHO |
0047 |
0048 * |
0049 ** AUTO BLOCK FDBS |
0050 * |
0051 D3E5 ORG $D3E5 |
0052 D3E5 D3 74 ZD3E5 FDB INCHNE INPUT - NO ECHO |
0053 D3E7 D3 70 IHNDVC FDB IHND IRQ INTERRUPT HANDLER |
0054 D3E9 DF C2 SWIVVC FDB SWIVEC SWI3 VECTOR LOCATION |
0055 D3EB DF C8 IRQVVC FDB IRQVEC IRQ VECTOR LOCATION |
0056 D3ED D3 70 TOFVEC FDB TMOFF TIMER OFF ROUTINE |
0057 D3EF D3 70 TONVEC FDB TMON TIMER ON ROUTINE |
0058 D3F1 D3 70 TINVEC FDB TMINT TIMER INITIALIZE ROUTINE |
0059 D3F3 D3 78 MONVEC FDB MONITR MONITOR RETURN ADDRESS |
0060 D3F5 D3 71 TERVEC FDB TERINZ TERMINAL INITIATION |
0061 D3F7 D3 7C STAVEC FDB INCHEK CHECK TERMINAL STATUS |
0062 D3F9 D3 80 OUTVEC FDB OUTEEE TERMINAL CHAR OUTPUT |
0063 D3FB D3 84 INVEC FDB INEEE TERMINAL INPUT CHARACTER |
0064 D3FD 7E CA 00 ZD3FD JMP ZCA00 |
0010 END |
0000 INCLUDE "f9-fms.txt" |
0001 * |
0002 ** FILE MANAGEMENT SYSTEM |
0003 * |
0004 D400 7E D4 36 ZD400 JMP >ZD436 |
0005 D403 7E D4 59 FMSCLS JMP >ZD459 |
0006 D406 7E D4 7B FMS JMP >FMS1 |
0007 D409 20 44 49 53 4B 20 CPYMSG FCC / DISK OPERATING SYSTEM/ |
4F 50 45 52 41 54 |
49 4E 47 20 53 59 |
53 54 45 4D |
0008 D41F 20 43 4F 50 59 52 FCC / COPYRIGHT (C) 1980 BY/ |
49 47 48 54 20 28 |
43 29 20 31 39 38 |
30 20 42 59 |
0009 D435 20 54 45 43 48 4E FCC / TECHNICAL SYSTEMS CONSULTANTS/ |
49 43 41 4C 20 53 |
59 53 54 45 4D 53 |
20 43 4F 4E 53 55 |
4C 54 41 4E 54 53 |
0010 D409 ORG CPYMSG |
0011 D409 FCBPTR RMB 2 |
0012 D40B CURFCB RMB 4 |
0013 D40F ZD40F RMB 2 |
0014 D411 ZD411 RMB 1 |
0015 D412 ZD412 RMB 1 |
0016 D413 ZD413 RMB 1 |
0017 D414 ZD414 RMB 1 |
0018 D415 ZD415 RMB 2 |
0019 D417 ZD417 RMB 1 |
0020 D418 ZD418 RMB 2 |
0021 D41A ZD41A RMB 1 |
0022 D41B ZD41B RMB 2 |
0023 D41D ZD41D RMB 24 |
0024 D435 FF VERFLG FCB $FF |
0025 * |
0026 ** |
0027 * |
0028 D436 BD DE 15 ZD436 JSR >COLDDR |
0029 D439 8E D4 09 LDX #FCBPTR |
0030 D43C C6 0A LDB #$0A |
0031 D43E 8D 11 BSR ZD451 |
0032 D440 8E 00 05 LDX #Z0005 |
0033 D443 BF D4 13 STX >ZD413 |
0034 D446 BF D4 15 STX >ZD415 |
0035 D449 7F D4 1A CLR >ZD41A |
0036 D44C 8E D4 1B ZD44C LDX #ZD41B |
0037 D44F C6 1A LDB #$1A |
0038 D451 6F 80 ZD451 CLR ,X+ |
0039 D453 5A DECB |
0040 D454 26 FB BNE ZD451 |
0041 D456 7E C7 0C JMP >PRSPL5 |
0042 |
0043 D459 BD C7 09 ZD459 JSR >PRSPL4 |
0044 D45C BE D4 09 ZD45C LDX >FCBPTR |
0045 D45F 27 EB BEQ ZD44C |
0046 D461 30 88 E4 LEAX -$1C,X |
0047 D464 BF D4 0B STX >CURFCB |
0048 D467 34 20 PSHS Y |
0049 D469 BD DA C3 JSR >CLOSE |
0050 D46C 35 20 PULS Y |
0051 D46E 24 EC BCC ZD45C |
0052 D470 BE D4 0B LDX >CURFCB |
0053 D473 6F 02 CLR $02,X |
0054 D475 BD C7 0C JSR >PRSPL5 |
0055 D478 C6 FF LDB #$FF |
0056 D47A 39 RTS |
0057 |
0058 * |
0059 ** FMS CALL, PROCESSING |
0060 * |
0061 D47B 7D CC FC FMS1 TST >ZCCFC |
0062 D47E 27 03 BEQ ZD483 |
0063 D480 BD C7 09 JSR >PRSPL4 |
0064 D483 34 24 ZD483 PSHS Y,B |
0065 D485 BF D4 0B STX >CURFCB |
0066 D488 6F 01 CLR $01,X |
0067 D48A E6 84 LDB ,X |
0068 D48C 26 22 BNE DOFUNC |
0069 * |
0070 ** READ/WRITE CHAR/BYTE |
0071 * |
0072 D48E E6 02 LDB $02,X |
0073 D490 27 1A BEQ ZD4AC |
0074 D492 C1 02 CMPB #$02 |
0075 D494 27 11 BEQ ZD4A7 |
0076 D496 BD D5 B4 JSR >ZD5B4 |
0077 D499 BE D4 0B ZD499 LDX >CURFCB |
0078 D49C 25 26 BCS ZD4C4 |
0079 D49E 7D CC FC TST >ZCCFC |
0080 D4A1 26 23 BNE ZD4C6 |
0081 D4A3 5F CLRB |
0082 D4A4 35 24 PULS Y,B |
0083 D4A6 39 RTS |
0084 |
0085 D4A7 BD D6 CF ZD4A7 JSR >ZD6CF |
0086 D4AA 20 ED BRA ZD499 |
0087 D4AC C6 12 ZD4AC LDB #$12 |
0088 D4AE 20 14 BRA ZD4C4 |
0089 |
0090 D4B0 C1 16 DOFUNC CMPB #$16 |
0091 D4B2 23 04 BLS DOFUN1 |
0092 D4B4 C6 01 LDB #$01 |
0093 D4B6 20 0C BRA ZD4C4 |
0094 D4B8 5A DOFUN1 DECB |
0095 D4B9 58 ASLB |
0096 D4BA 8E D4 CE LDX #FMSTBL |
0097 D4BD AD 95 JSR [B,X] |
0098 D4BF BE D4 0B LDX >CURFCB |
0099 D4C2 24 02 BCC ZD4C6 |
0100 D4C4 E7 01 ZD4C4 STB $01,X |
0101 D4C6 BD C7 0C ZD4C6 JSR >PRSPL5 |
0102 D4C9 6D 01 TST $01,X |
0103 D4CB 35 24 PULS Y,B |
0104 D4CD 39 RTS |
0105 * |
0106 ** FMS COMMAND VECTOR TABLE |
0107 * |
0108 D4CE D9 86 FMSTBL FDB OPENRD FC 1 |
0109 D4D0 D9 D9 FDB OPENWR FC 2 |
0110 D4D2 DA F9 FDB OPENUD FC 3 |
0111 D4D4 DA C3 FDB CLOSE FC 4 |
0112 D4D6 D5 E2 FDB REWIND FC 5 |
0113 D4D8 D8 1D FDB OPNDIR FC 6 |
0114 D4DA D8 38 FDB GETREC FC 7 |
0115 D4DC D8 76 FDB PUTREC FC 8 |
0116 D4DE D6 41 FDB RDSECT FC 9 |
0117 D4E0 D6 9F FDB WRSECT FC 10 |
0118 D4E2 D9 69 FDB RESV1 FC 11 |
0119 D4E4 DB D6 FDB DELETE FC 12 |
0120 D4E6 DB 2C FDB RENAME FC 13 |
0121 D4E8 D6 99 FDB RESV2 FC 14 |
0122 D4EA DA 87 FDB NXTSEC FC 15 |
0123 D4EC D8 10 FDB OPNREC FC 16 |
0124 D4EE D5 6F FDB GETBYT FC 17 |
0125 D4F0 D5 90 FDB PUTBYT FC 18 |
0126 D4F2 DB 07 FDB RESV3 FC 19 |
0127 D4F4 DD BD FDB NXTDRV FC 20 |
0128 D4F6 DC FB FDB POSREC FC 21 |
0129 D4F8 DC E5 FDB BAKREC FC 22 |
0130 * |
0131 ** |
0132 * |
0133 D4FA 8D 20 ZD4FA BSR ZD51C |
0134 D4FC 26 05 BNE ZD503 |
0135 D4FE C6 02 LDB #$02 |
0136 D500 1A 01 ORCC #$01 |
0137 D502 39 RTS |
0138 |
0139 D503 ED 84 ZD503 STD ,X |
0140 D505 AE 84 LDX ,X |
0141 D507 6F 84 CLR ,X |
0142 D509 6F 01 CLR $01,X |
0143 D50B 39 RTS |
0144 |
0145 D50C 8D 0E ZD50C BSR ZD51C |
0146 D50E 27 05 BEQ ZD515 |
0147 D510 C6 0D LDB #$0D |
0148 D512 1A 01 ORCC #$01 |
0149 D514 39 RTS |
0150 |
0151 D515 EC 94 ZD515 LDD [,X] |
0152 D517 ED 84 STD ,X |
0153 D519 1C FE ANDCC #$FE |
0154 D51B 39 RTS |
0155 |
0156 D51C FC D4 0B ZD51C LDD >CURFCB |
0157 D51F C3 00 1C ADDD #$001C |
0158 D522 8E D4 09 LDX #FCBPTR |
0159 D525 10 AE 84 ZD525 LDY ,X |
0160 D528 26 03 BNE ZD52D |
0161 D52A 1C FB ANDCC #$FB |
0162 D52C 39 RTS |
0163 |
0164 D52D 10 A3 84 ZD52D CMPD ,X |
0165 D530 26 01 BNE ZD533 |
0166 D532 39 RTS |
0167 D533 AE 84 ZD533 LDX ,X |
0168 D535 20 EE BRA ZD525 |
0169 |
0170 D537 BE D4 0B ZD537 LDX >CURFCB |
0171 D53A 4F CLRA |
0172 D53B 5F CLRB |
0173 D53C 8D 02 BSR ZD540 |
0174 D53E C6 2F LDB #$2F |
0175 D540 A7 88 11 ZD540 STA $11,X |
0176 D543 30 01 LEAX $01,X |
0177 D545 5A DECB |
0178 D546 26 F8 BNE ZD540 |
0179 D548 39 RTS |
0180 |
0181 D549 BE D4 0B ZD549 LDX >CURFCB |
0182 D54C C6 0B LDB #$0B |
0183 D54E A6 04 ZD54E LDA $04,X |
0184 D550 A7 88 24 STA $24,X |
0185 D553 30 01 LEAX $01,X |
0186 D555 5A DECB |
0187 D556 26 F6 BNE ZD54E |
0188 D558 39 RTS |
0189 |
0190 D559 BE D4 0B ZD559 LDX >CURFCB |
0191 D55C C6 0B LDB #$0B |
0192 D55E A6 04 ZD55E LDA $04,X |
0193 D560 34 02 PSHS A |
0194 D562 A6 88 24 LDA $24,X |
0195 D565 A1 E0 CMPA ,S+ |
0196 D567 26 05 BNE ZD56E |
0197 D569 30 01 LEAX $01,X |
0198 D56B 5A DECB |
0199 D56C 26 F0 BNE ZD55E |
0200 D56E 39 ZD56E RTS |
0201 * |
0202 ** GET RANDOM BYTE FROM SECTOR |
0203 * |
0204 D56F BE D4 0B GETBYT LDX >CURFCB |
0205 D572 E6 02 LDB $02,X |
0206 D574 54 LSRB |
0207 D575 24 79 BCC ZD5F0 |
0208 D577 E6 88 23 LDB $23,X |
0209 D57A 7E D6 00 JMP >ZD600 |
0210 |
0211 D57D BE D4 0B ZD57D LDX >CURFCB |
0212 D580 E6 88 22 LDB $22,X |
0213 D583 6C 88 22 INC $22,X |
0214 D586 3A ABX |
0215 D587 A7 88 40 STA $40,X |
0216 D58A 5C INCB |
0217 D58B 26 1F BNE ZD5AC |
0218 D58D 1A 01 ORCC #$01 |
0219 D58F 39 RTS |
0220 * |
0221 ** PUT RANDOM BYTE IN SECTOR |
0222 * |
0223 D590 BE D4 0B PUTBYT LDX >CURFCB |
0224 D593 E6 02 LDB $02,X |
0225 D595 C4 03 ANDB #$03 |
0226 D597 C1 03 CMPB #$03 |
0227 D599 26 55 BNE ZD5F0 |
0228 D59B CA 80 ORB #$80 |
0229 D59D E7 02 STB $02,X |
0230 D59F E6 0F LDB $0F,X |
0231 D5A1 C5 80 BITB #$80 |
0232 D5A3 26 0A BNE ZD5AF |
0233 D5A5 E6 88 23 LDB $23,X |
0234 D5A8 3A ABX |
0235 D5A9 A7 88 40 STA $40,X |
0236 D5AC 1C FE ZD5AC ANDCC #$FE |
0237 D5AE 39 RTS |
0238 |
0239 D5AF C6 0B ZD5AF LDB #$0B |
0240 D5B1 1A 01 ORCC #$01 |
0241 D5B3 39 RTS |
0242 |
0243 D5B4 A6 88 3B ZD5B4 LDA $3B,X |
0244 D5B7 2B 3C BMI ZD5F5 |
0245 D5B9 27 07 BEQ ZD5C2 |
0246 D5BB 6A 88 3B DEC $3B,X |
0247 D5BE 86 20 LDA #$20 |
0248 D5C0 20 1D BRA ZD5DF |
0249 |
0250 D5C2 8D 31 ZD5C2 BSR ZD5F5 |
0251 D5C4 25 1B BCS ZD5E1 |
0252 D5C6 81 18 CMPA #$18 |
0253 D5C8 22 15 BHI ZD5DF |
0254 D5CA 27 F6 BEQ ZD5C2 |
0255 D5CC 81 09 CMPA #$09 |
0256 D5CE 26 0C BNE ZD5DC |
0257 D5D0 8D 23 BSR ZD5F5 |
0258 D5D2 25 0D BCS ZD5E1 |
0259 D5D4 BE D4 0B LDX >CURFCB |
0260 D5D7 A7 88 3B STA $3B,X |
0261 D5DA 20 D8 BRA ZD5B4 |
0262 |
0263 D5DC 4D ZD5DC TSTA |
0264 D5DD 27 E3 BEQ ZD5C2 |
0265 D5DF 1C FE ZD5DF ANDCC #$FE |
0266 D5E1 39 ZD5E1 RTS |
0267 * |
0268 ** REWIND FILE |
0269 * |
0270 D5E2 BD DA B1 REWIND JSR >ZDAB1 |
0271 D5E5 25 09 BCS ZD5F0 |
0272 D5E7 85 01 BITA #$01 |
0273 D5E9 27 05 BEQ ZD5F0 |
0274 D5EB A7 84 STA ,X |
0275 D5ED 7E D9 A0 JMP >ZD9A0 |
0276 |
0277 D5F0 C6 12 ZD5F0 LDB #$12 |
0278 D5F2 1A 01 ORCC #$01 |
0279 D5F4 39 RTS |
0280 |
0281 D5F5 BE D4 0B ZD5F5 LDX >CURFCB |
0282 D5F8 E6 88 22 LDB $22,X |
0283 D5FB 27 0A BEQ ZD607 |
0284 D5FD 6C 88 22 INC $22,X |
0285 D600 3A ZD600 ABX |
0286 D601 A6 88 40 LDA $40,X |
0287 D604 1C FE ANDCC #$FE |
0288 D606 39 RTS |
0289 |
0290 D607 8D 03 ZD607 BSR ZD60C |
0291 D609 24 EA BCC ZD5F5 |
0292 D60B 39 RTS |
0293 |
0294 D60C BE D4 0B ZD60C LDX >CURFCB |
0295 D60F EC 88 40 LDD $40,X |
0296 D612 6C 88 21 INC $21,X |
0297 D615 26 03 BNE ZD61A |
0298 D617 6C 88 20 INC $20,X |
0299 D61A 10 83 00 00 ZD61A CMPD #$0000 |
0300 D61E 27 1C BEQ ZD63C |
0301 D620 ED 88 1E ZD620 STD $1E,X |
0302 D623 34 02 PSHS A |
0303 D625 86 04 LDA #$04 |
0304 D627 A7 88 22 STA $22,X |
0305 D62A 35 02 PULS A |
0306 D62C 8D 13 BSR RDSECT |
0307 D62E 24 10 BCC ZD640 |
0308 D630 C5 80 BITB #$80 |
0309 D632 27 04 BEQ ZD638 |
0310 D634 C6 10 LDB #$10 |
0311 D636 20 06 BRA ZD63E |
0312 |
0313 D638 C6 09 ZD638 LDB #$09 |
0314 D63A 20 02 BRA ZD63E |
0315 |
0316 D63C C6 08 ZD63C LDB #$08 |
0317 D63E 1A 01 ZD63E ORCC #$01 |
0318 D640 39 ZD640 RTS |
0319 * |
0320 ** READ SINGLE SECTOR |
0321 * |
0322 D641 8D 25 RDSECT BSR ZD668 |
0323 D643 BE D4 0B LDX >CURFCB |
0324 D646 BD DE 0C JSR >DRIVE |
0325 D649 25 12 BCS ZD65D |
0326 D64B 8D 11 ZD64B BSR ZD65E |
0327 D64D BD DE 00 JSR >READ |
0328 D650 26 03 BNE ZD655 |
0329 D652 1C FE ANDCC #$FE |
0330 D654 39 RTS |
0331 |
0332 D655 34 04 ZD655 PSHS B |
0333 D657 8D 17 BSR ZD670 |
0334 D659 35 04 PULS B |
0335 D65B 24 EE BCC ZD64B |
0336 D65D 39 ZD65D RTS |
0337 |
0338 D65E BE D4 0B ZD65E LDX >CURFCB |
0339 D661 EC 88 1E LDD $1E,X |
0340 D664 30 88 40 LEAX $40,X |
0341 D667 39 RTS |
0342 |
0343 D668 4F ZD668 CLRA |
0344 D669 B7 D4 11 STA >ZD411 |
0345 D66C B7 D4 12 STA >ZD412 |
0346 D66F 39 RTS |
0347 |
0348 D670 C5 10 ZD670 BITB #$10 |
0349 D672 26 11 BNE ZD685 |
0350 D674 C5 80 BITB #$80 |
0351 D676 26 24 BNE ZD69C |
0352 D678 F6 D4 11 LDB >ZD411 |
0353 D67B 5C INCB |
0354 D67C C1 07 CMPB #$07 |
0355 D67E 27 05 BEQ ZD685 |
0356 D680 F7 D4 11 STB >ZD411 |
0357 D683 20 14 BRA RESV2 |
0358 |
0359 D685 7F D4 11 ZD685 CLR >ZD411 |
0360 D688 F6 D4 12 LDB >ZD412 |
0361 D68B 5C INCB |
0362 D68C C1 04 CMPB #$04 |
0363 D68E 27 0C BEQ ZD69C |
0364 D690 F7 D4 12 STB >ZD412 |
0365 D693 BE D4 0B LDX >CURFCB |
0366 D696 BD DE 09 JSR >RESTOR |
0367 * |
0368 ** RESERVED |
0369 * |
0370 D699 1C FE RESV2 ANDCC #$FE |
0371 D69B 39 RTS |
0372 D69C 1A 01 ZD69C ORCC #$01 |
0373 D69E 39 RTS |
0374 * |
0375 ** WRITE SINGLE SECTOR |
0376 * |
0377 D69F 8D C7 WRSECT BSR ZD668 |
0378 D6A1 BE D4 0B LDX >CURFCB |
0379 D6A4 BD DE 0C JSR >DRIVE |
0380 D6A7 25 20 BCS ZD6C9 |
0381 D6A9 BE D4 0B ZD6A9 LDX >CURFCB |
0382 D6AC 8D B0 BSR ZD65E |
0383 D6AE BD DE 03 JSR >WRITE |
0384 D6B1 26 0A BNE ZD6BD |
0385 D6B3 B6 D4 35 LDA >VERFLG |
0386 D6B6 27 37 BEQ ZD6EF |
0387 D6B8 BD DE 06 JSR >VERIFY |
0388 D6BB 27 32 BEQ ZD6EF |
0389 D6BD C5 40 ZD6BD BITB #$40 |
0390 D6BF 26 0B BNE ZD6CC |
0391 D6C1 34 04 PSHS B |
0392 D6C3 8D AB BSR ZD670 |
0393 D6C5 35 04 PULS B |
0394 D6C7 24 E0 BCC ZD6A9 |
0395 D6C9 39 ZD6C9 RTS |
0396 |
0397 D6CA C6 20 LDB #$20 |
0398 D6CC 1A 01 ZD6CC ORCC #$01 |
0399 D6CE 39 RTS |
0400 |
0401 D6CF BE D4 0B ZD6CF LDX >CURFCB |
0402 D6D2 E6 88 3B LDB $3B,X |
0403 D6D5 2B 3D BMI ZD714 |
0404 D6D7 81 20 CMPA #$20 |
0405 D6D9 26 0F BNE ZD6EA |
0406 D6DB 5C INCB |
0407 D6DC E7 88 3B STB $3B,X |
0408 D6DF C1 7F CMPB #$7F |
0409 D6E1 26 0C BNE ZD6EF |
0410 D6E3 20 0D BRA ZD6F2 |
0411 |
0412 D6E5 8D 0B ZD6E5 BSR ZD6F2 |
0413 D6E7 24 E6 BCC ZD6CF |
0414 D6E9 39 RTS |
0415 |
0416 D6EA 5D ZD6EA TSTB |
0417 D6EB 27 27 BEQ ZD714 |
0418 D6ED 20 F6 BRA ZD6E5 |
0419 |
0420 D6EF 1C FE ZD6EF ANDCC #$FE |
0421 D6F1 39 RTS |
0422 |
0423 D6F2 34 02 ZD6F2 PSHS A |
0424 D6F4 C1 01 CMPB #$01 |
0425 D6F6 26 04 BNE ZD6FC |
0426 D6F8 86 20 LDA #$20 |
0427 D6FA 20 10 BRA ZD70C |
0428 |
0429 D6FC 86 09 ZD6FC LDA #$09 |
0430 D6FE 8D 14 BSR ZD714 |
0431 D700 35 02 PULS A |
0432 D702 25 0F BCS ZD713 |
0433 D704 34 02 PSHS A |
0434 D706 BE D4 0B LDX >CURFCB |
0435 D709 A6 88 3B LDA $3B,X |
0436 D70C 6F 88 3B ZD70C CLR $3B,X |
0437 D70F 8D 03 BSR ZD714 |
0438 D711 35 02 PULS A |
0439 D713 39 ZD713 RTS |
0440 |
0441 D714 BE D4 0B ZD714 LDX >CURFCB |
0442 D717 E6 02 LDB $02,X |
0443 D719 C1 02 CMPB #$02 |
0444 D71B 10 26 FE D1 LBNE ZD5F0 |
0445 D71F E6 88 22 LDB $22,X |
0446 D722 C1 04 CMPB #$04 |
0447 D724 26 08 BNE ZD72E |
0448 D726 34 02 PSHS A |
0449 D728 8D 21 BSR ZD74B |
0450 D72A 35 02 PULS A |
0451 D72C 25 0F BCS ZD73D |
0452 D72E BD D5 7D ZD72E JSR >ZD57D |
0453 D731 24 0A BCC ZD73D |
0454 D733 C6 04 LDB #$04 |
0455 D735 BE D4 0B LDX >CURFCB |
0456 D738 E7 88 22 STB $22,X |
0457 D73B 1C FE ANDCC #$FE |
0458 D73D 39 ZD73D RTS |
0459 |
0460 D73E BE D4 0B ZD73E LDX >CURFCB |
0461 D741 4F CLRA |
0462 D742 5F CLRB |
0463 D743 ED 88 20 STD $20,X |
0464 D746 ED 88 42 STD $42,X |
0465 D749 20 27 BRA ZD772 |
0466 |
0467 D74B E6 88 12 ZD74B LDB $12,X |
0468 D74E 26 22 BNE ZD772 |
0469 D750 E6 88 17 LDB $17,X |
0470 D753 27 44 BEQ ZD799 |
0471 D755 6F 88 17 CLR $17,X |
0472 D758 8D 3F BSR ZD799 |
0473 D75A 25 2A BCS ZD786 |
0474 D75C 8D E0 BSR ZD73E |
0475 D75E 25 26 BCS ZD786 |
0476 D760 8D DC BSR ZD73E |
0477 D762 25 22 BCS ZD786 |
0478 D764 BE D4 0B LDX >CURFCB |
0479 D767 C6 02 LDB #$02 |
0480 D769 E7 88 17 STB $17,X |
0481 D76C EC 88 11 LDD $11,X |
0482 D76F 7E DC 82 JMP >ZDC82 |
0483 |
0484 D772 8D 0E ZD772 BSR ZD782 |
0485 D774 BE D4 0B LDX >CURFCB |
0486 D777 ED 88 40 STD $40,X |
0487 D77A BD D6 9F JSR >WRSECT |
0488 D77D 24 1A BCC ZD799 |
0489 D77F 7E DB C1 JMP >ZDBC1 |
0490 |
0491 D782 8D 03 ZD782 BSR ZD787 |
0492 D784 EC 84 LDD ,X |
0493 D786 39 ZD786 RTS |
0494 |
0495 D787 BE D4 0B ZD787 LDX >CURFCB |
0496 D78A E6 03 LDB $03,X |
0497 D78C 86 06 LDA #$06 |
0498 D78E 3D MUL |
0499 D78F 8E D4 1D LDX #ZD41D |
0500 D792 3A ABX |
0501 D793 BF D4 1B STX >ZD41B |
0502 D796 6D 84 TST ,X |
0503 D798 39 RTS |
0504 |
0505 D799 8D E7 ZD799 BSR ZD782 |
0506 D79B 26 05 BNE ZD7A2 |
0507 D79D C6 07 LDB #$07 |
0508 D79F 1A 01 ZD79F ORCC #$01 |
0509 D7A1 39 RTS |
0510 |
0511 D7A2 BE D4 0B ZD7A2 LDX >CURFCB |
0512 D7A5 ED 88 13 STD $13,X |
0513 D7A8 6D 88 12 TST $12,X |
0514 D7AB 26 03 BNE ZD7B0 |
0515 D7AD ED 88 11 STD $11,X |
0516 D7B0 6C 88 16 ZD7B0 INC $16,X |
0517 D7B3 26 03 BNE ZD7B8 |
0518 D7B5 6C 88 15 INC $15,X |
0519 D7B8 6D 88 17 ZD7B8 TST $17,X |
0520 D7BB 27 0B BEQ ZD7C8 |
0521 D7BD BD DC 43 JSR >ZDC43 |
0522 D7C0 25 DD BCS ZD79F |
0523 D7C2 BE D4 0B LDX >CURFCB |
0524 D7C5 EC 88 13 LDD $13,X |
0525 D7C8 BD D6 20 ZD7C8 JSR >ZD620 |
0526 D7CB 25 D2 BCS ZD79F |
0527 D7CD BE D4 0B LDX >CURFCB |
0528 D7D0 EC 88 40 LDD $40,X |
0529 D7D3 34 06 PSHS B,A |
0530 D7D5 8D B0 BSR ZD787 |
0531 D7D7 35 06 PULS B,A |
0532 D7D9 ED 84 STD ,X |
0533 D7DB 26 0A BNE ZD7E7 |
0534 D7DD 6F 02 CLR $02,X |
0535 D7DF 6F 03 CLR $03,X |
0536 D7E1 6F 04 CLR $04,X |
0537 D7E3 6F 05 CLR $05,X |
0538 D7E5 20 08 BRA ZD7EF |
0539 |
0540 D7E7 10 AE 04 ZD7E7 LDY $04,X |
0541 D7EA 31 3F LEAY -$01,Y |
0542 D7EC 10 AF 04 STY $04,X |
0543 D7EF 4F ZD7EF CLRA |
0544 D7F0 BE D4 0B LDX >CURFCB |
0545 D7F3 6C 88 21 INC $21,X |
0546 D7F6 26 03 BNE ZD7FB |
0547 D7F8 6C 88 20 INC $20,X |
0548 D7FB 5F ZD7FB CLRB |
0549 D7FC A7 88 40 ZD7FC STA $40,X |
0550 D7FF 30 01 LEAX $01,X |
0551 D801 5A DECB |
0552 D802 26 F8 BNE ZD7FC |
0553 D804 BE D4 0B LDX >CURFCB |
0554 D807 EC 88 20 LDD $20,X |
0555 D80A ED 88 42 STD $42,X |
0556 D80D 1C FE ANDCC #$FE |
0557 D80F 39 RTS |
0558 * |
0559 ** OPEN SYSTEM INFO. RECORD |
0560 * |
0561 D810 5F OPNREC CLRB |
0562 D811 34 04 PSHS B |
0563 D813 C6 03 LDB #$03 |
0564 D815 20 0E BRA ZD825 |
0565 D817 BE D4 15 LDX >ZD415 |
0566 D81A BF D4 13 STX >ZD413 |
0567 D81D F6 D4 13 OPNDIR LDB >ZD413 |
0568 D820 34 04 PSHS B |
0569 D822 F6 D4 14 LDB >ZD414 |
0570 D825 BE D4 0B ZD825 LDX >CURFCB |
0571 D828 E7 88 41 STB $41,X |
0572 D82B 35 04 PULS B |
0573 D82D E7 88 40 STB $40,X |
0574 D830 7F D4 18 CLR >ZD418 |
0575 D833 5F CLRB |
0576 D834 E7 88 22 STB $22,X |
0577 D837 39 RTS |
0578 * |
0579 ** GET INFO RECORD |
0580 * |
0581 D838 BE D4 0B GETREC LDX >CURFCB |
0582 D83B E6 88 22 LDB $22,X |
0583 D83E 26 1D BNE ZD85D |
0584 D840 BD D6 0C JSR >ZD60C |
0585 D843 25 30 BCS ZD875 |
0586 D845 BE D4 0B LDX >CURFCB |
0587 D848 7D D4 18 TST >ZD418 |
0588 D84B 26 05 BNE ZD852 |
0589 D84D DC 44 LDD <Z0044 |
0590 D84F FD D4 18 STD >ZD418 |
0591 D852 86 10 ZD852 LDA #$10 |
0592 D854 A7 88 22 STA $22,X |
0593 D857 EC 88 1E LDD $1E,X |
0594 D85A ED 88 2F STD $2F,X |
0595 D85D A6 88 22 ZD85D LDA $22,X |
0596 D860 A7 88 31 STA $31,X |
0597 D863 C6 18 LDB #$18 |
0598 D865 34 14 ZD865 PSHS X,B |
0599 D867 BD D5 F5 JSR >ZD5F5 |
0600 D86A 35 14 PULS X,B |
0601 D86C A7 04 STA $04,X |
0602 D86E 30 01 LEAX $01,X |
0603 D870 5A DECB |
0604 D871 26 F2 BNE ZD865 |
0605 D873 1C FE ANDCC #$FE |
0606 D875 39 ZD875 RTS |
0607 * |
0608 ** PUT INFORMATION RECORD |
0609 * |
0610 D876 BE D4 0B PUTREC LDX >CURFCB |
0611 D879 A6 88 31 LDA $31,X |
0612 D87C A7 88 22 STA $22,X |
0613 D87F C6 18 LDB #$18 |
0614 D881 34 14 ZD881 PSHS X,B |
0615 D883 A6 04 LDA $04,X |
0616 D885 BD D7 14 JSR >ZD714 |
0617 D888 35 14 PULS X,B |
0618 D88A 30 01 LEAX $01,X |
0619 D88C 5A DECB |
0620 D88D 26 F2 BNE ZD881 |
0621 D88F 7E D6 9F JMP >WRSECT |
0622 |
0623 D892 BE D4 0B ZD892 LDX >CURFCB |
0624 D895 A6 03 LDA $03,X |
0625 D897 A7 88 23 STA $23,X |
0626 D89A B6 D4 17 LDA >ZD417 |
0627 D89D 7D D4 1A TST >ZD41A |
0628 D8A0 26 31 BNE ZD8D3 |
0629 D8A2 A7 03 STA $03,X |
0630 D8A4 BE D4 15 LDX >ZD415 |
0631 D8A7 BF D4 13 STX >ZD413 |
0632 D8AA 8C 00 05 ZD8AA CMPX #Z0005 |
0633 D8AD 27 0C BEQ ZD8BB |
0634 D8AF 8D 22 BSR ZD8D3 |
0635 D8B1 23 37 BLS ZD8EA |
0636 D8B3 BE D4 18 LDX >ZD418 |
0637 D8B6 BF D4 13 STX >ZD413 |
0638 D8B9 20 EF BRA ZD8AA |
0639 |
0640 D8BB BE D4 0B ZD8BB LDX >CURFCB |
0641 D8BE A6 88 23 LDA $23,X |
0642 D8C1 A7 03 STA $03,X |
0643 D8C3 2A 0E BPL ZD8D3 |
0644 D8C5 BD DD BD ZD8C5 JSR >NXTDRV |
0645 D8C8 25 36 BCS ZD900 |
0646 D8CA 8D 07 BSR ZD8D3 |
0647 D8CC 23 1C BLS ZD8EA |
0648 D8CE BD DD AD JSR >ZDDAD |
0649 D8D1 20 F2 BRA ZD8C5 |
0650 |
0651 D8D3 BE D4 0B ZD8D3 LDX >CURFCB |
0652 D8D6 7F D4 1A CLR >ZD41A |
0653 D8D9 BD D5 49 JSR >ZD549 |
0654 D8DC BD D8 1D JSR >OPNDIR |
0655 D8DF BD D8 38 ZD8DF JSR >GETREC |
0656 D8E2 24 07 BCC ZD8EB |
0657 D8E4 C1 08 CMPB #$08 |
0658 D8E6 27 18 BEQ ZD900 |
0659 D8E8 1A 01 ORCC #$01 |
0660 D8EA 39 ZD8EA RTS |
0661 |
0662 D8EB BE D4 0B ZD8EB LDX >CURFCB |
0663 D8EE A6 04 LDA $04,X |
0664 D8F0 27 0C BEQ ZD8FE |
0665 D8F2 2A 02 BPL ZD8F6 |
0666 D8F4 8D 0F BSR ZD905 |
0667 D8F6 BD D5 59 ZD8F6 JSR >ZD559 |
0668 D8F9 26 E4 BNE ZD8DF |
0669 D8FB 1C FE ANDCC #$FE |
0670 D8FD 39 RTS |
0671 |
0672 D8FE 8D 05 ZD8FE BSR ZD905 |
0673 D900 1C FB ZD900 ANDCC #$FB |
0674 D902 1C FE ANDCC #$FE |
0675 D904 39 RTS |
0676 |
0677 D905 A6 88 33 ZD905 LDA $33,X |
0678 D908 26 0C BNE ZD916 |
0679 D90A EC 88 2F LDD $2F,X |
0680 D90D ED 88 32 STD $32,X |
0681 D910 A6 88 31 LDA $31,X |
0682 D913 A7 88 34 STA $34,X |
0683 D916 39 ZD916 RTS |
0684 |
0685 D917 BD D7 87 ZD917 JSR >ZD787 |
0686 D91A 26 17 BNE ZD933 |
0687 D91C 8D 18 BSR ZD936 |
0688 D91E 25 15 BCS ZD935 |
0689 D920 C6 06 LDB #$06 |
0690 D922 10 BE D4 0B LDY >CURFCB |
0691 D926 BE D4 1B LDX >ZD41B |
0692 D929 A6 A8 5D ZD929 LDA $5D,Y |
0693 D92C 31 21 LEAY $01,Y |
0694 D92E A7 80 STA ,X+ |
0695 D930 5A DECB |
0696 D931 26 F6 BNE ZD929 |
0697 D933 1C FE ZD933 ANDCC #$FE |
0698 D935 39 ZD935 RTS |
0699 |
0700 D936 BD D8 10 ZD936 JSR >OPNREC |
0701 D939 BD D6 0C JSR >ZD60C |
0702 D93C 25 08 BCS ZD946 |
0703 D93E BE D4 0B LDX >CURFCB |
0704 D941 C6 10 LDB #$10 |
0705 D943 E7 88 22 STB $22,X |
0706 D946 39 ZD946 RTS |
0707 |
0708 D947 BD D7 87 ZD947 JSR >ZD787 |
0709 D94A 8D EA BSR ZD936 |
0710 D94C 25 F8 BCS ZD946 |
0711 D94E C6 06 LDB #$06 |
0712 D950 10 BE D4 0B LDY >CURFCB |
0713 D954 BE D4 1B LDX >ZD41B |
0714 D957 A6 80 ZD957 LDA ,X+ |
0715 D959 A7 A8 5D STA $5D,Y |
0716 D95C 31 21 LEAY $01,Y |
0717 D95E 5A DECB |
0718 D95F 26 F6 BNE ZD957 |
0719 D961 BD D6 9F JSR >WRSECT |
0720 D964 24 E0 BCC ZD946 |
0721 D966 7E DB C1 JMP >ZDBC1 |
0722 * |
0723 ** |
0724 * |
0725 D969 BE D4 0B RESV1 LDX >CURFCB |
0726 D96C 86 02 LDA #$02 |
0727 D96E A7 02 STA $02,X |
0728 D970 EC 88 2F LDD $2F,X |
0729 D973 ED 88 1E STD $1E,X |
0730 D976 BD D6 41 JSR >RDSECT |
0731 D979 25 08 BCS ZD983 |
0732 D97B BD D8 76 JSR >PUTREC |
0733 D97E 24 05 BCC ZD985 |
0734 D980 7E DB C1 JMP >ZDBC1 |
0735 |
0736 D983 C6 0A ZD983 LDB #$0A |
0737 D985 39 ZD985 RTS |
0738 * |
0739 ** OPEN FOR READ |
0740 * |
0741 D986 BD D4 FA OPENRD JSR >ZD4FA |
0742 D989 25 3D BCS ZD9C8 |
0743 D98B BD D8 92 JSR >ZD892 |
0744 D98E 25 38 BCS ZD9C8 |
0745 D990 26 3B BNE ZD9CD |
0746 D992 BE D4 0B LDX >CURFCB |
0747 D995 7D D4 1A TST >ZD41A |
0748 D998 27 06 BEQ ZD9A0 |
0749 D99A A6 0F LDA $0F,X |
0750 D99C 85 20 BITA #$20 |
0751 D99E 26 29 BNE ZD9C9 |
0752 D9A0 BD DC C0 ZD9A0 JSR >ZDCC0 |
0753 D9A3 25 2A BCS ZD9CF |
0754 D9A5 EC 88 11 LDD $11,X |
0755 D9A8 ED 88 40 STD $40,X |
0756 D9AB BD DA 76 JSR >ZDA76 |
0757 D9AE E6 88 17 LDB $17,X |
0758 D9B1 27 13 BEQ ZD9C6 |
0759 D9B3 34 04 ZD9B3 PSHS B |
0760 D9B5 BD D6 0C JSR >ZD60C |
0761 D9B8 35 04 PULS B |
0762 D9BA 25 0C BCS ZD9C8 |
0763 D9BC 5A DECB |
0764 D9BD 26 F4 BNE ZD9B3 |
0765 D9BF BE D4 0B LDX >CURFCB |
0766 D9C2 5F CLRB |
0767 D9C3 E7 88 22 STB $22,X |
0768 D9C6 1C FE ZD9C6 ANDCC #$FE |
0769 D9C8 39 ZD9C8 RTS |
0770 |
0771 D9C9 C6 11 ZD9C9 LDB #$11 |
0772 D9CB 20 02 BRA ZD9CF |
0773 |
0774 D9CD C6 04 ZD9CD LDB #$04 |
0775 D9CF 34 04 ZD9CF PSHS B |
0776 D9D1 BD D5 0C JSR >ZD50C |
0777 D9D4 35 04 PULS B |
0778 D9D6 1A 01 ORCC #$01 |
0779 D9D8 39 RTS |
0780 |
0781 D9D9 BE D4 0B OPENWR LDX >CURFCB |
0782 D9DC 6D 03 TST $03,X |
0783 D9DE 2A 08 BPL ZD9E8 |
0784 D9E0 BD DD BD JSR >NXTDRV |
0785 D9E3 24 03 BCC ZD9E8 |
0786 D9E5 C6 10 LDB #$10 |
0787 D9E7 39 RTS |
0788 |
0789 D9E8 BD D4 FA ZD9E8 JSR >ZD4FA |
0790 D9EB 25 E2 BCS ZD9CF |
0791 D9ED BD D5 37 JSR >ZD537 |
0792 D9F0 BD D9 17 JSR >ZD917 |
0793 D9F3 25 DA BCS ZD9CF |
0794 D9F5 BD D8 92 JSR >ZD892 |
0795 D9F8 25 D5 BCS ZD9CF |
0796 D9FA 26 04 BNE ZDA00 |
0797 D9FC C6 03 LDB #$03 |
0798 D9FE 20 CF BRA ZD9CF |
0799 |
0800 DA00 BD DC C0 ZDA00 JSR >ZDCC0 |
0801 DA03 25 CA BCS ZD9CF |
0802 DA05 BE D4 0B LDX >CURFCB |
0803 DA08 C6 0A LDB #$0A |
0804 DA0A 6F 0F ZDA0A CLR $0F,X |
0805 DA0C 30 01 LEAX $01,X |
0806 DA0E 5A DECB |
0807 DA0F 26 F9 BNE ZDA0A |
0808 DA11 BE D4 0B LDX >CURFCB |
0809 DA14 EC 88 32 LDD $32,X |
0810 DA17 27 27 BEQ ZDA40 |
0811 DA19 ED 88 2F STD $2F,X |
0812 DA1C A6 88 34 LDA $34,X |
0813 DA1F A7 88 31 STA $31,X |
0814 DA22 FC CC 0E LDD >DATERG |
0815 DA25 ED 88 19 STD $19,X |
0816 DA28 B6 CC 10 LDA >YEAR |
0817 DA2B A7 88 1B STA $1B,X |
0818 DA2E BD DD AD JSR >ZDDAD |
0819 DA31 BD D9 69 JSR >RESV1 |
0820 DA34 25 99 BCS ZD9CF |
0821 DA36 8D 3E BSR ZDA76 |
0822 DA38 86 04 LDA #$04 |
0823 DA3A A7 88 22 STA $22,X |
0824 DA3D 1C FE ANDCC #$FE |
0825 DA3F 39 RTS |
0826 |
0827 DA40 BE D4 0B ZDA40 LDX >CURFCB |
0828 DA43 6F 88 17 CLR $17,X |
0829 DA46 6C 88 12 INC $12,X |
0830 DA49 EC 88 2F LDD $2F,X |
0831 DA4C BD D6 20 JSR >ZD620 |
0832 DA4F 25 0D BCS ZDA5E |
0833 DA51 BD D7 72 JSR >ZD772 |
0834 DA54 25 08 BCS ZDA5E |
0835 DA56 BD D6 9F JSR >WRSECT |
0836 DA59 24 06 BCC ZDA61 |
0837 DA5B BD DB C1 JSR >ZDBC1 |
0838 DA5E 7E D9 CF ZDA5E JMP >ZD9CF |
0839 |
0840 DA61 BE D4 0B ZDA61 LDX >CURFCB |
0841 DA64 EC 88 1E LDD $1E,X |
0842 DA67 ED 88 32 STD $32,X |
0843 DA6A 86 10 LDA #$10 |
0844 DA6C A7 88 34 STA $34,X |
0845 DA6F BD D9 47 JSR >ZD947 |
0846 DA72 25 EA BCS ZDA5E |
0847 DA74 20 8A BRA ZDA00 |
0848 |
0849 DA76 BE D4 0B ZDA76 LDX >CURFCB |
0850 DA79 A6 84 LDA ,X |
0851 DA7B A7 02 STA $02,X |
0852 DA7D 6F 84 CLR ,X |
0853 DA7F 6F 88 3B CLR $3B,X |
0854 DA82 4F CLRA |
0855 DA83 A7 88 22 STA $22,X |
0856 DA86 39 RTS |
0857 * |
0858 ** READ/WRITE NEXT SECTOR |
0859 * |
0860 DA87 8D 28 NXTSEC BSR ZDAB1 |
0861 DA89 25 0E BCS ZDA99 |
0862 DA8B 6F 84 CLR ,X |
0863 DA8D 44 LSRA |
0864 DA8E 10 25 FB 7A LBCS ZD60C |
0865 DA92 C6 04 LDB #$04 |
0866 DA94 E7 88 22 STB $22,X |
0867 DA97 1C FE ANDCC #$FE |
0868 DA99 39 ZDA99 RTS |
0869 |
0870 DA9A BE D4 0B ZDA9A LDX >CURFCB |
0871 DA9D A6 02 LDA $02,X |
0872 DA9F 81 83 CMPA #$83 |
0873 DAA1 26 0B BNE ZDAAE |
0874 DAA3 86 03 LDA #$03 |
0875 DAA5 A7 02 STA $02,X |
0876 DAA7 BD D6 9F ZDAA7 JSR >WRSECT |
0877 DAAA 10 25 01 13 LBCS ZDBC1 |
0878 DAAE 1C FE ZDAAE ANDCC #$FE |
0879 DAB0 39 RTS |
0880 |
0881 DAB1 8D E7 ZDAB1 BSR ZDA9A |
0882 DAB3 25 0D BCS ZDAC2 |
0883 DAB5 BE D4 0B LDX >CURFCB |
0884 DAB8 A6 02 LDA $02,X |
0885 DABA 81 03 CMPA #$03 |
0886 DABC 23 F0 BLS ZDAAE |
0887 DABE C6 12 LDB #$12 |
0888 DAC0 1A 01 ORCC #$01 |
0889 DAC2 39 ZDAC2 RTS |
0890 |
0891 DAC3 8D EC CLOSE BSR ZDAB1 |
0892 DAC5 25 31 BCS ZDAF8 |
0893 DAC7 81 02 CMPA #$02 |
0894 DAC9 27 08 BEQ ZDAD3 |
0895 DACB BE D4 0B ZDACB LDX >CURFCB |
0896 DACE 6F 02 CLR $02,X |
0897 DAD0 7E D5 0C JMP >ZD50C |
0898 |
0899 DAD3 A6 88 12 ZDAD3 LDA $12,X |
0900 DAD6 26 05 BNE ZDADD |
0901 DAD8 BD DB A7 JSR >ZDBA7 |
0902 DADB 20 19 BRA ZDAF6 |
0903 |
0904 DADD 8D C8 ZDADD BSR ZDAA7 |
0905 DADF 25 17 BCS ZDAF8 |
0906 DAE1 BE D4 0B LDX >CURFCB |
0907 DAE4 6D 88 17 TST $17,X |
0908 DAE7 27 05 BEQ ZDAEE |
0909 DAE9 BD DC 98 JSR >ZDC98 |
0910 DAEC 25 0A BCS ZDAF8 |
0911 DAEE BD D9 69 ZDAEE JSR >RESV1 |
0912 DAF1 25 05 BCS ZDAF8 |
0913 DAF3 BD D9 47 JSR >ZD947 |
0914 DAF6 24 D3 ZDAF6 BCC ZDACB |
0915 DAF8 39 ZDAF8 RTS |
0916 * |
0917 ** OPEN FOR UPDATE |
0918 * |
0919 DAF9 BD D9 86 OPENUD JSR >OPENRD |
0920 DAFC 25 28 BCS ZDB26 |
0921 DAFE BD D6 0C JSR >ZD60C |
0922 DB01 25 23 BCS ZDB26 |
0923 DB03 86 03 LDA #$03 |
0924 DB05 20 18 BRA ZDB1F |
0925 * |
0926 ** |
0927 * |
0928 DB07 BD D9 86 RESV3 JSR >OPENRD |
0929 DB0A 25 1A BCS ZDB26 |
0930 DB0C BE D4 0B LDX >CURFCB |
0931 DB0F A6 0F LDA $0F,X |
0932 DB11 85 80 BITA #$80 |
0933 DB13 26 12 BNE ZDB27 |
0934 DB15 EC 88 13 LDD $13,X |
0935 DB18 BD D6 20 JSR >ZD620 |
0936 DB1B 25 09 BCS ZDB26 |
0937 DB1D 86 02 LDA #$02 |
0938 DB1F BE D4 0B ZDB1F LDX >CURFCB |
0939 DB22 A7 02 STA $02,X |
0940 DB24 1C FE ANDCC #$FE |
0941 DB26 39 ZDB26 RTS |
0942 |
0943 DB27 C6 0B ZDB27 LDB #$0B |
0944 DB29 1A 01 ORCC #$01 |
0945 DB2B 39 RTS |
0946 * |
0947 ** RENAME FILE |
0948 * |
0949 DB2C 8D 35 RENAME BSR ZDB63 |
0950 DB2E BD D8 92 JSR >ZD892 |
0951 DB31 25 2A BCS ZDB5D |
0952 DB33 27 24 BEQ ZDB59 |
0953 DB35 BE D4 0B LDX >CURFCB |
0954 DB38 C6 0B LDB #$0B |
0955 DB3A A6 88 24 ZDB3A LDA $24,X |
0956 DB3D A7 04 STA $04,X |
0957 DB3F 30 01 LEAX $01,X |
0958 DB41 5A DECB |
0959 DB42 26 F6 BNE ZDB3A |
0960 DB44 8D 4D BSR ZDB93 |
0961 DB46 25 15 BCS ZDB5D |
0962 DB48 BE D4 0B LDX >CURFCB |
0963 DB4B A6 0F LDA $0F,X |
0964 DB4D 85 80 BITA #$80 |
0965 DB4F 26 D6 BNE ZDB27 |
0966 DB51 85 60 BITA #$60 |
0967 DB53 26 09 BNE ZDB5E |
0968 DB55 8D 0C BSR ZDB63 |
0969 DB57 20 55 BRA ZDBAE |
0970 |
0971 DB59 C6 03 ZDB59 LDB #$03 |
0972 DB5B 1A 01 ORCC #$01 |
0973 DB5D 39 ZDB5D RTS |
0974 DB5E C6 0C ZDB5E LDB #$0C |
0975 DB60 1A 01 ORCC #$01 |
0976 DB62 39 RTS |
0977 |
0978 DB63 BE D4 0B ZDB63 LDX >CURFCB |
0979 DB66 86 0B LDA #$0B |
0980 DB68 B7 D4 11 STA >ZD411 |
0981 DB6B A6 04 ZDB6B LDA $04,X |
0982 DB6D E6 88 35 LDB $35,X |
0983 DB70 A7 88 35 STA $35,X |
0984 DB73 E7 04 STB $04,X |
0985 DB75 30 01 LEAX $01,X |
0986 DB77 7A D4 11 DEC >ZD411 |
0987 DB7A 26 EF BNE ZDB6B |
0988 DB7C BE D4 0B LDX >CURFCB |
0989 DB7F A6 0C LDA $0C,X |
0990 DB81 26 0C BNE ZDB8F |
0991 DB83 C6 03 LDB #$03 |
0992 DB85 A6 88 3D ZDB85 LDA $3D,X |
0993 DB88 A7 0C STA $0C,X |
0994 DB8A 30 01 LEAX $01,X |
0995 DB8C 5A DECB |
0996 DB8D 26 F6 BNE ZDB85 |
0997 DB8F BE D4 0B ZDB8F LDX >CURFCB |
0998 DB92 39 RTS |
0999 |
1000 DB93 8D CE ZDB93 BSR ZDB63 |
1001 DB95 BD D8 92 ZDB95 JSR >ZD892 |
1002 DB98 25 07 BCS ZDBA1 |
1003 DB9A 26 06 BNE ZDBA2 |
1004 DB9C BE D4 0B LDX >CURFCB |
1005 DB9F 1C FE ANDCC #$FE |
1006 DBA1 39 ZDBA1 RTS |
1007 |
1008 DBA2 C6 04 ZDBA2 LDB #$04 |
1009 DBA4 1A 01 ORCC #$01 |
1010 DBA6 39 RTS |
1011 |
1012 DBA7 BE D4 0B ZDBA7 LDX >CURFCB |
1013 DBAA 86 FF LDA #$FF |
1014 DBAC A7 04 STA $04,X |
1015 DBAE BD D9 69 ZDBAE JSR >RESV1 |
1016 DBB1 BE D4 0B LDX >CURFCB |
1017 DBB4 86 00 LDA #$00 |
1018 DBB6 A7 02 STA $02,X |
1019 DBB8 39 RTS |
1020 |
1021 DBB9 ED 88 40 ZDBB9 STD $40,X |
1022 DBBC BD D6 9F JSR >WRSECT |
1023 DBBF 24 14 BCC ZDBD5 |
1024 DBC1 C5 40 ZDBC1 BITB #$40 |
1025 DBC3 26 08 BNE ZDBCD |
1026 DBC5 C5 80 BITB #$80 |
1027 DBC7 27 0A BEQ ZDBD3 |
1028 DBC9 C6 10 LDB #$10 |
1029 DBCB 20 06 BRA ZDBD3 |
1030 DBCD C6 0B ZDBCD LDB #$0B |
1031 DBCF 20 02 BRA ZDBD3 |
1032 |
1033 DBD1 C6 0A LDB #$0A |
1034 DBD3 1A 01 ZDBD3 ORCC #$01 |
1035 DBD5 39 ZDBD5 RTS |
1036 * |
1037 ** DELETE FILE |
1038 * |
1039 DBD6 BD D9 17 DELETE JSR >ZD917 |
1040 DBD9 25 5E BCS ZDC39 |
1041 DBDB 8D B8 BSR ZDB95 |
1042 DBDD 25 5A BCS ZDC39 |
1043 DBDF BE D4 0B LDX >CURFCB |
1044 DBE2 A6 0F LDA $0F,X |
1045 DBE4 85 80 BITA #$80 |
1046 DBE6 26 52 BNE ZDC3A |
1047 DBE8 85 60 BITA #$60 |
1048 DBEA 26 52 BNE ZDC3E |
1049 DBEC BD D7 87 JSR >ZD787 |
1050 DBEF BE D4 1B LDX >ZD41B |
1051 DBF2 EC 02 LDD $02,X |
1052 DBF4 26 0F BNE ZDC05 |
1053 DBF6 BE D4 0B LDX >CURFCB |
1054 DBF9 EC 88 11 LDD $11,X |
1055 DBFC 27 33 BEQ ZDC31 |
1056 DBFE BE D4 1B LDX >ZD41B |
1057 DC01 ED 84 STD ,X |
1058 DC03 20 14 BRA ZDC19 |
1059 |
1060 DC05 BE D4 0B ZDC05 LDX >CURFCB |
1061 DC08 BD D6 20 JSR >ZD620 |
1062 DC0B 25 2C BCS ZDC39 |
1063 DC0D BE D4 0B LDX >CURFCB |
1064 DC10 EC 88 11 LDD $11,X |
1065 DC13 27 1C BEQ ZDC31 |
1066 DC15 8D A2 BSR ZDBB9 |
1067 DC17 25 20 BCS ZDC39 |
1068 DC19 BE D4 0B ZDC19 LDX >CURFCB |
1069 DC1C EC 88 13 LDD $13,X |
1070 DC1F BE D4 1B LDX >ZD41B |
1071 DC22 ED 02 STD $02,X |
1072 DC24 BE D4 0B LDX >CURFCB |
1073 DC27 EC 88 15 LDD $15,X |
1074 DC2A BE D4 1B LDX >ZD41B |
1075 DC2D E3 04 ADDD $04,X |
1076 DC2F ED 04 STD $04,X |
1077 DC31 BD DB A7 ZDC31 JSR >ZDBA7 |
1078 DC34 25 03 BCS ZDC39 |
1079 DC36 BD D9 47 JSR >ZD947 |
1080 DC39 39 ZDC39 RTS |
1081 |
1082 DC3A C6 0B ZDC3A LDB #$0B |
1083 DC3C 20 02 BRA ZDC40 |
1084 DC3E C6 0C ZDC3E LDB #$0C |
1085 DC40 1A 01 ZDC40 ORCC #$01 |
1086 DC42 39 RTS |
1087 |
1088 DC43 EC 88 1E ZDC43 LDD $1E,X |
1089 DC46 5C INCB |
1090 DC47 E1 88 3C CMPB $3C,X |
1091 DC4A 23 03 BLS ZDC4F |
1092 DC4C C6 01 LDB #$01 |
1093 DC4E 4C INCA |
1094 DC4F 10 A3 88 13 ZDC4F CMPD $13,X |
1095 DC53 26 0E BNE ZDC63 |
1096 DC55 A6 88 37 LDA $37,X |
1097 DC58 81 FF CMPA #$FF |
1098 DC5A 27 07 BEQ ZDC63 |
1099 DC5C 4C INCA |
1100 DC5D A7 88 37 STA $37,X |
1101 DC60 1C FE ANDCC #$FE |
1102 DC62 39 RTS |
1103 |
1104 DC63 8D 33 ZDC63 BSR ZDC98 |
1105 DC65 25 30 BCS ZDC97 |
1106 DC67 BE D4 0B LDX >CURFCB |
1107 DC6A A6 88 3A LDA $3A,X |
1108 DC6D 8B 03 ADDA #$03 |
1109 DC6F 26 16 BNE ZDC87 |
1110 DC71 EC 88 1E LDD $1E,X |
1111 DC74 10 A3 88 11 CMPD $11,X |
1112 DC78 27 05 BEQ ZDC7F |
1113 DC7A C6 17 LDB #$17 |
1114 DC7C 1A 01 ORCC #$01 |
1115 DC7E 39 RTS |
1116 |
1117 DC7F EC 88 40 ZDC7F LDD $40,X |
1118 DC82 ED 88 38 ZDC82 STD $38,X |
1119 DC85 86 04 LDA #$04 |
1120 DC87 A7 88 3A ZDC87 STA $3A,X |
1121 DC8A EC 88 13 LDD $13,X |
1122 DC8D ED 88 35 STD $35,X |
1123 DC90 86 01 LDA #$01 |
1124 DC92 A7 88 37 STA $37,X |
1125 DC95 1C FE ANDCC #$FE |
1126 DC97 39 ZDC97 RTS |
1127 |
1128 DC98 EC 88 38 ZDC98 LDD $38,X |
1129 DC9B BD D6 20 JSR >ZD620 |
1130 DC9E 25 F7 BCS ZDC97 |
1131 DCA0 BE D4 0B LDX >CURFCB |
1132 DCA3 1F 12 TFR X,Y |
1133 DCA5 E6 88 3A LDB $3A,X |
1134 DCA8 3A ABX |
1135 DCA9 C6 03 LDB #$03 |
1136 DCAB A6 A8 35 ZDCAB LDA $35,Y |
1137 DCAE 31 21 LEAY $01,Y |
1138 DCB0 A7 88 40 STA $40,X |
1139 DCB3 30 01 LEAX $01,X |
1140 DCB5 5A DECB |
1141 DCB6 26 F3 BNE ZDCAB |
1142 DCB8 BD D6 9F JSR >WRSECT |
1143 DCBB 24 DA BCC ZDC97 |
1144 DCBD 7E DB C1 JMP >ZDBC1 |
1145 |
1146 DCC0 BD D8 10 ZDCC0 JSR >OPNREC |
1147 DCC3 BD D6 0C JSR >ZD60C |
1148 DCC6 25 46 BCS ZDD0E |
1149 DCC8 BE D4 0B LDX >CURFCB |
1150 DCCB 4F CLRA |
1151 DCCC 5F CLRB |
1152 DCCD ED 88 20 STD $20,X |
1153 DCD0 A6 88 67 LDA $67,X |
1154 DCD3 A7 88 3C STA $3C,X |
1155 DCD6 5F CLRB |
1156 DCD7 6F 88 40 ZDCD7 CLR $40,X |
1157 DCDA 30 01 LEAX $01,X |
1158 DCDC 5A DECB |
1159 DCDD 26 F8 BNE ZDCD7 |
1160 DCDF BE D4 0B LDX >CURFCB |
1161 DCE2 1C FE ANDCC #$FE |
1162 DCE4 39 RTS |
1163 * |
1164 ** BACKUP ONE RECORD |
1165 * |
1166 DCE5 BE D4 0B BAKREC LDX >CURFCB |
1167 DCE8 A6 88 17 LDA $17,X |
1168 DCEB 27 1D BEQ ZDD0A |
1169 DCED EC 88 20 LDD $20,X |
1170 DCF0 83 00 01 SUBD #$0001 |
1171 DCF3 2A 03 BPL ZDCF8 |
1172 DCF5 7E DD 9A JMP >ZDD9A |
1173 * |
1174 ** POSITION TO RECORD N |
1175 * |
1176 DCF8 ED 88 20 ZDCF8 STD $20,X |
1177 DCFB BD DA B1 POSREC JSR >ZDAB1 |
1178 DCFE 25 0E BCS ZDD0E |
1179 DD00 46 RORA |
1180 DD01 24 07 BCC ZDD0A |
1181 DD03 6F 84 CLR ,X |
1182 DD05 A6 88 17 LDA $17,X |
1183 DD08 26 05 BNE ZDD0F |
1184 DD0A C6 12 ZDD0A LDB #$12 |
1185 DD0C 1A 01 ORCC #$01 |
1186 DD0E 39 ZDD0E RTS |
1187 |
1188 DD0F 7F D4 11 ZDD0F CLR >ZD411 |
1189 DD12 EC 88 11 LDD $11,X |
1190 DD15 10 AE 88 20 LDY $20,X |
1191 DD19 27 6A BEQ ZDD85 |
1192 DD1B BD DD 9F JSR >ZDD9F |
1193 DD1E 25 EE BCS ZDD0E |
1194 DD20 4F CLRA |
1195 DD21 5F CLRB |
1196 DD22 6D 02 ZDD22 TST $02,X |
1197 DD24 27 74 BEQ ZDD9A |
1198 DD26 EB 02 ADDB $02,X |
1199 DD28 89 00 ADCA #$00 |
1200 DD2A BF D4 0F STX >ZD40F |
1201 DD2D BE D4 0B LDX >CURFCB |
1202 DD30 10 A3 88 20 CMPD $20,X |
1203 DD34 24 2C BCC ZDD62 |
1204 DD36 BE D4 0F LDX >ZD40F |
1205 DD39 30 03 LEAX $03,X |
1206 DD3B 34 02 PSHS A |
1207 DD3D B6 D4 11 LDA >ZD411 |
1208 DD40 4C INCA |
1209 DD41 B7 D4 11 STA >ZD411 |
1210 DD44 81 54 CMPA #$54 |
1211 DD46 27 08 BEQ ZDD50 |
1212 DD48 81 A8 CMPA #$A8 |
1213 DD4A 35 02 PULS A |
1214 DD4C 27 4C BEQ ZDD9A |
1215 DD4E 20 D2 BRA ZDD22 |
1216 |
1217 DD50 34 04 ZDD50 PSHS B |
1218 DD52 BE D4 0B LDX >CURFCB |
1219 DD55 EC 88 40 LDD $40,X |
1220 DD58 8D 45 BSR ZDD9F |
1221 DD5A 25 3E BCS ZDD9A |
1222 DD5C 35 04 PULS B |
1223 DD5E 35 02 PULS A |
1224 DD60 20 C0 BRA ZDD22 |
1225 |
1226 DD62 A3 88 20 ZDD62 SUBD $20,X |
1227 DD65 BE D4 0F LDX >ZD40F |
1228 DD68 A6 02 LDA $02,X |
1229 DD6A 34 04 PSHS B |
1230 DD6C A0 E0 SUBA ,S+ |
1231 DD6E 4A DECA |
1232 DD6F 1F 89 TFR A,B |
1233 DD71 A6 84 LDA ,X |
1234 DD73 EB 01 ADDB $01,X |
1235 DD75 BE D4 0B LDX >CURFCB |
1236 DD78 25 05 BCS ZDD7F |
1237 DD7A E1 88 3C ZDD7A CMPB $3C,X |
1238 DD7D 23 06 BLS ZDD85 |
1239 DD7F E0 88 3C ZDD7F SUBB $3C,X |
1240 DD82 4C INCA |
1241 DD83 20 F5 BRA ZDD7A |
1242 |
1243 DD85 BD D6 20 ZDD85 JSR >ZD620 |
1244 DD88 25 14 BCS ZDD9E |
1245 DD8A BE D4 0B LDX >CURFCB |
1246 DD8D EC 88 42 LDD $42,X |
1247 DD90 10 A3 88 20 CMPD $20,X |
1248 DD94 27 14 BEQ ZDDAA |
1249 DD96 C6 19 LDB #$19 |
1250 DD98 20 02 BRA ZDD9C |
1251 |
1252 DD9A C6 18 ZDD9A LDB #$18 |
1253 DD9C 1A 01 ZDD9C ORCC #$01 |
1254 DD9E 39 ZDD9E RTS |
1255 |
1256 DD9F BD D6 20 ZDD9F JSR >ZD620 |
1257 DDA2 25 08 BCS ZDDAC |
1258 DDA4 BE D4 0B LDX >CURFCB |
1259 DDA7 C6 44 LDB #$44 |
1260 DDA9 3A ABX |
1261 DDAA 1C FE ZDDAA ANDCC #$FE |
1262 DDAC 39 ZDDAC RTS |
1263 |
1264 DDAD BE D4 0B ZDDAD LDX >CURFCB |
1265 DDB0 C6 0B LDB #$0B |
1266 DDB2 A6 88 24 ZDDB2 LDA $24,X |
1267 DDB5 A7 04 STA $04,X |
1268 DDB7 30 01 LEAX $01,X |
1269 DDB9 5A DECB |
1270 DDBA 26 F6 BNE ZDDB2 |
1271 DDBC 39 RTS |
1272 * |
1273 ** FIND NEXT DRIVE |
1274 * |
1275 DDBD BE D4 0B NXTDRV LDX >CURFCB |
1276 DDC0 A6 03 LDA $03,X |
1277 DDC2 4C INCA |
1278 DDC3 81 04 CMPA #$04 |
1279 DDC5 24 0F BCC ZDDD6 |
1280 DDC7 A7 03 STA $03,X |
1281 DDC9 26 05 BNE ZDDD0 |
1282 DDCB BD DE 0F JSR >DRVRDY |
1283 DDCE 20 03 BRA ZDDD3 |
1284 |
1285 DDD0 BD DE 12 ZDDD0 JSR >QUICK |
1286 DDD3 25 E8 ZDDD3 BCS NXTDRV |
1287 DDD5 39 RTS |
1288 |
1289 DDD6 C6 10 ZDDD6 LDB #$10 |
1290 DDD8 1A 01 ORCC #$01 |
1291 DDDA 39 RTS |
0011 END |
0000 INCLUDE "f9-cfdsk.txt" |
0001 * |
0002 ** FLEX 9 COMPACT FLASH DISK DRIVERS |
0003 * |
0004 * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300 |
0005 * WITH I/O MAPPED AT $XE000 |
0006 * AND ROM MAPPED AT $XF000 |
0007 * THE BURCHED B5-X300 HAS 256KBYTES OF SRAM |
0008 * THE FIRST 64K IS USED BY FLEX, |
0009 * THE SECOND 192K MAY BE USED AS A RAM DISK |
0010 * |
0011 * |
0012 0010 IMASK EQU $10 IRQ MASK CC |
0013 0040 FMASK EQU $40 FIRQ MASK CC |
0014 FFF0 DATREG EQU $FFF0 DAT REGISTERS |
0015 * |
0016 E040 CF_BASE EQU $E040 |
0017 E040 CF_DATA EQU CF_BASE+0 |
0018 E041 CF_ERROR EQU CF_BASE+1 ; read error |
0019 E041 CF_FEATURE EQU CF_BASE+1 ; write feature |
0020 E042 CF_SECCNT EQU CF_BASE+2 |
0021 E043 CF_SECNUM EQU CF_BASE+3 |
0022 E044 CF_CYLLO EQU CF_BASE+4 |
0023 E045 CF_CYLHI EQU CF_BASE+5 |
0024 E046 CF_HEAD EQU CF_BASE+6 |
0025 E047 CF_STATUS EQU CF_BASE+7 ; read status |
0026 E047 CF_COMAND EQU CF_BASE+7 ; write command |
0027 * |
0028 * Command Equates |
0029 * |
0030 0020 CMDREAD EQU $20 ; Read Single sector |
0031 0030 CMDWRITE EQU $30 ; Write Single sector |
0032 00EF CMDFEATURE EQU $EF |
0033 0001 FEAT8BIT EQU $01 ; enable 8 bit transfers |
0034 00E0 HEADLBA EQU $E0 |
0035 * |
0036 * Status bit equates |
0037 * |
0038 0080 BSY EQU $80 |
0039 0040 DRDY EQU $40 |
0040 0008 DRQ EQU $08 |
0041 0001 ERR EQU $01 |
0042 DE00 ORG $DE00 |
0043 * |
0044 * DISK DRIVER JUMP TABLE |
0045 * |
0046 DE00 7E DE 4B READ JMP READSC |
0047 DE03 7E DE 6C WRITE JMP WRITSC |
0048 DE06 7E DE 8E VERIFY JMP BUSY |
0049 DE09 7E DE 32 RESTOR JMP RESTR1 |
0050 DE0C 7E DE 90 DRIVE JMP DRVSEL |
0051 DE0F 7E DE 9C DRVRDY JMP CHKDRV |
0052 DE12 7E DE 9C QUICK JMP CHKDRV |
0053 DE15 7E DE 1F COLDDR JMP INITDR |
0054 DE18 7E DE 4A WARMDR JMP WARMD1 |
0055 DE1B 7E DE 37 SEEK JMP SEEKTS |
0056 * |
0057 * RAM SPACE |
0058 * |
0059 DE1E 00 DRVNUM FCB 0 |
0060 * |
0061 * |
0062 * INITIALIZE CF CARD FOR 8 BIT LBA MODE |
0063 * |
0064 DE1F 8D 7F INITDR BSR WAITRDY |
0065 DE21 86 E0 LDA #HEADLBA |
0066 DE23 B7 E0 46 STA CF_HEAD |
0067 DE26 86 01 LDA #FEAT8BIT |
0068 DE28 B7 E0 41 STA CF_FEATURE |
0069 DE2B 86 EF LDA #CMDFEATURE |
0070 DE2D B7 E0 47 STA CF_COMAND |
0071 DE30 20 6E BRA WAITRDY |
0072 * |
0073 * RESTORE DISK DRIVER (SEEK TRACK 00) |
0074 * |
0075 DE32 8D 5C RESTR1 BSR DRVSEL |
0076 DE34 4F CLRA ; Track 0 |
0077 DE35 C6 01 LDB #$01 ; Sector 1 |
0078 * |
0079 * Seek track and sector |
0080 * A holds track number (0 - ??) |
0081 * B holds sector number (1 - ??) |
0082 * Sector numbers starts from 1 |
0083 * subtract 1 to start from sector 0 on CF |
0084 * |
0085 DE37 5A SEEKTS DECB |
0086 DE38 F7 E0 43 STB CF_SECNUM |
0087 DE3B B7 E0 44 STA CF_CYLLO |
0088 DE3E F6 DE 1E LDB DRVNUM |
0089 DE41 F7 E0 45 STB CF_CYLHI |
0090 DE44 C6 01 LDB #$01 |
0091 DE46 F7 E0 42 STB CF_SECCNT |
0092 DE49 5F CLRB |
0093 DE4A 39 WARMD1 RTS |
0094 * |
0095 * READ SECTORS FROM CF |
0096 * |
0097 * |
0098 DE4B 8D EA READSC BSR SEEKTS |
0099 DE4D 86 20 LDA #CMDREAD ; IDE READ MULTIPLE |
0100 DE4F B7 E0 47 STA CF_COMAND |
0101 DE52 8D 4C BSR WAITRDY |
0102 * |
0103 * READ LOOP |
0104 * |
0105 DE54 5F CLRB |
0106 DE55 8D 58 RDLP1 BSR WAITDRQ |
0107 DE57 B6 E0 40 LDA CF_DATA |
0108 DE5A A7 80 STA ,X+ |
0109 DE5C 5A DECB |
0110 DE5D 26 F6 BNE RDLP1 |
0111 * |
0112 DE5F 5F CLRB |
0113 DE60 8D 4D RDLP2 BSR WAITDRQ |
0114 DE62 B6 E0 40 LDA CF_DATA |
0115 DE65 5A DECB |
0116 DE66 26 F8 BNE RDLP2 |
0117 * |
0118 DE68 8D 36 BSR WAITRDY |
0119 DE6A 5F CLRB |
0120 DE6B 39 RTS |
0121 * |
0122 * WRITE SECTOR TO CF |
0123 * |
0124 DE6C 8D C9 WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR |
0125 DE6E 86 30 LDA #CMDWRITE; IDE WRITE MULTIPLE |
0126 DE70 B7 E0 47 STA CF_COMAND |
0127 DE73 8D 2B BSR WAITRDY |
0128 * |
0129 * WRITE LOOP |
0130 * |
0131 DE75 5F CLRB |
0132 DE76 8D 37 WRTLP1 BSR WAITDRQ |
0133 DE78 A6 80 LDA ,X+ |
0134 DE7A B7 E0 40 STA CF_DATA |
0135 DE7D 5A DECB |
0136 DE7E 26 F6 BNE WRTLP1 |
0137 * |
0138 DE80 5F CLRB |
0139 DE81 8D 2C WRTLP2 BSR WAITDRQ |
0140 DE83 4F CLRA |
0141 DE84 B7 E0 40 STA CF_DATA |
0142 DE87 5A DECB |
0143 DE88 26 F7 BNE WRTLP2 |
0144 * |
0145 DE8A 8D 14 BSR WAITRDY |
0146 DE8C 5F CLRB |
0147 DE8D 39 RTS |
0148 * |
0149 * CHECK FOR BUSY |
0150 * Doubles as VERIFY |
0151 * |
0152 DE8E 5F BUSY CLRB Never busy |
0153 DE8F 39 RTS |
0154 * |
0155 * DRIVE SELECT DISK DRIVER |
0156 * |
0157 DE90 A6 03 DRVSEL LDA 3,X GET DRIVE # FROM FCB |
0158 DE92 81 03 CMPA #3 |
0159 DE94 23 01 BLS DRVS2 IF > 3, SET IT TO 0 |
0160 DE96 4F CLRA |
0161 DE97 B7 DE 1E DRVS2 STA DRVNUM |
0162 DE9A 5F CLRB ; SET Z, CLEAR C |
0163 DE9B 39 RTS |
0164 * |
0165 * CHECK DRIVE READY DISK DRIVER |
0166 * |
0167 DE9C A6 03 CHKDRV LDA 3,X |
0168 DE9E 5F CLRB ; CLEAR C, SET Z |
0169 DE9F 39 RTS |
0170 * |
0171 * WAIT UNTIL READY |
0172 * |
0173 DEA0 B6 E0 47 WAITRDY LDA CF_STATUS |
0174 DEA3 85 80 BITA #BSY |
0175 DEA5 26 F9 BNE WAITRDY |
0176 DEA7 B6 E0 47 LDA CF_STATUS |
0177 DEAA 85 40 BITA #DRDY |
0178 DEAC 27 F2 BEQ WAITRDY |
0179 DEAE 39 RTS |
0180 * |
0181 * WAIT FOR DATA REQUEST |
0182 * |
0183 DEAF B6 E0 47 WAITDRQ LDA CF_STATUS |
0184 DEB2 85 08 BITA #DRQ |
0185 DEB4 27 F9 BEQ WAITDRQ |
0186 DEB6 39 RTS |
0187 * |
0012 END |
0013 END COLDS |
Program + Init Data = 5127 bytes |
Error count = 0 |
/branches/before_delete/src/flex9/FLEX9ADS.S19
0,0 → 1,176
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC |
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3 |
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712 |
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC |
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC |
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B |
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332 |
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2 |
S106C8007ECCE403 |
S113C840FF000000535441525455500054585400B2 |
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14 |
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648 |
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78 |
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75 |
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054 |
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9 |
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981 |
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B |
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E |
S11ECC200000000000000000000000BFFF000001000000000000000000000036 |
S104CC496086 |
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E |
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296 |
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08 |
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5 |
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8 |
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460 |
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB |
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887 |
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003 |
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF |
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7 |
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058 |
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F |
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF |
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2 |
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4 |
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6 |
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63 |
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B |
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7 |
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9 |
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE |
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316 |
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF |
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B |
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2 |
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD |
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42 |
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477 |
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1 |
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B |
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51 |
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475 |
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5 |
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3 |
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D |
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886 |
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB |
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A |
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71 |
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7 |
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B |
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902 |
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0 |
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2 |
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D |
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8 |
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906 |
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634 |
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1 |
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453 |
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC |
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3 |
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD |
S10FD360674552524F525300005359537A |
S106CCC07ED370AC |
S106CCD87ED37094 |
S106CCE47ED37088 |
S10BCCF801000000000000002F |
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672 |
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF |
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217 |
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3 |
S111D4454D5320434F4E53554C54414E5453B7 |
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631 |
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2 |
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE |
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676 |
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09 |
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0 |
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D |
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405 |
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137 |
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404 |
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA |
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677 |
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3 |
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1 |
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166 |
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9 |
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6 |
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F |
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489 |
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C |
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28 |
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168 |
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49 |
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488 |
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9 |
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A |
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E |
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D |
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2 |
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850 |
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0 |
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B |
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711 |
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1 |
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15 |
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB |
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442 |
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3 |
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851 |
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70 |
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01 |
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF |
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9 |
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447 |
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523 |
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03 |
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5 |
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4 |
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7 |
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF |
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B |
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50 |
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829 |
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3 |
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B |
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB |
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F |
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5 |
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7 |
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0 |
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8 |
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7 |
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29 |
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8 |
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B |
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D |
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780 |
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF |
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B |
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355 |
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D |
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB |
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73 |
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D |
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F |
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F |
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819 |
S109DDD539C6101A0139E1 |
S123DE007EDE377EDED87EDF057EDF177EDF357EDF607EDF607EDE2C7EDE367EDE6B000074 |
S123DE20000000000A0A0A0A0C0C03038EDE1EC6056F805A26FB398D32868C1A10B7E018F6 |
S123DE40170136C600B6E01885022608850126F51F89200AB6E01BA7805A26E98D05C51C20 |
S123DE601CEF39F6E018C50126F939F7E01AC10A220BF6DE1EC1012207C4BF2007F6DE1EEC |
S123DE80C401CA40F7E014B1E01927493402B0E0191F893420108EDE28B6DE1E8401A6A6A8 |
S123DEA03520850827198504261584035D2A05508A6020028A4034048D1135045A26F78435 |
S123DEC0038A183504F7E01B1700AEB7E0181700A88D90C5107EDF798D9186AC1A10B7E062 |
S123DEE018170095C600B6E01885022608850126F51F89200BA680B7E01B5A26E917FF6303 |
S123DF00C55C1CEF39868C1A10B7E01817006A17FF511CEFC5183934108D1A8EDE28B6DE91 |
S123DF201E8401A68684038A08B7E0188D4B17FF32C5D83590A60381032305C60F1A013946 |
S123DF408D2DF6E019E784B7DE1E8101230484018A40B7E0148D18A684B7E0198D1B200B01 |
S123DF60A60381032305C6801A01395F1CFE398EDE1FF6DE1EC4013A3917000017000039E0 |
S9030000FC |
/branches/before_delete/src/flex9/flex9_ram_b16_0.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_11 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_12 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_13 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_14 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_15 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_16 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_17 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_21 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_22 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_23 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_24 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_25 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_26 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_27 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_28 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_29 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_31 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_32 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_33 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_34 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_35 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"3B0000000010C810C8000000000C1FC77E95C77E85C77E47C77E03C77E21C77E", |
INIT_39 => x"8E3B02EE1031CCBF0727846D34CC7CFCCC8E112634CC7D02EF1031CCBE101A12", |
INIT_3a => x"A702354088EDC0CA8E01EC023484A619C7BE29271BC77D101AF12034CC7FF8CC", |
INIT_3b => x"FCCC7FEDD39FADEF1CF620123F1129271EC77D3B886F22886F02A70186846F03", |
INIT_3c => x"27261DC77D39EF1C30CC7F3930CC7CF420123F11052730CC7D101AF420123F11", |
INIT_3d => x"03260D8102353C8D0A8602340F270A811CC77F0F271CC77D1F2606D4BDC0CA8E", |
INIT_3e => x"036A0527036D19C7BE1DC77F228D12C7B6278D0A862B8D0D86D420318D1CC7B7", |
INIT_3f => x"F620123F11052BD8CCBD47C77E1BC77A19C7BF10C88E032640C88C043047C77E" |
/branches/before_delete/src/flex9/flex9_ram_b16_1.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000E4CC7E", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"00000000000000000000000000000000005458540050555452415453000000FF", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"CDBFFBD3BEF1D39FAD06CABFA10089302BCCBEFDD3B73986A0C039ACCABD0620", |
INIT_11 => x"2684E11284E784A6B9C6A0008E4FCDBFF7D3BE13CDBF10CDBFF9D3BE0DCDBF0A", |
INIT_12 => x"BD81CEBDDCCA8E16CCBF03CD8E2BCCBF5FFF8930EC2606CABC0004893084A70B", |
INIT_13 => x"CCBF80C08E67CD7E00D2BD01A6082706D4BD84A7018640C88EB5CEBD9E8DB5CE", |
INIT_14 => x"80C08EF4D1BD40C88EE7260D8180A714CCBED7D27E3034052706D4BD40C88E14", |
INIT_15 => x"EC250D8D0ECCB7F325148D2BCEBD81CEBDECCA8E2ED37E43CCBF67CD8E14CCBF", |
INIT_16 => x"3930383639011A39FE1C03275D1CCCB60B2575D1BD3910CCB7E525068D0FCCB7", |
INIT_17 => x"000004203F2959592C44442C4D4D2820455441440431302E33562058454C4620", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000001001BFF0000400400193A1808", |
INIT_21 => x"00000000000000000000000000000000010000FFBF0000000000000000000000", |
INIT_22 => x"274E4143043F54414857043F3F3F042B2B2B0000000060000000000000000000", |
INIT_23 => x"20524F525245204B53494404444E554F4620544F4E04524546534E4152542054", |
INIT_24 => x"004BD3004E4F4D0FD20054454704594441455220544F4E205345564952440423", |
INIT_25 => x"0000000000000000000000000000000000000000000000000A006400E8031027", |
INIT_26 => x"000000000070D37E00000000000000000000000000000000000000000070D37E", |
INIT_27 => x"0000000000000001000000000000000000000000000000000070D37E00000000", |
INIT_28 => x"CE7E2BCE7E41CF7EFBCE7E12CD7E0FCD7E0CCD7E09CD7EB1CD7E67CD7E57CD7E", |
INIT_29 => x"7ED4CF7E86CF7E49D37EEBD07EA2D17E36D07EEACD7E0ED07EB5CE7EEDCF7E81", |
INIT_2a => x"D4BD11CC7F7FC0CE1005CE7E05CE7E4ECD7E29D37E75D17ED0CF7E2FD17E7FD2", |
INIT_2b => x"9FAFE7D3BEE9D39FAF00C78E16CCBF03CD8E18DEBD7FC0CE10FDD3BD28CC7F00", |
INIT_2c => x"28CC7D142015CC7C052602CCB111CCB65A8D4CCC7F34CC7F31CCBFF8CC8EEBD3", |
INIT_2d => x"D0BD0DCC7C40C88EE5270D81D4D0BD7A8D81CEBD4ECC8EB22603D4BD97052610", |
INIT_2e => x"CCB7158656CC8E2ED2BD01986E0326358D072712CCBE09273E8D93CC8E162536", |
INIT_2f => x"7F21CC7F22CC7F23CC7F0ACDBF0DCDBE10CDBF13CDBE67CD7E11CC7F81CEBD20", |
INIT_30 => x"806D0C27A46DF026846D082680A1208002235F81A0A644C88E103924CC7F26CC", |
INIT_31 => x"0D811F2700CCB11D2701CCB1FBCEBD14CCBF80C08E39FB1CDE26846D0230FC26", |
INIT_32 => x"80C08CCE20268D52CC8E39DC260D8180A7E227FFC08CE7231F8132270A810D27", |
INIT_33 => x"20208641CFBD0D86B92066CFBD07CCB666CFBD20860826088107CCB61F30F427", |
INIT_34 => x"CC7F5C260ACCB1E5D39FAD65274ECDBDF320013041CFBD6F27048184A6328DC9", |
INIT_35 => x"2703CCB6D48D272621CC7D16CC9F6E11CC7FF326038150270ACCB1E5D39FAD1A", |
INIT_36 => x"CC7C0435FB265A088D052708CCF60434CE8D022709CC7D1ACC7F18221ACCB120", |
INIT_37 => x"1A2623CC7D39FE1C0435FA265A4E8D4F062705CCF60434588D0A865C8D0D861A", |
INIT_38 => x"1ACC7F0CCDBD032009CDBD0820538D0C2724CC7D11272FCC7D1A8D102726CC7D", |
INIT_39 => x"CD7E7FD2BD24CC7F3947CCBE042606D4BD24CCBE47CCBF062026CCBE47CCBF39", |
INIT_3a => x"CEBD062429CCB10B2704CCB6023429CC7C172029CC7F05221F81202621CC7D03", |
INIT_3b => x"03200FCDBD082626CC7D0D20B58D042724CC7D132622CC7D0234023529CC7CB5", |
INIT_3c => x"1FF7264DCC7A02300B8DA0CC8E84EC4DCCB704861DCCF74ACC7F39023512CDBD", |
INIT_3d => x"CC7D0B264ACC7D10264BCCB60234F4204BCC7C84A3072584A3104BCC7F3D2098", |
INIT_3e => x"44444444042084A6048D84A60130028D8235128D4ACC7C0520238D20860B271D", |
INIT_3f => x"2561810E235A810C254181162339811425308141CF7E078B02233981308B0F84" |
/branches/before_delete/src/flex9/flex9_ram_b16_2.vhd
0,0 → 1,64
INIT_00 => x"0D8118CCB780A619CCB718CCB614CCBE103439FE1C3911CCB7011A06237A8104", |
INIT_01 => x"046F03A7FF8601A715869035B98DE72784A10426208114CCBF0B2702CCB11027", |
INIT_02 => x"BE6823238D6C273FCCBC092628252E8D0F262E25348D4BCCB70886D4D0BD0C6F", |
INIT_03 => x"393FCCBE0DCC7F03A70CCCB603200BCCB605270DCC7D0F2A036D6127046D3FCC", |
INIT_04 => x"4BCCF639FE1C2E812F240ED0BD03A70384382A036D3FCCBE1522398143258C8D", |
INIT_05 => x"04272D8108240ED0BD5A013004A72080022549CCB104354BCCF705C00434252B", |
INIT_06 => x"0426208184A614CCBE3FCCBFF6205A0130046FCB275D39011AE4265D06265F81", |
INIT_07 => x"03C6A5313D03C610220B810BD18E1018260CE63034393FCCBE14CCBFF6200130", |
INIT_08 => x"5243534B4142535953534142444D435458544E4942B035F7265A01300CA7A0A6", |
INIT_09 => x"7804C604341825268D22250ED0BD1ED2BD54554F545250524944434142544144", |
INIT_0a => x"8039FE1C1BCCBE39FB240ED0BDDF205C1CCCB71CCCBB0435F7265A1BCC791CCC", |
INIT_0b => x"223981DC250ED0BD1ED2BD39011A39FE1C032B0A8B072A078B042A068B0F2A47", |
INIT_0c => x"5C04351BCCFD0089E0EB1BCCF31BCCF34958495849581BCCFC023404340F84D2", |
INIT_0d => x"E5201DCCB701861FCCB72E8D1ECCB7338DF6261681152702813D8D1DCC7FD620", |
INIT_0e => x"5A3DCCBF80A73DCCBE0D8DD0274D891F148D3DCCFD1BCCF3891E1E8D891F228D", |
INIT_0f => x"39FE1C0D2606D4BD84A7048662320E26088101A6112706D4BD40C88EC120F326", |
INIT_10 => x"5F4FF120868D4CCC7C078D0F25358D0086E4CD7E738D39011A0326048120CCB7", |
INIT_11 => x"1ECC9F6E04271DCCF6A2D1BDEA8D228D028603CD7EAEFB27104CCCF6391BCCFD", |
INIT_12 => x"A7018640C88EEBD0BD40C88E1A25023536D0BD40C88E0234DECD7E81865CCC8E", |
INIT_13 => x"3439011A5DFB261002CCB107270D8111CCB6393B88A7FF86BB002510E4D1BD84", |
INIT_14 => x"0927026D40C88E61D38E105827108108262DCCBE10EACDBD632720CCB701A630", |
INIT_15 => x"2606D4BD84A7018603A70BCCB640C88E6E8D0BC638C88E2E2606D4BD84A70486", |
INIT_16 => x"3FCCBE81CEBD75CC8E1E2706D4BD84A715862188A720886F4C47474A20CCB616", |
INIT_17 => x"844A20CCB640C88EB5CEBDF62081CEBD82CC8EB03586CFBD5F846F01A720CCB6", |
INIT_18 => x"3034CD2006D4BD84A70486F4260D8141CFBDC92606D4BD2288E704CB3D3FC603", |
INIT_19 => x"FE1028CC7FB8CD7E28CC7C20CC7F45CCFF1043CCFD0635E1CD7E6BCC8E00D17E", |
INIT_1a => x"CD7E7FD2BD01A71B8640C88EF3D39F6E0426FCCC7D393A43CC9F6E20CCF645CC", |
INIT_1b => x"08F89F6E00F89F6E04F89F6E70D37E3900000000535953000053524F52524567", |
INIT_1c => x"00000000000000000000000000000000000000000000000006F89F6E0AF89F6E", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"00CA7E84D380D37CD371D378D370D370D370D3C8DFC2DF70D374D30000000000", |
INIT_20 => x"204D455453595320474E4954415245504F204B534944207BD47E59D47E36D47E", |
INIT_21 => x"118D0AC609D48E15DEBDFF594220303839312029432820544847495259504F43", |
INIT_22 => x"2709D4BE09C7BD0CC77EFB265A806F1AC61BD48E1AD47F15D4BF13D4BF05008E", |
INIT_23 => x"0327FCCC7D39FFC60CC7BD026F0BD4BEEC242035C3DABD20340BD4BFE48830EB", |
INIT_24 => x"CC7D26250BD4BEB4D5BD112702C11A2702E6222684E6016F0BD4BF243409C7BD", |
INIT_25 => x"BE95ADCED48E585A0C2001C6042316C1142012C6ED20CFD6BD3924355F2326FC", |
INIT_26 => x"41D676D838D81DD8E2D5C3DAF9DAD9D986D9392435016D0CC7BD01E702240BD4", |
INIT_27 => x"02C60526208DE5DCFBDCBDDD07DB90D56FD510D887DA99D62CDBD6DB69D99FD6", |
INIT_28 => x"C30BD4FC39FE1C84ED94EC39011A0DC605270E8D39016F846F84AE84ED39011A", |
INIT_29 => x"2FC6028D5F4F0BD4BEEE2084AE39012684A31039FB1C032684AE1009D48E1C00", |
INIT_2a => x"04A60BC60BD4BE39F6265A01302488A704A60BC60BD4BE39F8265A01301188A7", |
INIT_2b => x"0BD4BE00D67E2388E679245402E60BD4BE39F0265A01300526E0A12488A60234", |
INIT_2c => x"E602E780CA552603C103C402E60BD4BE39011A1F265C4088A73A22886C2288E6", |
INIT_2d => x"20863B886A07273C2B3B88A639011A0BC639FE1C4088A73A2388E60A2680C50F", |
INIT_2e => x"1CE3274DD8203B88A70BD4BE0D25238D0C260981F627152218811B25318D1D20", |
INIT_2f => x"22886C0A272288E60BD4BE39011A12C6A0D97E84A7052701850925B1DABD39FE", |
INIT_30 => x"1C270000831020886C032621886C4088EC0BD4BE39EA24038D39FE1C4088A63A", |
INIT_31 => x"011A08C6022009C6062010C6042780C51024138D02352288A7048602341E88ED", |
INIT_32 => x"D4BE39EE240435178D043439FE1C032600DEBD118D12250CDEBD0BD4BE258D39", |
INIT_33 => x"052707C15C11D4F6242680C5112610C53912D4B711D4B74F394088301E88EC0B", |
INIT_34 => x"8D39011A39FE1C09DEBD0BD4BE12D4F70C2704C15C12D4F611D47F142011D4F7", |
INIT_35 => x"2640C5322706DEBD372735D4B60A2603DEBDB08D0BD4BE20250CDEBD0BD4BEC7", |
INIT_36 => x"C13B88E75C0F2620813D2B3B88E60BD4BE39011A20C639E0240435AB8D04340B", |
INIT_37 => x"148D098610202086042601C1023439FE1CF62027275D39E6240B8D0D200C267F", |
INIT_38 => x"E6D1FE261002C102E60BD4BE390235038D3B886F3B88A60BD4BE02340F250235", |
INIT_39 => x"D4BE39FE1C2288E70BD4BE04C60A247DD5BD0F250235218D0234082604C12288", |
INIT_3a => x"2625E08D2A253F8D17886F44271788E622261288E627204288ED2088ED5F4F0B", |
INIT_3b => x"7E1A249FD6BD4088ED0BD4BE0E8D82DC7E1188EC1788E702C60BD4BE2225DC8D", |
INIT_3c => x"1A07C60526E78D39846D1BD4BF3A1DD48E3D068603E60BD4BE3984EC038DC1DB", |
INIT_3d => x"43DCBD0B2717886D15886C032616886C1188ED032612886D1388ED0BD4BE3901", |
INIT_3e => x"6F026F0A2684ED0635B08D06344088EC0BD4BED22520D6BD1388EC0BD4BEDD25", |
INIT_3f => x"304088A75F20886C032621886C0BD4BE4F04AF103F3104AE100820056F046F03" |
/branches/before_delete/src/flex9/flex9_ram_b16_3.vhd
0,0 → 1,64
INIT_00 => x"13D4F613D4BF15D4BE0E2003C604345F39FE1C4288ED2088EC0BD4BEF8265A01", |
INIT_01 => x"1D262288E60BD4BE392288E75F18D47F4088E704354188E70BD4BE14D4F60434", |
INIT_02 => x"2288A62F88ED1E88EC2288A7108618D4FD44DC052618D47D0BD4BE30250CD6BD", |
INIT_03 => x"C62288A73188A60BD4BE39FE1CF2265A013004A71435F5D5BD143418C63188A7", |
INIT_04 => x"1AD47D17D4B62388A703A60BD4BE9FD67EF2265A0130143514D7BD04A6143418", |
INIT_05 => x"88A60BD4BEEF2013D4BF18D4BE3723228D0C2705008C13D4BF15D4BE03A73126", |
INIT_06 => x"BD1DD8BD49D5BD1AD47F0BD4BEF220ADDDBD1C23078D3625BDDDBD0E2A03A723", |
INIT_07 => x"058D39FE1CE42659D5BD0F8D022A0C2704A60BD4BE39011A182708C1072438D8", |
INIT_08 => x"1525188D172687D7BD393488A73188A63288ED2F88EC0C263388A639FE1CFB1C", |
INIT_09 => x"D4BE08250CD6BD10D8BD39FE1CF6265A80A721315DA8A61BD4BE0BD4BE1006C6", |
INIT_0a => x"265A21315DA8A780A61BD4BE0BD4BE1006C6F825EA8D87D7BD392288E710C60B", |
INIT_0b => x"052476D8BD082541D6BD1E88ED2F88EC02A702860BD4BEC1DB7EE0249FD6BDF6", |
INIT_0c => x"292620850FA606271AD47D0BD4BE3B26382592D8BD3D25FAD4BD390AC6C1DB7E", |
INIT_0d => x"BEF4265A0C2504350CD6BD043413271788E676DABD4088ED1188EC2A25C0DCBD", |
INIT_0e => x"082A036D0BD4BE39011A04350CD5BD043404C6022011C639FE1C2288E75F0BD4", |
INIT_0f => x"CF2003C60426D52592D8BDDA2517D9BD37D5BDE225FAD4BD3910C60324BDDDBD", |
INIT_10 => x"A73488A62F88ED27273288EC0BD4BEF9265A01300F6F0AC60BD4BECA25C0DCBD", |
INIT_11 => x"39FE1C2288A704863E8D992569D9BDADDDBD1B88A710CCB61988ED0ECCFC3188", |
INIT_12 => x"D97EC1DBBD06249FD6BD082572D7BD0D2520D6BD2F88EC12886C17886F0BD4BE", |
INIT_13 => x"6F846F02A784A60BD4BE8A20EA2547D9BD3488A710863288ED1E88EC0BD4BECF", |
INIT_14 => x"8102A60BD4BE39FE1C2288E704C67AFB251044846F0E25288D392288A74F3B88", |
INIT_15 => x"12C6F023038102A60BD4BE0D25E78D39FE1C130125109FD6BD02A703860B2683", |
INIT_16 => x"25C88D1920A7DBBD05261288A60CD57E026F0BD4BE082702813125EC8D39011A", |
INIT_17 => x"D6BD282586D9BD39D32447D9BD052569D9BD0A2598DCBD052717886D0BD4BE17", |
INIT_18 => x"BE0286092520D6BD1388EC122680850FA60BD4BE1A2586D9BD1820038623250C", |
INIT_19 => x"3004A72488A60BC60BD4BE24272A2592D8BD358D39011A0BC639FE1C02A70BD4", |
INIT_1a => x"0CC639011A03C655200C8D09266085D62680850FA60BD4BE15254D8DF6265A01", |
INIT_1b => x"A60BD4BEEF2611D47A013004E73588A73588E604A611D4B70B860BD4BE39011A", |
INIT_1c => x"1C0BD4BE0626072592D8BDCE8D390BD4BEF6265A01300CA73D88A603C60C260C", |
INIT_1d => x"249FD6BD4088ED3902A700860BD4BE69D9BD04A7FF860BD4BE39011A04C639FE", |
INIT_1e => x"BE5A25B88D5E2517D9BD39011A0AC602200BC6062010C60A2780C5082640C514", |
INIT_1f => x"D4BE33271188EC0BD4BE0F2602EC1BD4BE87D7BD52266085522680850FA60BD4", |
INIT_20 => x"BE1388EC0BD4BE2025A28D1C271188EC0BD4BE2C2520D6BD0BD4BE142084ED1B", |
INIT_21 => x"0CC602200BC63947D9BD0325A7DBBD04ED04E31BD4BE1588EC0BD4BE02ED1BD4", |
INIT_22 => x"3788A74C0727FF813788A60E261388A3104C01C603233C88E15C1E88EC39011A", |
INIT_23 => x"EC39011A17C605271188A3101E88EC1626038B3A88A60BD4BE3025338D39FE1C", |
INIT_24 => x"F72520D6BD3888EC39FE1C3788A701863588ED1388EC3A88A704863888ED4088", |
INIT_25 => x"C1DB7EDA249FD6BDF3265A01304088A7213135A8A603C63A3A88E6121F0BD4BE", |
INIT_26 => x"BEF8265A013040886F5F3C88A76788A62088ED5F4F0BD4BE46250CD6BD10D8BD", |
INIT_27 => x"0E25B1DABD2088ED9ADD7E032A0100832088EC1D271788A60BD4BE39FE1C0BD4", |
INIT_28 => x"EE259FDDBD6A272088AE101188EC11D47F39011A12C605261788A6846F072446", |
INIT_29 => x"11D4B6023403300FD4BE2C242088A3100BD4BE0FD4BF008902EB7427026D5F4F", |
INIT_2a => x"023504353E25458D4088EC0BD4BE0434D2204C270235A8810827548111D4B74C", |
INIT_2b => x"E006233C88E105250BD4BE01EB84A6891F4AE0A0043402A60FD4BE2088A3C020", |
INIT_2c => x"BD39011A18C6022019C614272088A3104288EC0BD4BE142520D6BDF5204C3C88", |
INIT_2d => x"0BD4BE39F6265A013004A72488A60BC60BD4BE39FE1C3A44C60BD4BE082520D6", |
INIT_2e => x"000000000039011A10C639E82512DEBD03200FDEBD052603A70F2404814C03A6", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"0000C3F07EBFF07EA7F07EA3F07E9FF07E6CF07E63F07E5FF07E5BF07E57F07E", |
INIT_31 => x"0000000000000000000000000000FFFF40100302010000000000000000000000", |
INIT_32 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_33 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_34 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_35 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_39 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3f => x"0000000000000000000000000000000000000000000000000000000000000000" |
/branches/before_delete/src/flex9/f9-data.txt
0,0 → 1,36
* |
** STRINGS AND MESSAGES |
* |
ORG $CC4E |
PMTSTR FCC "+++" |
FCB $04 |
QRYSTR FCC "???" |
FCB $04 |
WOTMSG FCC "WHAT?" |
FCB $04 |
NTRMSG FCC "CAN'T TRANSFER" |
FCB $04 |
NFDMSG FCC "NOT FOUND" |
FCB $04 |
DERMSG FCC "DISK ERROR #" |
FCB $04 |
DNRMSG FCC "DRIVES NOT READY" |
FCB $04 |
* |
** MEMORY RESIDENT COMMANDS |
* |
CMDTBL FCC "GET" |
FCB $00 |
FDB GETCMD |
FCC "MON" |
FCB $00 |
FDB ZD34B |
FCB $00 |
* |
** DECIMAL CONVERSION TABLE |
* |
DECTBL FDB 10000 |
FDB 1000 |
FDB 100 |
FDB 10 |
END |
/branches/before_delete/src/flex9/f9-dkfdc.txt
0,0 → 1,372
* |
** FLEX 9 DISK DRIVERS |
** FOR SINGLE/DOUBLE SIDED 5" DRIVES ONLY. |
** USING FD1771. |
** SIDES MAY BE TREATED AS SEPERATE DISKS. |
** |
** BY J.E.KENT 1 JAN 1982 |
* |
* |
** F.D. CONTROLLER |
* |
DRVREG EQU $E014 |
MOTOR EQU %10000000 |
SIDESL EQU %01000000 |
DRIVSL EQU %00000001 |
CMDREG EQU $E018 |
TRKREG EQU $E019 |
SECREG EQU $E01A |
DATREG EQU $E01B |
* |
** FD1771 DISK CONTROLLER INSTRUCTIONS |
* |
** TYPE I INSTRUCTIONS: |
* |
IREST EQU $00 RESTORE (SEEK TRACK 0) |
ISEEK EQU $10 SEEK TRACK |
ISTEP EQU $20 STEP ONE TRACK (IN/OUT) |
ISTIN EQU $40 STEP IN ONE TRACK |
ISTOUT EQU $60 STEP OUT ONE TRACK |
* |
** BIT FIELDS FOR TYPE I INSTRUCTIONS |
* |
SMR6 EQU $00 6MSEC STEPPING RATE |
SMR12 EQU $01 12 MSEC STEPPING RATE |
SMR20 EQU $02 20 MSEC |
SMR40 EQU $03 40 MSEC |
* |
BVERIF EQU $04 VERIFY BIT (1=ON) |
BHDLD EQU $08 HEAD LOAD (1=LOAD HEAD AT BEGINING) |
BUPDAT EQU $10 UPDATE TRACK REGISTER (1=TRUE) |
* |
** TYPE II INSTRUCTIONS |
* |
IREAD EQU $80 READ SECTOR |
IWRITE EQU $A0 WRITE SECTOR |
* |
** BIT FIELD FOR TYPE II |
* |
BDAMFB EQU $00 $FB DATA ADDRESS MARK |
BDAMFA EQU $01 $FA DATA ADDREES MARK |
BDAMF9 EQU $02 $F9 DATA ADDRESS MARK |
BDAMF8 EQU $03 $F8 DATA ADDRESS MARK |
BEHLD EQU $04 ENABLE HLD & 10 MSEC DELAY (1=ACTIVE) |
BBLEN EQU $08 BLOCK LENGTH (1=IBM FORMAT 128 - 1024 BYTES) |
BMREC EQU $10 MULTIPLE RECORD (0=SINGLE, 1=MULTIPLE) |
* |
** TYPE III INSTRUCTIONS |
* |
IRDADD EQU $C4 READ ADDRESS |
IRDTRK EQU $E4 READ TRACK |
IWRTRK EQU $F4 WRITE TRACK |
* |
** BIT FIELD TYPE III (READ TRACK ONLY) |
* |
BSYNC EQU $01 SYNCRONIZE FLAG (0=SYNC TO AM) |
* |
** TYPE IV NSTRUCTION |
* |
IFINTR EQU $D0 FORCE INTERRUPT |
* |
** FORCED INTERRUPT BITS (TYPE IV INSTRUCTION) |
* |
FI0 EQU $01 NOT READY TO READY TRANSITION |
FI1 EQU $02 READY TO NOT READY TRANSITION |
FI2 EQU $04 INDEX PULSE |
FI3 EQU $08 EVERY 10 MSEC |
* |
** DISK DRIVER PATCHES |
* |
ORG $DE00 |
* |
** JUMP TABLE TO DISK DRIVERS |
* |
READ JMP READSC |
WRITE JMP WRITSC |
VERIFY JMP VERIF1 |
RESTOR JMP RESTR1 |
DRIVE JMP DRVSEL |
DRVRDY JMP CHKDRV |
QUICK JMP CHKDRV |
COLDDR JMP INITDR |
WARMDR JMP WARMD1 |
SEEK JMP SEEK1 |
* |
** CURRNT DRIVE NUMBER ($DE1E) |
* |
CURDRV FCB $00 |
* |
** HEAD POSITION TABLE ($DE1F) |
* |
TRKTBL FCB $00 DRIVE 0 |
FCB $00 DRIVE 1 |
FCB $00 DRIVE 2 |
FCB $00 DRIVE 3 |
* |
** ??? ($DE23) |
* |
FCB 0 |
* |
** DENSITY TABLE: ($DE24) |
** HOLDS SECTORS/TRACK FOR DRIVE |
** 5" SINGLE DENSITY => 10 SECTORS/TRACK |
* |
DNSTBL FCB 10,10,10,10 ALL MINIS |
* |
** DRIVE & DISK CHARACTERISTICS |
* |
* BITS 1,0 STEPPING RATES |
* BIT 2 TRACKS/DISK (0=40 TRACK, 1=80 TRACK) |
* BIT 3 TRACKS/DRIVE (0=40 TRACK, 1=80 TRACK) |
* |
BDVTPI EQU $08 |
BDKTPI EQU $04 |
DDCTBL EQU * |
FCB BDVTPI+BDKTPI+SMR6 |
FCB BDVTPI+BDKTPI+SMR6 |
FCB SMR40 |
FCB SMR40 |
* |
** DISK DRIVERS |
* |
* DRIVER INITIATION |
* |
INITDR LDX #CURDRV |
LDB #5 |
INITD2 CLR ,X+ |
DECB |
BNE INITD2 |
WARMD1 RTS |
* |
* READ ONE SECTOR |
* |
READSC BSR SEEK1 |
LDA #IREAD+BBLEN+BEHLD |
READ2 ORCC #$10 |
* SEI DISABLE INTERRUPTS |
STA CMDREG |
LBSR DLY47 |
LDB #$00 |
RDLOOP LDA CMDREG |
BITA #$02 |
BNE RDBYTE |
BITA #$01 |
BNE RDLOOP |
TFR A,B |
BRA RDEXIT |
* |
RDBYTE LDA DATREG |
STA ,X+ |
DECB |
BNE RDLOOP |
BSR WAIT |
RDEXIT BITB #$1C |
ANDCC #$EF |
* CLI |
RTS |
* |
** WAIT UNTIL CONTROLLER READY |
* |
WAIT LDB CMDREG |
BITB #$01 |
BNE WAIT |
RTS |
* |
** SEEK1 TRACK AND SECTOR |
** ACCA = TRACK NUMBER |
** ACCB = SECTOR NUMBER |
* |
SEEK1 STB SECREG SET SECTOR |
CMPB #10 DOUBLE-SIDED ? |
BHI SEEK2 DOUBLE SIDED, FLIP |
LDB CURDRV BACK SIDE OF DISK ? |
CMPB #1 DRIVE 2-3 BACK SIDE |
BHI SEEK3 |
ANDB #$FF-SIDESL SELECT SIDE 0 |
BRA SEEK4 |
* |
SEEK2 LDB CURDRV SELECT SIDE 1 |
SEEK3 ANDB #DRIVSL |
ORB #SIDESL |
SEEK4 STB DRVREG |
* |
CMPA TRKREG DIFFERENT TO LAST ? |
BEQ FOUND |
PSHS A SAVE TRACK NO. ON STACK |
* |
* IF 80 TRACK DRIVE, & 40 TRACK DISK, FIRST SEEK |
* SHOULD NOT UPDATE TRACK REGISTER NOR VERIFY. |
* |
SUBA TRKREG CALC. DIFFERENCE |
TFR A,B |
PSHS Y |
* |
** GET STEPPING RATE FROM TABLE |
* |
LDY #DDCTBL |
LDA CURDRV |
ANDA #$01 |
LDA A,Y |
PULS Y |
* |
** CHECK DRIVE AND DISK TYPE |
* |
BITA #BDVTPI DRIVE TRACK DENSITY = 48 TPI ? |
BEQ SEEKVU YES, SKIP |
BITA #BDKTPI DISK TRACK DENSITY = 96 TPI ? |
BNE SEEKVU YES, SKIP (DRIVE & DISK MATCH) |
* |
** HERE IF 40TRACK DISK IN 80 TRACK DRIVE |
** USE STEP INSTRUCTIONS TO PREVENT UPDATE OF TRACK REG. |
* |
ANDA #$03 LEAVE STEPPING RATE BITS |
TSTB |
BPL STEPIN |
NEGB |
ORA #ISTOUT |
BRA STEPLP |
STEPIN ORA #ISTIN |
STEPLP PSHS B |
BSR SEEK5 |
PULS B |
DECB |
BNE STEPLP |
* |
** SEEK TRACK WITH VERIFY & UPDATE |
* |
SEEKVU ANDA #$03 RETAIN STEPPING RATE |
ORA #ISEEK+BHDLD ($18) |
PULS B RESTORE DEST TRACK NO. |
STB DATREG YES, SEEK1 NEW TRACK |
LBSR DLY47 |
SEEK5 STA CMDREG |
LBSR DLY47 |
BSR WAIT |
BITB #$10 CHECK FOR SEEK1 ERROR |
FOUND JMP DLY47 |
* |
** WRITE SECTOR TO DISK |
* |
WRITSC BSR SEEK1 |
LDA #IWRITE+BBLEN+BEHLD ($AC) |
WRITE2 ORCC #$10 |
* SEI |
STA CMDREG |
LBSR DLY47 |
LDB #$00 |
WRLOOP LDA CMDREG |
BITA #$02 |
BNE WRBYTE |
BITA #$01 |
BNE WRLOOP |
TFR A,B |
BRA WREXIT |
* |
WRBYTE LDA ,X+ |
STA DATREG |
DECB |
BNE WRLOOP |
LBSR WAIT |
WREXIT BITB #$5C |
ANDCC #$EF |
* CLI |
RTS |
* |
** VERIFY SECTOR WRITTEN |
* |
VERIF1 LDA #IREAD+BBLEN+BEHLD ($8C) |
VERIF2 ORCC #$10 |
* SEI |
STA CMDREG |
LBSR DLY47 |
LBSR WAIT |
ANDCC #$EF |
* CLI |
BITB #$18 |
RTS |
* |
** SEEK TRACK ZERO |
* |
RESTR1 PSHS X |
BSR DRVSEL |
LDX #DDCTBL |
LDA CURDRV |
ANDA #1 |
LDA A,X |
ANDA #$03 |
ORA #IREST+BHDLD |
STA CMDREG |
BSR DLY47 |
LBSR WAIT |
BITB #$D8 CHECK FOR ERROR |
PULS X,PC |
* |
** SELECT DRIVE |
** IX -> FCB |
** ACCA = NEW DRIVE NUMBER |
* |
* SAVE OLD TRACK NUMBER IN TABLE |
* AND SET UP TRACK FOR NEW DRIVE |
* |
* |
DRVSEL LDA 3,X |
CMPA #3 |
BLS DRSEL1 |
LDB #$0F SET ERROR VALUE |
* SEC |
ORCC #$01 |
RTS |
* |
* SAVE TRACK POSITION OF PREVIOUS DRIVE |
* |
DRSEL1 BSR PNTDRV |
LDB TRKREG |
STB ,X |
* |
* SELECT NEW DRIVE |
* |
DRSEL3 STA CURDRV MAY BE 0 - 3 |
CMPA #1 |
BLS DRSEL4 ONE DIRECTORY ? |
ANDA #DRIVSL ROUND OFF |
ORA #SIDESL SELECT SIDE 1 |
DRSEL4 STA DRVREG |
* |
* RESTORE LAST TRACK POSITION FOR THIS DRIVE |
* |
BSR PNTDRV |
LDA ,X |
STA TRKREG |
BSR DLY47 |
BRA OK |
* |
** CHECK IF DRIVE READY |
* |
CHKDRV LDA 3,X |
CMPA #3 |
BLS OK |
LDB #$80 |
* SEC |
ORCC #$01 |
RTS |
|
OK CLRB |
* CLC |
ANDCC #$FE |
RTS |
* |
* POINT TO TRACK TABLE ENTRY FOR THIS DRIVE |
* |
PNTDRV LDX #TRKTBL |
LDB CURDRV |
ANDB #DRIVSL |
ABX |
RTS |
* |
** DELAY ROUTINE |
* |
DLY47 LBSR DLY19 |
DLY19 LBSR DLY5US |
DLY5US RTS |
END |
|
/branches/before_delete/src/flex9/flex9ram.asm
0,0 → 1,13
NAM FLEX SOURCE |
INCLUDE "f9-moneq.txt" |
INCLUDE "f9-equ.txt" |
INCLUDE "f9-spool.txt" |
INCLUDE "f9-sfcb.txt" |
INCLUDE "f9-init.txt" |
INCLUDE "f9-var.txt" |
INCLUDE "f9-data.txt" |
INCLUDE "f9-cli.txt" |
INCLUDE "f9-monio.txt" |
INCLUDE "f9-fms.txt" |
INCLUDE "f9-dkram.txt" |
END COLDS |
/branches/before_delete/src/flex9/f9-sfcb.txt
0,0 → 1,14
* |
** SYSTEM FILE CONTROL BLOCK |
* |
ORG $C840 |
FCB FCB $FF |
FCB $00 |
FCB $00 |
FCB $00 |
ZC844 FCC "STARTUP" |
FCB $00 |
FCC "TXT" |
FCB $00 |
END |
|
/branches/before_delete/src/flex9/f9-moneq.txt
0,0 → 1,106
PAGE |
* |
*************************************************** |
* MEMORY MAP EQUATES * |
*************************************************** |
MONIO EQU $E000 I/O SPACE |
MONRAM EQU $DFC0 STACK SPACE |
MONROM EQU $F800 START OF ROM |
MONEXT EQU $F000 EXTENDED COMMANDS |
*MONEXT EQU $1000 EXTENDED COMMANDS |
* |
*************************************************** |
* SYS09BUG VARIABLE SPACE |
*************************************************** |
* |
STACK EQU MONRAM+0 TOP OF INTERNAL STACK / USER VECTOR |
SWI3 EQU MONRAM+2 SOFTWARE INTERRUPT VECTOR #3 |
SWI2 EQU MONRAM+4 SOFTWARE INTERRUPT VECTOR #2 |
FIRQ EQU MONRAM+6 FAST INTERRUPT VECTOR |
IRQ EQU MONRAM+8 INTERRUPT VECTOR |
SWI EQU MONRAM+10 SOFTWARE INTERRUPT VECTOR |
SVCVO EQU MONRAM+12 SUPERVISOR CALL VECTOR ORGIN |
SVCVL EQU MONRAM+14 SUPERVISOR CALL VECTOR LIMIT |
LRARAM EQU MONRAM+16 LRA ADDRESSES |
CPORT EQU MONRAM+32 RE-VECTORABLE CONTROL PORT |
ECHO EQU MONRAM+34 ECHO FLAG |
BPTBL EQU MONRAM+35 BREAKPOINT TABLE BASE ADDR |
************************************************** |
* VDU BYTES * |
************************************************** |
* |
**** ALWAYS KEEP COLADX AND ROWADX TOGETHER ****** |
COLADX EQU MONRAM+59 CURSOR COLUMN |
ROWADX EQU MONRAM+60 CURSOR ROW |
************************************************** |
* |
NEWROW EQU MONRAM+61 NEW ROW TEMP FOR ESCAPE |
ESCFLG EQU MONRAM+62 ESCAPE SEQUENCE ACTIVE |
* |
*************************************************** |
* SERIAL PORT * |
*************************************************** |
* |
ACIAS EQU MONIO+$00 CONTROL PORT |
* |
*************************************************** |
* PS/2 KEYBOARD PORT * |
*************************************************** |
* |
PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT |
* |
*************************************************** |
* ADM3A DISPLAY DRIVER VARIABLES * |
*************************************************** |
* |
** VIDEO DISPLAY DEFINITIONS |
* |
VDU EQU MONIO+$30 |
VDUCHR EQU 0 CHARACTER REGISTER |
VDUATT EQU 1 ATTRIBUTE REGISTER |
VDUCOL EQU 2 CURSOR COLUMN |
VDUROW EQU 3 CURSOR ROW |
VDUOFF EQU 4 ROW OFFSET |
* |
LINLEN EQU 80 LENGTH OF A LINE |
NUMLIN EQU 25 NUMBER OF LINES |
* |
*************************************************** |
* Serial PROM register |
*************************************************** |
* |
** CONFIGURATION PROM DEFINITIONS |
* |
PROMREG EQU MONIO+$C0 |
PCLKHI EQU $01 Toggle PROM Clock High |
PCLKLO EQU $00 Toggle PROM Clock Low |
PRSTHI EQU $02 Toggle PROM Reset High |
PRSTLO EQU $00 Toggle PROM Reset Low |
SYNCHI EQU $AA55 Synch Pattern High Word |
SYNCLO EQU $FF00 Synch Pattern Low Word |
* |
* |
*************************************************** |
* Dynamic Address Translation Registers |
*************************************************** |
* |
** DAT Table |
* |
IC11 EQU $FFF0 DAT RAM CHIP |
* |
*************************************************** |
* START OF ROM * |
*************************************************** |
* |
MONITV EQU MONROM+0 FDB MONITOR |
NXTCMV EQU MONROM+2 FDB NEXTCMD |
INCHV EQU MONROM+4 FDB INCH |
INCHEV EQU MONROM+6 FDB INCHE |
INCHKV EQU MONROM+8 FDB INCHEK |
OUTCHV EQU MONROM+10 FDB OUTCH |
PDATAV EQU MONROM+12 FDB PDATA |
PCRLFV EQU MONROM+14 FDB PCRLF |
PSTRGV EQU MONROM+16 FDB PSTRNG |
LRAV EQU MONROM+18 FDB LRA |
END |
|
/branches/before_delete/src/flex9/f9-dkide.txt
0,0 → 1,188
* |
** FLEX 9 COMPACT FLASH / IDE DISK DRIVERS |
* |
* FOR SYS09BUG ON THE XESS XSA-3S1000 & XST3.0 |
* WITH I/O MAPPED AT $XE000 |
* AND ROM MAPPED AT $XF000 |
* |
* These drivers should work with either |
* an IDE disk drive or a IDE CF adapter card |
* It uses 16 bit transfer mode, |
* as some IDE drives do not support |
* the set feature command found on CF cards |
* that allows for 8 bit operation |
* |
* |
IMASK EQU $10 IRQ MASK CC |
FMASK EQU $40 FIRQ MASK CC |
* |
CF_BASE EQU $E100 |
CF_DATA EQU CF_BASE+0 |
CF_ERROR EQU CF_BASE+2 ; read error |
CF_FEATURE EQU CF_BASE+2 ; write feature |
CF_SECCNT EQU CF_BASE+4 |
CF_SECNUM EQU CF_BASE+6 |
CF_CYLLO EQU CF_BASE+8 |
CF_CYLHI EQU CF_BASE+10 |
CF_HEAD EQU CF_BASE+12 |
CF_STATUS EQU CF_BASE+14 ; read status |
CF_COMAND EQU CF_BASE+14 ; write command |
CF_AUX EQU CF_BASE+30 ; Reset register |
* |
* Command Equates |
* |
CMDREAD EQU $20 ; Read Single sector |
CMDWRITE EQU $30 ; Write Single sector |
AUXRESET EQU $06 |
AUXRSTREL EQU $02 |
HEADLBA EQU $E0 |
* |
* Status bit equates |
* |
BSY EQU $80 |
DRDY EQU $40 |
DRQ EQU $08 |
ERR EQU $01 |
ORG $DE00 |
* |
* DISK DRIVER JUMP TABLE |
* |
READ JMP READSC |
WRITE JMP WRITSC |
VERIFY JMP BUSY |
RESTOR JMP RESTR1 |
DRIVE JMP DRVSEL |
DRVRDY JMP CHKDRV |
QUICK JMP CHKDRV |
COLDDR JMP INITDR |
WARMDR JMP WARMD1 |
SEEK JMP SEEKTS |
* |
* RAM SPACE |
* |
DRVNUM FCB 0 |
* |
* |
* INITIALIZE CF CARD |
* |
INITDR LDD #AUXRESET |
STD CF_AUX |
LDD #AUXRSTREL |
STD CF_AUX |
LDD #HEADLBA |
STD CF_HEAD |
BRA WAITRDY |
* |
* RESTORE DISK DRIVER (SEEK TRACK 00) |
* |
RESTR1 BSR DRVSEL |
CLRA ; Track 0 |
LDB #$01 ; Sector 1 |
* |
* Seek track and sector |
* A holds track number (0 - ??) |
* B holds sector number (1 - ??) |
* Sector numbers starts from 1 |
* subtract 1 to start from sector 0 on CF |
* |
SEEKTS DECB |
PSHS A |
CLRA |
STD CF_SECNUM |
LDB ,S |
STD CF_CYLLO |
LDB DRVNUM |
STD CF_CYLHI |
LDB #$01 |
STD CF_SECCNT |
PULS A |
CLRB |
WARMD1 RTS |
* |
* READ SECTORS FROM CF |
* |
* |
READSC BSR SEEKTS |
LDD #CMDREAD ; IDE READ MULTIPLE |
STD CF_COMAND |
BSR WAITRDY |
* |
* READ LOOP |
* |
PSHS Y |
LDY #256 |
RDLP1 BSR WAITDRQ |
LDD CF_DATA |
STB ,X+ |
LEAY -1,Y |
BNE RDLP1 |
PULS Y |
* |
BSR WAITRDY |
CLRB |
RTS |
* |
* WRITE SECTOR TO CF |
* |
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR |
LDD #CMDWRITE; IDE WRITE MULTIPLE |
STD CF_COMAND |
BSR WAITRDY |
* |
* WRITE LOOP |
* |
PSHS Y |
LDY #256 |
CLRA |
WRTLP1 BSR WAITDRQ |
LDB ,X+ |
STD CF_DATA |
LEAY -1,Y |
BNE WRTLP1 |
PULS Y |
* |
BSR WAITRDY |
CLRB |
RTS |
* |
* CHECK FOR BUSY |
* Doubles as VERIFY |
* |
BUSY CLRB Never busy |
RTS |
* |
* DRIVE SELECT DISK DRIVER |
* |
DRVSEL LDA 3,X GET DRIVE # FROM FCB |
CMPA #3 |
BLS DRVS2 IF > 3, SET IT TO 0 |
CLRA |
DRVS2 STA DRVNUM |
CLRB ; SET Z, CLEAR C |
RTS |
* |
* CHECK DRIVE READY DISK DRIVER |
* |
CHKDRV LDA 3,X |
CLRB ; CLEAR C, SET Z |
RTS |
* |
* WAIT UNTIL READY |
* |
WAITRDY LDD CF_STATUS |
BITB #BSY |
BNE WAITRDY |
LDD CF_STATUS |
BITB #DRDY |
BEQ WAITRDY |
RTS |
* |
* WAIT FOR DATA REQUEST |
* |
WAITDRQ LDD CF_STATUS |
BITB #DRQ |
BEQ WAITDRQ |
RTS |
* |
END |
|
/branches/before_delete/src/flex9/f9-monio.txt
0,0 → 1,65
* |
** TERMINAL AND PRINTER DRIVERS |
** SYS09BUG - Spartan 3 Starter Board |
* |
** FLEX DRIVER MEMORY MAP: |
** C700 - C83F PRINTER SPOOLER |
** CCC0 - CCF7 PRINTER DRIVERS |
** D370 - D3FF CONSOLE DRIVERS |
** DE00 - DFAF DISK DRIVERS |
* |
* |
** INTERRUPT VECTORS |
* |
IRQVEC EQU MONRAM+$08 |
SWIVEC EQU MONRAM+$02 SWI3 VECTOR |
* |
** PRINTER DRIVERS |
* |
ORG $CCC0 |
PINIT JMP DUMRTS INITIATE PRINTER |
ORG $CCD8 |
PCHK JMP DUMRTS CHECK IF PRINTER READY |
ORG $CCE4 |
POUT JMP DUMRTS OUTPUT CHR. TO PRINTER |
ORG $CCF8 |
ZCCF8 FCB $01,$00,$00,$00 |
ZCCFC FCB $00,$00,$00,$00 |
* |
** CONSOLE DRIVER PATCHES: |
* |
ORG $D370 |
IHND EQU * INTERRUPT HANDLER |
TMON EQU * TIMER ON |
TMOFF EQU * TIMER OFF |
TMINT EQU * TIMER INITIALIZATION |
DUMRTS EQU * |
RTS |
* |
** SBUG MONITOR I/O CALLS |
* |
TERINZ JMP DUMRTS INITIATE ACIA |
INCHNE JMP [MONROM+$04] INPUT WITHOUT ECHO |
MONITR JMP [MONROM+$00] |
INCHEK JMP [MONROM+$08] CHECK FOR TERMINAL ENTRY |
OUTEEE JMP [MONROM+$0A] OUPUT CHARACTER |
INEEE JMP [MONROM+$06] INPUT WITH ECHO |
|
* |
** AUTO BLOCK FDBS |
* |
ORG $D3E5 |
ZD3E5 FDB INCHNE INPUT - NO ECHO |
IHNDVC FDB IHND IRQ INTERRUPT HANDLER |
SWIVVC FDB SWIVEC SWI3 VECTOR LOCATION |
IRQVVC FDB IRQVEC IRQ VECTOR LOCATION |
TOFVEC FDB TMOFF TIMER OFF ROUTINE |
TONVEC FDB TMON TIMER ON ROUTINE |
TINVEC FDB TMINT TIMER INITIALIZE ROUTINE |
MONVEC FDB MONITR MONITOR RETURN ADDRESS |
TERVEC FDB TERINZ TERMINAL INITIATION |
STAVEC FDB INCHEK CHECK TERMINAL STATUS |
OUTVEC FDB OUTEEE TERMINAL CHAR OUTPUT |
INVEC FDB INEEE TERMINAL INPUT CHARACTER |
ZD3FD JMP ZCA00 |
END |
/branches/before_delete/src/flex9/f9-fms.txt
0,0 → 1,1293
* |
** FILE MANAGEMENT SYSTEM |
* |
ZD400 JMP >ZD436 |
FMSCLS JMP >ZD459 |
FMS JMP >FMS1 |
CPYMSG FCC / DISK OPERATING SYSTEM/ |
FCC / COPYRIGHT (C) 1980 BY/ |
FCC / TECHNICAL SYSTEMS CONSULTANTS/ |
ORG CPYMSG |
FCBPTR RMB 2 |
CURFCB RMB 4 |
ZD40F RMB 2 |
ZD411 RMB 1 |
ZD412 RMB 1 |
ZD413 RMB 1 |
ZD414 RMB 1 |
ZD415 RMB 2 |
ZD417 RMB 1 |
ZD418 RMB 2 |
ZD41A RMB 1 |
ZD41B RMB 2 |
ZD41D RMB 24 |
VERFLG FCB $FF |
* |
** |
* |
ZD436 JSR >COLDDR |
LDX #FCBPTR |
LDB #$0A |
BSR ZD451 |
LDX #Z0005 |
STX >ZD413 |
STX >ZD415 |
CLR >ZD41A |
ZD44C LDX #ZD41B |
LDB #$1A |
ZD451 CLR ,X+ |
DECB |
BNE ZD451 |
JMP >PRSPL5 |
|
ZD459 JSR >PRSPL4 |
ZD45C LDX >FCBPTR |
BEQ ZD44C |
LEAX -$1C,X |
STX >CURFCB |
PSHS Y |
JSR >CLOSE |
PULS Y |
BCC ZD45C |
LDX >CURFCB |
CLR $02,X |
JSR >PRSPL5 |
LDB #$FF |
RTS |
|
* |
** FMS CALL, PROCESSING |
* |
FMS1 TST >ZCCFC |
BEQ ZD483 |
JSR >PRSPL4 |
ZD483 PSHS Y,B |
STX >CURFCB |
CLR $01,X |
LDB ,X |
BNE DOFUNC |
* |
** READ/WRITE CHAR/BYTE |
* |
LDB $02,X |
BEQ ZD4AC |
CMPB #$02 |
BEQ ZD4A7 |
JSR >ZD5B4 |
ZD499 LDX >CURFCB |
BCS ZD4C4 |
TST >ZCCFC |
BNE ZD4C6 |
CLRB |
PULS Y,B |
RTS |
|
ZD4A7 JSR >ZD6CF |
BRA ZD499 |
ZD4AC LDB #$12 |
BRA ZD4C4 |
|
DOFUNC CMPB #$16 |
BLS DOFUN1 |
LDB #$01 |
BRA ZD4C4 |
DOFUN1 DECB |
ASLB |
LDX #FMSTBL |
JSR [B,X] |
LDX >CURFCB |
BCC ZD4C6 |
ZD4C4 STB $01,X |
ZD4C6 JSR >PRSPL5 |
TST $01,X |
PULS Y,B |
RTS |
* |
** FMS COMMAND VECTOR TABLE |
* |
FMSTBL FDB OPENRD FC 1 |
FDB OPENWR FC 2 |
FDB OPENUD FC 3 |
FDB CLOSE FC 4 |
FDB REWIND FC 5 |
FDB OPNDIR FC 6 |
FDB GETREC FC 7 |
FDB PUTREC FC 8 |
FDB RDSECT FC 9 |
FDB WRSECT FC 10 |
FDB RESV1 FC 11 |
FDB DELETE FC 12 |
FDB RENAME FC 13 |
FDB RESV2 FC 14 |
FDB NXTSEC FC 15 |
FDB OPNREC FC 16 |
FDB GETBYT FC 17 |
FDB PUTBYT FC 18 |
FDB RESV3 FC 19 |
FDB NXTDRV FC 20 |
FDB POSREC FC 21 |
FDB BAKREC FC 22 |
* |
** |
* |
ZD4FA BSR ZD51C |
BNE ZD503 |
LDB #$02 |
ORCC #$01 |
RTS |
|
ZD503 STD ,X |
LDX ,X |
CLR ,X |
CLR $01,X |
RTS |
|
ZD50C BSR ZD51C |
BEQ ZD515 |
LDB #$0D |
ORCC #$01 |
RTS |
|
ZD515 LDD [,X] |
STD ,X |
ANDCC #$FE |
RTS |
|
ZD51C LDD >CURFCB |
ADDD #$001C |
LDX #FCBPTR |
ZD525 LDY ,X |
BNE ZD52D |
ANDCC #$FB |
RTS |
|
ZD52D CMPD ,X |
BNE ZD533 |
RTS |
ZD533 LDX ,X |
BRA ZD525 |
|
ZD537 LDX >CURFCB |
CLRA |
CLRB |
BSR ZD540 |
LDB #$2F |
ZD540 STA $11,X |
LEAX $01,X |
DECB |
BNE ZD540 |
RTS |
|
ZD549 LDX >CURFCB |
LDB #$0B |
ZD54E LDA $04,X |
STA $24,X |
LEAX $01,X |
DECB |
BNE ZD54E |
RTS |
|
ZD559 LDX >CURFCB |
LDB #$0B |
ZD55E LDA $04,X |
PSHS A |
LDA $24,X |
CMPA ,S+ |
BNE ZD56E |
LEAX $01,X |
DECB |
BNE ZD55E |
ZD56E RTS |
* |
** GET RANDOM BYTE FROM SECTOR |
* |
GETBYT LDX >CURFCB |
LDB $02,X |
LSRB |
BCC ZD5F0 |
LDB $23,X |
JMP >ZD600 |
|
ZD57D LDX >CURFCB |
LDB $22,X |
INC $22,X |
ABX |
STA $40,X |
INCB |
BNE ZD5AC |
ORCC #$01 |
RTS |
* |
** PUT RANDOM BYTE IN SECTOR |
* |
PUTBYT LDX >CURFCB |
LDB $02,X |
ANDB #$03 |
CMPB #$03 |
BNE ZD5F0 |
ORB #$80 |
STB $02,X |
LDB $0F,X |
BITB #$80 |
BNE ZD5AF |
LDB $23,X |
ABX |
STA $40,X |
ZD5AC ANDCC #$FE |
RTS |
|
ZD5AF LDB #$0B |
ORCC #$01 |
RTS |
|
ZD5B4 LDA $3B,X |
BMI ZD5F5 |
BEQ ZD5C2 |
DEC $3B,X |
LDA #$20 |
BRA ZD5DF |
|
ZD5C2 BSR ZD5F5 |
BCS ZD5E1 |
CMPA #$18 |
BHI ZD5DF |
BEQ ZD5C2 |
CMPA #$09 |
BNE ZD5DC |
BSR ZD5F5 |
BCS ZD5E1 |
LDX >CURFCB |
STA $3B,X |
BRA ZD5B4 |
|
ZD5DC TSTA |
BEQ ZD5C2 |
ZD5DF ANDCC #$FE |
ZD5E1 RTS |
* |
** REWIND FILE |
* |
REWIND JSR >ZDAB1 |
BCS ZD5F0 |
BITA #$01 |
BEQ ZD5F0 |
STA ,X |
JMP >ZD9A0 |
|
ZD5F0 LDB #$12 |
ORCC #$01 |
RTS |
|
ZD5F5 LDX >CURFCB |
LDB $22,X |
BEQ ZD607 |
INC $22,X |
ZD600 ABX |
LDA $40,X |
ANDCC #$FE |
RTS |
|
ZD607 BSR ZD60C |
BCC ZD5F5 |
RTS |
|
ZD60C LDX >CURFCB |
LDD $40,X |
INC $21,X |
BNE ZD61A |
INC $20,X |
ZD61A CMPD #$0000 |
BEQ ZD63C |
ZD620 STD $1E,X |
PSHS A |
LDA #$04 |
STA $22,X |
PULS A |
BSR RDSECT |
BCC ZD640 |
BITB #$80 |
BEQ ZD638 |
LDB #$10 |
BRA ZD63E |
|
ZD638 LDB #$09 |
BRA ZD63E |
|
ZD63C LDB #$08 |
ZD63E ORCC #$01 |
ZD640 RTS |
* |
** READ SINGLE SECTOR |
* |
RDSECT BSR ZD668 |
LDX >CURFCB |
JSR >DRIVE |
BCS ZD65D |
ZD64B BSR ZD65E |
JSR >READ |
BNE ZD655 |
ANDCC #$FE |
RTS |
|
ZD655 PSHS B |
BSR ZD670 |
PULS B |
BCC ZD64B |
ZD65D RTS |
|
ZD65E LDX >CURFCB |
LDD $1E,X |
LEAX $40,X |
RTS |
|
ZD668 CLRA |
STA >ZD411 |
STA >ZD412 |
RTS |
|
ZD670 BITB #$10 |
BNE ZD685 |
BITB #$80 |
BNE ZD69C |
LDB >ZD411 |
INCB |
CMPB #$07 |
BEQ ZD685 |
STB >ZD411 |
BRA RESV2 |
|
ZD685 CLR >ZD411 |
LDB >ZD412 |
INCB |
CMPB #$04 |
BEQ ZD69C |
STB >ZD412 |
LDX >CURFCB |
JSR >RESTOR |
* |
** RESERVED |
* |
RESV2 ANDCC #$FE |
RTS |
ZD69C ORCC #$01 |
RTS |
* |
** WRITE SINGLE SECTOR |
* |
WRSECT BSR ZD668 |
LDX >CURFCB |
JSR >DRIVE |
BCS ZD6C9 |
ZD6A9 LDX >CURFCB |
BSR ZD65E |
JSR >WRITE |
BNE ZD6BD |
LDA >VERFLG |
BEQ ZD6EF |
JSR >VERIFY |
BEQ ZD6EF |
ZD6BD BITB #$40 |
BNE ZD6CC |
PSHS B |
BSR ZD670 |
PULS B |
BCC ZD6A9 |
ZD6C9 RTS |
|
LDB #$20 |
ZD6CC ORCC #$01 |
RTS |
|
ZD6CF LDX >CURFCB |
LDB $3B,X |
BMI ZD714 |
CMPA #$20 |
BNE ZD6EA |
INCB |
STB $3B,X |
CMPB #$7F |
BNE ZD6EF |
BRA ZD6F2 |
|
ZD6E5 BSR ZD6F2 |
BCC ZD6CF |
RTS |
|
ZD6EA TSTB |
BEQ ZD714 |
BRA ZD6E5 |
|
ZD6EF ANDCC #$FE |
RTS |
|
ZD6F2 PSHS A |
CMPB #$01 |
BNE ZD6FC |
LDA #$20 |
BRA ZD70C |
|
ZD6FC LDA #$09 |
BSR ZD714 |
PULS A |
BCS ZD713 |
PSHS A |
LDX >CURFCB |
LDA $3B,X |
ZD70C CLR $3B,X |
BSR ZD714 |
PULS A |
ZD713 RTS |
|
ZD714 LDX >CURFCB |
LDB $02,X |
CMPB #$02 |
LBNE ZD5F0 |
LDB $22,X |
CMPB #$04 |
BNE ZD72E |
PSHS A |
BSR ZD74B |
PULS A |
BCS ZD73D |
ZD72E JSR >ZD57D |
BCC ZD73D |
LDB #$04 |
LDX >CURFCB |
STB $22,X |
ANDCC #$FE |
ZD73D RTS |
|
ZD73E LDX >CURFCB |
CLRA |
CLRB |
STD $20,X |
STD $42,X |
BRA ZD772 |
|
ZD74B LDB $12,X |
BNE ZD772 |
LDB $17,X |
BEQ ZD799 |
CLR $17,X |
BSR ZD799 |
BCS ZD786 |
BSR ZD73E |
BCS ZD786 |
BSR ZD73E |
BCS ZD786 |
LDX >CURFCB |
LDB #$02 |
STB $17,X |
LDD $11,X |
JMP >ZDC82 |
|
ZD772 BSR ZD782 |
LDX >CURFCB |
STD $40,X |
JSR >WRSECT |
BCC ZD799 |
JMP >ZDBC1 |
|
ZD782 BSR ZD787 |
LDD ,X |
ZD786 RTS |
|
ZD787 LDX >CURFCB |
LDB $03,X |
LDA #$06 |
MUL |
LDX #ZD41D |
ABX |
STX >ZD41B |
TST ,X |
RTS |
|
ZD799 BSR ZD782 |
BNE ZD7A2 |
LDB #$07 |
ZD79F ORCC #$01 |
RTS |
|
ZD7A2 LDX >CURFCB |
STD $13,X |
TST $12,X |
BNE ZD7B0 |
STD $11,X |
ZD7B0 INC $16,X |
BNE ZD7B8 |
INC $15,X |
ZD7B8 TST $17,X |
BEQ ZD7C8 |
JSR >ZDC43 |
BCS ZD79F |
LDX >CURFCB |
LDD $13,X |
ZD7C8 JSR >ZD620 |
BCS ZD79F |
LDX >CURFCB |
LDD $40,X |
PSHS B,A |
BSR ZD787 |
PULS B,A |
STD ,X |
BNE ZD7E7 |
CLR $02,X |
CLR $03,X |
CLR $04,X |
CLR $05,X |
BRA ZD7EF |
|
ZD7E7 LDY $04,X |
LEAY -$01,Y |
STY $04,X |
ZD7EF CLRA |
LDX >CURFCB |
INC $21,X |
BNE ZD7FB |
INC $20,X |
ZD7FB CLRB |
ZD7FC STA $40,X |
LEAX $01,X |
DECB |
BNE ZD7FC |
LDX >CURFCB |
LDD $20,X |
STD $42,X |
ANDCC #$FE |
RTS |
* |
** OPEN SYSTEM INFO. RECORD |
* |
OPNREC CLRB |
PSHS B |
LDB #$03 |
BRA ZD825 |
LDX >ZD415 |
STX >ZD413 |
OPNDIR LDB >ZD413 |
PSHS B |
LDB >ZD414 |
ZD825 LDX >CURFCB |
STB $41,X |
PULS B |
STB $40,X |
CLR >ZD418 |
CLRB |
STB $22,X |
RTS |
* |
** GET INFO RECORD |
* |
GETREC LDX >CURFCB |
LDB $22,X |
BNE ZD85D |
JSR >ZD60C |
BCS ZD875 |
LDX >CURFCB |
TST >ZD418 |
BNE ZD852 |
LDD <Z0044 |
STD >ZD418 |
ZD852 LDA #$10 |
STA $22,X |
LDD $1E,X |
STD $2F,X |
ZD85D LDA $22,X |
STA $31,X |
LDB #$18 |
ZD865 PSHS X,B |
JSR >ZD5F5 |
PULS X,B |
STA $04,X |
LEAX $01,X |
DECB |
BNE ZD865 |
ANDCC #$FE |
ZD875 RTS |
* |
** PUT INFORMATION RECORD |
* |
PUTREC LDX >CURFCB |
LDA $31,X |
STA $22,X |
LDB #$18 |
ZD881 PSHS X,B |
LDA $04,X |
JSR >ZD714 |
PULS X,B |
LEAX $01,X |
DECB |
BNE ZD881 |
JMP >WRSECT |
|
ZD892 LDX >CURFCB |
LDA $03,X |
STA $23,X |
LDA >ZD417 |
TST >ZD41A |
BNE ZD8D3 |
STA $03,X |
LDX >ZD415 |
STX >ZD413 |
ZD8AA CMPX #Z0005 |
BEQ ZD8BB |
BSR ZD8D3 |
BLS ZD8EA |
LDX >ZD418 |
STX >ZD413 |
BRA ZD8AA |
|
ZD8BB LDX >CURFCB |
LDA $23,X |
STA $03,X |
BPL ZD8D3 |
ZD8C5 JSR >NXTDRV |
BCS ZD900 |
BSR ZD8D3 |
BLS ZD8EA |
JSR >ZDDAD |
BRA ZD8C5 |
|
ZD8D3 LDX >CURFCB |
CLR >ZD41A |
JSR >ZD549 |
JSR >OPNDIR |
ZD8DF JSR >GETREC |
BCC ZD8EB |
CMPB #$08 |
BEQ ZD900 |
ORCC #$01 |
ZD8EA RTS |
|
ZD8EB LDX >CURFCB |
LDA $04,X |
BEQ ZD8FE |
BPL ZD8F6 |
BSR ZD905 |
ZD8F6 JSR >ZD559 |
BNE ZD8DF |
ANDCC #$FE |
RTS |
|
ZD8FE BSR ZD905 |
ZD900 ANDCC #$FB |
ANDCC #$FE |
RTS |
|
ZD905 LDA $33,X |
BNE ZD916 |
LDD $2F,X |
STD $32,X |
LDA $31,X |
STA $34,X |
ZD916 RTS |
|
ZD917 JSR >ZD787 |
BNE ZD933 |
BSR ZD936 |
BCS ZD935 |
LDB #$06 |
LDY >CURFCB |
LDX >ZD41B |
ZD929 LDA $5D,Y |
LEAY $01,Y |
STA ,X+ |
DECB |
BNE ZD929 |
ZD933 ANDCC #$FE |
ZD935 RTS |
|
ZD936 JSR >OPNREC |
JSR >ZD60C |
BCS ZD946 |
LDX >CURFCB |
LDB #$10 |
STB $22,X |
ZD946 RTS |
|
ZD947 JSR >ZD787 |
BSR ZD936 |
BCS ZD946 |
LDB #$06 |
LDY >CURFCB |
LDX >ZD41B |
ZD957 LDA ,X+ |
STA $5D,Y |
LEAY $01,Y |
DECB |
BNE ZD957 |
JSR >WRSECT |
BCC ZD946 |
JMP >ZDBC1 |
* |
** |
* |
RESV1 LDX >CURFCB |
LDA #$02 |
STA $02,X |
LDD $2F,X |
STD $1E,X |
JSR >RDSECT |
BCS ZD983 |
JSR >PUTREC |
BCC ZD985 |
JMP >ZDBC1 |
|
ZD983 LDB #$0A |
ZD985 RTS |
* |
** OPEN FOR READ |
* |
OPENRD JSR >ZD4FA |
BCS ZD9C8 |
JSR >ZD892 |
BCS ZD9C8 |
BNE ZD9CD |
LDX >CURFCB |
TST >ZD41A |
BEQ ZD9A0 |
LDA $0F,X |
BITA #$20 |
BNE ZD9C9 |
ZD9A0 JSR >ZDCC0 |
BCS ZD9CF |
LDD $11,X |
STD $40,X |
JSR >ZDA76 |
LDB $17,X |
BEQ ZD9C6 |
ZD9B3 PSHS B |
JSR >ZD60C |
PULS B |
BCS ZD9C8 |
DECB |
BNE ZD9B3 |
LDX >CURFCB |
CLRB |
STB $22,X |
ZD9C6 ANDCC #$FE |
ZD9C8 RTS |
|
ZD9C9 LDB #$11 |
BRA ZD9CF |
|
ZD9CD LDB #$04 |
ZD9CF PSHS B |
JSR >ZD50C |
PULS B |
ORCC #$01 |
RTS |
|
OPENWR LDX >CURFCB |
TST $03,X |
BPL ZD9E8 |
JSR >NXTDRV |
BCC ZD9E8 |
LDB #$10 |
RTS |
|
ZD9E8 JSR >ZD4FA |
BCS ZD9CF |
JSR >ZD537 |
JSR >ZD917 |
BCS ZD9CF |
JSR >ZD892 |
BCS ZD9CF |
BNE ZDA00 |
LDB #$03 |
BRA ZD9CF |
|
ZDA00 JSR >ZDCC0 |
BCS ZD9CF |
LDX >CURFCB |
LDB #$0A |
ZDA0A CLR $0F,X |
LEAX $01,X |
DECB |
BNE ZDA0A |
LDX >CURFCB |
LDD $32,X |
BEQ ZDA40 |
STD $2F,X |
LDA $34,X |
STA $31,X |
LDD >DATERG |
STD $19,X |
LDA >YEAR |
STA $1B,X |
JSR >ZDDAD |
JSR >RESV1 |
BCS ZD9CF |
BSR ZDA76 |
LDA #$04 |
STA $22,X |
ANDCC #$FE |
RTS |
|
ZDA40 LDX >CURFCB |
CLR $17,X |
INC $12,X |
LDD $2F,X |
JSR >ZD620 |
BCS ZDA5E |
JSR >ZD772 |
BCS ZDA5E |
JSR >WRSECT |
BCC ZDA61 |
JSR >ZDBC1 |
ZDA5E JMP >ZD9CF |
|
ZDA61 LDX >CURFCB |
LDD $1E,X |
STD $32,X |
LDA #$10 |
STA $34,X |
JSR >ZD947 |
BCS ZDA5E |
BRA ZDA00 |
|
ZDA76 LDX >CURFCB |
LDA ,X |
STA $02,X |
CLR ,X |
CLR $3B,X |
CLRA |
STA $22,X |
RTS |
* |
** READ/WRITE NEXT SECTOR |
* |
NXTSEC BSR ZDAB1 |
BCS ZDA99 |
CLR ,X |
LSRA |
LBCS ZD60C |
LDB #$04 |
STB $22,X |
ANDCC #$FE |
ZDA99 RTS |
|
ZDA9A LDX >CURFCB |
LDA $02,X |
CMPA #$83 |
BNE ZDAAE |
LDA #$03 |
STA $02,X |
ZDAA7 JSR >WRSECT |
LBCS ZDBC1 |
ZDAAE ANDCC #$FE |
RTS |
|
ZDAB1 BSR ZDA9A |
BCS ZDAC2 |
LDX >CURFCB |
LDA $02,X |
CMPA #$03 |
BLS ZDAAE |
LDB #$12 |
ORCC #$01 |
ZDAC2 RTS |
|
CLOSE BSR ZDAB1 |
BCS ZDAF8 |
CMPA #$02 |
BEQ ZDAD3 |
ZDACB LDX >CURFCB |
CLR $02,X |
JMP >ZD50C |
|
ZDAD3 LDA $12,X |
BNE ZDADD |
JSR >ZDBA7 |
BRA ZDAF6 |
|
ZDADD BSR ZDAA7 |
BCS ZDAF8 |
LDX >CURFCB |
TST $17,X |
BEQ ZDAEE |
JSR >ZDC98 |
BCS ZDAF8 |
ZDAEE JSR >RESV1 |
BCS ZDAF8 |
JSR >ZD947 |
ZDAF6 BCC ZDACB |
ZDAF8 RTS |
* |
** OPEN FOR UPDATE |
* |
OPENUD JSR >OPENRD |
BCS ZDB26 |
JSR >ZD60C |
BCS ZDB26 |
LDA #$03 |
BRA ZDB1F |
* |
** |
* |
RESV3 JSR >OPENRD |
BCS ZDB26 |
LDX >CURFCB |
LDA $0F,X |
BITA #$80 |
BNE ZDB27 |
LDD $13,X |
JSR >ZD620 |
BCS ZDB26 |
LDA #$02 |
ZDB1F LDX >CURFCB |
STA $02,X |
ANDCC #$FE |
ZDB26 RTS |
|
ZDB27 LDB #$0B |
ORCC #$01 |
RTS |
* |
** RENAME FILE |
* |
RENAME BSR ZDB63 |
JSR >ZD892 |
BCS ZDB5D |
BEQ ZDB59 |
LDX >CURFCB |
LDB #$0B |
ZDB3A LDA $24,X |
STA $04,X |
LEAX $01,X |
DECB |
BNE ZDB3A |
BSR ZDB93 |
BCS ZDB5D |
LDX >CURFCB |
LDA $0F,X |
BITA #$80 |
BNE ZDB27 |
BITA #$60 |
BNE ZDB5E |
BSR ZDB63 |
BRA ZDBAE |
|
ZDB59 LDB #$03 |
ORCC #$01 |
ZDB5D RTS |
ZDB5E LDB #$0C |
ORCC #$01 |
RTS |
|
ZDB63 LDX >CURFCB |
LDA #$0B |
STA >ZD411 |
ZDB6B LDA $04,X |
LDB $35,X |
STA $35,X |
STB $04,X |
LEAX $01,X |
DEC >ZD411 |
BNE ZDB6B |
LDX >CURFCB |
LDA $0C,X |
BNE ZDB8F |
LDB #$03 |
ZDB85 LDA $3D,X |
STA $0C,X |
LEAX $01,X |
DECB |
BNE ZDB85 |
ZDB8F LDX >CURFCB |
RTS |
|
ZDB93 BSR ZDB63 |
ZDB95 JSR >ZD892 |
BCS ZDBA1 |
BNE ZDBA2 |
LDX >CURFCB |
ANDCC #$FE |
ZDBA1 RTS |
|
ZDBA2 LDB #$04 |
ORCC #$01 |
RTS |
|
ZDBA7 LDX >CURFCB |
LDA #$FF |
STA $04,X |
ZDBAE JSR >RESV1 |
LDX >CURFCB |
LDA #$00 |
STA $02,X |
RTS |
|
ZDBB9 STD $40,X |
JSR >WRSECT |
BCC ZDBD5 |
ZDBC1 BITB #$40 |
BNE ZDBCD |
BITB #$80 |
BEQ ZDBD3 |
LDB #$10 |
BRA ZDBD3 |
ZDBCD LDB #$0B |
BRA ZDBD3 |
|
LDB #$0A |
ZDBD3 ORCC #$01 |
ZDBD5 RTS |
* |
** DELETE FILE |
* |
DELETE JSR >ZD917 |
BCS ZDC39 |
BSR ZDB95 |
BCS ZDC39 |
LDX >CURFCB |
LDA $0F,X |
BITA #$80 |
BNE ZDC3A |
BITA #$60 |
BNE ZDC3E |
JSR >ZD787 |
LDX >ZD41B |
LDD $02,X |
BNE ZDC05 |
LDX >CURFCB |
LDD $11,X |
BEQ ZDC31 |
LDX >ZD41B |
STD ,X |
BRA ZDC19 |
|
ZDC05 LDX >CURFCB |
JSR >ZD620 |
BCS ZDC39 |
LDX >CURFCB |
LDD $11,X |
BEQ ZDC31 |
BSR ZDBB9 |
BCS ZDC39 |
ZDC19 LDX >CURFCB |
LDD $13,X |
LDX >ZD41B |
STD $02,X |
LDX >CURFCB |
LDD $15,X |
LDX >ZD41B |
ADDD $04,X |
STD $04,X |
ZDC31 JSR >ZDBA7 |
BCS ZDC39 |
JSR >ZD947 |
ZDC39 RTS |
|
ZDC3A LDB #$0B |
BRA ZDC40 |
ZDC3E LDB #$0C |
ZDC40 ORCC #$01 |
RTS |
|
ZDC43 LDD $1E,X |
INCB |
CMPB $3C,X |
BLS ZDC4F |
LDB #$01 |
INCA |
ZDC4F CMPD $13,X |
BNE ZDC63 |
LDA $37,X |
CMPA #$FF |
BEQ ZDC63 |
INCA |
STA $37,X |
ANDCC #$FE |
RTS |
|
ZDC63 BSR ZDC98 |
BCS ZDC97 |
LDX >CURFCB |
LDA $3A,X |
ADDA #$03 |
BNE ZDC87 |
LDD $1E,X |
CMPD $11,X |
BEQ ZDC7F |
LDB #$17 |
ORCC #$01 |
RTS |
|
ZDC7F LDD $40,X |
ZDC82 STD $38,X |
LDA #$04 |
ZDC87 STA $3A,X |
LDD $13,X |
STD $35,X |
LDA #$01 |
STA $37,X |
ANDCC #$FE |
ZDC97 RTS |
|
ZDC98 LDD $38,X |
JSR >ZD620 |
BCS ZDC97 |
LDX >CURFCB |
TFR X,Y |
LDB $3A,X |
ABX |
LDB #$03 |
ZDCAB LDA $35,Y |
LEAY $01,Y |
STA $40,X |
LEAX $01,X |
DECB |
BNE ZDCAB |
JSR >WRSECT |
BCC ZDC97 |
JMP >ZDBC1 |
|
ZDCC0 JSR >OPNREC |
JSR >ZD60C |
BCS ZDD0E |
LDX >CURFCB |
CLRA |
CLRB |
STD $20,X |
LDA $67,X |
STA $3C,X |
CLRB |
ZDCD7 CLR $40,X |
LEAX $01,X |
DECB |
BNE ZDCD7 |
LDX >CURFCB |
ANDCC #$FE |
RTS |
* |
** BACKUP ONE RECORD |
* |
BAKREC LDX >CURFCB |
LDA $17,X |
BEQ ZDD0A |
LDD $20,X |
SUBD #$0001 |
BPL ZDCF8 |
JMP >ZDD9A |
* |
** POSITION TO RECORD N |
* |
ZDCF8 STD $20,X |
POSREC JSR >ZDAB1 |
BCS ZDD0E |
RORA |
BCC ZDD0A |
CLR ,X |
LDA $17,X |
BNE ZDD0F |
ZDD0A LDB #$12 |
ORCC #$01 |
ZDD0E RTS |
|
ZDD0F CLR >ZD411 |
LDD $11,X |
LDY $20,X |
BEQ ZDD85 |
JSR >ZDD9F |
BCS ZDD0E |
CLRA |
CLRB |
ZDD22 TST $02,X |
BEQ ZDD9A |
ADDB $02,X |
ADCA #$00 |
STX >ZD40F |
LDX >CURFCB |
CMPD $20,X |
BCC ZDD62 |
LDX >ZD40F |
LEAX $03,X |
PSHS A |
LDA >ZD411 |
INCA |
STA >ZD411 |
CMPA #$54 |
BEQ ZDD50 |
CMPA #$A8 |
PULS A |
BEQ ZDD9A |
BRA ZDD22 |
|
ZDD50 PSHS B |
LDX >CURFCB |
LDD $40,X |
BSR ZDD9F |
BCS ZDD9A |
PULS B |
PULS A |
BRA ZDD22 |
|
ZDD62 SUBD $20,X |
LDX >ZD40F |
LDA $02,X |
PSHS B |
SUBA ,S+ |
DECA |
TFR A,B |
LDA ,X |
ADDB $01,X |
LDX >CURFCB |
BCS ZDD7F |
ZDD7A CMPB $3C,X |
BLS ZDD85 |
ZDD7F SUBB $3C,X |
INCA |
BRA ZDD7A |
|
ZDD85 JSR >ZD620 |
BCS ZDD9E |
LDX >CURFCB |
LDD $42,X |
CMPD $20,X |
BEQ ZDDAA |
LDB #$19 |
BRA ZDD9C |
|
ZDD9A LDB #$18 |
ZDD9C ORCC #$01 |
ZDD9E RTS |
|
ZDD9F JSR >ZD620 |
BCS ZDDAC |
LDX >CURFCB |
LDB #$44 |
ABX |
ZDDAA ANDCC #$FE |
ZDDAC RTS |
|
ZDDAD LDX >CURFCB |
LDB #$0B |
ZDDB2 LDA $24,X |
STA $04,X |
LEAX $01,X |
DECB |
BNE ZDDB2 |
RTS |
* |
** FIND NEXT DRIVE |
* |
NXTDRV LDX >CURFCB |
LDA $03,X |
INCA |
CMPA #$04 |
BCC ZDDD6 |
STA $03,X |
BNE ZDDD0 |
JSR >DRVRDY |
BRA ZDDD3 |
|
ZDDD0 JSR >QUICK |
ZDDD3 BCS NXTDRV |
RTS |
|
ZDDD6 LDB #$10 |
ORCC #$01 |
RTS |
END |
|
/branches/before_delete/src/flex9/flex9_ide_b16_0.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_11 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_12 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_13 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_14 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_15 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_16 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_17 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_21 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_22 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_23 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_24 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_25 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_26 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_27 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_28 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_29 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_31 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_32 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_33 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_34 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_35 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"3B0000000010C810C8000000000C1FC77E95C77E85C77E47C77E03C77E21C77E", |
INIT_39 => x"8E3B02EE1031CCBF0727846D34CC7CFCCC8E112634CC7D02EF1031CCBE101A12", |
INIT_3a => x"A702354088EDC0CA8E01EC023484A619C7BE29271BC77D101AF12034CC7FF8CC", |
INIT_3b => x"FCCC7FEDD39FADEF1CF620123F1129271EC77D3B886F22886F02A70186846F03", |
INIT_3c => x"27261DC77D39EF1C30CC7F3930CC7CF420123F11052730CC7D101AF420123F11", |
INIT_3d => x"03260D8102353C8D0A8602340F270A811CC77F0F271CC77D1F2606D4BDC0CA8E", |
INIT_3e => x"036A0527036D19C7BE1DC77F228D12C7B6278D0A862B8D0D86D420318D1CC7B7", |
INIT_3f => x"F620123F11052BD8CCBD47C77E1BC77A19C7BF10C88E032640C88C043047C77E" |
/branches/before_delete/src/flex9/f9-monex.txt
0,0 → 1,1300
* |
** FLEX 9 DISK DRIVERS |
* |
* FOR SYS09BUG ON THE DIGILENT SPARTAN 3 STARTER BOARD |
* WITH I/O MAPPED AT $XE000 |
* AND ROM MAPPED AT $XF000 |
* THE DIGILENT SPARTAN 3 STARTER BOARD HAS 1MBYTE OF SRAM |
* THE FIRST 64K IS USED BY FLEX, |
* THE SECOND 128K IS USED AS A ROM DISK |
* THE REMAINING RAM IS USED FOR A RAM DISK |
* |
* |
CFLAG EQU $01 CARRY FLAG |
VFLAG EQU $02 OVERFLOW FLAG |
ZFLAG EQU $04 ZERO FLAG |
NFLAG EQU $08 NEGATIVE FLAG |
IFLAG EQU $10 IRQ MASK CC |
HFLAG EQU $20 HALF CARRY |
FFLAG EQU $40 FIRQ MASK CC |
EFLAG EQU $80 ENTIRE FLAG |
* |
MAPPAG EQU $00 PAGE $0000 DAT ADDRESS |
DATREG EQU IC11 DAT REGISTERS |
* |
* Serial Port |
* |
ACIAC1 EQU ACIAS |
ACIAD1 EQU ACIAS+1 |
DELCON EQU 1250 Delay (Processor clock in MHz * 50) |
* |
* XMODEM Control characters |
* |
SOH EQU $01 |
EOT EQU $04 |
ACK EQU $06 |
NAK EQU $15 |
CAN EQU $18 |
* |
* DRIVE GEOMETRY |
* |
EMAXSEC EQU 14 ROM DISK |
EMAXTRK EQU 48 3 * 16 * 14 * 256 = 172,032 Bytes |
ETOTSEC EQU EMAXTRK*EMAXSEC-EMAXSEC |
* |
RMAXSEC EQU 14 RAM DISK |
RMAXTRK EQU 192 12 * 16 * 14 * 256 = 688,128 Bytes |
RTOTSEC EQU RMAXTRK*RMAXSEC-RMAXSEC |
* |
* DRIVE TYPES |
* |
DTYPROM EQU 0 ROM DISK |
DTYPRAM EQU 1 RAM DISK |
DTYPFLS EQU 2 FLASH DISK |
DTYPNET EQU 3 FLEXNET DISK |
* |
ORG $DE00 |
* |
* DISK DRIVER JUMP TABLE LAST UPDATE: 22/12/2006 |
* Disk driver for RAM Disk. |
* |
* 14 SECTORS PER TRACK |
* 16 * N TRACKS PER DISK |
* |
* ROM DISK OCCUPIES $10000 - $1E000 ... $30000 - $3E000 |
* RAM DISK OCCUPIES $40000 - $4E000 ... $F0000 - $FE000 |
* Track Buffer page mapped at $E000 - $EFFF |
* MAPPAG = $00 = 0 x $1000 (4 K pages) |
|
* ON SWTPC ROM AT $XF000 AND IO AT $XE000 |
* APPEARS THROUGHOUT THE MEMORY SO MUST BE SKIPPED OVER |
* WHEN USING RAM AS A RAMDISK. |
* THE MSN OF THE TRACK MAPS INTO THE MSN OF THE DAT |
* THE LSN OF THE TRACK NUMBER INDEXES INTO THE 4K RAM PAGE |
* THE SECTOR MAPS INTO THE LSN OF THE DAT WHICH IS INVERTED |
* |
* |
* |
* FLEX disk jump table. |
* |
READ JMP READSC |
WRITE JMP WRITSC |
VERIFY JMP BUSY |
RESTOR JMP RESTR1 |
DRIVE JMP DRVSEL |
DRVRDY JMP CHKRDY |
QUICK JMP CHKQIK |
COLDDR JMP DINIT |
WARMDR JMP DWARM |
SEEK JMP SEEKTS |
* |
* RAM SPACE |
* |
DRVNUM FCB 0 |
TRACK FCB 0 |
SECTOR FCB 0 |
CHKSUM FCB 0 |
CCSAVE FCB 0 |
BLKNUM FCB 0 Xmodem block number |
BYTCNT FCB 0 Xmodem byte count |
XSTATE FDB 0 Xmodem State Vector |
DELCNT FCB $00,$00,$00 Xmodem Poll timer |
* |
* Disc driver type table. |
* Indexed by drive number |
* |
DTYPTAB FCB DTYPROM Drive 0 (ROM Disk) |
FCB DTYPRAM Drive 1 (RAM Disk) |
FCB DTYPFLS Drive 2 (FLASH Disk) |
FCB DTYPNET Drive 3 (NETPC Disk) |
* |
* RAM Disk offset |
* Indexed by drive type |
* |
DOFFTAB FCB $10 ROM Disk $10000 |
FCB $40 RAM DISK $40000 |
FCB $FF Flash Disk |
FCB $FF NETPC Disk |
* |
REAVEC RMB 2 Disc driver jump table. |
WRIVEC RMB 2 |
VERVEC RMB 2 |
RSTVEC RMB 2 |
DRVVEC RMB 2 |
CHKVEC RMB 2 |
QUIVEC RMB 2 |
INIVEC RMB 2 |
WARVEC RMB 2 |
SEEVEC RMB 2 |
* |
* SECTOR BUFFER |
* |
BUFFER RMB 256 |
SYNCREG RMB 4 Prom input register |
* |
**************************************** |
* |
* START OF EXTENSION COMMANDS |
* |
**************************************** |
* |
ORG MONEXT |
FDB NEXTEXT Jump to next extended command |
* |
* |
***************************************** |
* Disk drivers * |
* ------------ * |
* The system dependant code for the * |
* disc drivers fits here. Two tables * |
* must be included. These are DTYPTAB a * |
* four byte table that defines which of * |
* the (up to four) following sets of * |
* jump tables to use, and TABSRT the * |
* jump tables themselves. For a full * |
* description of the floppy drivers see * |
* section 4 (pp9-14) of the general * |
* Flex adaptation guide. * |
***************************************** |
* |
* Mass storage drivers for embedded applications. |
* |
* Jump tables. |
TABSRT FDB EREAD Drive type 0 (ROM disk). |
FDB EWRITE |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
* |
FDB EREAD Drive type 1 (RAM disk). |
FDB EWRITE |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB ECHECK |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
* |
FDB DDUMMY Drive type 2 (External Flash disk). |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
* |
FDB NREAD Drive type 3 (NetPC drive via serial port). |
FDB NWRITE |
FDB NVERIFY |
FDB NCHECK |
FDB NCHECK |
FDB NCHECK |
FDB NCHECK |
FDB DDUMMY |
FDB DDUMMY |
FDB DDUMMY |
* |
* |
* Dummy routine (no errors). |
DDUMMY CLRB |
TSTB Set (z)=1 |
ANDCC #$FF-CFLAG Set (c)=0 |
RTS |
* * |
************************** |
* Main Flex entry points * |
************************* |
* |
* Read sector routine. |
* Entry: (X) = address where sector is to be placed. |
* (A) = Track number. |
* (B) = Sector number. |
* Exit: (B) = Error code (z)=1 if no error. |
READSC JMP [REAVEC] |
* |
* Write track routine. |
* Entry: (X) = Address of area of memory from which the data will be taken. |
* (A) = Track number. |
* (B) = Sector number. |
* Exit: (B) = Error condition, (Z)=1 no an error. |
WRITSC JMP [WRIVEC] |
* |
* Verify sector routine. |
* Entry: no parameters. |
* Exit: (B) = Error condition (Z)=1 if no error. |
BUSY JMP [VERVEC] |
* |
* Restore drive to track 00. |
* Entry: (X) = FCB address (3,X contains drive number). |
* Exit: (B) = Error condition, (Z)=1 if no error. |
RESTR1 BSR DRVSEL Select drive first. |
BEQ RST1 |
RTS |
RST1 JMP [RSTVEC] |
* |
* Select current drive. |
* Entry: (X) = FCB address (3,X contains drive number). |
* Exit: (B) = Error condition, (Z)=0 and (c)=1 if error. |
* (B) = $0F if non existant drive. |
DRVSEL PSHS X,Y |
LDB 3,X Get driver type. |
STB DRVNUM |
LDX #DTYPTAB |
LDA B,X |
CMPA #$FF Is the drive nonexistant? |
BNE DRIVE1 |
PULS X,Y |
LDB #$0F |
TSTB |
ORCC #$01 |
RTS |
* |
DRIVE1 LDB #20 Get correct table start address. |
MUL |
LDX #TABSRT |
LEAX D,X |
LDY #REAVEC Copy table into ram. |
LDB #20 |
DRIVE2 LDA 0,X+ |
STA 0,Y+ |
DECB |
BNE DRIVE2 |
PULS X,Y |
JMP [DRVVEC] |
* |
* Check for drive ready. |
* Entry: (X) = FCB address (3,X contains drive number)> |
* Exit: (B) = Error condition, (Z)=0 AND (C)=1 if drive is not ready. |
CHKRDY JMP [CHKVEC] |
* |
* Quick drive ready check. |
* Entry: (X) = FCB address (3,X contains drive number). |
* Exit: (B) = Error condition, (Z)=0 AND (c)=1 if drive not ready. |
CHKQIK JMP [QUIVEC] |
* |
* Init (cold start). |
* Entry: no parameters. |
* Exit: no change. |
DINIT CLRA |
DINIT1 STA DRVNUM Init each valid drive in turn. |
LDX #DRVNUM-3 |
BSR DRVSEL |
BCS DINIT2 |
JSR [INIVEC] |
DINIT2 LDA DRVNUM |
INCA |
CMPA #4 |
BNE DINIT1 |
RTS |
* |
* Warm start. |
* Entry: no parameters. |
* Exit: no change. |
DWARM JMP [WARVEC] |
* |
* Seek track. |
* Entry: (A) = Track number. |
* (B) = Sector number. |
* Exit: (B) = Error condition, (Z)=1 if no error. |
SEEKTS JMP [SEEVEC] |
* |
* |
***************************************************** |
* ROMdisk drivers * |
* --------------- * |
* Drivers to support a ROMdisk in the external RAM * |
* of the SYS09. The ROMdisk base address is $10000 * |
***************************************************** |
* Dummy return for ROM disk (write protected!) |
* |
* MAP RAM DISK INTO MEMORY SPACE |
* |
MAPIN TFR CC,A ; Save state of interrupt masks |
STA CCSAVE |
ORCC #FFLAG+IFLAG ; Mask interrupts while IO mapped out |
LDU #DTYPTAB ; Point to Drive Type table |
LDB DRVNUM ; Get working drive number |
LDB B,U |
LDU #DOFFTAB |
LDA TRACK |
ADDA B,U ; Add Base offset into RAM |
ANDA #$F0 ; Mask MSN |
STA ,-S ; Save A on stack |
* |
LDA SECTOR |
SUBA #1 ; Sectors 1 to 14 => 0 to 13 |
EORA #$0F ; Complement LSNybble |
ANDA #$0F |
* |
ADDA ,S+ ; Add sector to LSN of Track and pop |
STA DATREG+MAPPAG |
* |
LDA TRACK ; LSN of Track indexes into 4K page |
ANDA #$0F |
ADDA #MAPPAG*16 |
CLRB |
TFR D,U |
RTS |
* |
* MAP RAM DISK OUT OF MEMORY |
* |
MAPOUT LDA #MAPPAG ; Point to the Flex page |
EORA #$0F ; Complement LSNybble |
STA DATREG+MAPPAG ; map in Flex page |
LDA CCSAVE ; restore interrupt masks |
TFR A,CC |
RTS |
* |
* Seek track and sector |
* A holds track number (0-32) |
* B holds sector number (1-14) |
* |
ESEEK STA TRACK |
STB SECTOR |
ANDCC #$FE ; CLEAR CARRY |
ORCC #$04 ; SET Z |
RTS |
* |
* MARK DISK READ ONLY |
* |
EDUMMY LDB #$40 |
TSTB |
ORCC #$01 |
RTS |
* |
EREAD PSHS X,Y,U push sequentialy to preserve order on stack |
LBSR ESEEK |
LBSR MAPIN build external ram address |
* |
LDY #BUFFER |
CLRB |
ERLOOP1 LDA 0,U+ move 256 bytes to buffer from external RAM |
STA 0,Y+ |
DECB |
BNE ERLOOP1 |
* |
LBSR MAPOUT |
* |
LDY #BUFFER |
CLRB |
ERLOOP2 LDA 0,Y+ move 256 bytes from buffer to Flex RAM |
STA 0,X+ |
DECB |
BNE ERLOOP2 |
* |
CLRB |
PULS X,Y,U,PC restore all registers |
* |
* check for marker bytes $AA55 in first bytes of first track/sector |
* |
*ECHECK CLRA |
* LDB #1 |
* LDX #BUFFER |
* BSR EREAD |
* LDD BUFFER |
* CMPD #$AA55 |
* BNE EERR |
* LBRA DDUMMY |
*EERR LDB #$80 not ready bit set |
* TSTB |
* ORCC #$01 |
* RTS |
ECHECK CLRB |
RTS |
* |
* Write Sector |
* |
EWRITE PSHS X,Y,U |
LBSR ESEEK |
LDU #DTYPTAB ; Point to Drive Type table |
LDB DRVNUM ; Get working drive number |
LDB B,U ; Fetch Drive type |
CMPB #DTYPRAM ; Is it a RAM Disk ? |
BEQ EWOK ; Yep, can write to it |
CMPB #DTYPROM ; Allow writes to ROM Disk too |
BEQ EWOK |
LBRA EDUMMY ; Nope report read only |
* |
EWOK LDY #BUFFER |
CLRB |
EWLOOP1 LDA 0,X+ move 256 bytes to buffer from Flex RAM |
STA 0,Y+ |
DECB |
BNE EWLOOP1 |
* |
LBSR MAPIN |
* |
LDY #BUFFER |
CLRB |
EWLOOP2 LDA 0,Y+ move 256 bytes from buffer to external RAM |
STA 0,U+ |
DECB |
BNE EWLOOP2 |
* |
LBSR MAPOUT |
* |
CLRB |
PULS X,Y,U,PC |
* |
* |
***************************************************** |
* FlexNet drivers * |
* --------------- * |
* Drivers to support a remote connection via the * |
* serial port using the FlexNet protocol as defined * |
* in FLEXNet_421B * |
***************************************************** |
* |
* |
* read sector from remote drive |
* |
NREAD PSHS B |
PSHS A |
CLR CHKSUM clear checksum |
CLR CHKSUM+1 |
* |
LDA #'s Send read sector command |
JSR SCHAR |
BCC NRD_DNR if timeout, then flag drive not ready |
* |
LDA DRVNUM send drive |
JSR SCHAR |
BCC NRD_DNR |
* |
PULS A send track |
JSR SCHAR |
BCC NRD_DNR |
* |
PULS A send sector |
JSR SCHAR |
BCC NRD_DNR |
* |
* transfer 256 bytes |
CLRB |
NREAD1 JSR RCHAR read byte |
BCC NRD_DNR if timeout, then flag drive not ready |
STA 0,X+ |
ADDA CHKSUM+1 update checksum |
STA CHKSUM+1 |
BCC NREAD2 |
INC CHKSUM |
NREAD2 DECB |
BNE NREAD1 |
* |
* compare checksums |
JSR RCHAR get checksum msb |
BCC NRD_DNR |
PSHS A |
JSR RCHAR get checksum lsb |
BCC NRD_DNR |
TFR A,B |
PULS A |
CMPD CHKSUM compare checksums |
BNE NRD_ERR if checksum error, then flag crc read error |
* |
LDA #ACK no checksum error, send ACK char |
JSR SCHAR |
BCC NRD_DNR |
CLRB all OK, flag no error |
BRA NRD_END |
* |
NRD_DNR LDB #16 flag drive not ready |
BRA NRD_END |
* |
NRD_ERR LDA #NAK send NAK |
JSR SCHAR |
BCC NRD_DNR |
LDB #09 flag crc read error |
* |
NRD_END STB CHKSUM used by VERIFY |
TSTB |
RTS |
* |
* |
* write sector to remote drive |
* |
NWRITE PSHS B |
PSHS A |
CLR CHKSUM clear checksum |
CLR CHKSUM+1 |
* |
LDA #'r Send write sector command |
JSR SCHAR |
BCC NRD_DNR if timeout, then flag drive not ready |
* |
LDA DRVNUM send drive |
JSR SCHAR |
BCC NRD_DNR |
* |
PULS A send track |
JSR SCHAR |
BCC NRD_DNR |
* |
PULS A send sector |
JSR SCHAR |
BCC NRD_DNR |
* |
* transfer 256 bytes |
CLRB |
NWRITE1 LDA 0,X+ |
JSR SCHAR write byte |
BCC NRD_DNR if timeout, then flag drive not ready |
ADDA CHKSUM+1 update checksum |
STA CHKSUM+1 |
BCC NWRITE2 |
INC CHKSUM |
NWRITE2 DECB |
BNE NWRITE1 |
* |
* compare checksums |
LDA CHKSUM |
JSR SCHAR send checksum msb |
BCC NRD_DNR |
LDA CHKSUM+1 |
JSR SCHAR send checksum lsb |
BCC NRD_DNR |
* |
JSR RCHAR get checksum response |
BCC NRD_DNR |
CMPA #ACK |
BNE NWR_ERR if checksum error, then flag write error |
* |
CLRB all OK, flag no error |
BRA NWR_END |
* |
NWR_ERR LDB #10 flag write error |
* |
NWR_END STB CHKSUM used by VERIFY |
TSTB |
RTS |
* |
* |
* verify last sector written to remote drive |
* |
NVERIFY LDB CHKSUM test last checksum |
TSTB |
RTS |
* |
* |
* quck check and check drive ready |
* |
NCHECK LDA #'Q quick check command |
JSR SCHAR |
BCC NCK_ERR if timeout, then flag drive not ready |
|
JSR RCHAR get response from host |
BCC NCK_ERR |
CMPA #ACK |
BNE NCK_ERR if NAK, then flag drive not ready |
|
CLRB all OK, flag drive ready |
BRA NCK_END |
* |
NCK_ERR LDB #16 report drive not ready |
ORCC #$01 check needs carry set as well |
* |
NCK_END TSTB |
RTS |
* |
* |
* recieve char from remote drive. |
* timeout if no response for approx 1s. |
* Entry: no parameters |
* Exit: (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout. |
* |
RCHAR PSHS X,Y |
* |
LDX #1000 1000x inner loop |
RCHAR1 LDY #DELCON delay constant for inner loop (approx 1ms). |
RCHAR2 LDA ACIAC1 test for recieved char |
ASRA |
BCS RCHAR3 get character |
LEAY -1,Y else, continue to count delay |
BNE RCHAR2 |
LEAX -1,X |
BNE RCHAR1 |
PULS X,Y,PC return with error if timed out |
* |
RCHAR3 LDA ACIAD1 return data (carry bit still set) |
PULS X,Y,PC |
* |
* |
* transmit char to remote drive. |
* timeout if no response for approx 1s. (allows for use of hardware flow control) |
* Entry: (A) = char to transmit |
* Exit: (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout. |
* |
SCHAR PSHS X,Y |
PSHS A |
* |
LDX #1000 1000x inner loop |
SCHAR1 LDY #DELCON delay constant for inner loop (approx 1ms). |
SCHAR2 LDA ACIAC1 test for space in transmit FIFO |
ASRA |
ASRA |
BCS SCHAR3 send character |
LEAY -1,Y else, continue to count delay |
BNE SCHAR2 |
LEAX -1,X |
BNE SCHAR1 |
PULS A |
PULS X,Y,PC return with error if timed out |
* |
SCHAR3 PULS A |
STA ACIAD1 send data (carry bit still set) |
PULS X,Y,PC |
* |
** 'UF' Format RAMdisc to FLEX standard. |
* |
DISFOS FCB $0A,$0D |
FCC 'Formating RAMdisk... ' |
FCB 4 |
MESS6 FCB $0A,$0D,4 |
FCC 'Ramdisk not allocated! ' |
FCB 4 |
* |
UFSUB LDX #DISFOS |
JSR PDATA1 |
LDX #DTYPTAB search for allocated ramdisk |
CLRB |
FMT9 LDA B,X |
CMPA #DTYPRAM driver type 1 is ramdisk |
BEQ FFOUND |
INCB |
CMPB #4 end of table? then not allocated. |
BNE FMT9 |
LDX #MESS6 |
JSR PDATA1 |
RTS |
* |
FFOUND STB DRVNUM |
LDX #DRVNUM-3 |
JSR DRVSEL |
* |
* set up free chain |
* |
LDX #BUFFER clear out buffer |
CLRA |
CLRB |
DFL1 STA 0,X+ |
DECB |
BNE DFL1 |
* |
CLR TRACK |
LDA #1 |
STA SECTOR |
DFL2 LDX #BUFFER |
LDA TRACK |
STA 0,X |
LDA SECTOR |
INCA |
CMPA #RMAXSEC+1 last sector on track? |
BNE DFL3 |
INC 0,X |
LDA #1 |
DFL3 STA 1,X |
LDA TRACK |
LDB SECTOR |
JSR WRITSC |
INC SECTOR |
LDA SECTOR |
CMPA #RMAXSEC+1 |
BNE DFL2 |
LDA #1 |
STA SECTOR |
INC TRACK |
LDA TRACK |
CMPA #RMAXTRK |
BNE DFL2 |
* break free chain at last track/sector |
LDX #BUFFER |
LDA #RMAXTRK-1 |
LDB #RMAXSEC |
JSR READSC |
LDX #BUFFER |
CLR 0,X |
CLR 1,X |
LDA #RMAXTRK-1 |
LDB #RMAXSEC |
JSR WRITSC |
* set up sector structure, SIR, directory etc |
LDX #BUFFER |
CLRA |
LDB #RMAXSEC |
JSR READSC |
LDX #BUFFER |
CLR 0,X break end of directory chain |
CLR 1,X |
CLRA |
LDB #RMAXSEC |
JSR WRITSC |
* |
LDX #BUFFER |
CLRA |
LDB #3 set up SIR |
JSR READSC |
LDX #BUFFER |
CLR 0,X break forward link |
CLR 1,X |
LDD #$5241 set volume name (RAMDISK ) |
STD 16,X |
LDD #$4D44 |
STD 18,X |
LDD #$4953 |
STD 20,X |
LDD #$4B20 |
STD 22,X |
LDD #1 volume number |
STD 27,X |
LDD #$0101 first trk/sec 01-01 |
STD 29,X |
LDA #RMAXTRK-1 |
LDB #RMAXSEC |
STD 31,X |
STD 38,X |
LDD #RTOTSEC total DATA sectors (2912-14) |
STD 33,X |
* |
LDA #01 month set default creation date (SYS09's birthday!) |
STA 35,X |
LDA #07 day |
STA 36,X |
LDA #07 year |
STA 37,X |
* |
RF3 CLRA |
LDB #3 |
JSR WRITSC |
* |
LDX #BUFFER |
CLRA |
LDB #1 |
JSR READSC |
LDX #BUFFER |
LDA #$AA set the init flag |
STA 0,X |
LDA #$55 |
STA 1,X |
CLRA |
LDB #1 |
JMP WRITSC |
* |
******************************** |
* System specific Boot * |
* command goes here. * |
******************************** |
* |
* Boot FLEX from the FPGA's internal pre-loaded scratch RAM |
* |
UBMESS FCB $08, $08 |
FCC 'Booting internal FLEX....' |
FCB $0D,$0A,$04 |
* |
UBSUB LDX #UBMESS |
JSR PDATA1 |
* |
LDX #$D3E5 |
LDY #CONTAB Overlay console driver table |
UB1 LDD 0,Y++ |
STD 0,X++ |
CMPX #$D3FD |
BNE UB1 |
* |
LDX #$DE00 Overlay disk driver table |
LDY #DISTAB |
UB2 LDD 0,Y++ |
STD 0,X++ |
CMPX #$DE1E |
BNE UB2 |
* |
UBEND JMP $CD00 |
* |
* FLEX console jump table. |
CONTAB FDB INPNE INPUT NO ECHO |
FDB DUMMY INTERRUPT HANDLER |
FDB MONRAM+$02 SWI VECTOR |
FDB MONRAM+$08 IRQ VECTOR |
FDB DUMMY TIMER OFF |
FDB DUMMY TIMER ON |
FDB DUMMY TIMER INITIALIZATION |
FDB CONTRL MONITOR |
FDB DUMMY TERMINAL INITIALIZATION |
FDB STATUS INPUT CHECK |
FDB OUTP TERMINAL OUTPUT |
FDB INPE TERMINAL INPUT WITH ECHO |
* |
* FLEX disk jump table. |
DISTAB JMP READSC |
JMP WRITSC |
JMP BUSY |
JMP RESTR1 |
JMP DRVSEL |
JMP CHKRDY |
JMP CHKQIK |
JMP DINIT |
JMP DWARM |
JMP SEEKTS |
* |
* Monitor jumps |
* |
PDATA1 JMP [PDATAV] |
OUTP JMP [OUTCHV] |
INPE JMP [INCHEV] |
INPNE JMP [INCHV] |
STATUS JMP [INCHKV] |
CONTRL JMP [MONITV] |
DUMMY RTS |
* |
** 'UL' LOAD ROM DISK VIA SERIAL PORT |
* |
ULMES FCC 'Serial ROM Disk upload ...' |
FCB $0D,$0A,$04 |
ULMES1 FCC 'ROM Disk Loaded' |
FCB $0D,$0A,$04 |
* |
ULSUB LDX #ULMES |
JSR PDATA1 |
* |
LDA #$00 |
STA DRVNUM |
CLRA TRACK 0 |
LDB #$01 SECTOR 1 |
ULLOOP0 STA TRACK |
STB SECTOR` |
LBSR MAPIN |
* |
CLRB xfer 256 bytes at a time. |
ULLOOP1 JSR LRBYTE transfer should be hex bytes |
STA ,U+ |
DECB |
BNE ULLOOP1 |
* |
LBSR MAPOUT |
* |
LDA TRACK |
LDB SECTOR |
INCB |
CMPB #EMAXSEC+1 |
BNE ULLOOP0 |
LDB #1 |
INCA |
CMPA #EMAXTRK |
BNE ULLOOP0 |
* |
ULEXIT LDX #ULMES1 |
JMP PDATA1 |
* |
* Read a byte from the serial port |
* |
LRBYTE PSHS B |
BSR LRHEX Get hex digit. |
ASLA |
ASLA Shift to msb. |
ASLA |
ASLA |
TFR A,B Save in B. |
BSR LRHEX Get next digit. |
PSHS B |
ADDA 0,S+ Add together bytes. |
PULS B,PC |
* |
LRHEX JSR INTER |
BVS LRHEX |
SUBA #$30 Remove ascii bias. |
BMI LRHEX |
CMPA #$09 Number? |
BLE LRHEX1 Yes. |
CMPA #$11 Keep testing. |
BMI LRHEX |
CMPA #$16 |
BGT LRHEX |
SUBA #$07 |
LRHEX1 RTS |
* |
* ACIA INPUT TEST |
* |
INTEST LDA ACIAC1 |
BITA #$01 |
RTS |
* |
* RESET ACIA |
* |
ACIRST LDA #$03 master reset |
STA ACIAC1 |
LDA #$11 |
STA ACIAC1 |
RTS |
* |
* ACIA INPUT |
* |
INTER LDA #16 |
STA DELCNT+0 |
CLR DELCNT+1 |
CLR DELCNT+2 |
INTER0 LDA ACIAC1 |
BITA #$01 |
BNE INTER1 |
BITA #$78 |
BEQ INTER2 |
BSR ACIRST |
BRA INTER |
* |
INTER1 LDA ACIAD1 |
ANDCC #VFLAG |
RTS |
* |
INTER2 DEC DELCNT+2 |
BNE INTER0 |
DEC DELCNT+1 |
BNE INTER0 |
DEC DELCNT+0 |
BNE INTER0 |
CLRA |
ORCC #VFLAG |
RTS |
* |
* ACIA OUTPUT |
* |
OUTTER PSHS A |
* |
OUTTE1 LDA ACIAC1 |
BITA #$02 |
BNE OUTTE2 |
BITA #$78 |
BEQ OUTTE1 |
BSR ACIRST |
BRA OUTTE1 |
* |
OUTTE2 PULS A |
STA ACIAD1 |
RTS |
* |
** 'UX' Xmodem ROM Disk upload |
* |
UXMES FCB $0D,$0A |
FCC 'Xmodem ROM Disk Upload' |
FCB 4 |
UXMES1 FCB $0D,$0A |
FCC 'Upload Complete' |
FCB 4 |
UXMES2 FCB $0D,$0A |
FCC 'Upload Error' |
FCB 4 |
* |
UXSUB LDX #UXMES |
LBSR PDATA1 |
* |
LDA #1 |
STA BLKNUM |
LDX #XSTSTR |
STX XSTATE |
* |
LDA #$00 |
STA DRVNUM |
CLRA TRACK 0 |
LDB #$01 SECTOR 1 |
UXLOOP0 STA TRACK |
STB SECTOR |
LBSR MAPIN |
* |
CLRB xfer 256 bytes at a time. |
UXLOOP1 LBSR XBYTE transfer should be hex bytes |
BCS UXERR |
STA ,U+ |
DECB |
BNE UXLOOP1 |
* |
LBSR MAPOUT |
* |
LDA TRACK |
LDB SECTOR |
INCB |
CMPB #EMAXSEC+1 |
BNE UXLOOP0 |
LDB #1 |
INCA |
CMPA #EMAXTRK |
BNE UXLOOP0 |
* |
UXEXIT LDX #UXMES1 |
JMP PDATA1 |
* |
UXERR LBSR MAPOUT |
LDX #UXMES2 |
LBRA PDATA1 |
* |
* Get a Byte using XModem protocol |
* Carry clear => no errors |
* Carry set => errors |
* |
XBYTE PSHS X |
LDX XSTATE |
* |
XBYTE0 LBSR INTER |
BVC XBYTE1 |
LDA #NAK |
LBSR OUTTER |
LDX #XSTSTR |
BRA XBYTE0 |
* |
XBYTE1 JSR ,X |
BNE XBYTE0 |
STX XSTATE |
PULS X,PC |
* |
* START - LOOK FOR SOH (START OF HEADER) = $01 |
* |
XSTSTR CMPA #SOH |
BNE XSTSTR1 |
LDX #XSTBLK |
ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit) |
RTS |
* |
XSTSTR1 CMPA #EOT |
BNE XSTSTR2 |
LDA #ACK |
LBSR OUTTER |
ORCC #CFLAG+ZFLAG Set (c)=1 abort & exit |
RTS |
* |
XSTSTR2 CMPA #CAN |
BNE XSTSTR3 |
ORCC #CFLAG+ZFLAG Set (c)=1 abort & exit |
RTS |
* |
XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG |
RTS |
* |
* Got SOH |
* Now get block number |
* |
XSTBLK CMPA BLKNUM |
BNE XSTBLKE |
LDX #XSTCOM |
ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
RTS |
* |
* Error in block number |
* |
XSTBLKE LDA #NAK |
LBSR OUTTER |
LDX #XSTSTR |
ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
RTS |
* |
* Get complement of block number |
* |
XSTCOM COMA |
CMPA BLKNUM |
BNE XSTBLKE |
CLR CHKSUM |
LDA #128 |
STA BYTCNT |
LDX #XSTDAT |
ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
RTS |
* |
* Get data bytes |
* |
XSTDAT PSHS A |
ADDA CHKSUM |
STA CHKSUM |
PULS A |
DEC BYTCNT |
BNE XSTDAT1 |
LDX #XSTCHK |
XSTDAT1 ANDCC #$FF-CFLAG No abort |
ORCC #ZFLAG Valid data (exit) |
RTS |
* |
* Byte count reached zero |
* Check checksum byte |
* |
XSTCHK CMPA CHKSUM |
BNE XSTCHK1 retry if wrong checksum |
* |
* Checksum OK ... |
* increment block number |
* and send ACK |
* |
INC BLKNUM |
LDA #ACK |
BRA XSTCHK2 |
* |
* Checksum Error detected ... |
* Reset Sector counter in ACCB to last 128 byte boundary |
* and send NAK |
* |
XSTCHK1 PSHS B |
TFR U,D |
DECB |
ANDB #128 |
TFR D,U |
PULS B |
LDA #NAK |
XSTCHK2 LBSR OUTTER |
LDX #XSTSTR |
ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit) |
RTS |
* |
** 'UP' Load ROMdisk via config PROM. |
* |
UPMES FCB $08,$08 |
FCC 'Load ROM disk from config PROM.' |
FCB 4 |
UPMES1 FCC 'Found SYNC, loading data...' |
FCB $0A,$0D,4 |
UPMES2 FCC 'ROM Disk Loaded.' |
FCB $0A,$0D,4 |
UPMES3 FCC 'ROM Disk Not Found.' |
FCB $0A,$0D,4 |
* |
UPSUB LDX #UPMES |
JSR PDATA1 |
* |
BSR UPRESET |
LDY #$0020 Set up count for 2 MBit |
LDX #$0000 |
UPSUB1 BSR UPBIT Shift in bit |
BSR UPSYNC Test for Sync pattern` |
BEQ UPSUB4 Skip if found |
LEAX -1,X Count Down inner loop |
CMPX #$0000 |
BNE UPSUB1 Branch if inner loop not complete |
LEAY -1,X Count down outer loop |
CMPY #$0000 |
BNE UPSUB1 Branch if outer loop not complete |
* |
LDX #UPMES3 2MBits scanned, no synch, report error |
JMP PDATA1 |
* |
UPSUB4 LDX #UPMES1 Sync found, now load disk |
JSR PDATA1 |
* |
CLRA |
STA DRVNUM select Drive 0 |
LDB #$01 |
UPSUB2 STA TRACK track 0 |
STB SECTOR sector 1 |
* |
LBSR MAPIN map in buffer |
CLRB 256 byte sector |
UPSUB3 BSR UPBYTE read byte from prom |
STA ,U+ Store in buffer |
DECB |
BNE UPSUB3 Loop until sector read` |
LBSR MAPOUT map out buffer |
* |
LDA TRACK Advance sector |
LDB SECTOR |
INCB |
CMPB #EMAXSEC+1 Wrap on max sector count |
BNE UPSUB2 |
LDB #1 |
INCA Advance track |
CMPA #EMAXTRK |
BNE UPSUB2 |
* |
UPEXIT LDX #UPMES2 Load complete, report message |
JMP PDATA1 |
* |
* Reset Serial PROM |
* |
UPRESET LDA #PRSTHI Strobe the reset line |
STA PROMREG |
LDA #PRSTLO |
STA PROMREG |
LDX #$0000 Delay a while` |
UPRST1 LEAX -1,X |
CMPX #$0000 |
BNE UPRST1 |
STX SYNCREG+0 Clear Sync Shift Register |
STX SYNCREG+2 |
RTS |
* |
* Input 1 Bit From PROM |
* |
UPBIT LDA #PCLKHI |
STA PROMREG |
LDA #PCLKLO |
STA PROMREG |
LDA PROMREG |
LSRA |
ASL SYNCREG+3 |
RTS |
* |
* Test for 32 bit Sync Word |
* |
UPSYNC ROL SYNCREG+2 |
ROL SYNCREG+1 |
ROL SYNCREG+0 |
LDD #SYNCLO |
CMPD SYNCREG+2 |
BNE UPSYNCX |
LDD #SYNCHI |
CMPD SYNCREG+0 |
UPSYNCX RTS |
* |
* Input 1 Byte From PROM |
* |
UPBYTE PSHS B |
LDB #8 |
UPBYTE1 BSR UPBIT |
DECB |
BNE UPBYTE1 |
LDA SYNCREG+3 |
PULS B,PC |
* |
***** NEXTCMD ***** |
* |
NEXTEXT LBSR INPE GET ONE CHAR. FROM TERMINAL |
ANDA #$7F STRIP PARITY FROM CHAR. |
TFR A,B |
LDA #$20 |
LBSR OUTP PRNT SPACE |
CMPB #$60 |
BLE NXTEX0 |
SUBB #$20 |
* |
***** DO TABLE LOOKUP ***** |
* FOR COMMAND FUNCTIONS |
* |
NXTEX0 LDX #EXTTAB POINT TO JUMP TABLE |
NXTEX1 CMPB ,X+ DOES COMMAND MATCH TABLE ENTRY ? |
BEQ JMPEXT BRANCH IF MATCH FOUND |
LEAX 2,X POINT TO NEXT ENTRY IN TABLE |
CMPX #EXTEND REACHED END OF TABLE YET ? |
BNE NXTEX1 IF NOT END, CHECK NEXT ENTRY |
LDX #MSGWHAT POINT TO MSG "WHAT?" |
LBRA PDATA1 PRINT MSG AND RETURN |
JMPEXT JMP [,X] JUMP TO COMMAND ROUTINE |
* |
* EXTENDED COMMAND JUMP TABLE |
* |
EXTTAB EQU * |
FCC 'B' BOOT FLEX |
FDB UBSUB |
FCC 'L' LOAD ROM DISK OVER SERIAL PORT |
FDB ULSUB |
FCC 'F' FORMAT RAM DISK |
FDB UFSUB |
FCC 'P' LOAD ROM DISK FROM PROM |
FDB UPSUB |
FCC 'X' XMODEM ROM DISK UPLOAD |
FDB UXSUB |
* |
EXTEND EQU * |
* |
MSGWHAT FCC "WHAT ?" |
FCB $0A,$0D,$04 |
END |
/branches/before_delete/src/flex9/flex9_ide_b16_1.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000E4CC7E", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"00000000000000000000000000000000005458540050555452415453000000FF", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"CDBFFBD3BEF1D39FAD06CABFA10089302BCCBEFDD3B73986A0C039ACCABD0620", |
INIT_11 => x"2684E11284E784A6B9C6A0008E4FCDBFF7D3BE13CDBF10CDBFF9D3BE0DCDBF0A", |
INIT_12 => x"BD81CEBDDCCA8E16CCBF03CD8E2BCCBF5FFF8930EC2606CABC0004893084A70B", |
INIT_13 => x"CCBF80C08E67CD7E00D2BD01A6082706D4BD84A7018640C88EB5CEBD9E8DB5CE", |
INIT_14 => x"80C08EF4D1BD40C88EE7260D8180A714CCBED7D27E3034052706D4BD40C88E14", |
INIT_15 => x"EC250D8D0ECCB7F325148D2BCEBD81CEBDECCA8E2ED37E43CCBF67CD8E14CCBF", |
INIT_16 => x"3930383639011A39FE1C03275D1CCCB60B2575D1BD3910CCB7E525068D0FCCB7", |
INIT_17 => x"000004203F2959592C44442C4D4D2820455441440431302E33562058454C4620", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000001001BFF0000400400193A1808", |
INIT_21 => x"00000000000000000000000000000000010000FFBF0000000000000000000000", |
INIT_22 => x"274E4143043F54414857043F3F3F042B2B2B0000000060000000000000000000", |
INIT_23 => x"20524F525245204B53494404444E554F4620544F4E04524546534E4152542054", |
INIT_24 => x"004BD3004E4F4D0FD20054454704594441455220544F4E205345564952440423", |
INIT_25 => x"0000000000000000000000000000000000000000000000000A006400E8031027", |
INIT_26 => x"000000000070D37E00000000000000000000000000000000000000000070D37E", |
INIT_27 => x"0000000000000001000000000000000000000000000000000070D37E00000000", |
INIT_28 => x"CE7E2BCE7E41CF7EFBCE7E12CD7E0FCD7E0CCD7E09CD7EB1CD7E67CD7E57CD7E", |
INIT_29 => x"7ED4CF7E86CF7E49D37EEBD07EA2D17E36D07EEACD7E0ED07EB5CE7EEDCF7E81", |
INIT_2a => x"D4BD11CC7F7FC0CE1005CE7E05CE7E4ECD7E29D37E75D17ED0CF7E2FD17E7FD2", |
INIT_2b => x"9FAFE7D3BEE9D39FAF00C78E16CCBF03CD8E18DEBD7FC0CE10FDD3BD28CC7F00", |
INIT_2c => x"28CC7D142015CC7C052602CCB111CCB65A8D4CCC7F34CC7F31CCBFF8CC8EEBD3", |
INIT_2d => x"D0BD0DCC7C40C88EE5270D81D4D0BD7A8D81CEBD4ECC8EB22603D4BD97052610", |
INIT_2e => x"CCB7158656CC8E2ED2BD01986E0326358D072712CCBE09273E8D93CC8E162536", |
INIT_2f => x"7F21CC7F22CC7F23CC7F0ACDBF0DCDBE10CDBF13CDBE67CD7E11CC7F81CEBD20", |
INIT_30 => x"806D0C27A46DF026846D082680A1208002235F81A0A644C88E103924CC7F26CC", |
INIT_31 => x"0D811F2700CCB11D2701CCB1FBCEBD14CCBF80C08E39FB1CDE26846D0230FC26", |
INIT_32 => x"80C08CCE20268D52CC8E39DC260D8180A7E227FFC08CE7231F8132270A810D27", |
INIT_33 => x"20208641CFBD0D86B92066CFBD07CCB666CFBD20860826088107CCB61F30F427", |
INIT_34 => x"CC7F5C260ACCB1E5D39FAD65274ECDBDF320013041CFBD6F27048184A6328DC9", |
INIT_35 => x"2703CCB6D48D272621CC7D16CC9F6E11CC7FF326038150270ACCB1E5D39FAD1A", |
INIT_36 => x"CC7C0435FB265A088D052708CCF60434CE8D022709CC7D1ACC7F18221ACCB120", |
INIT_37 => x"1A2623CC7D39FE1C0435FA265A4E8D4F062705CCF60434588D0A865C8D0D861A", |
INIT_38 => x"1ACC7F0CCDBD032009CDBD0820538D0C2724CC7D11272FCC7D1A8D102726CC7D", |
INIT_39 => x"CD7E7FD2BD24CC7F3947CCBE042606D4BD24CCBE47CCBF062026CCBE47CCBF39", |
INIT_3a => x"CEBD062429CCB10B2704CCB6023429CC7C172029CC7F05221F81202621CC7D03", |
INIT_3b => x"03200FCDBD082626CC7D0D20B58D042724CC7D132622CC7D0234023529CC7CB5", |
INIT_3c => x"1FF7264DCC7A02300B8DA0CC8E84EC4DCCB704861DCCF74ACC7F39023512CDBD", |
INIT_3d => x"CC7D0B264ACC7D10264BCCB60234F4204BCC7C84A3072584A3104BCC7F3D2098", |
INIT_3e => x"44444444042084A6048D84A60130028D8235128D4ACC7C0520238D20860B271D", |
INIT_3f => x"2561810E235A810C254181162339811425308141CF7E078B02233981308B0F84" |
/branches/before_delete/src/flex9/flex9_ide_b16_2.vhd
0,0 → 1,64
INIT_00 => x"0D8118CCB780A619CCB718CCB614CCBE103439FE1C3911CCB7011A06237A8104", |
INIT_01 => x"046F03A7FF8601A715869035B98DE72784A10426208114CCBF0B2702CCB11027", |
INIT_02 => x"BE6823238D6C273FCCBC092628252E8D0F262E25348D4BCCB70886D4D0BD0C6F", |
INIT_03 => x"393FCCBE0DCC7F03A70CCCB603200BCCB605270DCC7D0F2A036D6127046D3FCC", |
INIT_04 => x"4BCCF639FE1C2E812F240ED0BD03A70384382A036D3FCCBE1522398143258C8D", |
INIT_05 => x"04272D8108240ED0BD5A013004A72080022549CCB104354BCCF705C00434252B", |
INIT_06 => x"0426208184A614CCBE3FCCBFF6205A0130046FCB275D39011AE4265D06265F81", |
INIT_07 => x"03C6A5313D03C610220B810BD18E1018260CE63034393FCCBE14CCBFF6200130", |
INIT_08 => x"5243534B4142535953534142444D435458544E4942B035F7265A01300CA7A0A6", |
INIT_09 => x"7804C604341825268D22250ED0BD1ED2BD54554F545250524944434142544144", |
INIT_0a => x"8039FE1C1BCCBE39FB240ED0BDDF205C1CCCB71CCCBB0435F7265A1BCC791CCC", |
INIT_0b => x"223981DC250ED0BD1ED2BD39011A39FE1C032B0A8B072A078B042A068B0F2A47", |
INIT_0c => x"5C04351BCCFD0089E0EB1BCCF31BCCF34958495849581BCCFC023404340F84D2", |
INIT_0d => x"E5201DCCB701861FCCB72E8D1ECCB7338DF6261681152702813D8D1DCC7FD620", |
INIT_0e => x"5A3DCCBF80A73DCCBE0D8DD0274D891F148D3DCCFD1BCCF3891E1E8D891F228D", |
INIT_0f => x"39FE1C0D2606D4BD84A7048662320E26088101A6112706D4BD40C88EC120F326", |
INIT_10 => x"5F4FF120868D4CCC7C078D0F25358D0086E4CD7E738D39011A0326048120CCB7", |
INIT_11 => x"1ECC9F6E04271DCCF6A2D1BDEA8D228D028603CD7EAEFB27104CCCF6391BCCFD", |
INIT_12 => x"A7018640C88EEBD0BD40C88E1A25023536D0BD40C88E0234DECD7E81865CCC8E", |
INIT_13 => x"3439011A5DFB261002CCB107270D8111CCB6393B88A7FF86BB002510E4D1BD84", |
INIT_14 => x"0927026D40C88E61D38E105827108108262DCCBE10EACDBD632720CCB701A630", |
INIT_15 => x"2606D4BD84A7018603A70BCCB640C88E6E8D0BC638C88E2E2606D4BD84A70486", |
INIT_16 => x"3FCCBE81CEBD75CC8E1E2706D4BD84A715862188A720886F4C47474A20CCB616", |
INIT_17 => x"844A20CCB640C88EB5CEBDF62081CEBD82CC8EB03586CFBD5F846F01A720CCB6", |
INIT_18 => x"3034CD2006D4BD84A70486F4260D8141CFBDC92606D4BD2288E704CB3D3FC603", |
INIT_19 => x"FE1028CC7FB8CD7E28CC7C20CC7F45CCFF1043CCFD0635E1CD7E6BCC8E00D17E", |
INIT_1a => x"CD7E7FD2BD01A71B8640C88EF3D39F6E0426FCCC7D393A43CC9F6E20CCF645CC", |
INIT_1b => x"08F89F6E00F89F6E04F89F6E70D37E3900000000535953000053524F52524567", |
INIT_1c => x"00000000000000000000000000000000000000000000000006F89F6E0AF89F6E", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"00CA7E84D380D37CD371D378D370D370D370D3C8DFC2DF70D374D30000000000", |
INIT_20 => x"204D455453595320474E4954415245504F204B534944207BD47E59D47E36D47E", |
INIT_21 => x"118D0AC609D48E15DEBDFF594220303839312029432820544847495259504F43", |
INIT_22 => x"2709D4BE09C7BD0CC77EFB265A806F1AC61BD48E1AD47F15D4BF13D4BF05008E", |
INIT_23 => x"0327FCCC7D39FFC60CC7BD026F0BD4BEEC242035C3DABD20340BD4BFE48830EB", |
INIT_24 => x"CC7D26250BD4BEB4D5BD112702C11A2702E6222684E6016F0BD4BF243409C7BD", |
INIT_25 => x"BE95ADCED48E585A0C2001C6042316C1142012C6ED20CFD6BD3924355F2326FC", |
INIT_26 => x"41D676D838D81DD8E2D5C3DAF9DAD9D986D9392435016D0CC7BD01E702240BD4", |
INIT_27 => x"02C60526208DE5DCFBDCBDDD07DB90D56FD510D887DA99D62CDBD6DB69D99FD6", |
INIT_28 => x"C30BD4FC39FE1C84ED94EC39011A0DC605270E8D39016F846F84AE84ED39011A", |
INIT_29 => x"2FC6028D5F4F0BD4BEEE2084AE39012684A31039FB1C032684AE1009D48E1C00", |
INIT_2a => x"04A60BC60BD4BE39F6265A01302488A704A60BC60BD4BE39F8265A01301188A7", |
INIT_2b => x"0BD4BE00D67E2388E679245402E60BD4BE39F0265A01300526E0A12488A60234", |
INIT_2c => x"E602E780CA552603C103C402E60BD4BE39011A1F265C4088A73A22886C2288E6", |
INIT_2d => x"20863B886A07273C2B3B88A639011A0BC639FE1C4088A73A2388E60A2680C50F", |
INIT_2e => x"1CE3274DD8203B88A70BD4BE0D25238D0C260981F627152218811B25318D1D20", |
INIT_2f => x"22886C0A272288E60BD4BE39011A12C6A0D97E84A7052701850925B1DABD39FE", |
INIT_30 => x"1C270000831020886C032621886C4088EC0BD4BE39EA24038D39FE1C4088A63A", |
INIT_31 => x"011A08C6022009C6062010C6042780C51024138D02352288A7048602341E88ED", |
INIT_32 => x"D4BE39EE240435178D043439FE1C032600DEBD118D12250CDEBD0BD4BE258D39", |
INIT_33 => x"052707C15C11D4F6242680C5112610C53912D4B711D4B74F394088301E88EC0B", |
INIT_34 => x"8D39011A39FE1C09DEBD0BD4BE12D4F70C2704C15C12D4F611D47F142011D4F7", |
INIT_35 => x"2640C5322706DEBD372735D4B60A2603DEBDB08D0BD4BE20250CDEBD0BD4BEC7", |
INIT_36 => x"C13B88E75C0F2620813D2B3B88E60BD4BE39011A20C639E0240435AB8D04340B", |
INIT_37 => x"148D098610202086042601C1023439FE1CF62027275D39E6240B8D0D200C267F", |
INIT_38 => x"E6D1FE261002C102E60BD4BE390235038D3B886F3B88A60BD4BE02340F250235", |
INIT_39 => x"D4BE39FE1C2288E70BD4BE04C60A247DD5BD0F250235218D0234082604C12288", |
INIT_3a => x"2625E08D2A253F8D17886F44271788E622261288E627204288ED2088ED5F4F0B", |
INIT_3b => x"7E1A249FD6BD4088ED0BD4BE0E8D82DC7E1188EC1788E702C60BD4BE2225DC8D", |
INIT_3c => x"1A07C60526E78D39846D1BD4BF3A1DD48E3D068603E60BD4BE3984EC038DC1DB", |
INIT_3d => x"43DCBD0B2717886D15886C032616886C1188ED032612886D1388ED0BD4BE3901", |
INIT_3e => x"6F026F0A2684ED0635B08D06344088EC0BD4BED22520D6BD1388EC0BD4BEDD25", |
INIT_3f => x"304088A75F20886C032621886C0BD4BE4F04AF103F3104AE100820056F046F03" |
/branches/before_delete/src/flex9/f9-var.txt
0,0 → 1,59
* |
** TTYSET PARAMETERS |
* |
ORG $CC00 |
BSPCHR FCB $08 |
DELCHR FCB $18 |
EOLCHR FCB $3A |
DEPCNT FCB 25 |
WIDCNT FCB $00 |
NULCNT FCB $04 |
TABCHR FCB '@ |
BSECHR FCB $00 |
EJTCNT FCB $00 |
PAUSE FCB $FF |
ESCCHR FCB $1B |
SYSDRV FCB 0 |
WRKDRV FCB 1 |
ZCC0D FCB $00 |
DATERG EQU * |
MONTH FCB $00 |
DAY FCB $00 |
YEAR FCB $00 |
LASTRM FCB $00 |
UCTVEC FDB $0000 |
LINPTR FDB $0000 |
ESCVEC FDB $0000 |
CURCHR FCB $00 |
PRVCHR FCB $00 |
CURLIN FCB $00 |
LODOFF FDB $0000 |
TRNFLG FCB $00 |
TRNVEC FDB $0000 |
ERRTYP FCB $00 |
SIOFLG FCB $00 |
OUTSWT FCB $00 |
INPSWT FCB $00 |
FOPADR FDB $0000 |
FIPADR FDB $0000 |
CMDFLG FCB $00 |
CURCOL FCB $00 |
FCB $00 |
MEMEND FDB $BFFF |
ERRVEC FDB $0000 |
FIEFLG FCB $01 |
ZCC30 FCB $00 |
ZCC31 FCB $00,$00,$00 |
ZCC34 FCB $00,$00,$00,$00,$00,$00,$00 |
ZCC3D EQU $CC3D |
ZCC3F EQU $CC3F |
ZCC43 EQU $CC43 |
ZCC45 EQU $CC45 |
ZCC47 EQU $CC47 |
ORG $CC49 |
MAPUP FCB $60 MAP LOWER TO UPPERCASE |
ZCC4A EQU $CC4A |
ZCC4B EQU $CC4B |
ZCC4C EQU $CC4C |
ZCC4D EQU $CC4D |
END |
/branches/before_delete/src/flex9/flex9_ide_b16_3.vhd
0,0 → 1,64
INIT_00 => x"13D4F613D4BF15D4BE0E2003C604345F39FE1C4288ED2088EC0BD4BEF8265A01", |
INIT_01 => x"1D262288E60BD4BE392288E75F18D47F4088E704354188E70BD4BE14D4F60434", |
INIT_02 => x"2288A62F88ED1E88EC2288A7108618D4FD44DC052618D47D0BD4BE30250CD6BD", |
INIT_03 => x"C62288A73188A60BD4BE39FE1CF2265A013004A71435F5D5BD143418C63188A7", |
INIT_04 => x"1AD47D17D4B62388A703A60BD4BE9FD67EF2265A0130143514D7BD04A6143418", |
INIT_05 => x"88A60BD4BEEF2013D4BF18D4BE3723228D0C2705008C13D4BF15D4BE03A73126", |
INIT_06 => x"BD1DD8BD49D5BD1AD47F0BD4BEF220ADDDBD1C23078D3625BDDDBD0E2A03A723", |
INIT_07 => x"058D39FE1CE42659D5BD0F8D022A0C2704A60BD4BE39011A182708C1072438D8", |
INIT_08 => x"1525188D172687D7BD393488A73188A63288ED2F88EC0C263388A639FE1CFB1C", |
INIT_09 => x"D4BE08250CD6BD10D8BD39FE1CF6265A80A721315DA8A61BD4BE0BD4BE1006C6", |
INIT_0a => x"265A21315DA8A780A61BD4BE0BD4BE1006C6F825EA8D87D7BD392288E710C60B", |
INIT_0b => x"052476D8BD082541D6BD1E88ED2F88EC02A702860BD4BEC1DB7EE0249FD6BDF6", |
INIT_0c => x"292620850FA606271AD47D0BD4BE3B26382592D8BD3D25FAD4BD390AC6C1DB7E", |
INIT_0d => x"BEF4265A0C2504350CD6BD043413271788E676DABD4088ED1188EC2A25C0DCBD", |
INIT_0e => x"082A036D0BD4BE39011A04350CD5BD043404C6022011C639FE1C2288E75F0BD4", |
INIT_0f => x"CF2003C60426D52592D8BDDA2517D9BD37D5BDE225FAD4BD3910C60324BDDDBD", |
INIT_10 => x"A73488A62F88ED27273288EC0BD4BEF9265A01300F6F0AC60BD4BECA25C0DCBD", |
INIT_11 => x"39FE1C2288A704863E8D992569D9BDADDDBD1B88A710CCB61988ED0ECCFC3188", |
INIT_12 => x"D97EC1DBBD06249FD6BD082572D7BD0D2520D6BD2F88EC12886C17886F0BD4BE", |
INIT_13 => x"6F846F02A784A60BD4BE8A20EA2547D9BD3488A710863288ED1E88EC0BD4BECF", |
INIT_14 => x"8102A60BD4BE39FE1C2288E704C67AFB251044846F0E25288D392288A74F3B88", |
INIT_15 => x"12C6F023038102A60BD4BE0D25E78D39FE1C130125109FD6BD02A703860B2683", |
INIT_16 => x"25C88D1920A7DBBD05261288A60CD57E026F0BD4BE082702813125EC8D39011A", |
INIT_17 => x"D6BD282586D9BD39D32447D9BD052569D9BD0A2598DCBD052717886D0BD4BE17", |
INIT_18 => x"BE0286092520D6BD1388EC122680850FA60BD4BE1A2586D9BD1820038623250C", |
INIT_19 => x"3004A72488A60BC60BD4BE24272A2592D8BD358D39011A0BC639FE1C02A70BD4", |
INIT_1a => x"0CC639011A03C655200C8D09266085D62680850FA60BD4BE15254D8DF6265A01", |
INIT_1b => x"A60BD4BEEF2611D47A013004E73588A73588E604A611D4B70B860BD4BE39011A", |
INIT_1c => x"1C0BD4BE0626072592D8BDCE8D390BD4BEF6265A01300CA73D88A603C60C260C", |
INIT_1d => x"249FD6BD4088ED3902A700860BD4BE69D9BD04A7FF860BD4BE39011A04C639FE", |
INIT_1e => x"BE5A25B88D5E2517D9BD39011A0AC602200BC6062010C60A2780C5082640C514", |
INIT_1f => x"D4BE33271188EC0BD4BE0F2602EC1BD4BE87D7BD52266085522680850FA60BD4", |
INIT_20 => x"BE1388EC0BD4BE2025A28D1C271188EC0BD4BE2C2520D6BD0BD4BE142084ED1B", |
INIT_21 => x"0CC602200BC63947D9BD0325A7DBBD04ED04E31BD4BE1588EC0BD4BE02ED1BD4", |
INIT_22 => x"3788A74C0727FF813788A60E261388A3104C01C603233C88E15C1E88EC39011A", |
INIT_23 => x"EC39011A17C605271188A3101E88EC1626038B3A88A60BD4BE3025338D39FE1C", |
INIT_24 => x"F72520D6BD3888EC39FE1C3788A701863588ED1388EC3A88A704863888ED4088", |
INIT_25 => x"C1DB7EDA249FD6BDF3265A01304088A7213135A8A603C63A3A88E6121F0BD4BE", |
INIT_26 => x"BEF8265A013040886F5F3C88A76788A62088ED5F4F0BD4BE46250CD6BD10D8BD", |
INIT_27 => x"0E25B1DABD2088ED9ADD7E032A0100832088EC1D271788A60BD4BE39FE1C0BD4", |
INIT_28 => x"EE259FDDBD6A272088AE101188EC11D47F39011A12C605261788A6846F072446", |
INIT_29 => x"11D4B6023403300FD4BE2C242088A3100BD4BE0FD4BF008902EB7427026D5F4F", |
INIT_2a => x"023504353E25458D4088EC0BD4BE0434D2204C270235A8810827548111D4B74C", |
INIT_2b => x"E006233C88E105250BD4BE01EB84A6891F4AE0A0043402A60FD4BE2088A3C020", |
INIT_2c => x"BD39011A18C6022019C614272088A3104288EC0BD4BE142520D6BDF5204C3C88", |
INIT_2d => x"0BD4BE39F6265A013004A72488A60BC60BD4BE39FE1C3A44C60BD4BE082520D6", |
INIT_2e => x"000000000039011A10C639E82512DEBD03200FDEBD052603A70F2404814C03A6", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"CC0038DE7E52DE7E1FDE7EA4DE7EA4DE7E98DE7E33DE7E96DE7E74DE7E53DE7E", |
INIT_31 => x"E606E1FD4F02345A01C64F638D75200CE1FDE000CC1EE1FD0200CC1EE1FD0600", |
INIT_32 => x"1020344B8D0EE1FD2000CCE38D395F023504E1FD01C60AE1FD1EDEF608E1FDE4", |
INIT_33 => x"20342A8D0EE1FD3000CCC28D395F368D2035F5263F3180E700E1FC528D00018E", |
INIT_34 => x"B74F0123038103A6395F395F148D2035F5263F3100E1FD80E6308D4F00018E10", |
INIT_35 => x"0039F92708C50EE1FC39F22740C50EE1FCF92680C50EE1FC395F03A6395F1EDE", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_39 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3f => x"0000000000000000000000000000000000000000000000000000000000000000" |
/branches/before_delete/src/flex9/flex9ram.aux
0,0 → 1,10
t m |
l FLEX9RAM.S19 |
t h |
s flex9_ram_b16_0.vhd c000 c7ff |
s flex9_ram_b16_1.vhd c800 cfff |
s flex9_ram_b16_2.vhd d000 d7ff |
s flex9_ram_b16_3.vhd d800 dfff |
s flex9_ram_b16_ext.vhd f000 f7ff |
q |
|
/branches/before_delete/src/flex9/f9-equ.txt
0,0 → 1,8
Z0000 EQU $0000 |
Z0005 EQU $0005 |
Z0044 EQU $0044 |
Z00A0 EQU $00A0 |
ZC07F EQU $C07F |
LINBUF EQU $C080 |
ZC0FF EQU $C0FF |
END |
/branches/before_delete/src/flex9/flex9ram.lst
0,0 → 1,4005
Assembler release DWC_2.0 version 2.11 |
May 6, 2004 (c) Motorola (free ware) |
0001 NAM FLEX SOURCE |
0000 INCLUDE "f9-moneq.txt" |
|
|
f9-moneq.txt page 2 |
0002 * |
0003 *************************************************** |
0004 * MEMORY MAP EQUATES * |
0005 *************************************************** |
0006 E000 MONIO EQU $E000 I/O SPACE |
0007 DFC0 MONRAM EQU $DFC0 STACK SPACE |
0008 F800 MONROM EQU $F800 START OF ROM |
0009 F000 MONEXT EQU $F000 EXTENDED COMMANDS |
0010 *MONEXT EQU $1000 EXTENDED COMMANDS |
0011 * |
0012 *************************************************** |
0013 * SYS09BUG VARIABLE SPACE |
0014 *************************************************** |
0015 * |
0016 DFC0 STACK EQU MONRAM+0 TOP OF INTERNAL STACK / USER VECTOR |
0017 DFC2 SWI3 EQU MONRAM+2 SOFTWARE INTERRUPT VECTOR #3 |
0018 DFC4 SWI2 EQU MONRAM+4 SOFTWARE INTERRUPT VECTOR #2 |
0019 DFC6 FIRQ EQU MONRAM+6 FAST INTERRUPT VECTOR |
0020 DFC8 IRQ EQU MONRAM+8 INTERRUPT VECTOR |
0021 DFCA SWI EQU MONRAM+10 SOFTWARE INTERRUPT VECTOR |
0022 DFCC SVCVO EQU MONRAM+12 SUPERVISOR CALL VECTOR ORGIN |
0023 DFCE SVCVL EQU MONRAM+14 SUPERVISOR CALL VECTOR LIMIT |
0024 DFD0 LRARAM EQU MONRAM+16 LRA ADDRESSES |
0025 DFE0 CPORT EQU MONRAM+32 RE-VECTORABLE CONTROL PORT |
0026 DFE2 ECHO EQU MONRAM+34 ECHO FLAG |
0027 DFE3 BPTBL EQU MONRAM+35 BREAKPOINT TABLE BASE ADDR |
0028 ************************************************** |
0029 * VDU BYTES * |
0030 ************************************************** |
0031 * |
0032 **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ****** |
0033 DFFB COLADX EQU MONRAM+59 CURSOR COLUMN |
0034 DFFC ROWADX EQU MONRAM+60 CURSOR ROW |
0035 ************************************************** |
0036 * |
0037 DFFD NEWROW EQU MONRAM+61 NEW ROW TEMP FOR ESCAPE |
0038 DFFE ESCFLG EQU MONRAM+62 ESCAPE SEQUENCE ACTIVE |
0039 * |
0040 *************************************************** |
0041 * SERIAL PORT * |
0042 *************************************************** |
0043 * |
0044 E000 ACIAS EQU MONIO+$00 CONTROL PORT |
0045 * |
0046 *************************************************** |
0047 * PS/2 KEYBOARD PORT * |
0048 *************************************************** |
0049 * |
0050 E020 PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT |
0051 * |
0052 *************************************************** |
0053 * ADM3A DISPLAY DRIVER VARIABLES * |
0054 *************************************************** |
0055 * |
0056 ** VIDEO DISPLAY DEFINITIONS |
0057 * |
0058 E030 VDU EQU MONIO+$30 |
0059 0000 VDUCHR EQU 0 CHARACTER REGISTER |
0060 0001 VDUATT EQU 1 ATTRIBUTE REGISTER |
0061 0002 VDUCOL EQU 2 CURSOR COLUMN |
0062 0003 VDUROW EQU 3 CURSOR ROW |
0063 0004 VDUOFF EQU 4 ROW OFFSET |
0064 * |
0065 0050 LINLEN EQU 80 LENGTH OF A LINE |
0066 0019 NUMLIN EQU 25 NUMBER OF LINES |
0067 * |
0068 *************************************************** |
0069 * Serial PROM register |
0070 *************************************************** |
0071 * |
0072 ** CONFIGURATION PROM DEFINITIONS |
0073 * |
0074 E0C0 PROMREG EQU MONIO+$C0 |
0075 0001 PCLKHI EQU $01 Toggle PROM Clock High |
0076 0000 PCLKLO EQU $00 Toggle PROM Clock Low |
0077 0002 PRSTHI EQU $02 Toggle PROM Reset High |
0078 0000 PRSTLO EQU $00 Toggle PROM Reset Low |
0079 AA55 SYNCHI EQU $AA55 Synch Pattern High Word |
0080 FF00 SYNCLO EQU $FF00 Synch Pattern Low Word |
0081 * |
0082 * |
0083 *************************************************** |
0084 * Dynamic Address Translation Registers |
0085 *************************************************** |
0086 * |
0087 ** DAT Table |
0088 * |
0089 FFF0 IC11 EQU $FFF0 DAT RAM CHIP |
0090 * |
0091 *************************************************** |
0092 * START OF ROM * |
0093 *************************************************** |
0094 * |
0095 F800 MONITV EQU MONROM+0 FDB MONITOR |
0096 F802 NXTCMV EQU MONROM+2 FDB NEXTCMD |
0097 F804 INCHV EQU MONROM+4 FDB INCH |
0098 F806 INCHEV EQU MONROM+6 FDB INCHE |
0099 F808 INCHKV EQU MONROM+8 FDB INCHEK |
0100 F80A OUTCHV EQU MONROM+10 FDB OUTCH |
0101 F80C PDATAV EQU MONROM+12 FDB PDATA |
0102 F80E PCRLFV EQU MONROM+14 FDB PCRLF |
0103 F810 PSTRGV EQU MONROM+16 FDB PSTRNG |
0104 F812 LRAV EQU MONROM+18 FDB LRA |
0002 END |
0000 INCLUDE "f9-equ.txt" |
0001 0000 Z0000 EQU $0000 |
0002 0005 Z0005 EQU $0005 |
0003 0044 Z0044 EQU $0044 |
0004 00A0 Z00A0 EQU $00A0 |
0005 C07F ZC07F EQU $C07F |
0006 C080 LINBUF EQU $C080 |
0007 C0FF ZC0FF EQU $C0FF |
0003 END |
0000 INCLUDE "f9-spool.txt" |
0001 * |
0002 ** PRINTER SPOOLING |
0003 * |
0004 C700 ORG $C700 |
0005 C700 7E C7 21 PRSPL1 JMP ZC721 |
0006 C703 7E C7 03 PRSPL2 JMP * |
0007 C706 7E C7 47 PRSPL3 JMP ZC747 |
0008 C709 7E C7 85 PRSPL4 JMP ZC785 |
0009 C70C 7E C7 95 PRSPL5 JMP ZC795 |
0010 C70F 7E C7 1F PRSPL6 JMP ZC71F |
0011 * |
0012 ** SPOOLER SCRATCH AREA |
0013 * |
0014 C712 0C 00 00 00 00 C8 ZC712 FCB $0C,$00,$00,$00,$00,$C8,$10 |
10 |
0015 C719 C8 10 ZC719 FCB $C8,$10 |
0016 C71B 00 QCNT FCB $00 |
0017 C71C 00 ZC71C FCB $00 |
0018 C71D 00 ZC71D FCB $00 |
0019 C71E 00 ZC71E FCB $00 |
0020 * |
0021 C71F 3B ZC71F RTI |
0022 C720 12 NOP |
0023 * |
0024 C721 1A 10 ZC721 ORCC #$10 |
0025 C723 BE CC 31 LDX ZCC31 |
0026 C726 10 EF 02 STS 2,X |
0027 C729 7D CC 34 TST ZCC34 |
0028 C72C 26 11 BNE ZC73F |
0029 C72E 8E CC FC LDX #ZCCFC |
0030 C731 7C CC 34 INC ZCC34 |
0031 C734 6D 84 TST ,X |
0032 C736 27 07 BEQ ZC73F |
0033 C738 BF CC 31 ZC738 STX ZCC31 |
0034 C73B 10 EE 02 LDS $02,X |
0035 C73E 3B RTI |
0036 * |
0037 C73F 8E CC F8 ZC73F LDX #ZCCF8 |
0038 C742 7F CC 34 CLR ZCC34 |
0039 C745 20 F1 BRA ZC738 |
0040 * |
0041 C747 1A 10 ZC747 ORCC #$10 |
0042 C749 7D C7 1B TST QCNT |
0043 C74C 27 29 BEQ ZC777 |
0044 C74E BE C7 19 LDX ZC719 |
0045 C751 A6 84 LDA ,X |
0046 C753 34 02 PSHS A |
0047 C755 EC 01 LDD $01,X |
0048 C757 8E CA C0 LDX #ZCAC0 |
0049 C75A ED 88 40 STD $40,X |
0050 C75D 35 02 PULS A |
0051 C75F A7 03 STA $03,X |
0052 C761 6F 84 CLR ,X |
0053 C763 86 01 LDA #$01 |
0054 C765 A7 02 STA $02,X |
0055 C767 6F 88 22 CLR $22,X |
0056 C76A 6F 88 3B CLR $3B,X |
0057 C76D 7D C7 1E ZC76D TST ZC71E |
0058 C770 27 29 BEQ ZC79B |
0059 C772 11 3F SWI3 |
0060 C774 12 NOP |
0061 C775 20 F6 BRA ZC76D |
0062 * |
0063 C777 1C EF ZC777 ANDCC #$EF |
0064 C779 AD 9F D3 ED ZC779 JSR [TOFVEC] |
0065 C77D 7F CC FC CLR ZCCFC |
0066 C780 11 3F SWI3 |
0067 C782 12 NOP |
0068 C783 20 F4 BRA ZC779 |
0069 * |
0070 C785 1A 10 ZC785 ORCC #$10 |
0071 C787 7D CC 30 TST ZCC30 |
0072 C78A 27 05 BEQ ZC791 |
0073 C78C 11 3F SWI3 |
0074 C78E 12 NOP |
0075 C78F 20 F4 BRA ZC785 |
0076 * |
0077 C791 7C CC 30 ZC791 INC ZCC30 |
0078 C794 39 RTS |
0079 * |
0080 C795 7F CC 30 ZC795 CLR ZCC30 |
0081 C798 1C EF ANDCC #$EF |
0082 C79A 39 RTS |
0083 * |
0084 C79B 7D C7 1D ZC79B TST ZC71D |
0085 C79E 26 27 BNE ZC7C7 |
0086 C7A0 8E CA C0 LDX #ZCAC0 |
0087 C7A3 BD D4 06 JSR FMS |
0088 C7A6 26 1F BNE ZC7C7 |
0089 C7A8 7D C7 1C TST ZC71C |
0090 C7AB 27 0F BEQ ZC7BC |
0091 C7AD 7F C7 1C CLR ZC71C |
0092 C7B0 81 0A CMPA #$0A |
0093 C7B2 27 0F BEQ ZC7C3 |
0094 C7B4 34 02 PSHS A |
0095 C7B6 86 0A LDA #$0A |
0096 C7B8 8D 3C BSR ZC7F6 |
0097 C7BA 35 02 PULS A |
0098 C7BC 81 0D ZC7BC CMPA #$0D |
0099 C7BE 26 03 BNE ZC7C3 |
0100 C7C0 B7 C7 1C STA ZC71C |
0101 C7C3 8D 31 ZC7C3 BSR ZC7F6 |
0102 C7C5 20 D4 BRA ZC79B |
0103 * |
0104 C7C7 86 0D ZC7C7 LDA #$0D |
0105 C7C9 8D 2B BSR ZC7F6 |
0106 C7CB 86 0A LDA #$0A |
0107 C7CD 8D 27 BSR ZC7F6 |
0108 C7CF B6 C7 12 LDA ZC712 |
0109 C7D2 8D 22 BSR ZC7F6 |
0110 C7D4 7F C7 1D CLR ZC71D |
0111 C7D7 BE C7 19 LDX ZC719 |
0112 C7DA 6D 03 TST $03,X |
0113 C7DC 27 05 BEQ ZC7E3 |
0114 C7DE 6A 03 DEC $03,X |
0115 C7E0 7E C7 47 JMP ZC747 |
0116 * |
0117 C7E3 30 04 ZC7E3 LEAX $04,X |
0118 C7E5 8C C8 40 CMPX #FCB |
0119 C7E8 26 03 BNE ZC7ED |
0120 C7EA 8E C8 10 LDX #ZC810 |
0121 C7ED BF C7 19 ZC7ED STX ZC719 |
0122 C7F0 7A C7 1B DEC QCNT |
0123 C7F3 7E C7 47 JMP ZC747 |
0124 * |
0125 C7F6 BD CC D8 ZC7F6 JSR PCHK |
0126 C7F9 2B 05 BMI ZC800 |
0127 C7FB 11 3F SWI3 |
0128 C7FD 12 NOP |
0129 C7FE 20 F6 BRA ZC7F6 |
0130 * |
0131 C800 7E CC E4 ZC800 JMP POUT |
0132 C810 ZC810 EQU $C810 |
0133 C838 ZC838 EQU $C838 |
0004 END |
0000 INCLUDE "f9-sfcb.txt" |
0001 * |
0002 ** SYSTEM FILE CONTROL BLOCK |
0003 * |
0004 C840 ORG $C840 |
0005 C840 FF FCB FCB $FF |
0006 C841 00 FCB $00 |
0007 C842 00 FCB $00 |
0008 C843 00 FCB $00 |
0009 C844 53 54 41 52 54 55 ZC844 FCC "STARTUP" |
50 |
0010 C84B 00 FCB $00 |
0011 C84C 54 58 54 FCC "TXT" |
0012 C84F 00 FCB $00 |
0005 END |
0000 INCLUDE "f9-init.txt" |
0001 * |
0002 ** FLEX INITIATION |
0003 * |
0004 CA00 ORG $CA00 |
0005 CA00 20 06 ZCA00 BRA ZCA08 |
0006 CA02 BD CA AC ZCA02 JSR >ZCAAC |
0007 CA05 39 RTS |
0008 CA06 C0 A0 ZCA06 SUBB #$A0 |
0009 CA08 86 39 ZCA08 LDA #$39 |
0010 CA0A B7 D3 FD STA >ZD3FD |
0011 CA0D BE CC 2B LDX >MEMEND |
0012 CA10 30 89 00 A1 LEAX $00A1,X |
0013 CA14 BF CA 06 STX >ZCA06 |
0014 CA17 AD 9F D3 F1 JSR [TINVEC] |
0015 CA1B BE D3 FB LDX >INVEC |
0016 CA1E BF CD 0A STX >INCH+1 |
0017 CA21 BF CD 0D STX >INCH2+1 |
0018 CA24 BE D3 F9 LDX >OUTVEC |
0019 CA27 BF CD 10 STX >OUTCH+1 |
0020 CA2A BF CD 13 STX >OUTCH2+1 |
0021 CA2D BE D3 F7 LDX >STAVEC |
0022 CA30 BF CD 4F STX >ZCD4E+1 |
0023 CA33 8E 00 A0 LDX #Z00A0 |
0024 CA36 C6 B9 LDB #$B9 |
0025 CA38 A6 84 ZCA38 LDA ,X |
0026 CA3A E7 84 STB ,X |
0027 CA3C 12 NOP |
0028 CA3D E1 84 CMPB ,X |
0029 CA3F 26 0B BNE ZCA4C |
0030 CA41 A7 84 STA ,X |
0031 CA43 30 89 04 00 LEAX $0400,X |
0032 CA47 BC CA 06 CMPX >ZCA06 |
0033 CA4A 26 EC BNE ZCA38 |
0034 CA4C 30 89 FF 5F ZCA4C LEAX $FF5F,X |
0035 CA50 BF CC 2B STX >MEMEND |
0036 CA53 8E CD 03 LDX #WARMS |
0037 CA56 BF CC 16 STX >ESCVEC |
0038 CA59 8E CA DC LDX #TTLSTR |
0039 CA5C BD CE 81 JSR >PSTRG1 |
0040 CA5F BD CE B5 JSR >PCRLF1 |
0041 CA62 8D 9E BSR ZCA02 |
0042 CA64 BD CE B5 JSR >PCRLF1 |
0043 CA67 8E C8 40 LDX #FCB |
0044 CA6A 86 01 LDA #$01 |
0045 CA6C A7 84 STA ,X |
0046 CA6E BD D4 06 JSR >FMS |
0047 CA71 27 08 BEQ ZCA7B |
0048 CA73 A6 01 LDA $01,X |
0049 CA75 BD D2 00 JSR >ZD200 |
0050 CA78 7E CD 67 JMP >WARM1 |
0051 |
0052 CA7B 8E C0 80 ZCA7B LDX #LINBUF |
0053 CA7E BF CC 14 ZCA7E STX >LINPTR |
0054 CA81 8E C8 40 LDX #FCB |
0055 CA84 BD D4 06 JSR >FMS |
0056 CA87 27 05 BEQ ZCA8E |
0057 CA89 34 30 PSHS Y,X |
0058 CA8B 7E D2 D7 JMP >ZD2D7 |
0059 |
0060 CA8E BE CC 14 ZCA8E LDX >LINPTR |
0061 CA91 A7 80 STA ,X+ |
0062 CA93 81 0D CMPA #$0D |
0063 CA95 26 E7 BNE ZCA7E |
0064 CA97 8E C8 40 LDX #FCB |
0065 CA9A BD D1 F4 JSR >ZD1F4 |
0066 CA9D 8E C0 80 LDX #LINBUF |
0067 CAA0 BF CC 14 STX >LINPTR |
0068 CAA3 8E CD 67 LDX #WARM1 |
0069 CAA6 BF CC 43 STX >ZCC43 |
0070 CAA9 7E D3 2E JMP >ZD32E |
0071 |
0072 CAAC 8E CA EC ZCAAC LDX #DATSTR |
0073 CAAF BD CE 81 JSR >PSTRG1 |
0074 CAB2 BD CE 2B JSR >INBUF1 |
0075 CAB5 8D 14 BSR ZCACB |
0076 CAB7 25 F3 BCS ZCAAC |
0077 CAB9 B7 CC 0E STA >MONTH |
0078 CABC 8D 0D BSR ZCACB |
0079 CABE 25 EC BCS ZCAAC |
0080 CAC0 B7 CC 0F ZCAC0 STA >DAY |
0081 CAC3 8D 06 BSR ZCACB |
0082 CAC5 25 E5 BCS ZCAAC |
0083 CAC7 B7 CC 10 STA >YEAR |
0084 CACA 39 RTS |
0085 |
0086 CACB BD D1 75 ZCACB JSR >INDEC1 |
0087 CACE 25 0B BCS ZCADB |
0088 CAD0 B6 CC 1C LDA >LODOFF+1 |
0089 CAD3 5D TSTB |
0090 CAD4 27 03 BEQ ZCAD9 |
0091 CAD6 1C FE ANDCC #$FE |
0092 CAD8 39 RTS |
0093 |
0094 CAD9 1A 01 ZCAD9 ORCC #$01 |
0095 CADB 39 ZCADB RTS |
0096 |
0097 CADC 36 38 30 39 20 46 TTLSTR FCC "6809 FLEX V3.01" |
4C 45 58 20 56 33 |
2E 30 31 |
0098 CAEB 04 FCB $04 |
0099 CAEC 44 41 54 45 20 28 DATSTR FCC "DATE (MM,DD,YY)? " |
4D 4D 2C 44 44 2C |
59 59 29 3F 20 |
0100 CAFD 04 FCB $04 |
0006 END |
0000 INCLUDE "f9-var.txt" |
0001 * |
0002 ** TTYSET PARAMETERS |
0003 * |
0004 CC00 ORG $CC00 |
0005 CC00 08 BSPCHR FCB $08 |
0006 CC01 18 DELCHR FCB $18 |
0007 CC02 3A EOLCHR FCB $3A |
0008 CC03 19 DEPCNT FCB 25 |
0009 CC04 00 WIDCNT FCB $00 |
0010 CC05 04 NULCNT FCB $04 |
0011 CC06 40 TABCHR FCB '@ |
0012 CC07 00 BSECHR FCB $00 |
0013 CC08 00 EJTCNT FCB $00 |
0014 CC09 FF PAUSE FCB $FF |
0015 CC0A 1B ESCCHR FCB $1B |
0016 CC0B 00 SYSDRV FCB 0 |
0017 CC0C 01 WRKDRV FCB 1 |
0018 CC0D 00 ZCC0D FCB $00 |
0019 CC0E DATERG EQU * |
0020 CC0E 00 MONTH FCB $00 |
0021 CC0F 00 DAY FCB $00 |
0022 CC10 00 YEAR FCB $00 |
0023 CC11 00 LASTRM FCB $00 |
0024 CC12 00 00 UCTVEC FDB $0000 |
0025 CC14 00 00 LINPTR FDB $0000 |
0026 CC16 00 00 ESCVEC FDB $0000 |
0027 CC18 00 CURCHR FCB $00 |
0028 CC19 00 PRVCHR FCB $00 |
0029 CC1A 00 CURLIN FCB $00 |
0030 CC1B 00 00 LODOFF FDB $0000 |
0031 CC1D 00 TRNFLG FCB $00 |
0032 CC1E 00 00 TRNVEC FDB $0000 |
0033 CC20 00 ERRTYP FCB $00 |
0034 CC21 00 SIOFLG FCB $00 |
0035 CC22 00 OUTSWT FCB $00 |
0036 CC23 00 INPSWT FCB $00 |
0037 CC24 00 00 FOPADR FDB $0000 |
0038 CC26 00 00 FIPADR FDB $0000 |
0039 CC28 00 CMDFLG FCB $00 |
0040 CC29 00 CURCOL FCB $00 |
0041 CC2A 00 FCB $00 |
0042 CC2B BF FF MEMEND FDB $BFFF |
0043 CC2D 00 00 ERRVEC FDB $0000 |
0044 CC2F 01 FIEFLG FCB $01 |
0045 CC30 00 ZCC30 FCB $00 |
0046 CC31 00 00 00 ZCC31 FCB $00,$00,$00 |
0047 CC34 00 00 00 00 00 00 ZCC34 FCB $00,$00,$00,$00,$00,$00,$00 |
00 |
0048 CC3D ZCC3D EQU $CC3D |
0049 CC3F ZCC3F EQU $CC3F |
0050 CC43 ZCC43 EQU $CC43 |
0051 CC45 ZCC45 EQU $CC45 |
0052 CC47 ZCC47 EQU $CC47 |
0053 CC49 ORG $CC49 |
0054 CC49 60 MAPUP FCB $60 MAP LOWER TO UPPERCASE |
0055 CC4A ZCC4A EQU $CC4A |
0056 CC4B ZCC4B EQU $CC4B |
0057 CC4C ZCC4C EQU $CC4C |
0058 CC4D ZCC4D EQU $CC4D |
0007 END |
0000 INCLUDE "f9-data.txt" |
0001 * |
0002 ** STRINGS AND MESSAGES |
0003 * |
0004 CC4E ORG $CC4E |
0005 CC4E 2B 2B 2B PMTSTR FCC "+++" |
0006 CC51 04 FCB $04 |
0007 CC52 3F 3F 3F QRYSTR FCC "???" |
0008 CC55 04 FCB $04 |
0009 CC56 57 48 41 54 3F WOTMSG FCC "WHAT?" |
0010 CC5B 04 FCB $04 |
0011 CC5C 43 41 4E 27 54 20 NTRMSG FCC "CAN'T TRANSFER" |
54 52 41 4E 53 46 |
45 52 |
0012 CC6A 04 FCB $04 |
0013 CC6B 4E 4F 54 20 46 4F NFDMSG FCC "NOT FOUND" |
55 4E 44 |
0014 CC74 04 FCB $04 |
0015 CC75 44 49 53 4B 20 45 DERMSG FCC "DISK ERROR #" |
52 52 4F 52 20 23 |
0016 CC81 04 FCB $04 |
0017 CC82 44 52 49 56 45 53 DNRMSG FCC "DRIVES NOT READY" |
20 4E 4F 54 20 52 |
45 41 44 59 |
0018 CC92 04 FCB $04 |
0019 * |
0020 ** MEMORY RESIDENT COMMANDS |
0021 * |
0022 CC93 47 45 54 CMDTBL FCC "GET" |
0023 CC96 00 FCB $00 |
0024 CC97 D2 0F FDB GETCMD |
0025 CC99 4D 4F 4E FCC "MON" |
0026 CC9C 00 FCB $00 |
0027 CC9D D3 4B FDB ZD34B |
0028 CC9F 00 FCB $00 |
0029 * |
0030 ** DECIMAL CONVERSION TABLE |
0031 * |
0032 CCA0 27 10 DECTBL FDB 10000 |
0033 CCA2 03 E8 FDB 1000 |
0034 CCA4 00 64 FDB 100 |
0035 CCA6 00 0A FDB 10 |
0008 END |
0000 INCLUDE "f9-cli.txt" |
0001 ********************************************* |
0002 * |
0003 * FLEX COMMAND LINE INTERPRETER & SUBROUTINES |
0004 * |
0005 ********************************************* |
0006 CD00 ORG $CD00 |
0007 * |
0008 ** FLEX JUMPS |
0009 * |
0010 CD00 7E CD 57 COLDS JMP >COLD1 |
0011 CD03 7E CD 67 WARMS JMP >WARM1 |
0012 CD06 7E CD B1 RENTER JMP >RENT1 |
0013 CD09 7E CD 09 INCH JMP >INCH |
0014 CD0C 7E CD 0C INCH2 JMP >INCH2 |
0015 CD0F 7E CD 0F OUTCH JMP >OUTCH |
0016 CD12 7E CD 12 OUTCH2 JMP >OUTCH2 |
0017 CD15 7E CE FB GETCHR JMP >GETCH1 |
0018 CD18 7E CF 41 PUTCHR JMP >PUTCH1 |
0019 CD1B 7E CE 2B INBUFF JMP >INBUF1 |
0020 CD1E 7E CE 81 PSTRNG JMP >PSTRG1 |
0021 CD21 7E CF ED CLASS JMP >CLASS1 |
0022 CD24 7E CE B5 PCRLF JMP >PCRLF1 |
0023 CD27 7E D0 0E NXTCH JMP >NXTCH1 |
0024 CD2A 7E CD EA RSTRIO JMP >RSTIO1 |
0025 CD2D 7E D0 36 GETFIL JMP >GETFL1 |
0026 CD30 7E D1 A2 LOAD JMP >LOAD1 |
0027 CD33 7E D0 EB SETEXT JMP >SETEX1 |
0028 CD36 7E D3 49 ADDBX JMP >ADDBX1 |
0029 CD39 7E CF 86 OUTDEC JMP >OUTDC1 |
0030 CD3C 7E CF D4 OUTHEX JMP >OUTHX1 |
0031 CD3F 7E D2 7F RPTERR JMP >RPTER1 |
0032 CD42 7E D1 2F GETHEX JMP >GETHX1 |
0033 CD45 7E CF D0 OUTADR JMP >OUTAD1 |
0034 CD48 7E D1 75 INDEC JMP >INDEC1 |
0035 CD4B 7E D3 29 DOCMND JMP >DOCMD1 |
0036 CD4E 7E CD 4E ZCD4E JMP >ZCD4E |
0037 CD51 7E CE 05 JMP >ZCE05 |
0038 CD54 7E CE 05 JMP >ZCE05 |
0039 * |
0040 ** COLD START ENTRY |
0041 * |
0042 CD57 10 CE C0 7F COLD1 LDS #ZC07F |
0043 CD5B 7F CC 11 ZCD5B CLR >LASTRM |
0044 CD5E BD D4 00 JSR >ZD400 |
0045 CD61 7F CC 28 CLR >CMDFLG |
0046 CD64 BD D3 FD JSR >ZD3FD |
0047 * |
0048 ** WARM START ENTRY |
0049 * |
0050 CD67 10 CE C0 7F WARM1 LDS #ZC07F |
0051 CD6B BD DE 18 JSR >WARMDR |
0052 CD6E 8E CD 03 LDX #WARMS |
0053 CD71 BF CC 16 STX >ESCVEC |
0054 CD74 8E C7 00 LDX #PRSPL1 |
0055 CD77 AF 9F D3 E9 STX [SWIVVC] |
0056 CD7B BE D3 E7 LDX >IHNDVC |
0057 CD7E AF 9F D3 EB STX [IRQVVC] |
0058 CD82 8E CC F8 LDX #ZCCF8 |
0059 CD85 BF CC 31 STX >ZCC31 |
0060 CD88 7F CC 34 CLR >ZCC34 |
0061 CD8B 7F CC 4C CLR >ZCC4C |
0062 CD8E 8D 5A BSR RSTIO1 |
0063 CD90 B6 CC 11 LDA >LASTRM |
0064 CD93 B1 CC 02 CMPA >EOLCHR |
0065 CD96 26 05 BNE ZCD9D |
0066 CD98 7C CC 15 INC >LINPTR+1 |
0067 CD9B 20 14 BRA RENT1 |
0068 |
0069 CD9D 7D CC 28 ZCD9D TST >CMDFLG |
0070 CDA0 10 26 05 97 LBNE ZD33B |
0071 CDA4 BD D4 03 JSR >FMSCLS |
0072 CDA7 26 B2 BNE ZCD5B |
0073 CDA9 8E CC 4E LDX #PMTSTR |
0074 CDAC BD CE 81 JSR >PSTRG1 |
0075 CDAF 8D 7A BSR INBUF1 |
0076 * |
0077 ** MAIN CONTROL LOOP |
0078 * |
0079 CDB1 BD D0 D4 RENT1 JSR >ZD0D4 |
0080 CDB4 81 0D CMPA #$0D |
0081 CDB6 27 E5 BEQ ZCD9D |
0082 CDB8 8E C8 40 ZCDB8 LDX #FCB |
0083 CDBB 7C CC 0D INC >ZCC0D |
0084 CDBE BD D0 36 JSR >GETFL1 |
0085 CDC1 25 16 BCS ZCDD9 |
0086 CDC3 8E CC 93 LDX #CMDTBL |
0087 CDC6 8D 3E BSR ZCE06 |
0088 CDC8 27 09 BEQ ZCDD3 |
0089 CDCA BE CC 12 LDX >UCTVEC |
0090 CDCD 27 07 BEQ ZCDD6 |
0091 CDCF 8D 35 BSR ZCE06 |
0092 CDD1 26 03 BNE ZCDD6 |
0093 CDD3 6E 98 01 ZCDD3 JMP [$01,X] |
0094 |
0095 CDD6 BD D2 2E ZCDD6 JSR >ZD22E |
0096 CDD9 8E CC 56 ZCDD9 LDX #WOTMSG |
0097 CDDC 86 15 LDA #$15 |
0098 CDDE B7 CC 20 ZCDDE STA >ERRTYP |
0099 CDE1 BD CE 81 ZCDE1 JSR >PSTRG1 |
0100 CDE4 7F CC 11 ZCDE4 CLR >LASTRM |
0101 CDE7 7E CD 67 JMP >WARM1 |
0102 * |
0103 ** RESTORE IO VECTORS |
0104 * |
0105 CDEA BE CD 13 RSTIO1 LDX >OUTCH2+1 |
0106 CDED BF CD 10 STX >OUTCH+1 |
0107 CDF0 BE CD 0D LDX >INCH2+1 |
0108 CDF3 BF CD 0A STX >INCH+1 |
0109 CDF6 7F CC 23 CLR >INPSWT |
0110 CDF9 7F CC 22 CLR >OUTSWT |
0111 CDFC 7F CC 21 CLR >SIOFLG |
0112 CDFF 7F CC 26 CLR >FIPADR |
0113 CE02 7F CC 24 CLR >FOPADR |
0114 CE05 39 ZCE05 RTS |
0115 |
0116 CE06 10 8E C8 44 ZCE06 LDY #ZC844 |
0117 CE0A A6 A0 ZCE0A LDA ,Y+ |
0118 CE0C 81 5F CMPA #$5F |
0119 CE0E 23 02 BLS ZCE12 |
0120 CE10 80 20 SUBA #$20 |
0121 CE12 A1 80 ZCE12 CMPA ,X+ |
0122 CE14 26 08 BNE ZCE1E |
0123 CE16 6D 84 TST ,X |
0124 CE18 26 F0 BNE ZCE0A |
0125 CE1A 6D A4 TST ,Y |
0126 CE1C 27 0C BEQ ZCE2A |
0127 CE1E 6D 80 ZCE1E TST ,X+ |
0128 CE20 26 FC BNE ZCE1E |
0129 CE22 30 02 LEAX $02,X |
0130 CE24 6D 84 TST ,X |
0131 CE26 26 DE BNE ZCE06 |
0132 CE28 1C FB ANDCC #$FB |
0133 CE2A 39 ZCE2A RTS |
0134 * |
0135 ** GET USER COMMAND LINE |
0136 * |
0137 CE2B 8E C0 80 INBUF1 LDX #LINBUF |
0138 CE2E BF CC 14 STX >LINPTR |
0139 CE31 BD CE FB ZCE31 JSR >GETCH1 |
0140 CE34 B1 CC 01 CMPA >DELCHR |
0141 CE37 27 1D BEQ ZCE56 |
0142 CE39 B1 CC 00 CMPA >BSPCHR |
0143 CE3C 27 1F BEQ ZCE5D |
0144 CE3E 81 0D CMPA #$0D |
0145 CE40 27 0D BEQ ZCE4F |
0146 CE42 81 0A CMPA #$0A |
0147 CE44 27 32 BEQ ZCE78 |
0148 CE46 81 1F CMPA #$1F |
0149 CE48 23 E7 BLS ZCE31 |
0150 CE4A 8C C0 FF ZCE4A CMPX #ZC0FF |
0151 CE4D 27 E2 BEQ ZCE31 |
0152 CE4F A7 80 ZCE4F STA ,X+ |
0153 CE51 81 0D CMPA #$0D |
0154 CE53 26 DC BNE ZCE31 |
0155 CE55 39 RTS |
0156 |
0157 CE56 8E CC 52 ZCE56 LDX #QRYSTR |
0158 CE59 8D 26 BSR PSTRG1 |
0159 CE5B 20 CE BRA INBUF1 |
0160 |
0161 CE5D 8C C0 80 ZCE5D CMPX #LINBUF |
0162 CE60 27 F4 BEQ ZCE56 |
0163 CE62 30 1F LEAX -$01,X |
0164 CE64 B6 CC 07 LDA >BSECHR |
0165 CE67 81 08 CMPA #$08 |
0166 CE69 26 08 BNE ZCE73 |
0167 CE6B 86 20 LDA #$20 |
0168 CE6D BD CF 66 JSR >ZCF66 |
0169 CE70 B6 CC 07 LDA >BSECHR |
0170 CE73 BD CF 66 ZCE73 JSR >ZCF66 |
0171 CE76 20 B9 BRA ZCE31 |
0172 |
0173 CE78 86 0D ZCE78 LDA #$0D |
0174 CE7A BD CF 41 JSR >PUTCH1 |
0175 CE7D 86 20 LDA #$20 |
0176 CE7F 20 C9 BRA ZCE4A |
0177 |
0178 CE81 8D 32 PSTRG1 BSR PCRLF1 |
0179 CE83 A6 84 ZCE83 LDA ,X |
0180 CE85 81 04 CMPA #$04 |
0181 CE87 27 6F BEQ ZCEF8 |
0182 CE89 BD CF 41 JSR >PUTCH1 |
0183 CE8C 30 01 LEAX $01,X |
0184 CE8E 20 F3 BRA ZCE83 |
0185 |
0186 CE90 BD CD 4E ZCE90 JSR >ZCD4E |
0187 CE93 27 65 BEQ ZCEFA |
0188 CE95 AD 9F D3 E5 JSR [ZD3E5] |
0189 CE99 B1 CC 0A CMPA >ESCCHR |
0190 CE9C 26 5C BNE ZCEFA |
0191 CE9E 7F CC 1A ZCE9E CLR >CURLIN |
0192 CEA1 AD 9F D3 E5 ZCEA1 JSR [ZD3E5] |
0193 CEA5 B1 CC 0A CMPA >ESCCHR |
0194 CEA8 27 50 BEQ ZCEFA |
0195 CEAA 81 03 CMPA #$03 CTRL C |
0196 CEAC 26 F3 BNE ZCEA1 |
0197 CEAE 7F CC 11 CLR >LASTRM |
0198 CEB1 6E 9F CC 16 JMP [ESCVEC] |
0199 * |
0200 ** PRINT CR, LINEFEED |
0201 * |
0202 CEB5 7D CC 21 PCRLF1 TST >SIOFLG |
0203 CEB8 26 27 BNE ZCEE1 |
0204 CEBA 8D D4 BSR ZCE90 |
0205 CEBC B6 CC 03 LDA >DEPCNT |
0206 CEBF 27 20 BEQ ZCEE1 |
0207 CEC1 B1 CC 1A CMPA >CURLIN |
0208 CEC4 22 18 BHI ZCEDE |
0209 CEC6 7F CC 1A CLR >CURLIN |
0210 CEC9 7D CC 09 TST >PAUSE |
0211 CECC 27 02 BEQ ZCED0 |
0212 CECE 8D CE BSR ZCE9E |
0213 CED0 34 04 ZCED0 PSHS B |
0214 CED2 F6 CC 08 LDB >EJTCNT |
0215 CED5 27 05 BEQ ZCEDC |
0216 CED7 8D 08 ZCED7 BSR ZCEE1 |
0217 CED9 5A DECB |
0218 CEDA 26 FB BNE ZCED7 |
0219 CEDC 35 04 ZCEDC PULS B |
0220 CEDE 7C CC 1A ZCEDE INC >CURLIN |
0221 CEE1 86 0D ZCEE1 LDA #$0D |
0222 CEE3 8D 5C BSR PUTCH1 |
0223 CEE5 86 0A LDA #$0A |
0224 CEE7 8D 58 BSR PUTCH1 |
0225 CEE9 34 04 PSHS B |
0226 CEEB F6 CC 05 LDB >NULCNT |
0227 CEEE 27 06 BEQ ZCEF6 |
0228 CEF0 4F ZCEF0 CLRA |
0229 CEF1 8D 4E BSR PUTCH1 |
0230 CEF3 5A DECB |
0231 CEF4 26 FA BNE ZCEF0 |
0232 CEF6 35 04 ZCEF6 PULS B |
0233 CEF8 1C FE ZCEF8 ANDCC #$FE |
0234 CEFA 39 ZCEFA RTS |
0235 * |
0236 ** GET A CHARACTER HONOURING TTYSET |
0237 * |
0238 CEFB 7D CC 23 GETCH1 TST >INPSWT |
0239 CEFE 26 1A BNE ZCF1A |
0240 CF00 7D CC 26 TST >FIPADR |
0241 CF03 27 10 BEQ ZCF15 |
0242 CF05 8D 1A BSR ZCF21 |
0243 CF07 7D CC 2F TST >FIEFLG |
0244 CF0A 27 11 BEQ ZCF1D |
0245 CF0C 7D CC 24 TST >FOPADR |
0246 CF0F 27 0C BEQ ZCF1D |
0247 CF11 8D 53 BSR ZCF66 |
0248 CF13 20 08 BRA ZCF1D |
0249 CF15 BD CD 09 ZCF15 JSR >INCH |
0250 CF18 20 03 BRA ZCF1D |
0251 |
0252 CF1A BD CD 0C ZCF1A JSR >INCH2 |
0253 CF1D 7F CC 1A ZCF1D CLR >CURLIN |
0254 CF20 39 RTS |
0255 |
0256 CF21 BF CC 47 ZCF21 STX >ZCC47 |
0257 CF24 BE CC 26 LDX >FIPADR |
0258 CF27 20 06 BRA ZCF2F |
0259 |
0260 CF29 BF CC 47 ZCF29 STX >ZCC47 |
0261 CF2C BE CC 24 LDX >FOPADR |
0262 CF2F BD D4 06 ZCF2F JSR >FMS |
0263 CF32 26 04 BNE ZCF38 |
0264 CF34 BE CC 47 LDX >ZCC47 |
0265 CF37 39 RTS |
0266 |
0267 CF38 7F CC 24 ZCF38 CLR >FOPADR |
0268 CF3B BD D2 7F JSR >RPTER1 |
0269 CF3E 7E CD 03 JMP >WARMS |
0270 * |
0271 ** OUTPUT CHARACTER HONOURING TTYSET |
0272 * |
0273 CF41 7D CC 21 PUTCH1 TST >SIOFLG |
0274 CF44 26 20 BNE ZCF66 |
0275 CF46 81 1F CMPA #$1F |
0276 CF48 22 05 BHI ZCF4F |
0277 CF4A 7F CC 29 CLR >CURCOL |
0278 CF4D 20 17 BRA ZCF66 |
0279 |
0280 CF4F 7C CC 29 ZCF4F INC >CURCOL |
0281 CF52 34 02 PSHS A |
0282 CF54 B6 CC 04 LDA >WIDCNT |
0283 CF57 27 0B BEQ ZCF64 |
0284 CF59 B1 CC 29 CMPA >CURCOL |
0285 CF5C 24 06 BCC ZCF64 |
0286 CF5E BD CE B5 JSR >PCRLF1 |
0287 CF61 7C CC 29 INC >CURCOL |
0288 CF64 35 02 ZCF64 PULS A |
0289 CF66 34 02 ZCF66 PSHS A |
0290 CF68 7D CC 22 TST >OUTSWT |
0291 CF6B 26 13 BNE ZCF80 |
0292 CF6D 7D CC 24 TST >FOPADR |
0293 CF70 27 04 BEQ ZCF76 |
0294 CF72 8D B5 BSR ZCF29 |
0295 CF74 20 0D BRA ZCF83 |
0296 |
0297 CF76 7D CC 26 ZCF76 TST >FIPADR |
0298 CF79 26 08 BNE ZCF83 |
0299 CF7B BD CD 0F JSR >OUTCH |
0300 CF7E 20 03 BRA ZCF83 |
0301 CF80 BD CD 12 ZCF80 JSR >OUTCH2 |
0302 CF83 35 02 ZCF83 PULS A |
0303 CF85 39 RTS |
0304 |
0305 CF86 7F CC 4A OUTDC1 CLR >ZCC4A |
0306 CF89 F7 CC 1D STB >TRNFLG |
0307 CF8C 86 04 LDA #$04 |
0308 CF8E B7 CC 4D STA >ZCC4D |
0309 CF91 EC 84 LDD ,X |
0310 CF93 8E CC A0 LDX #DECTBL |
0311 CF96 8D 0B ZCF96 BSR ZCFA3 |
0312 CF98 30 02 LEAX $02,X |
0313 CF9A 7A CC 4D DEC >ZCC4D |
0314 CF9D 26 F7 BNE ZCF96 |
0315 CF9F 1F 98 TFR B,A |
0316 CFA1 20 3D BRA OUTHXR |
0317 |
0318 CFA3 7F CC 4B ZCFA3 CLR >ZCC4B |
0319 CFA6 10 A3 84 ZCFA6 CMPD ,X |
0320 CFA9 25 07 BCS ZCFB2 |
0321 CFAB A3 84 SUBD ,X |
0322 CFAD 7C CC 4B INC >ZCC4B |
0323 CFB0 20 F4 BRA ZCFA6 |
0324 |
0325 CFB2 34 02 ZCFB2 PSHS A |
0326 CFB4 B6 CC 4B LDA >ZCC4B |
0327 CFB7 26 10 BNE ZCFC9 |
0328 CFB9 7D CC 4A TST >ZCC4A |
0329 CFBC 26 0B BNE ZCFC9 |
0330 CFBE 7D CC 1D TST >TRNFLG |
0331 CFC1 27 0B BEQ ZCFCE |
0332 CFC3 86 20 LDA #$20 |
0333 CFC5 8D 23 BSR ZCFEA |
0334 CFC7 20 05 BRA ZCFCE |
0335 |
0336 CFC9 7C CC 4A ZCFC9 INC >ZCC4A |
0337 CFCC 8D 12 BSR OUTHXR |
0338 CFCE 35 82 ZCFCE PULS PC,A |
0339 * |
0340 ** DISPLAY HEX ADDRESS |
0341 * |
0342 CFD0 8D 02 OUTAD1 BSR OUTHX1 |
0343 CFD2 30 01 LEAX $01,X |
0344 * |
0345 ** OUPUT HEX BYTE |
0346 * |
0347 CFD4 A6 84 OUTHX1 LDA ,X |
0348 CFD6 8D 04 BSR OUTHXL |
0349 CFD8 A6 84 LDA ,X |
0350 CFDA 20 04 BRA OUTHXR |
0351 |
0352 CFDC 44 OUTHXL LSRA |
0353 CFDD 44 LSRA |
0354 CFDE 44 LSRA |
0355 CFDF 44 LSRA |
0356 CFE0 84 0F OUTHXR ANDA #$0F |
0357 CFE2 8B 30 ADDA #$30 |
0358 CFE4 81 39 CMPA #$39 |
0359 CFE6 23 02 BLS ZCFEA |
0360 CFE8 8B 07 ADDA #$07 |
0361 CFEA 7E CF 41 ZCFEA JMP >PUTCH1 |
0362 * |
0363 ** CLASSIFY CHARACTER ALHA/NUMERIC |
0364 * |
0365 CFED 81 30 CLASS1 CMPA #'0 |
0366 CFEF 25 14 BCS ZD005 |
0367 CFF1 81 39 CMPA #'9 |
0368 CFF3 23 16 BLS ZD00B |
0369 CFF5 81 41 CMPA #'A |
0370 CFF7 25 0C BCS ZD005 |
0371 CFF9 81 5A CMPA #'Z |
0372 CFFB 23 0E BLS ZD00B |
0373 CFFD 81 61 CMPA #'a $61 |
0374 CFFF 25 04 BCS ZD005 |
0375 D001 81 7A CMPA #'z $7A |
0376 D003 23 06 BLS ZD00B |
0377 D005 1A 01 ZD005 ORCC #$01 |
0378 D007 B7 CC 11 STA >LASTRM |
0379 D00A 39 RTS |
0380 D00B 1C FE ZD00B ANDCC #$FE |
0381 D00D 39 RTS |
0382 * |
0383 ** GET NEXT CHARACTER FROM FILE |
0384 * |
0385 D00E 34 10 NXTCH1 PSHS X |
0386 D010 BE CC 14 LDX >LINPTR |
0387 D013 B6 CC 18 LDA >CURCHR |
0388 D016 B7 CC 19 STA >PRVCHR |
0389 D019 A6 80 ZD019 LDA ,X+ |
0390 D01B B7 CC 18 STA >CURCHR |
0391 D01E 81 0D CMPA #$0D |
0392 D020 27 10 BEQ ZD032 |
0393 D022 B1 CC 02 CMPA >EOLCHR |
0394 D025 27 0B BEQ ZD032 |
0395 D027 BF CC 14 STX >LINPTR |
0396 D02A 81 20 CMPA #$20 |
0397 D02C 26 04 BNE ZD032 |
0398 D02E A1 84 CMPA ,X |
0399 D030 27 E7 BEQ ZD019 |
0400 D032 8D B9 ZD032 BSR CLASS1 |
0401 D034 35 90 PULS PC,X |
0402 * |
0403 ** PARSE FILE SPEC. IN LINE BUFFER |
0404 * |
0405 D036 86 15 GETFL1 LDA #$15 |
0406 D038 A7 01 STA $01,X |
0407 D03A 86 FF LDA #$FF |
0408 D03C A7 03 STA $03,X |
0409 D03E 6F 04 CLR $04,X |
0410 D040 6F 0C CLR $0C,X |
0411 D042 BD D0 D4 JSR >ZD0D4 |
0412 D045 86 08 LDA #$08 |
0413 D047 B7 CC 4B STA >ZCC4B |
0414 D04A 8D 34 BSR ZD080 |
0415 D04C 25 2E BCS ZD07C |
0416 D04E 26 0F BNE ZD05F |
0417 D050 8D 2E BSR ZD080 |
0418 D052 25 28 BCS ZD07C |
0419 D054 26 09 BNE ZD05F |
0420 D056 BC CC 3F CMPX >ZCC3F |
0421 D059 27 6C BEQ ZD0C7 |
0422 D05B 8D 23 BSR ZD080 |
0423 D05D 23 68 BLS ZD0C7 |
0424 D05F BE CC 3F ZD05F LDX >ZCC3F |
0425 D062 6D 04 TST $04,X |
0426 D064 27 61 BEQ ZD0C7 |
0427 D066 6D 03 TST $03,X |
0428 D068 2A 0F BPL ZD079 |
0429 D06A 7D CC 0D TST >ZCC0D |
0430 D06D 27 05 BEQ ZD074 |
0431 D06F B6 CC 0B LDA >SYSDRV |
0432 D072 20 03 BRA ZD077 |
0433 |
0434 D074 B6 CC 0C ZD074 LDA >WRKDRV |
0435 D077 A7 03 ZD077 STA $03,X |
0436 D079 7F CC 0D ZD079 CLR >ZCC0D |
0437 D07C BE CC 3F ZD07C LDX >ZCC3F |
0438 D07F 39 RTS |
0439 |
0440 D080 8D 8C ZD080 BSR NXTCH1 |
0441 D082 25 43 BCS ZD0C7 |
0442 D084 81 39 CMPA #$39 |
0443 D086 22 15 BHI ZD09D |
0444 D088 BE CC 3F LDX >ZCC3F |
0445 D08B 6D 03 TST $03,X |
0446 D08D 2A 38 BPL ZD0C7 |
0447 D08F 84 03 ANDA #$03 |
0448 D091 A7 03 STA $03,X |
0449 D093 BD D0 0E JSR >NXTCH1 |
0450 D096 24 2F BCC ZD0C7 |
0451 D098 81 2E ZD098 CMPA #$2E |
0452 D09A 1C FE ANDCC #$FE |
0453 D09C 39 RTS |
0454 |
0455 D09D F6 CC 4B ZD09D LDB >ZCC4B |
0456 D0A0 2B 25 BMI ZD0C7 |
0457 D0A2 34 04 PSHS B |
0458 D0A4 C0 05 SUBB #$05 |
0459 D0A6 F7 CC 4B STB >ZCC4B |
0460 D0A9 35 04 PULS B |
0461 D0AB B1 CC 49 ZD0AB CMPA >MAPUP |
0462 D0AE 25 02 BCS ZD0B2 |
0463 D0B0 80 20 SUBA #$20 |
0464 D0B2 A7 04 ZD0B2 STA $04,X |
0465 D0B4 30 01 LEAX $01,X |
0466 D0B6 5A DECB |
0467 D0B7 BD D0 0E JSR >NXTCH1 |
0468 D0BA 24 08 BCC ZD0C4 |
0469 D0BC 81 2D CMPA #$2D |
0470 D0BE 27 04 BEQ ZD0C4 |
0471 D0C0 81 5F CMPA #$5F |
0472 D0C2 26 06 BNE ZD0CA |
0473 D0C4 5D ZD0C4 TSTB |
0474 D0C5 26 E4 BNE ZD0AB |
0475 D0C7 1A 01 ZD0C7 ORCC #$01 |
0476 D0C9 39 RTS |
0477 |
0478 D0CA 5D ZD0CA TSTB |
0479 D0CB 27 CB BEQ ZD098 |
0480 D0CD 6F 04 CLR $04,X |
0481 D0CF 30 01 LEAX $01,X |
0482 D0D1 5A DECB |
0483 D0D2 20 F6 BRA ZD0CA |
0484 |
0485 D0D4 BF CC 3F ZD0D4 STX >ZCC3F |
0486 D0D7 BE CC 14 LDX >LINPTR |
0487 D0DA A6 84 ZD0DA LDA ,X |
0488 D0DC 81 20 CMPA #$20 |
0489 D0DE 26 04 BNE ZD0E4 |
0490 D0E0 30 01 LEAX $01,X |
0491 D0E2 20 F6 BRA ZD0DA |
0492 D0E4 BF CC 14 ZD0E4 STX >LINPTR |
0493 D0E7 BE CC 3F LDX >ZCC3F |
0494 D0EA 39 RTS |
0495 * |
0496 ** DEFAULT FILE EXTENSION |
0497 * |
0498 D0EB 34 30 SETEX1 PSHS Y,X |
0499 D0ED E6 0C LDB $0C,X |
0500 D0EF 26 18 BNE ZD109 |
0501 D0F1 10 8E D1 0B LDY #EXTTBL |
0502 D0F5 81 0B CMPA #$0B |
0503 D0F7 22 10 BHI ZD109 |
0504 D0F9 C6 03 LDB #$03 |
0505 D0FB 3D MUL |
0506 D0FC 31 A5 LEAY B,Y |
0507 D0FE C6 03 LDB #$03 |
0508 D100 A6 A0 ZD100 LDA ,Y+ |
0509 D102 A7 0C STA $0C,X |
0510 D104 30 01 LEAX $01,X |
0511 D106 5A DECB |
0512 D107 26 F7 BNE ZD100 |
0513 D109 35 B0 ZD109 PULS PC,Y,X |
0514 * |
0515 ** STANDARD FILE NAME EXTTENSIONS |
0516 * |
0517 D10B 42 49 4E EXTTBL FCC "BIN" |
0518 D10E 54 58 54 FCC "TXT" |
0519 D111 43 4D 44 FCC "CMD" |
0520 D114 42 41 53 FCC "BAS" |
0521 D117 53 59 53 FCC "SYS" |
0522 D11A 42 41 4B FCC "BAK" |
0523 D11D 53 43 52 FCC "SCR" |
0524 D120 44 41 54 FCC "DAT" |
0525 D123 42 41 43 FCC "BAC" |
0526 D126 44 49 52 FCC "DIR" |
0527 D129 50 52 54 FCC "PRT" |
0528 D12C 4F 55 54 FCC "OUT" |
0529 * |
0530 ** READ A HEX ADDRESS FROM THE LINE BUFFER |
0531 * |
0532 D12F BD D2 1E GETHX1 JSR >ZD21E |
0533 D132 BD D0 0E ZD132 JSR >NXTCH1 |
0534 D135 25 22 BCS ZD159 |
0535 D137 8D 26 BSR ZD15F |
0536 D139 25 18 BCS ZD153 |
0537 D13B 34 04 PSHS B |
0538 D13D C6 04 LDB #$04 |
0539 D13F 78 CC 1C ZD13F ASL >LODOFF+1 |
0540 D142 79 CC 1B ROL >LODOFF |
0541 D145 5A DECB |
0542 D146 26 F7 BNE ZD13F |
0543 D148 35 04 PULS B |
0544 D14A BB CC 1C ADDA >LODOFF+1 |
0545 D14D B7 CC 1C STA >LODOFF+1 |
0546 D150 5C INCB |
0547 D151 20 DF BRA ZD132 |
0548 |
0549 D153 BD D0 0E ZD153 JSR >NXTCH1 |
0550 D156 24 FB BCC ZD153 |
0551 D158 39 RTS |
0552 |
0553 D159 BE CC 1B ZD159 LDX >LODOFF |
0554 D15C 1C FE ANDCC #$FE |
0555 D15E 39 RTS |
0556 |
0557 D15F 80 47 ZD15F SUBA #$47 |
0558 D161 2A 0F BPL ZD172 |
0559 D163 8B 06 ADDA #$06 |
0560 D165 2A 04 BPL ZD16B |
0561 D167 8B 07 ADDA #$07 |
0562 D169 2A 07 BPL ZD172 |
0563 D16B 8B 0A ZD16B ADDA #$0A |
0564 D16D 2B 03 BMI ZD172 |
0565 D16F 1C FE ANDCC #$FE |
0566 D171 39 RTS |
0567 |
0568 D172 1A 01 ZD172 ORCC #$01 |
0569 D174 39 RTS |
0570 |
0571 D175 BD D2 1E INDEC1 JSR >ZD21E |
0572 D178 BD D0 0E ZD178 JSR >NXTCH1 |
0573 D17B 25 DC BCS ZD159 |
0574 D17D 81 39 CMPA #$39 |
0575 D17F 22 D2 BHI ZD153 |
0576 D181 84 0F ANDA #$0F |
0577 D183 34 04 PSHS B |
0578 D185 34 02 PSHS A |
0579 D187 FC CC 1B LDD >LODOFF |
0580 D18A 58 ASLB |
0581 D18B 49 ROLA |
0582 D18C 58 ASLB |
0583 D18D 49 ROLA |
0584 D18E 58 ASLB |
0585 D18F 49 ROLA |
0586 D190 F3 CC 1B ADDD >LODOFF |
0587 D193 F3 CC 1B ADDD >LODOFF |
0588 D196 EB E0 ADDB ,S+ |
0589 D198 89 00 ADCA #$00 |
0590 D19A FD CC 1B STD >LODOFF |
0591 D19D 35 04 PULS B |
0592 D19F 5C INCB |
0593 D1A0 20 D6 BRA ZD178 |
0594 * |
0595 ** LOAD BINARY FILE |
0596 * |
0597 D1A2 7F CC 1D LOAD1 CLR >TRNFLG |
0598 D1A5 8D 3D ZD1A5 BSR ZD1E4 |
0599 D1A7 81 02 CMPA #$02 |
0600 D1A9 27 15 BEQ ZD1C0 |
0601 D1AB 81 16 CMPA #$16 |
0602 D1AD 26 F6 BNE ZD1A5 |
0603 D1AF 8D 33 BSR ZD1E4 |
0604 D1B1 B7 CC 1E STA >TRNVEC |
0605 D1B4 8D 2E BSR ZD1E4 |
0606 D1B6 B7 CC 1F STA >TRNVEC+1 |
0607 D1B9 86 01 LDA #$01 |
0608 D1BB B7 CC 1D STA >TRNFLG |
0609 D1BE 20 E5 BRA ZD1A5 |
0610 |
0611 D1C0 8D 22 ZD1C0 BSR ZD1E4 |
0612 D1C2 1F 89 TFR A,B |
0613 D1C4 8D 1E BSR ZD1E4 |
0614 D1C6 1E 89 EXG A,B |
0615 D1C8 F3 CC 1B ADDD >LODOFF |
0616 D1CB FD CC 3D STD >ZCC3D |
0617 D1CE 8D 14 BSR ZD1E4 |
0618 D1D0 1F 89 TFR A,B |
0619 D1D2 4D TSTA |
0620 D1D3 27 D0 BEQ ZD1A5 |
0621 D1D5 8D 0D ZD1D5 BSR ZD1E4 |
0622 D1D7 BE CC 3D LDX >ZCC3D |
0623 D1DA A7 80 STA ,X+ |
0624 D1DC BF CC 3D STX >ZCC3D |
0625 D1DF 5A DECB |
0626 D1E0 26 F3 BNE ZD1D5 |
0627 D1E2 20 C1 BRA ZD1A5 |
0628 |
0629 D1E4 8E C8 40 ZD1E4 LDX #FCB |
0630 D1E7 BD D4 06 JSR >FMS |
0631 D1EA 27 11 BEQ ZD1FD |
0632 D1EC A6 01 LDA $01,X |
0633 D1EE 81 08 CMPA #$08 |
0634 D1F0 26 0E BNE ZD200 |
0635 D1F2 32 62 LEAS $02,S |
0636 D1F4 86 04 ZD1F4 LDA #$04 |
0637 D1F6 A7 84 STA ,X |
0638 D1F8 BD D4 06 JSR >FMS |
0639 D1FB 26 0D BNE ZD20A |
0640 D1FD 1C FE ZD1FD ANDCC #$FE |
0641 D1FF 39 RTS |
0642 |
0643 D200 B7 CC 20 ZD200 STA >ERRTYP |
0644 D203 81 04 CMPA #$04 |
0645 D205 26 03 BNE ZD20A |
0646 D207 1A 01 ORCC #$01 |
0647 D209 39 RTS |
0648 |
0649 D20A 8D 73 ZD20A BSR RPTER1 |
0650 D20C 7E CD E4 JMP >ZCDE4 |
0651 * |
0652 ** 'GET' - LOAD BINARY FILE |
0653 * |
0654 D20F 86 00 GETCMD LDA #$00 |
0655 D211 8D 35 BSR ZD248 |
0656 D213 25 0F BCS ZD224 |
0657 D215 8D 07 BSR ZD21E |
0658 D217 7C CC 4C INC >ZCC4C |
0659 D21A 8D 86 BSR LOAD1 |
0660 D21C 20 F1 BRA GETCMD |
0661 |
0662 D21E 4F ZD21E CLRA |
0663 D21F 5F CLRB |
0664 D220 FD CC 1B STD >LODOFF |
0665 D223 39 RTS |
0666 |
0667 D224 F6 CC 4C ZD224 LDB >ZCC4C |
0668 D227 10 27 FB AE LBEQ ZCDD9 |
0669 D22B 7E CD 03 JMP >WARMS |
0670 |
0671 D22E 86 02 ZD22E LDA #$02 |
0672 D230 8D 22 BSR ZD254 |
0673 D232 8D EA BSR ZD21E |
0674 D234 BD D1 A2 JSR >LOAD1 |
0675 D237 F6 CC 1D LDB >TRNFLG |
0676 D23A 27 04 BEQ ZD240 |
0677 D23C 6E 9F CC 1E JMP [TRNVEC] |
0678 |
0679 D240 8E CC 5C ZD240 LDX #NTRMSG |
0680 D243 86 81 LDA #$81 |
0681 D245 7E CD DE JMP >ZCDDE |
0682 |
0683 D248 34 02 ZD248 PSHS A |
0684 D24A 8E C8 40 LDX #FCB |
0685 D24D BD D0 36 JSR >GETFL1 |
0686 D250 35 02 PULS A |
0687 D252 25 1A BCS ZD26E |
0688 D254 8E C8 40 ZD254 LDX #FCB |
0689 D257 BD D0 EB JSR >SETEX1 |
0690 D25A 8E C8 40 LDX #FCB |
0691 D25D 86 01 LDA #$01 |
0692 D25F A7 84 STA ,X |
0693 D261 BD D1 E4 JSR >ZD1E4 |
0694 D264 10 25 00 BB LBCS ZD323 |
0695 D268 86 FF LDA #$FF |
0696 D26A A7 88 3B STA $3B,X |
0697 D26D 39 RTS |
0698 |
0699 D26E B6 CC 11 ZD26E LDA >LASTRM |
0700 D271 81 0D CMPA #$0D |
0701 D273 27 07 BEQ ZD27C |
0702 D275 B1 CC 02 CMPA >EOLCHR |
0703 D278 10 26 FB 5D LBNE ZCDD9 |
0704 D27C 1A 01 ZD27C ORCC #$01 |
0705 D27E 39 RTS |
0706 |
0707 D27F 34 30 RPTER1 PSHS Y,X |
0708 D281 A6 01 LDA $01,X |
0709 D283 B7 CC 20 STA >ERRTYP |
0710 D286 27 63 BEQ ZD2EB |
0711 D288 BD CD EA JSR >RSTIO1 |
0712 D28B 10 BE CC 2D LDY >ERRVEC |
0713 D28F 26 08 BNE ZD299 |
0714 D291 81 10 CMPA #$10 |
0715 D293 27 58 BEQ ZD2ED |
0716 D295 10 8E D3 61 LDY #ZD361 |
0717 D299 8E C8 40 ZD299 LDX #FCB |
0718 D29C 6D 02 TST $02,X |
0719 D29E 27 09 BEQ ZD2A9 |
0720 D2A0 86 04 LDA #$04 |
0721 D2A2 A7 84 STA ,X |
0722 D2A4 BD D4 06 JSR >FMS |
0723 D2A7 26 2E BNE ZD2D7 |
0724 D2A9 8E C8 38 ZD2A9 LDX #ZC838 |
0725 D2AC C6 0B LDB #$0B |
0726 D2AE 8D 6E BSR ZD31E |
0727 D2B0 8E C8 40 LDX #FCB |
0728 D2B3 B6 CC 0B LDA >SYSDRV |
0729 D2B6 A7 03 STA $03,X |
0730 D2B8 86 01 LDA #$01 |
0731 D2BA A7 84 STA ,X |
0732 D2BC BD D4 06 JSR >FMS |
0733 D2BF 26 16 BNE ZD2D7 |
0734 D2C1 B6 CC 20 LDA >ERRTYP |
0735 D2C4 4A DECA |
0736 D2C5 47 ASRA |
0737 D2C6 47 ASRA |
0738 D2C7 4C INCA |
0739 D2C8 6F 88 20 CLR $20,X |
0740 D2CB A7 88 21 STA $21,X |
0741 D2CE 86 15 LDA #$15 |
0742 D2D0 A7 84 STA ,X |
0743 D2D2 BD D4 06 JSR >FMS |
0744 D2D5 27 1E BEQ ZD2F5 |
0745 D2D7 8E CC 75 ZD2D7 LDX #DERMSG |
0746 D2DA BD CE 81 JSR >PSTRG1 |
0747 D2DD BE CC 3F LDX >ZCC3F |
0748 D2E0 B6 CC 20 LDA >ERRTYP |
0749 D2E3 A7 01 STA $01,X |
0750 D2E5 6F 84 CLR ,X |
0751 D2E7 5F CLRB |
0752 D2E8 BD CF 86 JSR >OUTDC1 |
0753 D2EB 35 B0 ZD2EB PULS PC,Y,X |
0754 |
0755 D2ED 8E CC 82 ZD2ED LDX #DNRMSG |
0756 D2F0 BD CE 81 JSR >PSTRG1 |
0757 D2F3 20 F6 BRA ZD2EB |
0758 |
0759 D2F5 BD CE B5 ZD2F5 JSR >PCRLF1 |
0760 D2F8 8E C8 40 LDX #FCB |
0761 D2FB B6 CC 20 LDA >ERRTYP |
0762 D2FE 4A DECA |
0763 D2FF 84 03 ANDA #$03 |
0764 D301 C6 3F LDB #$3F |
0765 D303 3D MUL |
0766 D304 CB 04 ADDB #$04 |
0767 D306 E7 88 22 STB $22,X |
0768 D309 BD D4 06 ZD309 JSR >FMS |
0769 D30C 26 C9 BNE ZD2D7 |
0770 D30E BD CF 41 JSR >PUTCH1 |
0771 D311 81 0D CMPA #$0D |
0772 D313 26 F4 BNE ZD309 |
0773 D315 86 04 LDA #$04 |
0774 D317 A7 84 STA ,X |
0775 D319 BD D4 06 JSR >FMS |
0776 D31C 20 CD BRA ZD2EB |
0777 D31E 34 30 ZD31E PSHS Y,X |
0778 D320 7E D1 00 JMP >ZD100 |
0779 |
0780 D323 8E CC 6B ZD323 LDX #NFDMSG NOT FOUND |
0781 D326 7E CD E1 JMP >ZCDE1 |
0782 * |
0783 ** CALL FLEX AS A SUBROUTINE |
0784 * |
0785 D329 35 06 DOCMD1 PULS B,A |
0786 D32B FD CC 43 STD >ZCC43 |
0787 D32E 10 FF CC 45 ZD32E STS >ZCC45 |
0788 D332 7F CC 20 CLR >ERRTYP |
0789 D335 7C CC 28 INC >CMDFLG |
0790 D338 7E CD B8 JMP >ZCDB8 |
0791 D33B 7F CC 28 ZD33B CLR >CMDFLG |
0792 D33E 10 FE CC 45 LDS >ZCC45 |
0793 D342 F6 CC 20 LDB >ERRTYP |
0794 D345 6E 9F CC 43 JMP [ZCC43] |
0795 * |
0796 ** ADD ACCB TO IX |
0797 * |
0798 D349 3A ADDBX1 ABX |
0799 D34A 39 RTS |
0800 |
0801 D34B 7D CC FC ZD34B TST >ZCCFC |
0802 D34E 26 04 BNE ZD354 |
0803 D350 6E 9F D3 F3 JMP [MONVEC] |
0804 |
0805 D354 8E C8 40 ZD354 LDX #FCB |
0806 D357 86 1B LDA #$1B |
0807 D359 A7 01 STA $01,X |
0808 D35B BD D2 7F JSR >RPTER1 |
0809 D35E 7E CD 67 JMP >WARM1 |
0810 |
0811 D361 45 52 52 4F 52 53 ZD361 FCC /ERRORS/ |
0812 D367 00 00 FCB $00,$00 |
0813 D369 53 59 53 FCC /SYS/ |
0009 END |
0000 INCLUDE "f9-monio.txt" |
0001 * |
0002 ** TERMINAL AND PRINTER DRIVERS |
0003 ** SYS09BUG - Spartan 3 Starter Board |
0004 * |
0005 ** FLEX DRIVER MEMORY MAP: |
0006 ** C700 - C83F PRINTER SPOOLER |
0007 ** CCC0 - CCF7 PRINTER DRIVERS |
0008 ** D370 - D3FF CONSOLE DRIVERS |
0009 ** DE00 - DFAF DISK DRIVERS |
0010 * |
0011 * |
0012 ** INTERRUPT VECTORS |
0013 * |
0014 DFC8 IRQVEC EQU MONRAM+$08 |
0015 DFC2 SWIVEC EQU MONRAM+$02 SWI3 VECTOR |
0016 * |
0017 ** PRINTER DRIVERS |
0018 * |
0019 CCC0 ORG $CCC0 |
0020 CCC0 7E D3 70 PINIT JMP DUMRTS INITIATE PRINTER |
0021 CCD8 ORG $CCD8 |
0022 CCD8 7E D3 70 PCHK JMP DUMRTS CHECK IF PRINTER READY |
0023 CCE4 ORG $CCE4 |
0024 CCE4 7E D3 70 POUT JMP DUMRTS OUTPUT CHR. TO PRINTER |
0025 CCF8 ORG $CCF8 |
0026 CCF8 01 00 00 00 ZCCF8 FCB $01,$00,$00,$00 |
0027 CCFC 00 00 00 00 ZCCFC FCB $00,$00,$00,$00 |
0028 * |
0029 ** CONSOLE DRIVER PATCHES: |
0030 * |
0031 D370 ORG $D370 |
0032 D370 IHND EQU * INTERRUPT HANDLER |
0033 D370 TMON EQU * TIMER ON |
0034 D370 TMOFF EQU * TIMER OFF |
0035 D370 TMINT EQU * TIMER INITIALIZATION |
0036 D370 DUMRTS EQU * |
0037 D370 39 RTS |
0038 * |
0039 ** SBUG MONITOR I/O CALLS |
0040 * |
0041 D371 7E D3 70 TERINZ JMP DUMRTS INITIATE ACIA |
0042 D374 6E 9F F8 04 INCHNE JMP [MONROM+$04] INPUT WITHOUT ECHO |
0043 D378 6E 9F F8 00 MONITR JMP [MONROM+$00] |
0044 D37C 6E 9F F8 08 INCHEK JMP [MONROM+$08] CHECK FOR TERMINAL ENTRY |
0045 D380 6E 9F F8 0A OUTEEE JMP [MONROM+$0A] OUPUT CHARACTER |
0046 D384 6E 9F F8 06 INEEE JMP [MONROM+$06] INPUT WITH ECHO |
0047 |
0048 * |
0049 ** AUTO BLOCK FDBS |
0050 * |
0051 D3E5 ORG $D3E5 |
0052 D3E5 D3 74 ZD3E5 FDB INCHNE INPUT - NO ECHO |
0053 D3E7 D3 70 IHNDVC FDB IHND IRQ INTERRUPT HANDLER |
0054 D3E9 DF C2 SWIVVC FDB SWIVEC SWI3 VECTOR LOCATION |
0055 D3EB DF C8 IRQVVC FDB IRQVEC IRQ VECTOR LOCATION |
0056 D3ED D3 70 TOFVEC FDB TMOFF TIMER OFF ROUTINE |
0057 D3EF D3 70 TONVEC FDB TMON TIMER ON ROUTINE |
0058 D3F1 D3 70 TINVEC FDB TMINT TIMER INITIALIZE ROUTINE |
0059 D3F3 D3 78 MONVEC FDB MONITR MONITOR RETURN ADDRESS |
0060 D3F5 D3 71 TERVEC FDB TERINZ TERMINAL INITIATION |
0061 D3F7 D3 7C STAVEC FDB INCHEK CHECK TERMINAL STATUS |
0062 D3F9 D3 80 OUTVEC FDB OUTEEE TERMINAL CHAR OUTPUT |
0063 D3FB D3 84 INVEC FDB INEEE TERMINAL INPUT CHARACTER |
0064 D3FD 7E CA 00 ZD3FD JMP ZCA00 |
0010 END |
0000 INCLUDE "f9-fms.txt" |
0001 * |
0002 ** FILE MANAGEMENT SYSTEM |
0003 * |
0004 D400 7E D4 36 ZD400 JMP >ZD436 |
0005 D403 7E D4 59 FMSCLS JMP >ZD459 |
0006 D406 7E D4 7B FMS JMP >FMS1 |
0007 D409 20 44 49 53 4B 20 CPYMSG FCC / DISK OPERATING SYSTEM/ |
4F 50 45 52 41 54 |
49 4E 47 20 53 59 |
53 54 45 4D |
0008 D41F 20 43 4F 50 59 52 FCC / COPYRIGHT (C) 1980 BY/ |
49 47 48 54 20 28 |
43 29 20 31 39 38 |
30 20 42 59 |
0009 D435 20 54 45 43 48 4E FCC / TECHNICAL SYSTEMS CONSULTANTS/ |
49 43 41 4C 20 53 |
59 53 54 45 4D 53 |
20 43 4F 4E 53 55 |
4C 54 41 4E 54 53 |
0010 D409 ORG CPYMSG |
0011 D409 FCBPTR RMB 2 |
0012 D40B CURFCB RMB 4 |
0013 D40F ZD40F RMB 2 |
0014 D411 ZD411 RMB 1 |
0015 D412 ZD412 RMB 1 |
0016 D413 ZD413 RMB 1 |
0017 D414 ZD414 RMB 1 |
0018 D415 ZD415 RMB 2 |
0019 D417 ZD417 RMB 1 |
0020 D418 ZD418 RMB 2 |
0021 D41A ZD41A RMB 1 |
0022 D41B ZD41B RMB 2 |
0023 D41D ZD41D RMB 24 |
0024 D435 FF VERFLG FCB $FF |
0025 * |
0026 ** |
0027 * |
0028 D436 BD DE 15 ZD436 JSR >COLDDR |
0029 D439 8E D4 09 LDX #FCBPTR |
0030 D43C C6 0A LDB #$0A |
0031 D43E 8D 11 BSR ZD451 |
0032 D440 8E 00 05 LDX #Z0005 |
0033 D443 BF D4 13 STX >ZD413 |
0034 D446 BF D4 15 STX >ZD415 |
0035 D449 7F D4 1A CLR >ZD41A |
0036 D44C 8E D4 1B ZD44C LDX #ZD41B |
0037 D44F C6 1A LDB #$1A |
0038 D451 6F 80 ZD451 CLR ,X+ |
0039 D453 5A DECB |
0040 D454 26 FB BNE ZD451 |
0041 D456 7E C7 0C JMP >PRSPL5 |
0042 |
0043 D459 BD C7 09 ZD459 JSR >PRSPL4 |
0044 D45C BE D4 09 ZD45C LDX >FCBPTR |
0045 D45F 27 EB BEQ ZD44C |
0046 D461 30 88 E4 LEAX -$1C,X |
0047 D464 BF D4 0B STX >CURFCB |
0048 D467 34 20 PSHS Y |
0049 D469 BD DA C3 JSR >CLOSE |
0050 D46C 35 20 PULS Y |
0051 D46E 24 EC BCC ZD45C |
0052 D470 BE D4 0B LDX >CURFCB |
0053 D473 6F 02 CLR $02,X |
0054 D475 BD C7 0C JSR >PRSPL5 |
0055 D478 C6 FF LDB #$FF |
0056 D47A 39 RTS |
0057 |
0058 * |
0059 ** FMS CALL, PROCESSING |
0060 * |
0061 D47B 7D CC FC FMS1 TST >ZCCFC |
0062 D47E 27 03 BEQ ZD483 |
0063 D480 BD C7 09 JSR >PRSPL4 |
0064 D483 34 24 ZD483 PSHS Y,B |
0065 D485 BF D4 0B STX >CURFCB |
0066 D488 6F 01 CLR $01,X |
0067 D48A E6 84 LDB ,X |
0068 D48C 26 22 BNE DOFUNC |
0069 * |
0070 ** READ/WRITE CHAR/BYTE |
0071 * |
0072 D48E E6 02 LDB $02,X |
0073 D490 27 1A BEQ ZD4AC |
0074 D492 C1 02 CMPB #$02 |
0075 D494 27 11 BEQ ZD4A7 |
0076 D496 BD D5 B4 JSR >ZD5B4 |
0077 D499 BE D4 0B ZD499 LDX >CURFCB |
0078 D49C 25 26 BCS ZD4C4 |
0079 D49E 7D CC FC TST >ZCCFC |
0080 D4A1 26 23 BNE ZD4C6 |
0081 D4A3 5F CLRB |
0082 D4A4 35 24 PULS Y,B |
0083 D4A6 39 RTS |
0084 |
0085 D4A7 BD D6 CF ZD4A7 JSR >ZD6CF |
0086 D4AA 20 ED BRA ZD499 |
0087 D4AC C6 12 ZD4AC LDB #$12 |
0088 D4AE 20 14 BRA ZD4C4 |
0089 |
0090 D4B0 C1 16 DOFUNC CMPB #$16 |
0091 D4B2 23 04 BLS DOFUN1 |
0092 D4B4 C6 01 LDB #$01 |
0093 D4B6 20 0C BRA ZD4C4 |
0094 D4B8 5A DOFUN1 DECB |
0095 D4B9 58 ASLB |
0096 D4BA 8E D4 CE LDX #FMSTBL |
0097 D4BD AD 95 JSR [B,X] |
0098 D4BF BE D4 0B LDX >CURFCB |
0099 D4C2 24 02 BCC ZD4C6 |
0100 D4C4 E7 01 ZD4C4 STB $01,X |
0101 D4C6 BD C7 0C ZD4C6 JSR >PRSPL5 |
0102 D4C9 6D 01 TST $01,X |
0103 D4CB 35 24 PULS Y,B |
0104 D4CD 39 RTS |
0105 * |
0106 ** FMS COMMAND VECTOR TABLE |
0107 * |
0108 D4CE D9 86 FMSTBL FDB OPENRD FC 1 |
0109 D4D0 D9 D9 FDB OPENWR FC 2 |
0110 D4D2 DA F9 FDB OPENUD FC 3 |
0111 D4D4 DA C3 FDB CLOSE FC 4 |
0112 D4D6 D5 E2 FDB REWIND FC 5 |
0113 D4D8 D8 1D FDB OPNDIR FC 6 |
0114 D4DA D8 38 FDB GETREC FC 7 |
0115 D4DC D8 76 FDB PUTREC FC 8 |
0116 D4DE D6 41 FDB RDSECT FC 9 |
0117 D4E0 D6 9F FDB WRSECT FC 10 |
0118 D4E2 D9 69 FDB RESV1 FC 11 |
0119 D4E4 DB D6 FDB DELETE FC 12 |
0120 D4E6 DB 2C FDB RENAME FC 13 |
0121 D4E8 D6 99 FDB RESV2 FC 14 |
0122 D4EA DA 87 FDB NXTSEC FC 15 |
0123 D4EC D8 10 FDB OPNREC FC 16 |
0124 D4EE D5 6F FDB GETBYT FC 17 |
0125 D4F0 D5 90 FDB PUTBYT FC 18 |
0126 D4F2 DB 07 FDB RESV3 FC 19 |
0127 D4F4 DD BD FDB NXTDRV FC 20 |
0128 D4F6 DC FB FDB POSREC FC 21 |
0129 D4F8 DC E5 FDB BAKREC FC 22 |
0130 * |
0131 ** |
0132 * |
0133 D4FA 8D 20 ZD4FA BSR ZD51C |
0134 D4FC 26 05 BNE ZD503 |
0135 D4FE C6 02 LDB #$02 |
0136 D500 1A 01 ORCC #$01 |
0137 D502 39 RTS |
0138 |
0139 D503 ED 84 ZD503 STD ,X |
0140 D505 AE 84 LDX ,X |
0141 D507 6F 84 CLR ,X |
0142 D509 6F 01 CLR $01,X |
0143 D50B 39 RTS |
0144 |
0145 D50C 8D 0E ZD50C BSR ZD51C |
0146 D50E 27 05 BEQ ZD515 |
0147 D510 C6 0D LDB #$0D |
0148 D512 1A 01 ORCC #$01 |
0149 D514 39 RTS |
0150 |
0151 D515 EC 94 ZD515 LDD [,X] |
0152 D517 ED 84 STD ,X |
0153 D519 1C FE ANDCC #$FE |
0154 D51B 39 RTS |
0155 |
0156 D51C FC D4 0B ZD51C LDD >CURFCB |
0157 D51F C3 00 1C ADDD #$001C |
0158 D522 8E D4 09 LDX #FCBPTR |
0159 D525 10 AE 84 ZD525 LDY ,X |
0160 D528 26 03 BNE ZD52D |
0161 D52A 1C FB ANDCC #$FB |
0162 D52C 39 RTS |
0163 |
0164 D52D 10 A3 84 ZD52D CMPD ,X |
0165 D530 26 01 BNE ZD533 |
0166 D532 39 RTS |
0167 D533 AE 84 ZD533 LDX ,X |
0168 D535 20 EE BRA ZD525 |
0169 |
0170 D537 BE D4 0B ZD537 LDX >CURFCB |
0171 D53A 4F CLRA |
0172 D53B 5F CLRB |
0173 D53C 8D 02 BSR ZD540 |
0174 D53E C6 2F LDB #$2F |
0175 D540 A7 88 11 ZD540 STA $11,X |
0176 D543 30 01 LEAX $01,X |
0177 D545 5A DECB |
0178 D546 26 F8 BNE ZD540 |
0179 D548 39 RTS |
0180 |
0181 D549 BE D4 0B ZD549 LDX >CURFCB |
0182 D54C C6 0B LDB #$0B |
0183 D54E A6 04 ZD54E LDA $04,X |
0184 D550 A7 88 24 STA $24,X |
0185 D553 30 01 LEAX $01,X |
0186 D555 5A DECB |
0187 D556 26 F6 BNE ZD54E |
0188 D558 39 RTS |
0189 |
0190 D559 BE D4 0B ZD559 LDX >CURFCB |
0191 D55C C6 0B LDB #$0B |
0192 D55E A6 04 ZD55E LDA $04,X |
0193 D560 34 02 PSHS A |
0194 D562 A6 88 24 LDA $24,X |
0195 D565 A1 E0 CMPA ,S+ |
0196 D567 26 05 BNE ZD56E |
0197 D569 30 01 LEAX $01,X |
0198 D56B 5A DECB |
0199 D56C 26 F0 BNE ZD55E |
0200 D56E 39 ZD56E RTS |
0201 * |
0202 ** GET RANDOM BYTE FROM SECTOR |
0203 * |
0204 D56F BE D4 0B GETBYT LDX >CURFCB |
0205 D572 E6 02 LDB $02,X |
0206 D574 54 LSRB |
0207 D575 24 79 BCC ZD5F0 |
0208 D577 E6 88 23 LDB $23,X |
0209 D57A 7E D6 00 JMP >ZD600 |
0210 |
0211 D57D BE D4 0B ZD57D LDX >CURFCB |
0212 D580 E6 88 22 LDB $22,X |
0213 D583 6C 88 22 INC $22,X |
0214 D586 3A ABX |
0215 D587 A7 88 40 STA $40,X |
0216 D58A 5C INCB |
0217 D58B 26 1F BNE ZD5AC |
0218 D58D 1A 01 ORCC #$01 |
0219 D58F 39 RTS |
0220 * |
0221 ** PUT RANDOM BYTE IN SECTOR |
0222 * |
0223 D590 BE D4 0B PUTBYT LDX >CURFCB |
0224 D593 E6 02 LDB $02,X |
0225 D595 C4 03 ANDB #$03 |
0226 D597 C1 03 CMPB #$03 |
0227 D599 26 55 BNE ZD5F0 |
0228 D59B CA 80 ORB #$80 |
0229 D59D E7 02 STB $02,X |
0230 D59F E6 0F LDB $0F,X |
0231 D5A1 C5 80 BITB #$80 |
0232 D5A3 26 0A BNE ZD5AF |
0233 D5A5 E6 88 23 LDB $23,X |
0234 D5A8 3A ABX |
0235 D5A9 A7 88 40 STA $40,X |
0236 D5AC 1C FE ZD5AC ANDCC #$FE |
0237 D5AE 39 RTS |
0238 |
0239 D5AF C6 0B ZD5AF LDB #$0B |
0240 D5B1 1A 01 ORCC #$01 |
0241 D5B3 39 RTS |
0242 |
0243 D5B4 A6 88 3B ZD5B4 LDA $3B,X |
0244 D5B7 2B 3C BMI ZD5F5 |
0245 D5B9 27 07 BEQ ZD5C2 |
0246 D5BB 6A 88 3B DEC $3B,X |
0247 D5BE 86 20 LDA #$20 |
0248 D5C0 20 1D BRA ZD5DF |
0249 |
0250 D5C2 8D 31 ZD5C2 BSR ZD5F5 |
0251 D5C4 25 1B BCS ZD5E1 |
0252 D5C6 81 18 CMPA #$18 |
0253 D5C8 22 15 BHI ZD5DF |
0254 D5CA 27 F6 BEQ ZD5C2 |
0255 D5CC 81 09 CMPA #$09 |
0256 D5CE 26 0C BNE ZD5DC |
0257 D5D0 8D 23 BSR ZD5F5 |
0258 D5D2 25 0D BCS ZD5E1 |
0259 D5D4 BE D4 0B LDX >CURFCB |
0260 D5D7 A7 88 3B STA $3B,X |
0261 D5DA 20 D8 BRA ZD5B4 |
0262 |
0263 D5DC 4D ZD5DC TSTA |
0264 D5DD 27 E3 BEQ ZD5C2 |
0265 D5DF 1C FE ZD5DF ANDCC #$FE |
0266 D5E1 39 ZD5E1 RTS |
0267 * |
0268 ** REWIND FILE |
0269 * |
0270 D5E2 BD DA B1 REWIND JSR >ZDAB1 |
0271 D5E5 25 09 BCS ZD5F0 |
0272 D5E7 85 01 BITA #$01 |
0273 D5E9 27 05 BEQ ZD5F0 |
0274 D5EB A7 84 STA ,X |
0275 D5ED 7E D9 A0 JMP >ZD9A0 |
0276 |
0277 D5F0 C6 12 ZD5F0 LDB #$12 |
0278 D5F2 1A 01 ORCC #$01 |
0279 D5F4 39 RTS |
0280 |
0281 D5F5 BE D4 0B ZD5F5 LDX >CURFCB |
0282 D5F8 E6 88 22 LDB $22,X |
0283 D5FB 27 0A BEQ ZD607 |
0284 D5FD 6C 88 22 INC $22,X |
0285 D600 3A ZD600 ABX |
0286 D601 A6 88 40 LDA $40,X |
0287 D604 1C FE ANDCC #$FE |
0288 D606 39 RTS |
0289 |
0290 D607 8D 03 ZD607 BSR ZD60C |
0291 D609 24 EA BCC ZD5F5 |
0292 D60B 39 RTS |
0293 |
0294 D60C BE D4 0B ZD60C LDX >CURFCB |
0295 D60F EC 88 40 LDD $40,X |
0296 D612 6C 88 21 INC $21,X |
0297 D615 26 03 BNE ZD61A |
0298 D617 6C 88 20 INC $20,X |
0299 D61A 10 83 00 00 ZD61A CMPD #$0000 |
0300 D61E 27 1C BEQ ZD63C |
0301 D620 ED 88 1E ZD620 STD $1E,X |
0302 D623 34 02 PSHS A |
0303 D625 86 04 LDA #$04 |
0304 D627 A7 88 22 STA $22,X |
0305 D62A 35 02 PULS A |
0306 D62C 8D 13 BSR RDSECT |
0307 D62E 24 10 BCC ZD640 |
0308 D630 C5 80 BITB #$80 |
0309 D632 27 04 BEQ ZD638 |
0310 D634 C6 10 LDB #$10 |
0311 D636 20 06 BRA ZD63E |
0312 |
0313 D638 C6 09 ZD638 LDB #$09 |
0314 D63A 20 02 BRA ZD63E |
0315 |
0316 D63C C6 08 ZD63C LDB #$08 |
0317 D63E 1A 01 ZD63E ORCC #$01 |
0318 D640 39 ZD640 RTS |
0319 * |
0320 ** READ SINGLE SECTOR |
0321 * |
0322 D641 8D 25 RDSECT BSR ZD668 |
0323 D643 BE D4 0B LDX >CURFCB |
0324 D646 BD DE 0C JSR >DRIVE |
0325 D649 25 12 BCS ZD65D |
0326 D64B 8D 11 ZD64B BSR ZD65E |
0327 D64D BD DE 00 JSR >READ |
0328 D650 26 03 BNE ZD655 |
0329 D652 1C FE ANDCC #$FE |
0330 D654 39 RTS |
0331 |
0332 D655 34 04 ZD655 PSHS B |
0333 D657 8D 17 BSR ZD670 |
0334 D659 35 04 PULS B |
0335 D65B 24 EE BCC ZD64B |
0336 D65D 39 ZD65D RTS |
0337 |
0338 D65E BE D4 0B ZD65E LDX >CURFCB |
0339 D661 EC 88 1E LDD $1E,X |
0340 D664 30 88 40 LEAX $40,X |
0341 D667 39 RTS |
0342 |
0343 D668 4F ZD668 CLRA |
0344 D669 B7 D4 11 STA >ZD411 |
0345 D66C B7 D4 12 STA >ZD412 |
0346 D66F 39 RTS |
0347 |
0348 D670 C5 10 ZD670 BITB #$10 |
0349 D672 26 11 BNE ZD685 |
0350 D674 C5 80 BITB #$80 |
0351 D676 26 24 BNE ZD69C |
0352 D678 F6 D4 11 LDB >ZD411 |
0353 D67B 5C INCB |
0354 D67C C1 07 CMPB #$07 |
0355 D67E 27 05 BEQ ZD685 |
0356 D680 F7 D4 11 STB >ZD411 |
0357 D683 20 14 BRA RESV2 |
0358 |
0359 D685 7F D4 11 ZD685 CLR >ZD411 |
0360 D688 F6 D4 12 LDB >ZD412 |
0361 D68B 5C INCB |
0362 D68C C1 04 CMPB #$04 |
0363 D68E 27 0C BEQ ZD69C |
0364 D690 F7 D4 12 STB >ZD412 |
0365 D693 BE D4 0B LDX >CURFCB |
0366 D696 BD DE 09 JSR >RESTOR |
0367 * |
0368 ** RESERVED |
0369 * |
0370 D699 1C FE RESV2 ANDCC #$FE |
0371 D69B 39 RTS |
0372 D69C 1A 01 ZD69C ORCC #$01 |
0373 D69E 39 RTS |
0374 * |
0375 ** WRITE SINGLE SECTOR |
0376 * |
0377 D69F 8D C7 WRSECT BSR ZD668 |
0378 D6A1 BE D4 0B LDX >CURFCB |
0379 D6A4 BD DE 0C JSR >DRIVE |
0380 D6A7 25 20 BCS ZD6C9 |
0381 D6A9 BE D4 0B ZD6A9 LDX >CURFCB |
0382 D6AC 8D B0 BSR ZD65E |
0383 D6AE BD DE 03 JSR >WRITE |
0384 D6B1 26 0A BNE ZD6BD |
0385 D6B3 B6 D4 35 LDA >VERFLG |
0386 D6B6 27 37 BEQ ZD6EF |
0387 D6B8 BD DE 06 JSR >VERIFY |
0388 D6BB 27 32 BEQ ZD6EF |
0389 D6BD C5 40 ZD6BD BITB #$40 |
0390 D6BF 26 0B BNE ZD6CC |
0391 D6C1 34 04 PSHS B |
0392 D6C3 8D AB BSR ZD670 |
0393 D6C5 35 04 PULS B |
0394 D6C7 24 E0 BCC ZD6A9 |
0395 D6C9 39 ZD6C9 RTS |
0396 |
0397 D6CA C6 20 LDB #$20 |
0398 D6CC 1A 01 ZD6CC ORCC #$01 |
0399 D6CE 39 RTS |
0400 |
0401 D6CF BE D4 0B ZD6CF LDX >CURFCB |
0402 D6D2 E6 88 3B LDB $3B,X |
0403 D6D5 2B 3D BMI ZD714 |
0404 D6D7 81 20 CMPA #$20 |
0405 D6D9 26 0F BNE ZD6EA |
0406 D6DB 5C INCB |
0407 D6DC E7 88 3B STB $3B,X |
0408 D6DF C1 7F CMPB #$7F |
0409 D6E1 26 0C BNE ZD6EF |
0410 D6E3 20 0D BRA ZD6F2 |
0411 |
0412 D6E5 8D 0B ZD6E5 BSR ZD6F2 |
0413 D6E7 24 E6 BCC ZD6CF |
0414 D6E9 39 RTS |
0415 |
0416 D6EA 5D ZD6EA TSTB |
0417 D6EB 27 27 BEQ ZD714 |
0418 D6ED 20 F6 BRA ZD6E5 |
0419 |
0420 D6EF 1C FE ZD6EF ANDCC #$FE |
0421 D6F1 39 RTS |
0422 |
0423 D6F2 34 02 ZD6F2 PSHS A |
0424 D6F4 C1 01 CMPB #$01 |
0425 D6F6 26 04 BNE ZD6FC |
0426 D6F8 86 20 LDA #$20 |
0427 D6FA 20 10 BRA ZD70C |
0428 |
0429 D6FC 86 09 ZD6FC LDA #$09 |
0430 D6FE 8D 14 BSR ZD714 |
0431 D700 35 02 PULS A |
0432 D702 25 0F BCS ZD713 |
0433 D704 34 02 PSHS A |
0434 D706 BE D4 0B LDX >CURFCB |
0435 D709 A6 88 3B LDA $3B,X |
0436 D70C 6F 88 3B ZD70C CLR $3B,X |
0437 D70F 8D 03 BSR ZD714 |
0438 D711 35 02 PULS A |
0439 D713 39 ZD713 RTS |
0440 |
0441 D714 BE D4 0B ZD714 LDX >CURFCB |
0442 D717 E6 02 LDB $02,X |
0443 D719 C1 02 CMPB #$02 |
0444 D71B 10 26 FE D1 LBNE ZD5F0 |
0445 D71F E6 88 22 LDB $22,X |
0446 D722 C1 04 CMPB #$04 |
0447 D724 26 08 BNE ZD72E |
0448 D726 34 02 PSHS A |
0449 D728 8D 21 BSR ZD74B |
0450 D72A 35 02 PULS A |
0451 D72C 25 0F BCS ZD73D |
0452 D72E BD D5 7D ZD72E JSR >ZD57D |
0453 D731 24 0A BCC ZD73D |
0454 D733 C6 04 LDB #$04 |
0455 D735 BE D4 0B LDX >CURFCB |
0456 D738 E7 88 22 STB $22,X |
0457 D73B 1C FE ANDCC #$FE |
0458 D73D 39 ZD73D RTS |
0459 |
0460 D73E BE D4 0B ZD73E LDX >CURFCB |
0461 D741 4F CLRA |
0462 D742 5F CLRB |
0463 D743 ED 88 20 STD $20,X |
0464 D746 ED 88 42 STD $42,X |
0465 D749 20 27 BRA ZD772 |
0466 |
0467 D74B E6 88 12 ZD74B LDB $12,X |
0468 D74E 26 22 BNE ZD772 |
0469 D750 E6 88 17 LDB $17,X |
0470 D753 27 44 BEQ ZD799 |
0471 D755 6F 88 17 CLR $17,X |
0472 D758 8D 3F BSR ZD799 |
0473 D75A 25 2A BCS ZD786 |
0474 D75C 8D E0 BSR ZD73E |
0475 D75E 25 26 BCS ZD786 |
0476 D760 8D DC BSR ZD73E |
0477 D762 25 22 BCS ZD786 |
0478 D764 BE D4 0B LDX >CURFCB |
0479 D767 C6 02 LDB #$02 |
0480 D769 E7 88 17 STB $17,X |
0481 D76C EC 88 11 LDD $11,X |
0482 D76F 7E DC 82 JMP >ZDC82 |
0483 |
0484 D772 8D 0E ZD772 BSR ZD782 |
0485 D774 BE D4 0B LDX >CURFCB |
0486 D777 ED 88 40 STD $40,X |
0487 D77A BD D6 9F JSR >WRSECT |
0488 D77D 24 1A BCC ZD799 |
0489 D77F 7E DB C1 JMP >ZDBC1 |
0490 |
0491 D782 8D 03 ZD782 BSR ZD787 |
0492 D784 EC 84 LDD ,X |
0493 D786 39 ZD786 RTS |
0494 |
0495 D787 BE D4 0B ZD787 LDX >CURFCB |
0496 D78A E6 03 LDB $03,X |
0497 D78C 86 06 LDA #$06 |
0498 D78E 3D MUL |
0499 D78F 8E D4 1D LDX #ZD41D |
0500 D792 3A ABX |
0501 D793 BF D4 1B STX >ZD41B |
0502 D796 6D 84 TST ,X |
0503 D798 39 RTS |
0504 |
0505 D799 8D E7 ZD799 BSR ZD782 |
0506 D79B 26 05 BNE ZD7A2 |
0507 D79D C6 07 LDB #$07 |
0508 D79F 1A 01 ZD79F ORCC #$01 |
0509 D7A1 39 RTS |
0510 |
0511 D7A2 BE D4 0B ZD7A2 LDX >CURFCB |
0512 D7A5 ED 88 13 STD $13,X |
0513 D7A8 6D 88 12 TST $12,X |
0514 D7AB 26 03 BNE ZD7B0 |
0515 D7AD ED 88 11 STD $11,X |
0516 D7B0 6C 88 16 ZD7B0 INC $16,X |
0517 D7B3 26 03 BNE ZD7B8 |
0518 D7B5 6C 88 15 INC $15,X |
0519 D7B8 6D 88 17 ZD7B8 TST $17,X |
0520 D7BB 27 0B BEQ ZD7C8 |
0521 D7BD BD DC 43 JSR >ZDC43 |
0522 D7C0 25 DD BCS ZD79F |
0523 D7C2 BE D4 0B LDX >CURFCB |
0524 D7C5 EC 88 13 LDD $13,X |
0525 D7C8 BD D6 20 ZD7C8 JSR >ZD620 |
0526 D7CB 25 D2 BCS ZD79F |
0527 D7CD BE D4 0B LDX >CURFCB |
0528 D7D0 EC 88 40 LDD $40,X |
0529 D7D3 34 06 PSHS B,A |
0530 D7D5 8D B0 BSR ZD787 |
0531 D7D7 35 06 PULS B,A |
0532 D7D9 ED 84 STD ,X |
0533 D7DB 26 0A BNE ZD7E7 |
0534 D7DD 6F 02 CLR $02,X |
0535 D7DF 6F 03 CLR $03,X |
0536 D7E1 6F 04 CLR $04,X |
0537 D7E3 6F 05 CLR $05,X |
0538 D7E5 20 08 BRA ZD7EF |
0539 |
0540 D7E7 10 AE 04 ZD7E7 LDY $04,X |
0541 D7EA 31 3F LEAY -$01,Y |
0542 D7EC 10 AF 04 STY $04,X |
0543 D7EF 4F ZD7EF CLRA |
0544 D7F0 BE D4 0B LDX >CURFCB |
0545 D7F3 6C 88 21 INC $21,X |
0546 D7F6 26 03 BNE ZD7FB |
0547 D7F8 6C 88 20 INC $20,X |
0548 D7FB 5F ZD7FB CLRB |
0549 D7FC A7 88 40 ZD7FC STA $40,X |
0550 D7FF 30 01 LEAX $01,X |
0551 D801 5A DECB |
0552 D802 26 F8 BNE ZD7FC |
0553 D804 BE D4 0B LDX >CURFCB |
0554 D807 EC 88 20 LDD $20,X |
0555 D80A ED 88 42 STD $42,X |
0556 D80D 1C FE ANDCC #$FE |
0557 D80F 39 RTS |
0558 * |
0559 ** OPEN SYSTEM INFO. RECORD |
0560 * |
0561 D810 5F OPNREC CLRB |
0562 D811 34 04 PSHS B |
0563 D813 C6 03 LDB #$03 |
0564 D815 20 0E BRA ZD825 |
0565 D817 BE D4 15 LDX >ZD415 |
0566 D81A BF D4 13 STX >ZD413 |
0567 D81D F6 D4 13 OPNDIR LDB >ZD413 |
0568 D820 34 04 PSHS B |
0569 D822 F6 D4 14 LDB >ZD414 |
0570 D825 BE D4 0B ZD825 LDX >CURFCB |
0571 D828 E7 88 41 STB $41,X |
0572 D82B 35 04 PULS B |
0573 D82D E7 88 40 STB $40,X |
0574 D830 7F D4 18 CLR >ZD418 |
0575 D833 5F CLRB |
0576 D834 E7 88 22 STB $22,X |
0577 D837 39 RTS |
0578 * |
0579 ** GET INFO RECORD |
0580 * |
0581 D838 BE D4 0B GETREC LDX >CURFCB |
0582 D83B E6 88 22 LDB $22,X |
0583 D83E 26 1D BNE ZD85D |
0584 D840 BD D6 0C JSR >ZD60C |
0585 D843 25 30 BCS ZD875 |
0586 D845 BE D4 0B LDX >CURFCB |
0587 D848 7D D4 18 TST >ZD418 |
0588 D84B 26 05 BNE ZD852 |
0589 D84D DC 44 LDD <Z0044 |
0590 D84F FD D4 18 STD >ZD418 |
0591 D852 86 10 ZD852 LDA #$10 |
0592 D854 A7 88 22 STA $22,X |
0593 D857 EC 88 1E LDD $1E,X |
0594 D85A ED 88 2F STD $2F,X |
0595 D85D A6 88 22 ZD85D LDA $22,X |
0596 D860 A7 88 31 STA $31,X |
0597 D863 C6 18 LDB #$18 |
0598 D865 34 14 ZD865 PSHS X,B |
0599 D867 BD D5 F5 JSR >ZD5F5 |
0600 D86A 35 14 PULS X,B |
0601 D86C A7 04 STA $04,X |
0602 D86E 30 01 LEAX $01,X |
0603 D870 5A DECB |
0604 D871 26 F2 BNE ZD865 |
0605 D873 1C FE ANDCC #$FE |
0606 D875 39 ZD875 RTS |
0607 * |
0608 ** PUT INFORMATION RECORD |
0609 * |
0610 D876 BE D4 0B PUTREC LDX >CURFCB |
0611 D879 A6 88 31 LDA $31,X |
0612 D87C A7 88 22 STA $22,X |
0613 D87F C6 18 LDB #$18 |
0614 D881 34 14 ZD881 PSHS X,B |
0615 D883 A6 04 LDA $04,X |
0616 D885 BD D7 14 JSR >ZD714 |
0617 D888 35 14 PULS X,B |
0618 D88A 30 01 LEAX $01,X |
0619 D88C 5A DECB |
0620 D88D 26 F2 BNE ZD881 |
0621 D88F 7E D6 9F JMP >WRSECT |
0622 |
0623 D892 BE D4 0B ZD892 LDX >CURFCB |
0624 D895 A6 03 LDA $03,X |
0625 D897 A7 88 23 STA $23,X |
0626 D89A B6 D4 17 LDA >ZD417 |
0627 D89D 7D D4 1A TST >ZD41A |
0628 D8A0 26 31 BNE ZD8D3 |
0629 D8A2 A7 03 STA $03,X |
0630 D8A4 BE D4 15 LDX >ZD415 |
0631 D8A7 BF D4 13 STX >ZD413 |
0632 D8AA 8C 00 05 ZD8AA CMPX #Z0005 |
0633 D8AD 27 0C BEQ ZD8BB |
0634 D8AF 8D 22 BSR ZD8D3 |
0635 D8B1 23 37 BLS ZD8EA |
0636 D8B3 BE D4 18 LDX >ZD418 |
0637 D8B6 BF D4 13 STX >ZD413 |
0638 D8B9 20 EF BRA ZD8AA |
0639 |
0640 D8BB BE D4 0B ZD8BB LDX >CURFCB |
0641 D8BE A6 88 23 LDA $23,X |
0642 D8C1 A7 03 STA $03,X |
0643 D8C3 2A 0E BPL ZD8D3 |
0644 D8C5 BD DD BD ZD8C5 JSR >NXTDRV |
0645 D8C8 25 36 BCS ZD900 |
0646 D8CA 8D 07 BSR ZD8D3 |
0647 D8CC 23 1C BLS ZD8EA |
0648 D8CE BD DD AD JSR >ZDDAD |
0649 D8D1 20 F2 BRA ZD8C5 |
0650 |
0651 D8D3 BE D4 0B ZD8D3 LDX >CURFCB |
0652 D8D6 7F D4 1A CLR >ZD41A |
0653 D8D9 BD D5 49 JSR >ZD549 |
0654 D8DC BD D8 1D JSR >OPNDIR |
0655 D8DF BD D8 38 ZD8DF JSR >GETREC |
0656 D8E2 24 07 BCC ZD8EB |
0657 D8E4 C1 08 CMPB #$08 |
0658 D8E6 27 18 BEQ ZD900 |
0659 D8E8 1A 01 ORCC #$01 |
0660 D8EA 39 ZD8EA RTS |
0661 |
0662 D8EB BE D4 0B ZD8EB LDX >CURFCB |
0663 D8EE A6 04 LDA $04,X |
0664 D8F0 27 0C BEQ ZD8FE |
0665 D8F2 2A 02 BPL ZD8F6 |
0666 D8F4 8D 0F BSR ZD905 |
0667 D8F6 BD D5 59 ZD8F6 JSR >ZD559 |
0668 D8F9 26 E4 BNE ZD8DF |
0669 D8FB 1C FE ANDCC #$FE |
0670 D8FD 39 RTS |
0671 |
0672 D8FE 8D 05 ZD8FE BSR ZD905 |
0673 D900 1C FB ZD900 ANDCC #$FB |
0674 D902 1C FE ANDCC #$FE |
0675 D904 39 RTS |
0676 |
0677 D905 A6 88 33 ZD905 LDA $33,X |
0678 D908 26 0C BNE ZD916 |
0679 D90A EC 88 2F LDD $2F,X |
0680 D90D ED 88 32 STD $32,X |
0681 D910 A6 88 31 LDA $31,X |
0682 D913 A7 88 34 STA $34,X |
0683 D916 39 ZD916 RTS |
0684 |
0685 D917 BD D7 87 ZD917 JSR >ZD787 |
0686 D91A 26 17 BNE ZD933 |
0687 D91C 8D 18 BSR ZD936 |
0688 D91E 25 15 BCS ZD935 |
0689 D920 C6 06 LDB #$06 |
0690 D922 10 BE D4 0B LDY >CURFCB |
0691 D926 BE D4 1B LDX >ZD41B |
0692 D929 A6 A8 5D ZD929 LDA $5D,Y |
0693 D92C 31 21 LEAY $01,Y |
0694 D92E A7 80 STA ,X+ |
0695 D930 5A DECB |
0696 D931 26 F6 BNE ZD929 |
0697 D933 1C FE ZD933 ANDCC #$FE |
0698 D935 39 ZD935 RTS |
0699 |
0700 D936 BD D8 10 ZD936 JSR >OPNREC |
0701 D939 BD D6 0C JSR >ZD60C |
0702 D93C 25 08 BCS ZD946 |
0703 D93E BE D4 0B LDX >CURFCB |
0704 D941 C6 10 LDB #$10 |
0705 D943 E7 88 22 STB $22,X |
0706 D946 39 ZD946 RTS |
0707 |
0708 D947 BD D7 87 ZD947 JSR >ZD787 |
0709 D94A 8D EA BSR ZD936 |
0710 D94C 25 F8 BCS ZD946 |
0711 D94E C6 06 LDB #$06 |
0712 D950 10 BE D4 0B LDY >CURFCB |
0713 D954 BE D4 1B LDX >ZD41B |
0714 D957 A6 80 ZD957 LDA ,X+ |
0715 D959 A7 A8 5D STA $5D,Y |
0716 D95C 31 21 LEAY $01,Y |
0717 D95E 5A DECB |
0718 D95F 26 F6 BNE ZD957 |
0719 D961 BD D6 9F JSR >WRSECT |
0720 D964 24 E0 BCC ZD946 |
0721 D966 7E DB C1 JMP >ZDBC1 |
0722 * |
0723 ** |
0724 * |
0725 D969 BE D4 0B RESV1 LDX >CURFCB |
0726 D96C 86 02 LDA #$02 |
0727 D96E A7 02 STA $02,X |
0728 D970 EC 88 2F LDD $2F,X |
0729 D973 ED 88 1E STD $1E,X |
0730 D976 BD D6 41 JSR >RDSECT |
0731 D979 25 08 BCS ZD983 |
0732 D97B BD D8 76 JSR >PUTREC |
0733 D97E 24 05 BCC ZD985 |
0734 D980 7E DB C1 JMP >ZDBC1 |
0735 |
0736 D983 C6 0A ZD983 LDB #$0A |
0737 D985 39 ZD985 RTS |
0738 * |
0739 ** OPEN FOR READ |
0740 * |
0741 D986 BD D4 FA OPENRD JSR >ZD4FA |
0742 D989 25 3D BCS ZD9C8 |
0743 D98B BD D8 92 JSR >ZD892 |
0744 D98E 25 38 BCS ZD9C8 |
0745 D990 26 3B BNE ZD9CD |
0746 D992 BE D4 0B LDX >CURFCB |
0747 D995 7D D4 1A TST >ZD41A |
0748 D998 27 06 BEQ ZD9A0 |
0749 D99A A6 0F LDA $0F,X |
0750 D99C 85 20 BITA #$20 |
0751 D99E 26 29 BNE ZD9C9 |
0752 D9A0 BD DC C0 ZD9A0 JSR >ZDCC0 |
0753 D9A3 25 2A BCS ZD9CF |
0754 D9A5 EC 88 11 LDD $11,X |
0755 D9A8 ED 88 40 STD $40,X |
0756 D9AB BD DA 76 JSR >ZDA76 |
0757 D9AE E6 88 17 LDB $17,X |
0758 D9B1 27 13 BEQ ZD9C6 |
0759 D9B3 34 04 ZD9B3 PSHS B |
0760 D9B5 BD D6 0C JSR >ZD60C |
0761 D9B8 35 04 PULS B |
0762 D9BA 25 0C BCS ZD9C8 |
0763 D9BC 5A DECB |
0764 D9BD 26 F4 BNE ZD9B3 |
0765 D9BF BE D4 0B LDX >CURFCB |
0766 D9C2 5F CLRB |
0767 D9C3 E7 88 22 STB $22,X |
0768 D9C6 1C FE ZD9C6 ANDCC #$FE |
0769 D9C8 39 ZD9C8 RTS |
0770 |
0771 D9C9 C6 11 ZD9C9 LDB #$11 |
0772 D9CB 20 02 BRA ZD9CF |
0773 |
0774 D9CD C6 04 ZD9CD LDB #$04 |
0775 D9CF 34 04 ZD9CF PSHS B |
0776 D9D1 BD D5 0C JSR >ZD50C |
0777 D9D4 35 04 PULS B |
0778 D9D6 1A 01 ORCC #$01 |
0779 D9D8 39 RTS |
0780 |
0781 D9D9 BE D4 0B OPENWR LDX >CURFCB |
0782 D9DC 6D 03 TST $03,X |
0783 D9DE 2A 08 BPL ZD9E8 |
0784 D9E0 BD DD BD JSR >NXTDRV |
0785 D9E3 24 03 BCC ZD9E8 |
0786 D9E5 C6 10 LDB #$10 |
0787 D9E7 39 RTS |
0788 |
0789 D9E8 BD D4 FA ZD9E8 JSR >ZD4FA |
0790 D9EB 25 E2 BCS ZD9CF |
0791 D9ED BD D5 37 JSR >ZD537 |
0792 D9F0 BD D9 17 JSR >ZD917 |
0793 D9F3 25 DA BCS ZD9CF |
0794 D9F5 BD D8 92 JSR >ZD892 |
0795 D9F8 25 D5 BCS ZD9CF |
0796 D9FA 26 04 BNE ZDA00 |
0797 D9FC C6 03 LDB #$03 |
0798 D9FE 20 CF BRA ZD9CF |
0799 |
0800 DA00 BD DC C0 ZDA00 JSR >ZDCC0 |
0801 DA03 25 CA BCS ZD9CF |
0802 DA05 BE D4 0B LDX >CURFCB |
0803 DA08 C6 0A LDB #$0A |
0804 DA0A 6F 0F ZDA0A CLR $0F,X |
0805 DA0C 30 01 LEAX $01,X |
0806 DA0E 5A DECB |
0807 DA0F 26 F9 BNE ZDA0A |
0808 DA11 BE D4 0B LDX >CURFCB |
0809 DA14 EC 88 32 LDD $32,X |
0810 DA17 27 27 BEQ ZDA40 |
0811 DA19 ED 88 2F STD $2F,X |
0812 DA1C A6 88 34 LDA $34,X |
0813 DA1F A7 88 31 STA $31,X |
0814 DA22 FC CC 0E LDD >DATERG |
0815 DA25 ED 88 19 STD $19,X |
0816 DA28 B6 CC 10 LDA >YEAR |
0817 DA2B A7 88 1B STA $1B,X |
0818 DA2E BD DD AD JSR >ZDDAD |
0819 DA31 BD D9 69 JSR >RESV1 |
0820 DA34 25 99 BCS ZD9CF |
0821 DA36 8D 3E BSR ZDA76 |
0822 DA38 86 04 LDA #$04 |
0823 DA3A A7 88 22 STA $22,X |
0824 DA3D 1C FE ANDCC #$FE |
0825 DA3F 39 RTS |
0826 |
0827 DA40 BE D4 0B ZDA40 LDX >CURFCB |
0828 DA43 6F 88 17 CLR $17,X |
0829 DA46 6C 88 12 INC $12,X |
0830 DA49 EC 88 2F LDD $2F,X |
0831 DA4C BD D6 20 JSR >ZD620 |
0832 DA4F 25 0D BCS ZDA5E |
0833 DA51 BD D7 72 JSR >ZD772 |
0834 DA54 25 08 BCS ZDA5E |
0835 DA56 BD D6 9F JSR >WRSECT |
0836 DA59 24 06 BCC ZDA61 |
0837 DA5B BD DB C1 JSR >ZDBC1 |
0838 DA5E 7E D9 CF ZDA5E JMP >ZD9CF |
0839 |
0840 DA61 BE D4 0B ZDA61 LDX >CURFCB |
0841 DA64 EC 88 1E LDD $1E,X |
0842 DA67 ED 88 32 STD $32,X |
0843 DA6A 86 10 LDA #$10 |
0844 DA6C A7 88 34 STA $34,X |
0845 DA6F BD D9 47 JSR >ZD947 |
0846 DA72 25 EA BCS ZDA5E |
0847 DA74 20 8A BRA ZDA00 |
0848 |
0849 DA76 BE D4 0B ZDA76 LDX >CURFCB |
0850 DA79 A6 84 LDA ,X |
0851 DA7B A7 02 STA $02,X |
0852 DA7D 6F 84 CLR ,X |
0853 DA7F 6F 88 3B CLR $3B,X |
0854 DA82 4F CLRA |
0855 DA83 A7 88 22 STA $22,X |
0856 DA86 39 RTS |
0857 * |
0858 ** READ/WRITE NEXT SECTOR |
0859 * |
0860 DA87 8D 28 NXTSEC BSR ZDAB1 |
0861 DA89 25 0E BCS ZDA99 |
0862 DA8B 6F 84 CLR ,X |
0863 DA8D 44 LSRA |
0864 DA8E 10 25 FB 7A LBCS ZD60C |
0865 DA92 C6 04 LDB #$04 |
0866 DA94 E7 88 22 STB $22,X |
0867 DA97 1C FE ANDCC #$FE |
0868 DA99 39 ZDA99 RTS |
0869 |
0870 DA9A BE D4 0B ZDA9A LDX >CURFCB |
0871 DA9D A6 02 LDA $02,X |
0872 DA9F 81 83 CMPA #$83 |
0873 DAA1 26 0B BNE ZDAAE |
0874 DAA3 86 03 LDA #$03 |
0875 DAA5 A7 02 STA $02,X |
0876 DAA7 BD D6 9F ZDAA7 JSR >WRSECT |
0877 DAAA 10 25 01 13 LBCS ZDBC1 |
0878 DAAE 1C FE ZDAAE ANDCC #$FE |
0879 DAB0 39 RTS |
0880 |
0881 DAB1 8D E7 ZDAB1 BSR ZDA9A |
0882 DAB3 25 0D BCS ZDAC2 |
0883 DAB5 BE D4 0B LDX >CURFCB |
0884 DAB8 A6 02 LDA $02,X |
0885 DABA 81 03 CMPA #$03 |
0886 DABC 23 F0 BLS ZDAAE |
0887 DABE C6 12 LDB #$12 |
0888 DAC0 1A 01 ORCC #$01 |
0889 DAC2 39 ZDAC2 RTS |
0890 |
0891 DAC3 8D EC CLOSE BSR ZDAB1 |
0892 DAC5 25 31 BCS ZDAF8 |
0893 DAC7 81 02 CMPA #$02 |
0894 DAC9 27 08 BEQ ZDAD3 |
0895 DACB BE D4 0B ZDACB LDX >CURFCB |
0896 DACE 6F 02 CLR $02,X |
0897 DAD0 7E D5 0C JMP >ZD50C |
0898 |
0899 DAD3 A6 88 12 ZDAD3 LDA $12,X |
0900 DAD6 26 05 BNE ZDADD |
0901 DAD8 BD DB A7 JSR >ZDBA7 |
0902 DADB 20 19 BRA ZDAF6 |
0903 |
0904 DADD 8D C8 ZDADD BSR ZDAA7 |
0905 DADF 25 17 BCS ZDAF8 |
0906 DAE1 BE D4 0B LDX >CURFCB |
0907 DAE4 6D 88 17 TST $17,X |
0908 DAE7 27 05 BEQ ZDAEE |
0909 DAE9 BD DC 98 JSR >ZDC98 |
0910 DAEC 25 0A BCS ZDAF8 |
0911 DAEE BD D9 69 ZDAEE JSR >RESV1 |
0912 DAF1 25 05 BCS ZDAF8 |
0913 DAF3 BD D9 47 JSR >ZD947 |
0914 DAF6 24 D3 ZDAF6 BCC ZDACB |
0915 DAF8 39 ZDAF8 RTS |
0916 * |
0917 ** OPEN FOR UPDATE |
0918 * |
0919 DAF9 BD D9 86 OPENUD JSR >OPENRD |
0920 DAFC 25 28 BCS ZDB26 |
0921 DAFE BD D6 0C JSR >ZD60C |
0922 DB01 25 23 BCS ZDB26 |
0923 DB03 86 03 LDA #$03 |
0924 DB05 20 18 BRA ZDB1F |
0925 * |
0926 ** |
0927 * |
0928 DB07 BD D9 86 RESV3 JSR >OPENRD |
0929 DB0A 25 1A BCS ZDB26 |
0930 DB0C BE D4 0B LDX >CURFCB |
0931 DB0F A6 0F LDA $0F,X |
0932 DB11 85 80 BITA #$80 |
0933 DB13 26 12 BNE ZDB27 |
0934 DB15 EC 88 13 LDD $13,X |
0935 DB18 BD D6 20 JSR >ZD620 |
0936 DB1B 25 09 BCS ZDB26 |
0937 DB1D 86 02 LDA #$02 |
0938 DB1F BE D4 0B ZDB1F LDX >CURFCB |
0939 DB22 A7 02 STA $02,X |
0940 DB24 1C FE ANDCC #$FE |
0941 DB26 39 ZDB26 RTS |
0942 |
0943 DB27 C6 0B ZDB27 LDB #$0B |
0944 DB29 1A 01 ORCC #$01 |
0945 DB2B 39 RTS |
0946 * |
0947 ** RENAME FILE |
0948 * |
0949 DB2C 8D 35 RENAME BSR ZDB63 |
0950 DB2E BD D8 92 JSR >ZD892 |
0951 DB31 25 2A BCS ZDB5D |
0952 DB33 27 24 BEQ ZDB59 |
0953 DB35 BE D4 0B LDX >CURFCB |
0954 DB38 C6 0B LDB #$0B |
0955 DB3A A6 88 24 ZDB3A LDA $24,X |
0956 DB3D A7 04 STA $04,X |
0957 DB3F 30 01 LEAX $01,X |
0958 DB41 5A DECB |
0959 DB42 26 F6 BNE ZDB3A |
0960 DB44 8D 4D BSR ZDB93 |
0961 DB46 25 15 BCS ZDB5D |
0962 DB48 BE D4 0B LDX >CURFCB |
0963 DB4B A6 0F LDA $0F,X |
0964 DB4D 85 80 BITA #$80 |
0965 DB4F 26 D6 BNE ZDB27 |
0966 DB51 85 60 BITA #$60 |
0967 DB53 26 09 BNE ZDB5E |
0968 DB55 8D 0C BSR ZDB63 |
0969 DB57 20 55 BRA ZDBAE |
0970 |
0971 DB59 C6 03 ZDB59 LDB #$03 |
0972 DB5B 1A 01 ORCC #$01 |
0973 DB5D 39 ZDB5D RTS |
0974 DB5E C6 0C ZDB5E LDB #$0C |
0975 DB60 1A 01 ORCC #$01 |
0976 DB62 39 RTS |
0977 |
0978 DB63 BE D4 0B ZDB63 LDX >CURFCB |
0979 DB66 86 0B LDA #$0B |
0980 DB68 B7 D4 11 STA >ZD411 |
0981 DB6B A6 04 ZDB6B LDA $04,X |
0982 DB6D E6 88 35 LDB $35,X |
0983 DB70 A7 88 35 STA $35,X |
0984 DB73 E7 04 STB $04,X |
0985 DB75 30 01 LEAX $01,X |
0986 DB77 7A D4 11 DEC >ZD411 |
0987 DB7A 26 EF BNE ZDB6B |
0988 DB7C BE D4 0B LDX >CURFCB |
0989 DB7F A6 0C LDA $0C,X |
0990 DB81 26 0C BNE ZDB8F |
0991 DB83 C6 03 LDB #$03 |
0992 DB85 A6 88 3D ZDB85 LDA $3D,X |
0993 DB88 A7 0C STA $0C,X |
0994 DB8A 30 01 LEAX $01,X |
0995 DB8C 5A DECB |
0996 DB8D 26 F6 BNE ZDB85 |
0997 DB8F BE D4 0B ZDB8F LDX >CURFCB |
0998 DB92 39 RTS |
0999 |
1000 DB93 8D CE ZDB93 BSR ZDB63 |
1001 DB95 BD D8 92 ZDB95 JSR >ZD892 |
1002 DB98 25 07 BCS ZDBA1 |
1003 DB9A 26 06 BNE ZDBA2 |
1004 DB9C BE D4 0B LDX >CURFCB |
1005 DB9F 1C FE ANDCC #$FE |
1006 DBA1 39 ZDBA1 RTS |
1007 |
1008 DBA2 C6 04 ZDBA2 LDB #$04 |
1009 DBA4 1A 01 ORCC #$01 |
1010 DBA6 39 RTS |
1011 |
1012 DBA7 BE D4 0B ZDBA7 LDX >CURFCB |
1013 DBAA 86 FF LDA #$FF |
1014 DBAC A7 04 STA $04,X |
1015 DBAE BD D9 69 ZDBAE JSR >RESV1 |
1016 DBB1 BE D4 0B LDX >CURFCB |
1017 DBB4 86 00 LDA #$00 |
1018 DBB6 A7 02 STA $02,X |
1019 DBB8 39 RTS |
1020 |
1021 DBB9 ED 88 40 ZDBB9 STD $40,X |
1022 DBBC BD D6 9F JSR >WRSECT |
1023 DBBF 24 14 BCC ZDBD5 |
1024 DBC1 C5 40 ZDBC1 BITB #$40 |
1025 DBC3 26 08 BNE ZDBCD |
1026 DBC5 C5 80 BITB #$80 |
1027 DBC7 27 0A BEQ ZDBD3 |
1028 DBC9 C6 10 LDB #$10 |
1029 DBCB 20 06 BRA ZDBD3 |
1030 DBCD C6 0B ZDBCD LDB #$0B |
1031 DBCF 20 02 BRA ZDBD3 |
1032 |
1033 DBD1 C6 0A LDB #$0A |
1034 DBD3 1A 01 ZDBD3 ORCC #$01 |
1035 DBD5 39 ZDBD5 RTS |
1036 * |
1037 ** DELETE FILE |
1038 * |
1039 DBD6 BD D9 17 DELETE JSR >ZD917 |
1040 DBD9 25 5E BCS ZDC39 |
1041 DBDB 8D B8 BSR ZDB95 |
1042 DBDD 25 5A BCS ZDC39 |
1043 DBDF BE D4 0B LDX >CURFCB |
1044 DBE2 A6 0F LDA $0F,X |
1045 DBE4 85 80 BITA #$80 |
1046 DBE6 26 52 BNE ZDC3A |
1047 DBE8 85 60 BITA #$60 |
1048 DBEA 26 52 BNE ZDC3E |
1049 DBEC BD D7 87 JSR >ZD787 |
1050 DBEF BE D4 1B LDX >ZD41B |
1051 DBF2 EC 02 LDD $02,X |
1052 DBF4 26 0F BNE ZDC05 |
1053 DBF6 BE D4 0B LDX >CURFCB |
1054 DBF9 EC 88 11 LDD $11,X |
1055 DBFC 27 33 BEQ ZDC31 |
1056 DBFE BE D4 1B LDX >ZD41B |
1057 DC01 ED 84 STD ,X |
1058 DC03 20 14 BRA ZDC19 |
1059 |
1060 DC05 BE D4 0B ZDC05 LDX >CURFCB |
1061 DC08 BD D6 20 JSR >ZD620 |
1062 DC0B 25 2C BCS ZDC39 |
1063 DC0D BE D4 0B LDX >CURFCB |
1064 DC10 EC 88 11 LDD $11,X |
1065 DC13 27 1C BEQ ZDC31 |
1066 DC15 8D A2 BSR ZDBB9 |
1067 DC17 25 20 BCS ZDC39 |
1068 DC19 BE D4 0B ZDC19 LDX >CURFCB |
1069 DC1C EC 88 13 LDD $13,X |
1070 DC1F BE D4 1B LDX >ZD41B |
1071 DC22 ED 02 STD $02,X |
1072 DC24 BE D4 0B LDX >CURFCB |
1073 DC27 EC 88 15 LDD $15,X |
1074 DC2A BE D4 1B LDX >ZD41B |
1075 DC2D E3 04 ADDD $04,X |
1076 DC2F ED 04 STD $04,X |
1077 DC31 BD DB A7 ZDC31 JSR >ZDBA7 |
1078 DC34 25 03 BCS ZDC39 |
1079 DC36 BD D9 47 JSR >ZD947 |
1080 DC39 39 ZDC39 RTS |
1081 |
1082 DC3A C6 0B ZDC3A LDB #$0B |
1083 DC3C 20 02 BRA ZDC40 |
1084 DC3E C6 0C ZDC3E LDB #$0C |
1085 DC40 1A 01 ZDC40 ORCC #$01 |
1086 DC42 39 RTS |
1087 |
1088 DC43 EC 88 1E ZDC43 LDD $1E,X |
1089 DC46 5C INCB |
1090 DC47 E1 88 3C CMPB $3C,X |
1091 DC4A 23 03 BLS ZDC4F |
1092 DC4C C6 01 LDB #$01 |
1093 DC4E 4C INCA |
1094 DC4F 10 A3 88 13 ZDC4F CMPD $13,X |
1095 DC53 26 0E BNE ZDC63 |
1096 DC55 A6 88 37 LDA $37,X |
1097 DC58 81 FF CMPA #$FF |
1098 DC5A 27 07 BEQ ZDC63 |
1099 DC5C 4C INCA |
1100 DC5D A7 88 37 STA $37,X |
1101 DC60 1C FE ANDCC #$FE |
1102 DC62 39 RTS |
1103 |
1104 DC63 8D 33 ZDC63 BSR ZDC98 |
1105 DC65 25 30 BCS ZDC97 |
1106 DC67 BE D4 0B LDX >CURFCB |
1107 DC6A A6 88 3A LDA $3A,X |
1108 DC6D 8B 03 ADDA #$03 |
1109 DC6F 26 16 BNE ZDC87 |
1110 DC71 EC 88 1E LDD $1E,X |
1111 DC74 10 A3 88 11 CMPD $11,X |
1112 DC78 27 05 BEQ ZDC7F |
1113 DC7A C6 17 LDB #$17 |
1114 DC7C 1A 01 ORCC #$01 |
1115 DC7E 39 RTS |
1116 |
1117 DC7F EC 88 40 ZDC7F LDD $40,X |
1118 DC82 ED 88 38 ZDC82 STD $38,X |
1119 DC85 86 04 LDA #$04 |
1120 DC87 A7 88 3A ZDC87 STA $3A,X |
1121 DC8A EC 88 13 LDD $13,X |
1122 DC8D ED 88 35 STD $35,X |
1123 DC90 86 01 LDA #$01 |
1124 DC92 A7 88 37 STA $37,X |
1125 DC95 1C FE ANDCC #$FE |
1126 DC97 39 ZDC97 RTS |
1127 |
1128 DC98 EC 88 38 ZDC98 LDD $38,X |
1129 DC9B BD D6 20 JSR >ZD620 |
1130 DC9E 25 F7 BCS ZDC97 |
1131 DCA0 BE D4 0B LDX >CURFCB |
1132 DCA3 1F 12 TFR X,Y |
1133 DCA5 E6 88 3A LDB $3A,X |
1134 DCA8 3A ABX |
1135 DCA9 C6 03 LDB #$03 |
1136 DCAB A6 A8 35 ZDCAB LDA $35,Y |
1137 DCAE 31 21 LEAY $01,Y |
1138 DCB0 A7 88 40 STA $40,X |
1139 DCB3 30 01 LEAX $01,X |
1140 DCB5 5A DECB |
1141 DCB6 26 F3 BNE ZDCAB |
1142 DCB8 BD D6 9F JSR >WRSECT |
1143 DCBB 24 DA BCC ZDC97 |
1144 DCBD 7E DB C1 JMP >ZDBC1 |
1145 |
1146 DCC0 BD D8 10 ZDCC0 JSR >OPNREC |
1147 DCC3 BD D6 0C JSR >ZD60C |
1148 DCC6 25 46 BCS ZDD0E |
1149 DCC8 BE D4 0B LDX >CURFCB |
1150 DCCB 4F CLRA |
1151 DCCC 5F CLRB |
1152 DCCD ED 88 20 STD $20,X |
1153 DCD0 A6 88 67 LDA $67,X |
1154 DCD3 A7 88 3C STA $3C,X |
1155 DCD6 5F CLRB |
1156 DCD7 6F 88 40 ZDCD7 CLR $40,X |
1157 DCDA 30 01 LEAX $01,X |
1158 DCDC 5A DECB |
1159 DCDD 26 F8 BNE ZDCD7 |
1160 DCDF BE D4 0B LDX >CURFCB |
1161 DCE2 1C FE ANDCC #$FE |
1162 DCE4 39 RTS |
1163 * |
1164 ** BACKUP ONE RECORD |
1165 * |
1166 DCE5 BE D4 0B BAKREC LDX >CURFCB |
1167 DCE8 A6 88 17 LDA $17,X |
1168 DCEB 27 1D BEQ ZDD0A |
1169 DCED EC 88 20 LDD $20,X |
1170 DCF0 83 00 01 SUBD #$0001 |
1171 DCF3 2A 03 BPL ZDCF8 |
1172 DCF5 7E DD 9A JMP >ZDD9A |
1173 * |
1174 ** POSITION TO RECORD N |
1175 * |
1176 DCF8 ED 88 20 ZDCF8 STD $20,X |
1177 DCFB BD DA B1 POSREC JSR >ZDAB1 |
1178 DCFE 25 0E BCS ZDD0E |
1179 DD00 46 RORA |
1180 DD01 24 07 BCC ZDD0A |
1181 DD03 6F 84 CLR ,X |
1182 DD05 A6 88 17 LDA $17,X |
1183 DD08 26 05 BNE ZDD0F |
1184 DD0A C6 12 ZDD0A LDB #$12 |
1185 DD0C 1A 01 ORCC #$01 |
1186 DD0E 39 ZDD0E RTS |
1187 |
1188 DD0F 7F D4 11 ZDD0F CLR >ZD411 |
1189 DD12 EC 88 11 LDD $11,X |
1190 DD15 10 AE 88 20 LDY $20,X |
1191 DD19 27 6A BEQ ZDD85 |
1192 DD1B BD DD 9F JSR >ZDD9F |
1193 DD1E 25 EE BCS ZDD0E |
1194 DD20 4F CLRA |
1195 DD21 5F CLRB |
1196 DD22 6D 02 ZDD22 TST $02,X |
1197 DD24 27 74 BEQ ZDD9A |
1198 DD26 EB 02 ADDB $02,X |
1199 DD28 89 00 ADCA #$00 |
1200 DD2A BF D4 0F STX >ZD40F |
1201 DD2D BE D4 0B LDX >CURFCB |
1202 DD30 10 A3 88 20 CMPD $20,X |
1203 DD34 24 2C BCC ZDD62 |
1204 DD36 BE D4 0F LDX >ZD40F |
1205 DD39 30 03 LEAX $03,X |
1206 DD3B 34 02 PSHS A |
1207 DD3D B6 D4 11 LDA >ZD411 |
1208 DD40 4C INCA |
1209 DD41 B7 D4 11 STA >ZD411 |
1210 DD44 81 54 CMPA #$54 |
1211 DD46 27 08 BEQ ZDD50 |
1212 DD48 81 A8 CMPA #$A8 |
1213 DD4A 35 02 PULS A |
1214 DD4C 27 4C BEQ ZDD9A |
1215 DD4E 20 D2 BRA ZDD22 |
1216 |
1217 DD50 34 04 ZDD50 PSHS B |
1218 DD52 BE D4 0B LDX >CURFCB |
1219 DD55 EC 88 40 LDD $40,X |
1220 DD58 8D 45 BSR ZDD9F |
1221 DD5A 25 3E BCS ZDD9A |
1222 DD5C 35 04 PULS B |
1223 DD5E 35 02 PULS A |
1224 DD60 20 C0 BRA ZDD22 |
1225 |
1226 DD62 A3 88 20 ZDD62 SUBD $20,X |
1227 DD65 BE D4 0F LDX >ZD40F |
1228 DD68 A6 02 LDA $02,X |
1229 DD6A 34 04 PSHS B |
1230 DD6C A0 E0 SUBA ,S+ |
1231 DD6E 4A DECA |
1232 DD6F 1F 89 TFR A,B |
1233 DD71 A6 84 LDA ,X |
1234 DD73 EB 01 ADDB $01,X |
1235 DD75 BE D4 0B LDX >CURFCB |
1236 DD78 25 05 BCS ZDD7F |
1237 DD7A E1 88 3C ZDD7A CMPB $3C,X |
1238 DD7D 23 06 BLS ZDD85 |
1239 DD7F E0 88 3C ZDD7F SUBB $3C,X |
1240 DD82 4C INCA |
1241 DD83 20 F5 BRA ZDD7A |
1242 |
1243 DD85 BD D6 20 ZDD85 JSR >ZD620 |
1244 DD88 25 14 BCS ZDD9E |
1245 DD8A BE D4 0B LDX >CURFCB |
1246 DD8D EC 88 42 LDD $42,X |
1247 DD90 10 A3 88 20 CMPD $20,X |
1248 DD94 27 14 BEQ ZDDAA |
1249 DD96 C6 19 LDB #$19 |
1250 DD98 20 02 BRA ZDD9C |
1251 |
1252 DD9A C6 18 ZDD9A LDB #$18 |
1253 DD9C 1A 01 ZDD9C ORCC #$01 |
1254 DD9E 39 ZDD9E RTS |
1255 |
1256 DD9F BD D6 20 ZDD9F JSR >ZD620 |
1257 DDA2 25 08 BCS ZDDAC |
1258 DDA4 BE D4 0B LDX >CURFCB |
1259 DDA7 C6 44 LDB #$44 |
1260 DDA9 3A ABX |
1261 DDAA 1C FE ZDDAA ANDCC #$FE |
1262 DDAC 39 ZDDAC RTS |
1263 |
1264 DDAD BE D4 0B ZDDAD LDX >CURFCB |
1265 DDB0 C6 0B LDB #$0B |
1266 DDB2 A6 88 24 ZDDB2 LDA $24,X |
1267 DDB5 A7 04 STA $04,X |
1268 DDB7 30 01 LEAX $01,X |
1269 DDB9 5A DECB |
1270 DDBA 26 F6 BNE ZDDB2 |
1271 DDBC 39 RTS |
1272 * |
1273 ** FIND NEXT DRIVE |
1274 * |
1275 DDBD BE D4 0B NXTDRV LDX >CURFCB |
1276 DDC0 A6 03 LDA $03,X |
1277 DDC2 4C INCA |
1278 DDC3 81 04 CMPA #$04 |
1279 DDC5 24 0F BCC ZDDD6 |
1280 DDC7 A7 03 STA $03,X |
1281 DDC9 26 05 BNE ZDDD0 |
1282 DDCB BD DE 0F JSR >DRVRDY |
1283 DDCE 20 03 BRA ZDDD3 |
1284 |
1285 DDD0 BD DE 12 ZDDD0 JSR >QUICK |
1286 DDD3 25 E8 ZDDD3 BCS NXTDRV |
1287 DDD5 39 RTS |
1288 |
1289 DDD6 C6 10 ZDDD6 LDB #$10 |
1290 DDD8 1A 01 ORCC #$01 |
1291 DDDA 39 RTS |
0011 END |
0000 INCLUDE "f9-monex.txt" |
0001 * |
0002 ** FLEX 9 DISK DRIVERS |
0003 * |
0004 * FOR SYS09BUG ON THE DIGILENT SPARTAN 3 STARTER BOARD |
0005 * WITH I/O MAPPED AT $XE000 |
0006 * AND ROM MAPPED AT $XF000 |
0007 * THE DIGILENT SPARTAN 3 STARTER BOARD HAS 1MBYTE OF SRAM |
0008 * THE FIRST 64K IS USED BY FLEX, |
0009 * THE SECOND 128K IS USED AS A ROM DISK |
0010 * THE REMAINING RAM IS USED FOR A RAM DISK |
0011 * |
0012 * |
0013 0001 CFLAG EQU $01 CARRY FLAG |
0014 0002 VFLAG EQU $02 OVERFLOW FLAG |
0015 0004 ZFLAG EQU $04 ZERO FLAG |
0016 0008 NFLAG EQU $08 NEGATIVE FLAG |
0017 0010 IFLAG EQU $10 IRQ MASK CC |
0018 0020 HFLAG EQU $20 HALF CARRY |
0019 0040 FFLAG EQU $40 FIRQ MASK CC |
0020 0080 EFLAG EQU $80 ENTIRE FLAG |
0021 * |
0022 0000 MAPPAG EQU $00 PAGE $0000 DAT ADDRESS |
0023 FFF0 DATREG EQU IC11 DAT REGISTERS |
0024 * |
0025 * Serial Port |
0026 * |
0027 E000 ACIAC1 EQU ACIAS |
0028 E001 ACIAD1 EQU ACIAS+1 |
0029 04E2 DELCON EQU 1250 Delay (Processor clock in MHz * 50) |
0030 * |
0031 * XMODEM Control characters |
0032 * |
0033 0001 SOH EQU $01 |
0034 0004 EOT EQU $04 |
0035 0006 ACK EQU $06 |
0036 0015 NAK EQU $15 |
0037 0018 CAN EQU $18 |
0038 * |
0039 * DRIVE GEOMETRY |
0040 * |
0041 000E EMAXSEC EQU 14 ROM DISK |
0042 0030 EMAXTRK EQU 48 3 * 16 * 14 * 256 = 172,032 Bytes |
0043 0292 ETOTSEC EQU EMAXTRK*EMAXSEC-EMAXSEC |
0044 * |
0045 000E RMAXSEC EQU 14 RAM DISK |
0046 00C0 RMAXTRK EQU 192 12 * 16 * 14 * 256 = 688,128 Bytes |
0047 0A72 RTOTSEC EQU RMAXTRK*RMAXSEC-RMAXSEC |
0048 * |
0049 * DRIVE TYPES |
0050 * |
0051 0000 DTYPROM EQU 0 ROM DISK |
0052 0001 DTYPRAM EQU 1 RAM DISK |
0053 0002 DTYPFLS EQU 2 FLASH DISK |
0054 0003 DTYPNET EQU 3 FLEXNET DISK |
0055 * |
0056 DE00 ORG $DE00 |
0057 * |
0058 * DISK DRIVER JUMP TABLE LAST UPDATE: 22/12/2006 |
0059 * Disk driver for RAM Disk. |
0060 * |
0061 * 14 SECTORS PER TRACK |
0062 * 16 * N TRACKS PER DISK |
0063 * |
0064 * ROM DISK OCCUPIES $10000 - $1E000 ... $30000 - $3E000 |
0065 * RAM DISK OCCUPIES $40000 - $4E000 ... $F0000 - $FE000 |
0066 * Track Buffer page mapped at $E000 - $EFFF |
0067 * MAPPAG = $00 = 0 x $1000 (4 K pages) |
0068 |
0069 * ON SWTPC ROM AT $XF000 AND IO AT $XE000 |
0070 * APPEARS THROUGHOUT THE MEMORY SO MUST BE SKIPPED OVER |
0071 * WHEN USING RAM AS A RAMDISK. |
0072 * THE MSN OF THE TRACK MAPS INTO THE MSN OF THE DAT |
0073 * THE LSN OF THE TRACK NUMBER INDEXES INTO THE 4K RAM PAGE |
0074 * THE SECTOR MAPS INTO THE LSN OF THE DAT WHICH IS INVERTED |
0075 * |
0076 * |
0077 * |
0078 * FLEX disk jump table. |
0079 * |
0080 DE00 7E F0 57 READ JMP READSC |
0081 DE03 7E F0 5B WRITE JMP WRITSC |
0082 DE06 7E F0 5F VERIFY JMP BUSY |
0083 DE09 7E F0 63 RESTOR JMP RESTR1 |
0084 DE0C 7E F0 6C DRIVE JMP DRVSEL |
0085 DE0F 7E F0 9F DRVRDY JMP CHKRDY |
0086 DE12 7E F0 A3 QUICK JMP CHKQIK |
0087 DE15 7E F0 A7 COLDDR JMP DINIT |
0088 DE18 7E F0 BF WARMDR JMP DWARM |
0089 DE1B 7E F0 C3 SEEK JMP SEEKTS |
0090 * |
0091 * RAM SPACE |
0092 * |
0093 DE1E 00 DRVNUM FCB 0 |
0094 DE1F 00 TRACK FCB 0 |
0095 DE20 00 SECTOR FCB 0 |
0096 DE21 00 CHKSUM FCB 0 |
0097 DE22 00 CCSAVE FCB 0 |
0098 DE23 00 BLKNUM FCB 0 Xmodem block number |
0099 DE24 00 BYTCNT FCB 0 Xmodem byte count |
0100 DE25 00 00 XSTATE FDB 0 Xmodem State Vector |
0101 DE27 00 00 00 DELCNT FCB $00,$00,$00 Xmodem Poll timer |
0102 * |
0103 * Disc driver type table. |
0104 * Indexed by drive number |
0105 * |
0106 DE2A 00 DTYPTAB FCB DTYPROM Drive 0 (ROM Disk) |
0107 DE2B 01 FCB DTYPRAM Drive 1 (RAM Disk) |
0108 DE2C 02 FCB DTYPFLS Drive 2 (FLASH Disk) |
0109 DE2D 03 FCB DTYPNET Drive 3 (NETPC Disk) |
0110 * |
0111 * RAM Disk offset |
0112 * Indexed by drive type |
0113 * |
0114 DE2E 10 DOFFTAB FCB $10 ROM Disk $10000 |
0115 DE2F 40 FCB $40 RAM DISK $40000 |
0116 DE30 FF FCB $FF Flash Disk |
0117 DE31 FF FCB $FF NETPC Disk |
0118 * |
0119 DE32 REAVEC RMB 2 Disc driver jump table. |
0120 DE34 WRIVEC RMB 2 |
0121 DE36 VERVEC RMB 2 |
0122 DE38 RSTVEC RMB 2 |
0123 DE3A DRVVEC RMB 2 |
0124 DE3C CHKVEC RMB 2 |
0125 DE3E QUIVEC RMB 2 |
0126 DE40 INIVEC RMB 2 |
0127 DE42 WARVEC RMB 2 |
0128 DE44 SEEVEC RMB 2 |
0129 * |
0130 * SECTOR BUFFER |
0131 * |
0132 DE46 BUFFER RMB 256 |
0133 DF46 SYNCREG RMB 4 Prom input register |
0134 * |
0135 **************************************** |
0136 * |
0137 * START OF EXTENSION COMMANDS |
0138 * |
0139 **************************************** |
0140 * |
0141 F000 ORG MONEXT |
0142 F000 F7 BD FDB NEXTEXT Jump to next extended command |
0143 * |
0144 * |
0145 ***************************************** |
0146 * Disk drivers * |
0147 * ------------ * |
0148 * The system dependant code for the * |
0149 * disc drivers fits here. Two tables * |
0150 * must be included. These are DTYPTAB a * |
0151 * four byte table that defines which of * |
0152 * the (up to four) following sets of * |
0153 * jump tables to use, and TABSRT the * |
0154 * jump tables themselves. For a full * |
0155 * description of the floppy drivers see * |
0156 * section 4 (pp9-14) of the general * |
0157 * Flex adaptation guide. * |
0158 ***************************************** |
0159 * |
0160 * Mass storage drivers for embedded applications. |
0161 * |
0162 * Jump tables. |
0163 F002 F1 19 TABSRT FDB EREAD Drive type 0 (ROM disk). |
0164 F004 F1 41 FDB EWRITE |
0165 F006 F1 3F FDB ECHECK |
0166 F008 F1 3F FDB ECHECK |
0167 F00A F1 3F FDB ECHECK |
0168 F00C F1 3F FDB ECHECK |
0169 F00E F1 3F FDB ECHECK |
0170 F010 F0 52 FDB DDUMMY |
0171 F012 F0 52 FDB DDUMMY |
0172 F014 F0 52 FDB DDUMMY |
0173 * |
0174 F016 F1 19 FDB EREAD Drive type 1 (RAM disk). |
0175 F018 F1 41 FDB EWRITE |
0176 F01A F1 3F FDB ECHECK |
0177 F01C F1 3F FDB ECHECK |
0178 F01E F1 3F FDB ECHECK |
0179 F020 F1 3F FDB ECHECK |
0180 F022 F1 3F FDB ECHECK |
0181 F024 F0 52 FDB DDUMMY |
0182 F026 F0 52 FDB DDUMMY |
0183 F028 F0 52 FDB DDUMMY |
0184 * |
0185 F02A F0 52 FDB DDUMMY Drive type 2 (External Flash disk). |
0186 F02C F0 52 FDB DDUMMY |
0187 F02E F0 52 FDB DDUMMY |
0188 F030 F0 52 FDB DDUMMY |
0189 F032 F0 52 FDB DDUMMY |
0190 F034 F0 52 FDB DDUMMY |
0191 F036 F0 52 FDB DDUMMY |
0192 F038 F0 52 FDB DDUMMY |
0193 F03A F0 52 FDB DDUMMY |
0194 F03C F0 52 FDB DDUMMY |
0195 * |
0196 F03E F1 7A FDB NREAD Drive type 3 (NetPC drive via serial port). |
0197 F040 F1 E9 FDB NWRITE |
0198 F042 F2 49 FDB NVERIFY |
0199 F044 F2 4E FDB NCHECK |
0200 F046 F2 4E FDB NCHECK |
0201 F048 F2 4E FDB NCHECK |
0202 F04A F2 4E FDB NCHECK |
0203 F04C F0 52 FDB DDUMMY |
0204 F04E F0 52 FDB DDUMMY |
0205 F050 F0 52 FDB DDUMMY |
0206 * |
0207 * |
0208 * Dummy routine (no errors). |
0209 F052 5F DDUMMY CLRB |
0210 F053 5D TSTB Set (z)=1 |
0211 F054 1C FE ANDCC #$FF-CFLAG Set (c)=0 |
0212 F056 39 RTS |
0213 * * |
0214 ************************** |
0215 * Main Flex entry points * |
0216 ************************* |
0217 * |
0218 * Read sector routine. |
0219 * Entry: (X) = address where sector is to be placed. |
0220 * (A) = Track number. |
0221 * (B) = Sector number. |
0222 * Exit: (B) = Error code (z)=1 if no error. |
0223 F057 6E 9F DE 32 READSC JMP [REAVEC] |
0224 * |
0225 * Write track routine. |
0226 * Entry: (X) = Address of area of memory from which the data will be taken. |
0227 * (A) = Track number. |
0228 * (B) = Sector number. |
0229 * Exit: (B) = Error condition, (Z)=1 no an error. |
0230 F05B 6E 9F DE 34 WRITSC JMP [WRIVEC] |
0231 * |
0232 * Verify sector routine. |
0233 * Entry: no parameters. |
0234 * Exit: (B) = Error condition (Z)=1 if no error. |
0235 F05F 6E 9F DE 36 BUSY JMP [VERVEC] |
0236 * |
0237 * Restore drive to track 00. |
0238 * Entry: (X) = FCB address (3,X contains drive number). |
0239 * Exit: (B) = Error condition, (Z)=1 if no error. |
0240 F063 8D 07 RESTR1 BSR DRVSEL Select drive first. |
0241 F065 27 01 BEQ RST1 |
0242 F067 39 RTS |
0243 F068 6E 9F DE 38 RST1 JMP [RSTVEC] |
0244 * |
0245 * Select current drive. |
0246 * Entry: (X) = FCB address (3,X contains drive number). |
0247 * Exit: (B) = Error condition, (Z)=0 and (c)=1 if error. |
0248 * (B) = $0F if non existant drive. |
0249 F06C 34 30 DRVSEL PSHS X,Y |
0250 F06E E6 03 LDB 3,X Get driver type. |
0251 F070 F7 DE 1E STB DRVNUM |
0252 F073 8E DE 2A LDX #DTYPTAB |
0253 F076 A6 85 LDA B,X |
0254 F078 81 FF CMPA #$FF Is the drive nonexistant? |
0255 F07A 26 08 BNE DRIVE1 |
0256 F07C 35 30 PULS X,Y |
0257 F07E C6 0F LDB #$0F |
0258 F080 5D TSTB |
0259 F081 1A 01 ORCC #$01 |
0260 F083 39 RTS |
0261 * |
0262 F084 C6 14 DRIVE1 LDB #20 Get correct table start address. |
0263 F086 3D MUL |
0264 F087 8E F0 02 LDX #TABSRT |
0265 F08A 30 8B LEAX D,X |
0266 F08C 10 8E DE 32 LDY #REAVEC Copy table into ram. |
0267 F090 C6 14 LDB #20 |
0268 F092 A6 80 DRIVE2 LDA 0,X+ |
0269 F094 A7 A0 STA 0,Y+ |
0270 F096 5A DECB |
0271 F097 26 F9 BNE DRIVE2 |
0272 F099 35 30 PULS X,Y |
0273 F09B 6E 9F DE 3A JMP [DRVVEC] |
0274 * |
0275 * Check for drive ready. |
0276 * Entry: (X) = FCB address (3,X contains drive number)> |
0277 * Exit: (B) = Error condition, (Z)=0 AND (C)=1 if drive is not ready. |
0278 F09F 6E 9F DE 3C CHKRDY JMP [CHKVEC] |
0279 * |
0280 * Quick drive ready check. |
0281 * Entry: (X) = FCB address (3,X contains drive number). |
0282 * Exit: (B) = Error condition, (Z)=0 AND (c)=1 if drive not ready. |
0283 F0A3 6E 9F DE 3E CHKQIK JMP [QUIVEC] |
0284 * |
0285 * Init (cold start). |
0286 * Entry: no parameters. |
0287 * Exit: no change. |
0288 F0A7 4F DINIT CLRA |
0289 F0A8 B7 DE 1E DINIT1 STA DRVNUM Init each valid drive in turn. |
0290 F0AB 8E DE 1B LDX #DRVNUM-3 |
0291 F0AE 8D BC BSR DRVSEL |
0292 F0B0 25 04 BCS DINIT2 |
0293 F0B2 AD 9F DE 40 JSR [INIVEC] |
0294 F0B6 B6 DE 1E DINIT2 LDA DRVNUM |
0295 F0B9 4C INCA |
0296 F0BA 81 04 CMPA #4 |
0297 F0BC 26 EA BNE DINIT1 |
0298 F0BE 39 RTS |
0299 * |
0300 * Warm start. |
0301 * Entry: no parameters. |
0302 * Exit: no change. |
0303 F0BF 6E 9F DE 42 DWARM JMP [WARVEC] |
0304 * |
0305 * Seek track. |
0306 * Entry: (A) = Track number. |
0307 * (B) = Sector number. |
0308 * Exit: (B) = Error condition, (Z)=1 if no error. |
0309 F0C3 6E 9F DE 44 SEEKTS JMP [SEEVEC] |
0310 * |
0311 * |
0312 ***************************************************** |
0313 * ROMdisk drivers * |
0314 * --------------- * |
0315 * Drivers to support a ROMdisk in the external RAM * |
0316 * of the SYS09. The ROMdisk base address is $10000 * |
0317 ***************************************************** |
0318 * Dummy return for ROM disk (write protected!) |
0319 * |
0320 * MAP RAM DISK INTO MEMORY SPACE |
0321 * |
0322 F0C7 1F A8 MAPIN TFR CC,A ; Save state of interrupt masks |
0323 F0C9 B7 DE 22 STA CCSAVE |
0324 F0CC 1A 50 ORCC #FFLAG+IFLAG ; Mask interrupts while IO mapped out |
0325 F0CE CE DE 2A LDU #DTYPTAB ; Point to Drive Type table |
0326 F0D1 F6 DE 1E LDB DRVNUM ; Get working drive number |
0327 F0D4 E6 C5 LDB B,U |
0328 F0D6 CE DE 2E LDU #DOFFTAB |
0329 F0D9 B6 DE 1F LDA TRACK |
0330 F0DC AB C5 ADDA B,U ; Add Base offset into RAM |
0331 F0DE 84 F0 ANDA #$F0 ; Mask MSN |
0332 F0E0 A7 E2 STA ,-S ; Save A on stack |
0333 * |
0334 F0E2 B6 DE 20 LDA SECTOR |
0335 F0E5 80 01 SUBA #1 ; Sectors 1 to 14 => 0 to 13 |
0336 F0E7 88 0F EORA #$0F ; Complement LSNybble |
0337 F0E9 84 0F ANDA #$0F |
0338 * |
0339 F0EB AB E0 ADDA ,S+ ; Add sector to LSN of Track and pop |
0340 F0ED B7 FF F0 STA DATREG+MAPPAG |
0341 * |
0342 F0F0 B6 DE 1F LDA TRACK ; LSN of Track indexes into 4K page |
0343 F0F3 84 0F ANDA #$0F |
0344 F0F5 8B 00 ADDA #MAPPAG*16 |
0345 F0F7 5F CLRB |
0346 F0F8 1F 03 TFR D,U |
0347 F0FA 39 RTS |
0348 * |
0349 * MAP RAM DISK OUT OF MEMORY |
0350 * |
0351 F0FB 86 00 MAPOUT LDA #MAPPAG ; Point to the Flex page |
0352 F0FD 88 0F EORA #$0F ; Complement LSNybble |
0353 F0FF B7 FF F0 STA DATREG+MAPPAG ; map in Flex page |
0354 F102 B6 DE 22 LDA CCSAVE ; restore interrupt masks |
0355 F105 1F 8A TFR A,CC |
0356 F107 39 RTS |
0357 * |
0358 * Seek track and sector |
0359 * A holds track number (0-32) |
0360 * B holds sector number (1-14) |
0361 * |
0362 F108 B7 DE 1F ESEEK STA TRACK |
0363 F10B F7 DE 20 STB SECTOR |
0364 F10E 1C FE ANDCC #$FE ; CLEAR CARRY |
0365 F110 1A 04 ORCC #$04 ; SET Z |
0366 F112 39 RTS |
0367 * |
0368 * MARK DISK READ ONLY |
0369 * |
0370 F113 C6 40 EDUMMY LDB #$40 |
0371 F115 5D TSTB |
0372 F116 1A 01 ORCC #$01 |
0373 F118 39 RTS |
0374 * |
0375 F119 34 70 EREAD PSHS X,Y,U push sequentialy to preserve order on stack |
0376 F11B 17 FF EA LBSR ESEEK |
0377 F11E 17 FF A6 LBSR MAPIN build external ram address |
0378 * |
0379 F121 10 8E DE 46 LDY #BUFFER |
0380 F125 5F CLRB |
0381 F126 A6 C0 ERLOOP1 LDA 0,U+ move 256 bytes to buffer from external RAM |
0382 F128 A7 A0 STA 0,Y+ |
0383 F12A 5A DECB |
0384 F12B 26 F9 BNE ERLOOP1 |
0385 * |
0386 F12D 17 FF CB LBSR MAPOUT |
0387 * |
0388 F130 10 8E DE 46 LDY #BUFFER |
0389 F134 5F CLRB |
0390 F135 A6 A0 ERLOOP2 LDA 0,Y+ move 256 bytes from buffer to Flex RAM |
0391 F137 A7 80 STA 0,X+ |
0392 F139 5A DECB |
0393 F13A 26 F9 BNE ERLOOP2 |
0394 * |
0395 F13C 5F CLRB |
0396 F13D 35 F0 PULS X,Y,U,PC restore all registers |
0397 * |
0398 * check for marker bytes $AA55 in first bytes of first track/sector |
0399 * |
0400 *ECHECK CLRA |
0401 * LDB #1 |
0402 * LDX #BUFFER |
0403 * BSR EREAD |
0404 * LDD BUFFER |
0405 * CMPD #$AA55 |
0406 * BNE EERR |
0407 * LBRA DDUMMY |
0408 *EERR LDB #$80 not ready bit set |
0409 * TSTB |
0410 * ORCC #$01 |
0411 * RTS |
0412 F13F 5F ECHECK CLRB |
0413 F140 39 RTS |
0414 * |
0415 * Write Sector |
0416 * |
0417 F141 34 70 EWRITE PSHS X,Y,U |
0418 F143 17 FF C2 LBSR ESEEK |
0419 F146 CE DE 2A LDU #DTYPTAB ; Point to Drive Type table |
0420 F149 F6 DE 1E LDB DRVNUM ; Get working drive number |
0421 F14C E6 C5 LDB B,U ; Fetch Drive type |
0422 F14E C1 01 CMPB #DTYPRAM ; Is it a RAM Disk ? |
0423 F150 27 07 BEQ EWOK ; Yep, can write to it |
0424 F152 C1 00 CMPB #DTYPROM ; Allow writes to ROM Disk too |
0425 F154 27 03 BEQ EWOK |
0426 F156 16 FF BA LBRA EDUMMY ; Nope report read only |
0427 * |
0428 F159 10 8E DE 46 EWOK LDY #BUFFER |
0429 F15D 5F CLRB |
0430 F15E A6 80 EWLOOP1 LDA 0,X+ move 256 bytes to buffer from Flex RAM |
0431 F160 A7 A0 STA 0,Y+ |
0432 F162 5A DECB |
0433 F163 26 F9 BNE EWLOOP1 |
0434 * |
0435 F165 17 FF 5F LBSR MAPIN |
0436 * |
0437 F168 10 8E DE 46 LDY #BUFFER |
0438 F16C 5F CLRB |
0439 F16D A6 A0 EWLOOP2 LDA 0,Y+ move 256 bytes from buffer to external RAM |
0440 F16F A7 C0 STA 0,U+ |
0441 F171 5A DECB |
0442 F172 26 F9 BNE EWLOOP2 |
0443 * |
0444 F174 17 FF 84 LBSR MAPOUT |
0445 * |
0446 F177 5F CLRB |
0447 F178 35 F0 PULS X,Y,U,PC |
0448 * |
0449 * |
0450 ***************************************************** |
0451 * FlexNet drivers * |
0452 * --------------- * |
0453 * Drivers to support a remote connection via the * |
0454 * serial port using the FlexNet protocol as defined * |
0455 * in FLEXNet_421B * |
0456 ***************************************************** |
0457 * |
0458 * |
0459 * read sector from remote drive |
0460 * |
0461 F17A 34 04 NREAD PSHS B |
0462 F17C 34 02 PSHS A |
0463 F17E 7F DE 21 CLR CHKSUM clear checksum |
0464 F181 7F DE 22 CLR CHKSUM+1 |
0465 * |
0466 F184 86 73 LDA #'s Send read sector command |
0467 F186 BD F2 85 JSR SCHAR |
0468 F189 24 4C BCC NRD_DNR if timeout, then flag drive not ready |
0469 * |
0470 F18B B6 DE 1E LDA DRVNUM send drive |
0471 F18E BD F2 85 JSR SCHAR |
0472 F191 24 44 BCC NRD_DNR |
0473 * |
0474 F193 35 02 PULS A send track |
0475 F195 BD F2 85 JSR SCHAR |
0476 F198 24 3D BCC NRD_DNR |
0477 * |
0478 F19A 35 02 PULS A send sector |
0479 F19C BD F2 85 JSR SCHAR |
0480 F19F 24 36 BCC NRD_DNR |
0481 * |
0482 * transfer 256 bytes |
0483 F1A1 5F CLRB |
0484 F1A2 BD F2 67 NREAD1 JSR RCHAR read byte |
0485 F1A5 24 30 BCC NRD_DNR if timeout, then flag drive not ready |
0486 F1A7 A7 80 STA 0,X+ |
0487 F1A9 BB DE 22 ADDA CHKSUM+1 update checksum |
0488 F1AC B7 DE 22 STA CHKSUM+1 |
0489 F1AF 24 03 BCC NREAD2 |
0490 F1B1 7C DE 21 INC CHKSUM |
0491 F1B4 5A NREAD2 DECB |
0492 F1B5 26 EB BNE NREAD1 |
0493 * |
0494 * compare checksums |
0495 F1B7 BD F2 67 JSR RCHAR get checksum msb |
0496 F1BA 24 1B BCC NRD_DNR |
0497 F1BC 34 02 PSHS A |
0498 F1BE BD F2 67 JSR RCHAR get checksum lsb |
0499 F1C1 24 14 BCC NRD_DNR |
0500 F1C3 1F 89 TFR A,B |
0501 F1C5 35 02 PULS A |
0502 F1C7 10 B3 DE 21 CMPD CHKSUM compare checksums |
0503 F1CB 26 0E BNE NRD_ERR if checksum error, then flag crc read error |
0504 * |
0505 F1CD 86 06 LDA #ACK no checksum error, send ACK char |
0506 F1CF BD F2 85 JSR SCHAR |
0507 F1D2 24 03 BCC NRD_DNR |
0508 F1D4 5F CLRB all OK, flag no error |
0509 F1D5 20 0D BRA NRD_END |
0510 * |
0511 F1D7 C6 10 NRD_DNR LDB #16 flag drive not ready |
0512 F1D9 20 09 BRA NRD_END |
0513 * |
0514 F1DB 86 15 NRD_ERR LDA #NAK send NAK |
0515 F1DD BD F2 85 JSR SCHAR |
0516 F1E0 24 F5 BCC NRD_DNR |
0517 F1E2 C6 09 LDB #09 flag crc read error |
0518 * |
0519 F1E4 F7 DE 21 NRD_END STB CHKSUM used by VERIFY |
0520 F1E7 5D TSTB |
0521 F1E8 39 RTS |
0522 * |
0523 * |
0524 * write sector to remote drive |
0525 * |
0526 F1E9 34 04 NWRITE PSHS B |
0527 F1EB 34 02 PSHS A |
0528 F1ED 7F DE 21 CLR CHKSUM clear checksum |
0529 F1F0 7F DE 22 CLR CHKSUM+1 |
0530 * |
0531 F1F3 86 72 LDA #'r Send write sector command |
0532 F1F5 BD F2 85 JSR SCHAR |
0533 F1F8 24 DD BCC NRD_DNR if timeout, then flag drive not ready |
0534 * |
0535 F1FA B6 DE 1E LDA DRVNUM send drive |
0536 F1FD BD F2 85 JSR SCHAR |
0537 F200 24 D5 BCC NRD_DNR |
0538 * |
0539 F202 35 02 PULS A send track |
0540 F204 BD F2 85 JSR SCHAR |
0541 F207 24 CE BCC NRD_DNR |
0542 * |
0543 F209 35 02 PULS A send sector |
0544 F20B BD F2 85 JSR SCHAR |
0545 F20E 24 C7 BCC NRD_DNR |
0546 * |
0547 * transfer 256 bytes |
0548 F210 5F CLRB |
0549 F211 A6 80 NWRITE1 LDA 0,X+ |
0550 F213 BD F2 85 JSR SCHAR write byte |
0551 F216 24 BF BCC NRD_DNR if timeout, then flag drive not ready |
0552 F218 BB DE 22 ADDA CHKSUM+1 update checksum |
0553 F21B B7 DE 22 STA CHKSUM+1 |
0554 F21E 24 03 BCC NWRITE2 |
0555 F220 7C DE 21 INC CHKSUM |
0556 F223 5A NWRITE2 DECB |
0557 F224 26 EB BNE NWRITE1 |
0558 * |
0559 * compare checksums |
0560 F226 B6 DE 21 LDA CHKSUM |
0561 F229 BD F2 85 JSR SCHAR send checksum msb |
0562 F22C 24 A9 BCC NRD_DNR |
0563 F22E B6 DE 22 LDA CHKSUM+1 |
0564 F231 BD F2 85 JSR SCHAR send checksum lsb |
0565 F234 24 A1 BCC NRD_DNR |
0566 * |
0567 F236 BD F2 67 JSR RCHAR get checksum response |
0568 F239 24 9C BCC NRD_DNR |
0569 F23B 81 06 CMPA #ACK |
0570 F23D 26 03 BNE NWR_ERR if checksum error, then flag write error |
0571 * |
0572 F23F 5F CLRB all OK, flag no error |
0573 F240 20 02 BRA NWR_END |
0574 * |
0575 F242 C6 0A NWR_ERR LDB #10 flag write error |
0576 * |
0577 F244 F7 DE 21 NWR_END STB CHKSUM used by VERIFY |
0578 F247 5D TSTB |
0579 F248 39 RTS |
0580 * |
0581 * |
0582 * verify last sector written to remote drive |
0583 * |
0584 F249 F6 DE 21 NVERIFY LDB CHKSUM test last checksum |
0585 F24C 5D TSTB |
0586 F24D 39 RTS |
0587 * |
0588 * |
0589 * quck check and check drive ready |
0590 * |
0591 F24E 86 51 NCHECK LDA #'Q quick check command |
0592 F250 BD F2 85 JSR SCHAR |
0593 F253 24 0C BCC NCK_ERR if timeout, then flag drive not ready |
0594 |
0595 F255 BD F2 67 JSR RCHAR get response from host |
0596 F258 24 07 BCC NCK_ERR |
0597 F25A 81 06 CMPA #ACK |
0598 F25C 26 03 BNE NCK_ERR if NAK, then flag drive not ready |
0599 |
0600 F25E 5F CLRB all OK, flag drive ready |
0601 F25F 20 04 BRA NCK_END |
0602 * |
0603 F261 C6 10 NCK_ERR LDB #16 report drive not ready |
0604 F263 1A 01 ORCC #$01 check needs carry set as well |
0605 * |
0606 F265 5D NCK_END TSTB |
0607 F266 39 RTS |
0608 * |
0609 * |
0610 * recieve char from remote drive. |
0611 * timeout if no response for approx 1s. |
0612 * Entry: no parameters |
0613 * Exit: (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout. |
0614 * |
0615 F267 34 30 RCHAR PSHS X,Y |
0616 * |
0617 F269 8E 03 E8 LDX #1000 1000x inner loop |
0618 F26C 10 8E 04 E2 RCHAR1 LDY #DELCON delay constant for inner loop (approx 1ms). |
0619 F270 B6 E0 00 RCHAR2 LDA ACIAC1 test for recieved char |
0620 F273 47 ASRA |
0621 F274 25 0A BCS RCHAR3 get character |
0622 F276 31 3F LEAY -1,Y else, continue to count delay |
0623 F278 26 F6 BNE RCHAR2 |
0624 F27A 30 1F LEAX -1,X |
0625 F27C 26 EE BNE RCHAR1 |
0626 F27E 35 B0 PULS X,Y,PC return with error if timed out |
0627 * |
0628 F280 B6 E0 01 RCHAR3 LDA ACIAD1 return data (carry bit still set) |
0629 F283 35 B0 PULS X,Y,PC |
0630 * |
0631 * |
0632 * transmit char to remote drive. |
0633 * timeout if no response for approx 1s. (allows for use of hardware flow control) |
0634 * Entry: (A) = char to transmit |
0635 * Exit: (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout. |
0636 * |
0637 F285 34 30 SCHAR PSHS X,Y |
0638 F287 34 02 PSHS A |
0639 * |
0640 F289 8E 03 E8 LDX #1000 1000x inner loop |
0641 F28C 10 8E 04 E2 SCHAR1 LDY #DELCON delay constant for inner loop (approx 1ms). |
0642 F290 B6 E0 00 SCHAR2 LDA ACIAC1 test for space in transmit FIFO |
0643 F293 47 ASRA |
0644 F294 47 ASRA |
0645 F295 25 0C BCS SCHAR3 send character |
0646 F297 31 3F LEAY -1,Y else, continue to count delay |
0647 F299 26 F5 BNE SCHAR2 |
0648 F29B 30 1F LEAX -1,X |
0649 F29D 26 ED BNE SCHAR1 |
0650 F29F 35 02 PULS A |
0651 F2A1 35 B0 PULS X,Y,PC return with error if timed out |
0652 * |
0653 F2A3 35 02 SCHAR3 PULS A |
0654 F2A5 B7 E0 01 STA ACIAD1 send data (carry bit still set) |
0655 F2A8 35 B0 PULS X,Y,PC |
0656 * |
0657 ** 'UF' Format RAMdisc to FLEX standard. |
0658 * |
0659 F2AA 0A 0D DISFOS FCB $0A,$0D |
0660 F2AC 46 6F 72 6D 61 74 FCC 'Formating RAMdisk... ' |
69 6E 67 20 52 41 |
4D 64 69 73 6B 2E |
2E 2E 20 |
0661 F2C1 04 FCB 4 |
0662 F2C2 0A 0D 04 MESS6 FCB $0A,$0D,4 |
0663 F2C5 52 61 6D 64 69 73 FCC 'Ramdisk not allocated! ' |
6B 20 6E 6F 74 20 |
61 6C 6C 6F 63 61 |
74 65 64 21 20 |
0664 F2DC 04 FCB 4 |
0665 * |
0666 F2DD 8E F2 AA UFSUB LDX #DISFOS |
0667 F2E0 BD F4 6A JSR PDATA1 |
0668 F2E3 8E DE 2A LDX #DTYPTAB search for allocated ramdisk |
0669 F2E6 5F CLRB |
0670 F2E7 A6 85 FMT9 LDA B,X |
0671 F2E9 81 01 CMPA #DTYPRAM driver type 1 is ramdisk |
0672 F2EB 27 0C BEQ FFOUND |
0673 F2ED 5C INCB |
0674 F2EE C1 04 CMPB #4 end of table? then not allocated. |
0675 F2F0 26 F5 BNE FMT9 |
0676 F2F2 8E F2 C2 LDX #MESS6 |
0677 F2F5 BD F4 6A JSR PDATA1 |
0678 F2F8 39 RTS |
0679 * |
0680 F2F9 F7 DE 1E FFOUND STB DRVNUM |
0681 F2FC 8E DE 1B LDX #DRVNUM-3 |
0682 F2FF BD F0 6C JSR DRVSEL |
0683 * |
0684 * set up free chain |
0685 * |
0686 F302 8E DE 46 LDX #BUFFER clear out buffer |
0687 F305 4F CLRA |
0688 F306 5F CLRB |
0689 F307 A7 80 DFL1 STA 0,X+ |
0690 F309 5A DECB |
0691 F30A 26 FB BNE DFL1 |
0692 * |
0693 F30C 7F DE 1F CLR TRACK |
0694 F30F 86 01 LDA #1 |
0695 F311 B7 DE 20 STA SECTOR |
0696 F314 8E DE 46 DFL2 LDX #BUFFER |
0697 F317 B6 DE 1F LDA TRACK |
0698 F31A A7 84 STA 0,X |
0699 F31C B6 DE 20 LDA SECTOR |
0700 F31F 4C INCA |
0701 F320 81 0F CMPA #RMAXSEC+1 last sector on track? |
0702 F322 26 04 BNE DFL3 |
0703 F324 6C 84 INC 0,X |
0704 F326 86 01 LDA #1 |
0705 F328 A7 01 DFL3 STA 1,X |
0706 F32A B6 DE 1F LDA TRACK |
0707 F32D F6 DE 20 LDB SECTOR |
0708 F330 BD F0 5B JSR WRITSC |
0709 F333 7C DE 20 INC SECTOR |
0710 F336 B6 DE 20 LDA SECTOR |
0711 F339 81 0F CMPA #RMAXSEC+1 |
0712 F33B 26 D7 BNE DFL2 |
0713 F33D 86 01 LDA #1 |
0714 F33F B7 DE 20 STA SECTOR |
0715 F342 7C DE 1F INC TRACK |
0716 F345 B6 DE 1F LDA TRACK |
0717 F348 81 C0 CMPA #RMAXTRK |
0718 F34A 26 C8 BNE DFL2 |
0719 * break free chain at last track/sector |
0720 F34C 8E DE 46 LDX #BUFFER |
0721 F34F 86 BF LDA #RMAXTRK-1 |
0722 F351 C6 0E LDB #RMAXSEC |
0723 F353 BD F0 57 JSR READSC |
0724 F356 8E DE 46 LDX #BUFFER |
0725 F359 6F 84 CLR 0,X |
0726 F35B 6F 01 CLR 1,X |
0727 F35D 86 BF LDA #RMAXTRK-1 |
0728 F35F C6 0E LDB #RMAXSEC |
0729 F361 BD F0 5B JSR WRITSC |
0730 * set up sector structure, SIR, directory etc |
0731 F364 8E DE 46 LDX #BUFFER |
0732 F367 4F CLRA |
0733 F368 C6 0E LDB #RMAXSEC |
0734 F36A BD F0 57 JSR READSC |
0735 F36D 8E DE 46 LDX #BUFFER |
0736 F370 6F 84 CLR 0,X break end of directory chain |
0737 F372 6F 01 CLR 1,X |
0738 F374 4F CLRA |
0739 F375 C6 0E LDB #RMAXSEC |
0740 F377 BD F0 5B JSR WRITSC |
0741 * |
0742 F37A 8E DE 46 LDX #BUFFER |
0743 F37D 4F CLRA |
0744 F37E C6 03 LDB #3 set up SIR |
0745 F380 BD F0 57 JSR READSC |
0746 F383 8E DE 46 LDX #BUFFER |
0747 F386 6F 84 CLR 0,X break forward link |
0748 F388 6F 01 CLR 1,X |
0749 F38A CC 52 41 LDD #$5241 set volume name (RAMDISK ) |
0750 F38D ED 88 10 STD 16,X |
0751 F390 CC 4D 44 LDD #$4D44 |
0752 F393 ED 88 12 STD 18,X |
0753 F396 CC 49 53 LDD #$4953 |
0754 F399 ED 88 14 STD 20,X |
0755 F39C CC 4B 20 LDD #$4B20 |
0756 F39F ED 88 16 STD 22,X |
0757 F3A2 CC 00 01 LDD #1 volume number |
0758 F3A5 ED 88 1B STD 27,X |
0759 F3A8 CC 01 01 LDD #$0101 first trk/sec 01-01 |
0760 F3AB ED 88 1D STD 29,X |
0761 F3AE 86 BF LDA #RMAXTRK-1 |
0762 F3B0 C6 0E LDB #RMAXSEC |
0763 F3B2 ED 88 1F STD 31,X |
0764 F3B5 ED 88 26 STD 38,X |
0765 F3B8 CC 0A 72 LDD #RTOTSEC total DATA sectors (2912-14) |
0766 F3BB ED 88 21 STD 33,X |
0767 * |
0768 F3BE 86 01 LDA #01 month set default creation date (SYS09's birthday!) |
0769 F3C0 A7 88 23 STA 35,X |
0770 F3C3 86 07 LDA #07 day |
0771 F3C5 A7 88 24 STA 36,X |
0772 F3C8 86 07 LDA #07 year |
0773 F3CA A7 88 25 STA 37,X |
0774 * |
0775 F3CD 4F RF3 CLRA |
0776 F3CE C6 03 LDB #3 |
0777 F3D0 BD F0 5B JSR WRITSC |
0778 * |
0779 F3D3 8E DE 46 LDX #BUFFER |
0780 F3D6 4F CLRA |
0781 F3D7 C6 01 LDB #1 |
0782 F3D9 BD F0 57 JSR READSC |
0783 F3DC 8E DE 46 LDX #BUFFER |
0784 F3DF 86 AA LDA #$AA set the init flag |
0785 F3E1 A7 84 STA 0,X |
0786 F3E3 86 55 LDA #$55 |
0787 F3E5 A7 01 STA 1,X |
0788 F3E7 4F CLRA |
0789 F3E8 C6 01 LDB #1 |
0790 F3EA 7E F0 5B JMP WRITSC |
0791 * |
0792 ******************************** |
0793 * System specific Boot * |
0794 * command goes here. * |
0795 ******************************** |
0796 * |
0797 * Boot FLEX from the FPGA's internal pre-loaded scratch RAM |
0798 * |
0799 F3ED 08 08 UBMESS FCB $08, $08 |
0800 F3EF 42 6F 6F 74 69 6E FCC 'Booting internal FLEX....' |
67 20 69 6E 74 65 |
72 6E 61 6C 20 46 |
4C 45 58 2E 2E 2E |
2E |
0801 F408 0D 0A 04 FCB $0D,$0A,$04 |
0802 * |
0803 F40B 8E F3 ED UBSUB LDX #UBMESS |
0804 F40E BD F4 6A JSR PDATA1 |
0805 * |
0806 F411 8E D3 E5 LDX #$D3E5 |
0807 F414 10 8E F4 34 LDY #CONTAB Overlay console driver table |
0808 F418 EC A1 UB1 LDD 0,Y++ |
0809 F41A ED 81 STD 0,X++ |
0810 F41C 8C D3 FD CMPX #$D3FD |
0811 F41F 26 F7 BNE UB1 |
0812 * |
0813 F421 8E DE 00 LDX #$DE00 Overlay disk driver table |
0814 F424 10 8E F4 4C LDY #DISTAB |
0815 F428 EC A1 UB2 LDD 0,Y++ |
0816 F42A ED 81 STD 0,X++ |
0817 F42C 8C DE 1E CMPX #$DE1E |
0818 F42F 26 F7 BNE UB2 |
0819 * |
0820 F431 7E CD 00 UBEND JMP $CD00 |
0821 * |
0822 * FLEX console jump table. |
0823 F434 F4 76 CONTAB FDB INPNE INPUT NO ECHO |
0824 F436 F4 82 FDB DUMMY INTERRUPT HANDLER |
0825 F438 DF C2 FDB MONRAM+$02 SWI VECTOR |
0826 F43A DF C8 FDB MONRAM+$08 IRQ VECTOR |
0827 F43C F4 82 FDB DUMMY TIMER OFF |
0828 F43E F4 82 FDB DUMMY TIMER ON |
0829 F440 F4 82 FDB DUMMY TIMER INITIALIZATION |
0830 F442 F4 7E FDB CONTRL MONITOR |
0831 F444 F4 82 FDB DUMMY TERMINAL INITIALIZATION |
0832 F446 F4 7A FDB STATUS INPUT CHECK |
0833 F448 F4 6E FDB OUTP TERMINAL OUTPUT |
0834 F44A F4 72 FDB INPE TERMINAL INPUT WITH ECHO |
0835 * |
0836 * FLEX disk jump table. |
0837 F44C 7E F0 57 DISTAB JMP READSC |
0838 F44F 7E F0 5B JMP WRITSC |
0839 F452 7E F0 5F JMP BUSY |
0840 F455 7E F0 63 JMP RESTR1 |
0841 F458 7E F0 6C JMP DRVSEL |
0842 F45B 7E F0 9F JMP CHKRDY |
0843 F45E 7E F0 A3 JMP CHKQIK |
0844 F461 7E F0 A7 JMP DINIT |
0845 F464 7E F0 BF JMP DWARM |
0846 F467 7E F0 C3 JMP SEEKTS |
0847 * |
0848 * Monitor jumps |
0849 * |
0850 F46A 6E 9F F8 0C PDATA1 JMP [PDATAV] |
0851 F46E 6E 9F F8 0A OUTP JMP [OUTCHV] |
0852 F472 6E 9F F8 06 INPE JMP [INCHEV] |
0853 F476 6E 9F F8 04 INPNE JMP [INCHV] |
0854 F47A 6E 9F F8 08 STATUS JMP [INCHKV] |
0855 F47E 6E 9F F8 00 CONTRL JMP [MONITV] |
0856 F482 39 DUMMY RTS |
0857 * |
0858 ** 'UL' LOAD ROM DISK VIA SERIAL PORT |
0859 * |
0860 F483 53 65 72 69 61 6C ULMES FCC 'Serial ROM Disk upload ...' |
20 52 4F 4D 20 44 |
69 73 6B 20 75 70 |
6C 6F 61 64 20 2E |
2E 2E |
0861 F49D 0D 0A 04 FCB $0D,$0A,$04 |
0862 F4A0 52 4F 4D 20 44 69 ULMES1 FCC 'ROM Disk Loaded' |
73 6B 20 4C 6F 61 |
64 65 64 |
0863 F4AF 0D 0A 04 FCB $0D,$0A,$04 |
0864 * |
0865 F4B2 8E F4 83 ULSUB LDX #ULMES |
0866 F4B5 BD F4 6A JSR PDATA1 |
0867 * |
0868 F4B8 86 00 LDA #$00 |
0869 F4BA B7 DE 1E STA DRVNUM |
0870 F4BD 4F CLRA TRACK 0 |
0871 F4BE C6 01 LDB #$01 SECTOR 1 |
0872 F4C0 B7 DE 1F ULLOOP0 STA TRACK |
0873 F4C3 F7 DE 20 STB SECTOR` |
0874 F4C6 17 FB FE LBSR MAPIN |
0875 * |
0876 F4C9 5F CLRB xfer 256 bytes at a time. |
0877 F4CA BD F4 ED ULLOOP1 JSR LRBYTE transfer should be hex bytes |
0878 F4CD A7 C0 STA ,U+ |
0879 F4CF 5A DECB |
0880 F4D0 26 F8 BNE ULLOOP1 |
0881 * |
0882 F4D2 17 FC 26 LBSR MAPOUT |
0883 * |
0884 F4D5 B6 DE 1F LDA TRACK |
0885 F4D8 F6 DE 20 LDB SECTOR |
0886 F4DB 5C INCB |
0887 F4DC C1 0F CMPB #EMAXSEC+1 |
0888 F4DE 26 E0 BNE ULLOOP0 |
0889 F4E0 C6 01 LDB #1 |
0890 F4E2 4C INCA |
0891 F4E3 81 30 CMPA #EMAXTRK |
0892 F4E5 26 D9 BNE ULLOOP0 |
0893 * |
0894 F4E7 8E F4 A0 ULEXIT LDX #ULMES1 |
0895 F4EA 7E F4 6A JMP PDATA1 |
0896 * |
0897 * Read a byte from the serial port |
0898 * |
0899 F4ED 34 04 LRBYTE PSHS B |
0900 F4EF 8D 0E BSR LRHEX Get hex digit. |
0901 F4F1 48 ASLA |
0902 F4F2 48 ASLA Shift to msb. |
0903 F4F3 48 ASLA |
0904 F4F4 48 ASLA |
0905 F4F5 1F 89 TFR A,B Save in B. |
0906 F4F7 8D 06 BSR LRHEX Get next digit. |
0907 F4F9 34 04 PSHS B |
0908 F4FB AB E0 ADDA 0,S+ Add together bytes. |
0909 F4FD 35 84 PULS B,PC |
0910 * |
0911 F4FF BD F5 28 LRHEX JSR INTER |
0912 F502 29 FB BVS LRHEX |
0913 F504 80 30 SUBA #$30 Remove ascii bias. |
0914 F506 2B F7 BMI LRHEX |
0915 F508 81 09 CMPA #$09 Number? |
0916 F50A 2F 0A BLE LRHEX1 Yes. |
0917 F50C 81 11 CMPA #$11 Keep testing. |
0918 F50E 2B EF BMI LRHEX |
0919 F510 81 16 CMPA #$16 |
0920 F512 2E EB BGT LRHEX |
0921 F514 80 07 SUBA #$07 |
0922 F516 39 LRHEX1 RTS |
0923 * |
0924 * ACIA INPUT TEST |
0925 * |
0926 F517 B6 E0 00 INTEST LDA ACIAC1 |
0927 F51A 85 01 BITA #$01 |
0928 F51C 39 RTS |
0929 * |
0930 * RESET ACIA |
0931 * |
0932 F51D 86 03 ACIRST LDA #$03 master reset |
0933 F51F B7 E0 00 STA ACIAC1 |
0934 F522 86 11 LDA #$11 |
0935 F524 B7 E0 00 STA ACIAC1 |
0936 F527 39 RTS |
0937 * |
0938 * ACIA INPUT |
0939 * |
0940 F528 86 10 INTER LDA #16 |
0941 F52A B7 DE 27 STA DELCNT+0 |
0942 F52D 7F DE 28 CLR DELCNT+1 |
0943 F530 7F DE 29 CLR DELCNT+2 |
0944 F533 B6 E0 00 INTER0 LDA ACIAC1 |
0945 F536 85 01 BITA #$01 |
0946 F538 26 08 BNE INTER1 |
0947 F53A 85 78 BITA #$78 |
0948 F53C 27 0A BEQ INTER2 |
0949 F53E 8D DD BSR ACIRST |
0950 F540 20 E6 BRA INTER |
0951 * |
0952 F542 B6 E0 01 INTER1 LDA ACIAD1 |
0953 F545 1C 02 ANDCC #VFLAG |
0954 F547 39 RTS |
0955 * |
0956 F548 7A DE 29 INTER2 DEC DELCNT+2 |
0957 F54B 26 E6 BNE INTER0 |
0958 F54D 7A DE 28 DEC DELCNT+1 |
0959 F550 26 E1 BNE INTER0 |
0960 F552 7A DE 27 DEC DELCNT+0 |
0961 F555 26 DC BNE INTER0 |
0962 F557 4F CLRA |
0963 F558 1A 02 ORCC #VFLAG |
0964 F55A 39 RTS |
0965 * |
0966 * ACIA OUTPUT |
0967 * |
0968 F55B 34 02 OUTTER PSHS A |
0969 * |
0970 F55D B6 E0 00 OUTTE1 LDA ACIAC1 |
0971 F560 85 02 BITA #$02 |
0972 F562 26 08 BNE OUTTE2 |
0973 F564 85 78 BITA #$78 |
0974 F566 27 F5 BEQ OUTTE1 |
0975 F568 8D B3 BSR ACIRST |
0976 F56A 20 F1 BRA OUTTE1 |
0977 * |
0978 F56C 35 02 OUTTE2 PULS A |
0979 F56E B7 E0 01 STA ACIAD1 |
0980 F571 39 RTS |
0981 * |
0982 ** 'UX' Xmodem ROM Disk upload |
0983 * |
0984 F572 0D 0A UXMES FCB $0D,$0A |
0985 F574 58 6D 6F 64 65 6D FCC 'Xmodem ROM Disk Upload' |
20 52 4F 4D 20 44 |
69 73 6B 20 55 70 |
6C 6F 61 64 |
0986 F58A 04 FCB 4 |
0987 F58B 0D 0A UXMES1 FCB $0D,$0A |
0988 F58D 55 70 6C 6F 61 64 FCC 'Upload Complete' |
20 43 6F 6D 70 6C |
65 74 65 |
0989 F59C 04 FCB 4 |
0990 F59D 0D 0A UXMES2 FCB $0D,$0A |
0991 F59F 55 70 6C 6F 61 64 FCC 'Upload Error' |
20 45 72 72 6F 72 |
0992 F5AB 04 FCB 4 |
0993 * |
0994 F5AC 8E F5 72 UXSUB LDX #UXMES |
0995 F5AF 17 FE B8 LBSR PDATA1 |
0996 * |
0997 F5B2 86 01 LDA #1 |
0998 F5B4 B7 DE 23 STA BLKNUM |
0999 F5B7 8E F6 1A LDX #XSTSTR |
1000 F5BA BF DE 25 STX XSTATE |
1001 * |
1002 F5BD 86 00 LDA #$00 |
1003 F5BF B7 DE 1E STA DRVNUM |
1004 F5C2 4F CLRA TRACK 0 |
1005 F5C3 C6 01 LDB #$01 SECTOR 1 |
1006 F5C5 B7 DE 1F UXLOOP0 STA TRACK |
1007 F5C8 F7 DE 20 STB SECTOR |
1008 F5CB 17 FA F9 LBSR MAPIN |
1009 * |
1010 F5CE 5F CLRB xfer 256 bytes at a time. |
1011 F5CF 17 00 2B UXLOOP1 LBSR XBYTE transfer should be hex bytes |
1012 F5D2 25 20 BCS UXERR |
1013 F5D4 A7 C0 STA ,U+ |
1014 F5D6 5A DECB |
1015 F5D7 26 F6 BNE UXLOOP1 |
1016 * |
1017 F5D9 17 FB 1F LBSR MAPOUT |
1018 * |
1019 F5DC B6 DE 1F LDA TRACK |
1020 F5DF F6 DE 20 LDB SECTOR |
1021 F5E2 5C INCB |
1022 F5E3 C1 0F CMPB #EMAXSEC+1 |
1023 F5E5 26 DE BNE UXLOOP0 |
1024 F5E7 C6 01 LDB #1 |
1025 F5E9 4C INCA |
1026 F5EA 81 30 CMPA #EMAXTRK |
1027 F5EC 26 D7 BNE UXLOOP0 |
1028 * |
1029 F5EE 8E F5 8B UXEXIT LDX #UXMES1 |
1030 F5F1 7E F4 6A JMP PDATA1 |
1031 * |
1032 F5F4 17 FB 04 UXERR LBSR MAPOUT |
1033 F5F7 8E F5 9D LDX #UXMES2 |
1034 F5FA 16 FE 6D LBRA PDATA1 |
1035 * |
1036 * Get a Byte using XModem protocol |
1037 * Carry clear => no errors |
1038 * Carry set => errors |
1039 * |
1040 F5FD 34 10 XBYTE PSHS X |
1041 F5FF BE DE 25 LDX XSTATE |
1042 * |
1043 F602 17 FF 23 XBYTE0 LBSR INTER |
1044 F605 28 0A BVC XBYTE1 |
1045 F607 86 15 LDA #NAK |
1046 F609 17 FF 4F LBSR OUTTER |
1047 F60C 8E F6 1A LDX #XSTSTR |
1048 F60F 20 F1 BRA XBYTE0 |
1049 * |
1050 F611 AD 84 XBYTE1 JSR ,X |
1051 F613 26 ED BNE XBYTE0 |
1052 F615 BF DE 25 STX XSTATE |
1053 F618 35 90 PULS X,PC |
1054 * |
1055 * START - LOOK FOR SOH (START OF HEADER) = $01 |
1056 * |
1057 F61A 81 01 XSTSTR CMPA #SOH |
1058 F61C 26 06 BNE XSTSTR1 |
1059 F61E 8E F6 3A LDX #XSTBLK |
1060 F621 1C FA ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit) |
1061 F623 39 RTS |
1062 * |
1063 F624 81 04 XSTSTR1 CMPA #EOT |
1064 F626 26 08 BNE XSTSTR2 |
1065 F628 86 06 LDA #ACK |
1066 F62A 17 FF 2E LBSR OUTTER |
1067 F62D 1A 05 ORCC #CFLAG+ZFLAG Set (c)=1 abort & exit |
1068 F62F 39 RTS |
1069 * |
1070 F630 81 18 XSTSTR2 CMPA #CAN |
1071 F632 26 03 BNE XSTSTR3 |
1072 F634 1A 05 ORCC #CFLAG+ZFLAG Set (c)=1 abort & exit |
1073 F636 39 RTS |
1074 * |
1075 F637 1C FA XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG |
1076 F639 39 RTS |
1077 * |
1078 * Got SOH |
1079 * Now get block number |
1080 * |
1081 F63A B1 DE 23 XSTBLK CMPA BLKNUM |
1082 F63D 26 06 BNE XSTBLKE |
1083 F63F 8E F6 50 LDX #XSTCOM |
1084 F642 1C FA ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
1085 F644 39 RTS |
1086 * |
1087 * Error in block number |
1088 * |
1089 F645 86 15 XSTBLKE LDA #NAK |
1090 F647 17 FF 11 LBSR OUTTER |
1091 F64A 8E F6 1A LDX #XSTSTR |
1092 F64D 1C FA ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
1093 F64F 39 RTS |
1094 * |
1095 * Get complement of block number |
1096 * |
1097 F650 43 XSTCOM COMA |
1098 F651 B1 DE 23 CMPA BLKNUM |
1099 F654 26 EF BNE XSTBLKE |
1100 F656 7F DE 21 CLR CHKSUM |
1101 F659 86 80 LDA #128 |
1102 F65B B7 DE 24 STA BYTCNT |
1103 F65E 8E F6 64 LDX #XSTDAT |
1104 F661 1C FA ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit) |
1105 F663 39 RTS |
1106 * |
1107 * Get data bytes |
1108 * |
1109 F664 34 02 XSTDAT PSHS A |
1110 F666 BB DE 21 ADDA CHKSUM |
1111 F669 B7 DE 21 STA CHKSUM |
1112 F66C 35 02 PULS A |
1113 F66E 7A DE 24 DEC BYTCNT |
1114 F671 26 03 BNE XSTDAT1 |
1115 F673 8E F6 7B LDX #XSTCHK |
1116 F676 1C FE XSTDAT1 ANDCC #$FF-CFLAG No abort |
1117 F678 1A 04 ORCC #ZFLAG Valid data (exit) |
1118 F67A 39 RTS |
1119 * |
1120 * Byte count reached zero |
1121 * Check checksum byte |
1122 * |
1123 F67B B1 DE 21 XSTCHK CMPA CHKSUM |
1124 F67E 26 07 BNE XSTCHK1 retry if wrong checksum |
1125 * |
1126 * Checksum OK ... |
1127 * increment block number |
1128 * and send ACK |
1129 * |
1130 F680 7C DE 23 INC BLKNUM |
1131 F683 86 06 LDA #ACK |
1132 F685 20 0D BRA XSTCHK2 |
1133 * |
1134 * Checksum Error detected ... |
1135 * Reset Sector counter in ACCB to last 128 byte boundary |
1136 * and send NAK |
1137 * |
1138 F687 34 04 XSTCHK1 PSHS B |
1139 F689 1F 30 TFR U,D |
1140 F68B 5A DECB |
1141 F68C C4 80 ANDB #128 |
1142 F68E 1F 03 TFR D,U |
1143 F690 35 04 PULS B |
1144 F692 86 15 LDA #NAK |
1145 F694 17 FE C4 XSTCHK2 LBSR OUTTER |
1146 F697 8E F6 1A LDX #XSTSTR |
1147 F69A 1C FA ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit) |
1148 F69C 39 RTS |
1149 * |
1150 ** 'UP' Load ROMdisk via config PROM. |
1151 * |
1152 F69D 08 08 UPMES FCB $08,$08 |
1153 F69F 4C 6F 61 64 20 52 FCC 'Load ROM disk from config PROM.' |
4F 4D 20 64 69 73 |
6B 20 66 72 6F 6D |
20 63 6F 6E 66 69 |
67 20 50 52 4F 4D |
2E |
1154 F6BE 04 FCB 4 |
1155 F6BF 46 6F 75 6E 64 20 UPMES1 FCC 'Found SYNC, loading data...' |
53 59 4E 43 2C 20 |
6C 6F 61 64 69 6E |
67 20 64 61 74 61 |
2E 2E 2E |
1156 F6DA 0A 0D 04 FCB $0A,$0D,4 |
1157 F6DD 52 4F 4D 20 44 69 UPMES2 FCC 'ROM Disk Loaded.' |
73 6B 20 4C 6F 61 |
64 65 64 2E |
1158 F6ED 0A 0D 04 FCB $0A,$0D,4 |
1159 F6F0 52 4F 4D 20 44 69 UPMES3 FCC 'ROM Disk Not Found.' |
73 6B 20 4E 6F 74 |
20 46 6F 75 6E 64 |
2E |
1160 F703 0A 0D 04 FCB $0A,$0D,4 |
1161 * |
1162 F706 8E F6 9D UPSUB LDX #UPMES |
1163 F709 BD F4 6A JSR PDATA1 |
1164 * |
1165 F70C 8D 5A BSR UPRESET |
1166 F70E 10 8E 00 20 LDY #$0020 Set up count for 2 MBit |
1167 F712 8E 00 00 LDX #$0000 |
1168 F715 8D 6C UPSUB1 BSR UPBIT Shift in bit |
1169 F717 8D 7C BSR UPSYNC Test for Sync pattern` |
1170 F719 27 15 BEQ UPSUB4 Skip if found |
1171 F71B 30 1F LEAX -1,X Count Down inner loop |
1172 F71D 8C 00 00 CMPX #$0000 |
1173 F720 26 F3 BNE UPSUB1 Branch if inner loop not complete |
1174 F722 31 1F LEAY -1,X Count down outer loop |
1175 F724 10 8C 00 00 CMPY #$0000 |
1176 F728 26 EB BNE UPSUB1 Branch if outer loop not complete |
1177 * |
1178 F72A 8E F6 F0 LDX #UPMES3 2MBits scanned, no synch, report error |
1179 F72D 7E F4 6A JMP PDATA1 |
1180 * |
1181 F730 8E F6 BF UPSUB4 LDX #UPMES1 Sync found, now load disk |
1182 F733 BD F4 6A JSR PDATA1 |
1183 * |
1184 F736 4F CLRA |
1185 F737 B7 DE 1E STA DRVNUM select Drive 0 |
1186 F73A C6 01 LDB #$01 |
1187 F73C B7 DE 1F UPSUB2 STA TRACK track 0 |
1188 F73F F7 DE 20 STB SECTOR sector 1 |
1189 * |
1190 F742 17 F9 82 LBSR MAPIN map in buffer |
1191 F745 5F CLRB 256 byte sector |
1192 F746 8D 67 UPSUB3 BSR UPBYTE read byte from prom |
1193 F748 A7 C0 STA ,U+ Store in buffer |
1194 F74A 5A DECB |
1195 F74B 26 F9 BNE UPSUB3 Loop until sector read` |
1196 F74D 17 F9 AB LBSR MAPOUT map out buffer |
1197 * |
1198 F750 B6 DE 1F LDA TRACK Advance sector |
1199 F753 F6 DE 20 LDB SECTOR |
1200 F756 5C INCB |
1201 F757 C1 0F CMPB #EMAXSEC+1 Wrap on max sector count |
1202 F759 26 E1 BNE UPSUB2 |
1203 F75B C6 01 LDB #1 |
1204 F75D 4C INCA Advance track |
1205 F75E 81 30 CMPA #EMAXTRK |
1206 F760 26 DA BNE UPSUB2 |
1207 * |
1208 F762 8E F6 DD UPEXIT LDX #UPMES2 Load complete, report message |
1209 F765 7E F4 6A JMP PDATA1 |
1210 * |
1211 * Reset Serial PROM |
1212 * |
1213 F768 86 02 UPRESET LDA #PRSTHI Strobe the reset line |
1214 F76A B7 E0 C0 STA PROMREG |
1215 F76D 86 00 LDA #PRSTLO |
1216 F76F B7 E0 C0 STA PROMREG |
1217 F772 8E 00 00 LDX #$0000 Delay a while` |
1218 F775 30 1F UPRST1 LEAX -1,X |
1219 F777 8C 00 00 CMPX #$0000 |
1220 F77A 26 F9 BNE UPRST1 |
1221 F77C BF DF 46 STX SYNCREG+0 Clear Sync Shift Register |
1222 F77F BF DF 48 STX SYNCREG+2 |
1223 F782 39 RTS |
1224 * |
1225 * Input 1 Bit From PROM |
1226 * |
1227 F783 86 01 UPBIT LDA #PCLKHI |
1228 F785 B7 E0 C0 STA PROMREG |
1229 F788 86 00 LDA #PCLKLO |
1230 F78A B7 E0 C0 STA PROMREG |
1231 F78D B6 E0 C0 LDA PROMREG |
1232 F790 44 LSRA |
1233 F791 78 DF 49 ASL SYNCREG+3 |
1234 F794 39 RTS |
1235 * |
1236 * Test for 32 bit Sync Word |
1237 * |
1238 F795 79 DF 48 UPSYNC ROL SYNCREG+2 |
1239 F798 79 DF 47 ROL SYNCREG+1 |
1240 F79B 79 DF 46 ROL SYNCREG+0 |
1241 F79E CC FF 00 LDD #SYNCLO |
1242 F7A1 10 B3 DF 48 CMPD SYNCREG+2 |
1243 F7A5 26 07 BNE UPSYNCX |
1244 F7A7 CC AA 55 LDD #SYNCHI |
1245 F7AA 10 B3 DF 46 CMPD SYNCREG+0 |
1246 F7AE 39 UPSYNCX RTS |
1247 * |
1248 * Input 1 Byte From PROM |
1249 * |
1250 F7AF 34 04 UPBYTE PSHS B |
1251 F7B1 C6 08 LDB #8 |
1252 F7B3 8D CE UPBYTE1 BSR UPBIT |
1253 F7B5 5A DECB |
1254 F7B6 26 FB BNE UPBYTE1 |
1255 F7B8 B6 DF 49 LDA SYNCREG+3 |
1256 F7BB 35 84 PULS B,PC |
1257 * |
1258 ***** NEXTCMD ***** |
1259 * |
1260 F7BD 17 FC B2 NEXTEXT LBSR INPE GET ONE CHAR. FROM TERMINAL |
1261 F7C0 84 7F ANDA #$7F STRIP PARITY FROM CHAR. |
1262 F7C2 1F 89 TFR A,B |
1263 F7C4 86 20 LDA #$20 |
1264 F7C6 17 FC A5 LBSR OUTP PRNT SPACE |
1265 F7C9 C1 60 CMPB #$60 |
1266 F7CB 2F 02 BLE NXTEX0 |
1267 F7CD C0 20 SUBB #$20 |
1268 * |
1269 ***** DO TABLE LOOKUP ***** |
1270 * FOR COMMAND FUNCTIONS |
1271 * |
1272 F7CF 8E F7 E5 NXTEX0 LDX #EXTTAB POINT TO JUMP TABLE |
1273 F7D2 E1 80 NXTEX1 CMPB ,X+ DOES COMMAND MATCH TABLE ENTRY ? |
1274 F7D4 27 0D BEQ JMPEXT BRANCH IF MATCH FOUND |
1275 F7D6 30 02 LEAX 2,X POINT TO NEXT ENTRY IN TABLE |
1276 F7D8 8C F7 F4 CMPX #EXTEND REACHED END OF TABLE YET ? |
1277 F7DB 26 F5 BNE NXTEX1 IF NOT END, CHECK NEXT ENTRY |
1278 F7DD 8E F7 F4 LDX #MSGWHAT POINT TO MSG "WHAT?" |
1279 F7E0 16 FC 87 LBRA PDATA1 PRINT MSG AND RETURN |
1280 F7E3 6E 94 JMPEXT JMP [,X] JUMP TO COMMAND ROUTINE |
1281 * |
1282 * EXTENDED COMMAND JUMP TABLE |
1283 * |
1284 F7E5 EXTTAB EQU * |
1285 F7E5 42 FCC 'B' BOOT FLEX |
1286 F7E6 F4 0B FDB UBSUB |
1287 F7E8 4C FCC 'L' LOAD ROM DISK OVER SERIAL PORT |
1288 F7E9 F4 B2 FDB ULSUB |
1289 F7EB 46 FCC 'F' FORMAT RAM DISK |
1290 F7EC F2 DD FDB UFSUB |
1291 F7EE 50 FCC 'P' LOAD ROM DISK FROM PROM |
1292 F7EF F7 06 FDB UPSUB |
1293 F7F1 58 FCC 'X' XMODEM ROM DISK UPLOAD |
1294 F7F2 F5 AC FDB UXSUB |
1295 * |
1296 F7F4 EXTEND EQU * |
1297 * |
1298 F7F4 57 48 41 54 20 3F MSGWHAT FCC "WHAT ?" |
1299 F7FA 0A 0D 04 FCB $0A,$0D,$04 |
0012 END |
0013 END COLDS |
Program + Init Data = 7039 bytes |
Error count = 0 |
/branches/before_delete/src/flex9/flex9ide.asm
0,0 → 1,13
NAM FLEX9 SOURCE |
INCLUDE "f9-moneq.txt" |
INCLUDE "f9-equ.txt" |
INCLUDE "f9-spool.txt" |
INCLUDE "f9-sfcb.txt" |
INCLUDE "f9-init.txt" |
INCLUDE "f9-var.txt" |
INCLUDE "f9-data.txt" |
INCLUDE "f9-cli.txt" |
INCLUDE "f9-monio.txt" |
INCLUDE "f9-fms.txt" |
INCLUDE "f9-dkide.txt" |
END COLDS |
/branches/before_delete/src/flex9/f9-dkcf8.txt
0,0 → 1,189
* |
** FLEX 9 COMPACT FLASH DISK DRIVERS |
* |
* FOR SYS09BUG 1.2 ON THE BURCHED B5-X300 |
* WITH I/O MAPPED AT $XE000 |
* AND ROM MAPPED AT $XF000 |
* THE BURCHED B5-X300 HAS 256KBYTES OF SRAM |
* THE FIRST 64K IS USED BY FLEX, |
* THE SECOND 192K MAY BE USED AS A RAM DISK |
* |
* |
IMASK EQU $10 IRQ MASK CC |
FMASK EQU $40 FIRQ MASK CC |
DATREG EQU $FFF0 DAT REGISTERS |
* |
CF_BASE EQU $E040 |
CF_DATA EQU CF_BASE+0 |
CF_ERROR EQU CF_BASE+1 ; read error |
CF_FEATURE EQU CF_BASE+1 ; write feature |
CF_SECCNT EQU CF_BASE+2 |
CF_SECNUM EQU CF_BASE+3 |
CF_CYLLO EQU CF_BASE+4 |
CF_CYLHI EQU CF_BASE+5 |
CF_HEAD EQU CF_BASE+6 |
CF_STATUS EQU CF_BASE+7 ; read status |
CF_COMAND EQU CF_BASE+7 ; write command |
* |
* Command Equates |
* |
CMDREAD EQU $20 ; Read Single sector |
CMDWRITE EQU $30 ; Write Single sector |
CMDFEATURE EQU $EF |
FEAT8BIT EQU $01 ; enable 8 bit transfers |
HEADLBA EQU $E0 |
* |
* Status bit equates |
* |
BSY EQU $80 |
DRDY EQU $40 |
DRQ EQU $08 |
ERR EQU $01 |
ORG $DE00 |
* |
* DISK DRIVER JUMP TABLE |
* |
READ JMP READSC |
WRITE JMP WRITSC |
VERIFY JMP BUSY |
RESTOR JMP RESTR1 |
DRIVE JMP DRVSEL |
DRVRDY JMP CHKDRV |
QUICK JMP CHKDRV |
COLDDR JMP INITDR |
WARMDR JMP WARMD1 |
SEEK JMP SEEKTS |
* |
* RAM SPACE |
* |
DRVNUM FCB 0 |
* |
* |
* INITIALIZE CF CARD FOR 8 BIT LBA MODE |
* |
INITDR BSR WAITRDY |
LDA #HEADLBA |
STA CF_HEAD |
LDA #FEAT8BIT |
STA CF_FEATURE |
LDA #CMDFEATURE |
STA CF_COMAND |
BRA WAITRDY |
* |
* RESTORE DISK DRIVER (SEEK TRACK 00) |
* |
RESTR1 BSR DRVSEL |
CLRA ; Track 0 |
LDB #$01 ; Sector 1 |
* |
* Seek track and sector |
* A holds track number (0 - ??) |
* B holds sector number (1 - ??) |
* Sector numbers starts from 1 |
* subtract 1 to start from sector 0 on CF |
* |
SEEKTS DECB |
STB CF_SECNUM |
STA CF_CYLLO |
LDB DRVNUM |
STB CF_CYLHI |
LDB #$01 |
STB CF_SECCNT |
CLRB |
WARMD1 RTS |
* |
* READ SECTORS FROM CF |
* |
* |
READSC BSR SEEKTS |
LDA #CMDREAD ; IDE READ MULTIPLE |
STA CF_COMAND |
BSR WAITRDY |
* |
* READ LOOP |
* |
CLRB |
RDLP1 BSR WAITDRQ |
LDA CF_DATA |
STA ,X+ |
DECB |
BNE RDLP1 |
* |
CLRB |
RDLP2 BSR WAITDRQ |
LDA CF_DATA |
DECB |
BNE RDLP2 |
* |
BSR WAITRDY |
CLRB |
RTS |
* |
* WRITE SECTOR TO CF |
* |
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR |
LDA #CMDWRITE; IDE WRITE MULTIPLE |
STA CF_COMAND |
BSR WAITRDY |
* |
* WRITE LOOP |
* |
CLRB |
WRTLP1 BSR WAITDRQ |
LDA ,X+ |
STA CF_DATA |
DECB |
BNE WRTLP1 |
* |
CLRB |
WRTLP2 BSR WAITDRQ |
CLRA |
STA CF_DATA |
DECB |
BNE WRTLP2 |
* |
BSR WAITRDY |
CLRB |
RTS |
* |
* CHECK FOR BUSY |
* Doubles as VERIFY |
* |
BUSY CLRB Never busy |
RTS |
* |
* DRIVE SELECT DISK DRIVER |
* |
DRVSEL LDA 3,X GET DRIVE # FROM FCB |
CMPA #3 |
BLS DRVS2 IF > 3, SET IT TO 0 |
CLRA |
DRVS2 STA DRVNUM |
CLRB ; SET Z, CLEAR C |
RTS |
* |
* CHECK DRIVE READY DISK DRIVER |
* |
CHKDRV LDA 3,X |
CLRB ; CLEAR C, SET Z |
RTS |
* |
* WAIT UNTIL READY |
* |
WAITRDY LDA CF_STATUS |
BITA #BSY |
BNE WAITRDY |
LDA CF_STATUS |
BITA #DRDY |
BEQ WAITRDY |
RTS |
* |
* WAIT FOR DATA REQUEST |
* |
WAITDRQ LDA CF_STATUS |
BITA #DRQ |
BEQ WAITDRQ |
RTS |
* |
END |
|
/branches/before_delete/src/flex9/f9-init.txt
0,0 → 1,101
* |
** FLEX INITIATION |
* |
ORG $CA00 |
ZCA00 BRA ZCA08 |
ZCA02 JSR >ZCAAC |
RTS |
ZCA06 SUBB #$A0 |
ZCA08 LDA #$39 |
STA >ZD3FD |
LDX >MEMEND |
LEAX $00A1,X |
STX >ZCA06 |
JSR [TINVEC] |
LDX >INVEC |
STX >INCH+1 |
STX >INCH2+1 |
LDX >OUTVEC |
STX >OUTCH+1 |
STX >OUTCH2+1 |
LDX >STAVEC |
STX >ZCD4E+1 |
LDX #Z00A0 |
LDB #$B9 |
ZCA38 LDA ,X |
STB ,X |
NOP |
CMPB ,X |
BNE ZCA4C |
STA ,X |
LEAX $0400,X |
CMPX >ZCA06 |
BNE ZCA38 |
ZCA4C LEAX $FF5F,X |
STX >MEMEND |
LDX #WARMS |
STX >ESCVEC |
LDX #TTLSTR |
JSR >PSTRG1 |
JSR >PCRLF1 |
BSR ZCA02 |
JSR >PCRLF1 |
LDX #FCB |
LDA #$01 |
STA ,X |
JSR >FMS |
BEQ ZCA7B |
LDA $01,X |
JSR >ZD200 |
JMP >WARM1 |
|
ZCA7B LDX #LINBUF |
ZCA7E STX >LINPTR |
LDX #FCB |
JSR >FMS |
BEQ ZCA8E |
PSHS Y,X |
JMP >ZD2D7 |
|
ZCA8E LDX >LINPTR |
STA ,X+ |
CMPA #$0D |
BNE ZCA7E |
LDX #FCB |
JSR >ZD1F4 |
LDX #LINBUF |
STX >LINPTR |
LDX #WARM1 |
STX >ZCC43 |
JMP >ZD32E |
|
ZCAAC LDX #DATSTR |
JSR >PSTRG1 |
JSR >INBUF1 |
BSR ZCACB |
BCS ZCAAC |
STA >MONTH |
BSR ZCACB |
BCS ZCAAC |
ZCAC0 STA >DAY |
BSR ZCACB |
BCS ZCAAC |
STA >YEAR |
RTS |
|
ZCACB JSR >INDEC1 |
BCS ZCADB |
LDA >LODOFF+1 |
TSTB |
BEQ ZCAD9 |
ANDCC #$FE |
RTS |
|
ZCAD9 ORCC #$01 |
ZCADB RTS |
|
TTLSTR FCC "6809 FLEX V3.01" |
FCB $04 |
DATSTR FCC "DATE (MM,DD,YY)? " |
FCB $04 |
END |
/branches/before_delete/src/flex9/flex9_ram_b16_ext.vhd
0,0 → 1,64
INIT_00 => x"3FF13FF13FF141F119F152F052F052F03FF13FF13FF13FF13FF141F119F1BDF7", |
INIT_01 => x"7AF152F052F052F052F052F052F052F052F052F052F052F052F052F03FF13FF1", |
INIT_02 => x"6E34DE9F6E32DE9F6E39FE1C5D5F52F052F052F04EF24EF24EF24EF249F2E9F1", |
INIT_03 => x"0FC630350826FF8185A62ADE8E1EDEF703E6303438DE9F6E390127078D36DE9F", |
INIT_04 => x"6E3ADE9F6E3035F9265AA0A780A614C632DE8E108B3002F08E3D14C639011A5D", |
INIT_05 => x"6E39EA2604814C1EDEB640DE9FAD0425BC8D1BDE8E1EDEB74F3EDE9F6E3CDE9F", |
INIT_06 => x"F084C5AB1FDEB62EDECEC5E61EDEF62ADECE501A22DEB7A81F44DE9F6E42DE9F", |
INIT_07 => x"B70F88008639031F5F008B0F841FDEB6F0FFB7E0AB0F840F88018020DEB6E2A7", |
INIT_08 => x"FF17EAFF17703439011A5D40C639041AFE1C20DEF71FDEB7398A1F22DEB6F0FF", |
INIT_09 => x"5FF0355FF9265A80A7A0A65F46DE8E10CBFF17F9265AA0A7C0A65F46DE8E10A6", |
INIT_0a => x"80A65F46DE8E10BAFF16032700C1072701C1C5E61EDEF62ADECEC2FF17703439", |
INIT_0b => x"DE7F02340434F0355F84FF17F9265AC0A7A0A65F46DE8E105FFF17F9265AA0A7", |
INIT_0c => x"2485F2BD02353D2485F2BD0235442485F2BD1EDEB64C2485F2BD738622DE7F21", |
INIT_0d => x"F2BD02341B2467F2BDEB265A21DE7C032422DEB722DEBB80A7302467F2BD5F36", |
INIT_0e => x"85F2BD1586092010C60D205F032485F2BD06860E2621DEB3100235891F142467", |
INIT_0f => x"85F2BD1EDEB6DD2485F2BD728622DE7F21DE7F02340434395D21DEF709C6F524", |
INIT_10 => x"032422DEB722DEBBBF2485F2BD80A65FC72485F2BD0235CE2485F2BD0235D524", |
INIT_11 => x"5F032606819C2467F2BDA12485F2BD22DEB6A92485F2BD21DEB6EB265A21DE7C", |
INIT_12 => x"205F03260681072467F2BD0C2485F2BD5186395D21DEF6395D21DEF70AC60220", |
INIT_13 => x"B035EE261F30F6263F310A254700E0B6E2048E10E8038E3034395D011A10C604", |
INIT_14 => x"35ED261F30F5263F310C25474700E0B6E2048E10E8038E02343034B03501E0B6", |
INIT_15 => x"2E2E2E6B7369644D415220676E6974616D726F460D0AB03501E0B70235B03502", |
INIT_16 => x"AAF28E04202164657461636F6C6C6120746F6E206B7369646D6152040D0A0420", |
INIT_17 => x"BD1BDE8E1EDEF7396AF4BDC2F28EF52604C15C0C27018185A65F2ADE8E6AF4BD", |
INIT_18 => x"4C20DEB684A71FDEB646DE8E20DEB701861FDE7FFB265A80A75F4F46DE8E6CF0", |
INIT_19 => x"B70186D7260F8120DEB620DE7C5BF0BD20DEF61FDEB601A70186846C04260F81", |
INIT_1a => x"C6BF86016F846F46DE8E57F0BD0EC6BF8646DE8EC826C0811FDEB61FDE7C20DE", |
INIT_1b => x"03C64F46DE8E5BF0BD0EC64F016F846F46DE8E57F0BD0EC64F46DE8E5BF0BD0E", |
INIT_1c => x"ED204BCC1488ED5349CC1288ED444DCC1088ED4152CC016F846F46DE8E57F0BD", |
INIT_1d => x"01862188ED720ACC2688ED1F88ED0EC6BF861D88ED0101CC1B88ED0100CC1688", |
INIT_1e => x"8646DE8E57F0BD01C64F46DE8E5BF0BD03C64F2588A707862488A707862388A7", |
INIT_1f => x"206C616E7265746E6920676E69746F6F4208085BF07E01C64F01A7558684A7AA", |
INIT_20 => x"26FDD38C81EDA1EC34F48E10E5D38E6AF4BDEDF38E040A0D2E2E2E2E58454C46", |
INIT_21 => x"82F482F4C8DFC2DF82F476F400CD7EF7261EDE8C81EDA1EC4CF48E1000DE8EF7", |
INIT_22 => x"F07E9FF07E6CF07E63F07E5FF07E5BF07E57F07E72F46EF47AF482F47EF482F4", |
INIT_23 => x"9F6E08F89F6E04F89F6E06F89F6E0AF89F6E0CF89F6EC3F07EBFF07EA7F07EA3", |
INIT_24 => x"040A0D2E2E2E2064616F6C7075206B736944204D4F52206C61697265533900F8", |
INIT_25 => x"01C64F1EDEB700866AF4BD83F48E040A0D646564616F4C206B736944204D4F52", |
INIT_26 => x"E0260FC15C20DEF61FDEB626FC17F8265AC0A7EDF4BD5FFEFB1720DEF71FDEB7", |
INIT_27 => x"BD8435E0AB0434068D891F484848480E8D04346AF47EA0F48ED92630814C01C6", |
INIT_28 => x"B7038639018500E0B6390780EB2E1681EF2B11810A2F0981F72B3080FB2928F5", |
INIT_29 => x"DD8D0A2778850826018500E0B629DE7F28DE7F27DEB710863900E0B7118600E0", |
INIT_2a => x"00E0B6023439021A4FDC2627DE7AE12628DE7AE62629DE7A39021C01E0B6E620", |
INIT_2b => x"44204D4F52206D65646F6D580A0D3901E0B70235F120B38DF527788508260285", |
INIT_2c => x"550A0D046574656C706D6F432064616F6C70550A0D0464616F6C7055206B7369", |
INIT_2d => x"B7008625DEBF1AF68E23DEB70186B8FE1772F58E04726F7272452064616F6C70", |
INIT_2e => x"F61FDEB61FFB17F6265AC0A720252B00175FF9FA1720DEF71FDEB701C64F1EDE", |
INIT_2f => x"BE10346DFE169DF58E04FB176AF47E8BF58ED72630814C01C6DE260FC15C20DE", |
INIT_30 => x"F68E06260181903525DEBFED2684ADF1201AF68E4FFF1715860A2823FF1725DE", |
INIT_31 => x"8E062623DEB139FA1C39051A0326188139051A2EFF1706860826048139FA1C3A", |
INIT_32 => x"F68E24DEB7808621DE7FEF2623DEB14339FA1C1AF68E11FF17158639FA1C50F6", |
INIT_33 => x"072621DEB139041AFE1C7BF68E032624DE7A023521DEB721DEBB023439FA1C64", |
INIT_34 => x"4C080839FA1C1AF68EC4FE1715860435031F80C45A301F04340D20068623DE7C", |
INIT_35 => x"46042E4D4F5250206769666E6F63206D6F7266206B736964204D4F522064616F", |
INIT_36 => x"4D4F52040D0A2E2E2E6174616420676E6964616F6C202C434E595320646E756F", |
INIT_37 => x"756F4620746F4E206B736944204D4F52040D0A2E646564616F4C206B73694420", |
INIT_38 => x"00008C1F3015277C8D6C8D00008E20008E105A8D6AF4BD9DF68E040D0A2E646E", |
INIT_39 => x"F71FDEB701C61EDEB74F6AF4BDBFF68E6AF47EF0F68EEB2600008C101F31F326", |
INIT_3a => x"30814C01C6E1260FC15C20DEF61FDEB6ABF917F9265AC0A7678D5F82F91720DE", |
INIT_3b => x"BF46DFBFF92600008C1F3000008EC0E0B70086C0E0B702866AF47EDDF68EDA26", |
INIT_3c => x"FFCC46DF7947DF7948DF793949DF7844C0E0B6C0E0B70086C0E0B701863948DF", |
INIT_3d => x"B2FC17843549DFB6FB265ACE8D08C604343946DFB31055AACC072648DFB31000", |
INIT_3e => x"F4F78EF526F4F78C02300D2780E1E5F78E20C0022F60C1A5FC172086891F7F84", |
INIT_3f => x"000000040D0A3F2054414857ACF55806F750DDF246B2F44C0BF442946E87FC16" |
/branches/before_delete/src/flex9/flex9_cf8_b16_0.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_11 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_12 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_13 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_14 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_15 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_16 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_17 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_21 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_22 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_23 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_24 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_25 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_26 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_27 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_28 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_29 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_31 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_32 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_33 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_34 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_35 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"3B0000000010C810C8000000000C1FC77E95C77E85C77E47C77E03C77E21C77E", |
INIT_39 => x"8E3B02EE1031CCBF0727846D34CC7CFCCC8E112634CC7D02EF1031CCBE101A12", |
INIT_3a => x"A702354088EDC0CA8E01EC023484A619C7BE29271BC77D101AF12034CC7FF8CC", |
INIT_3b => x"FCCC7FEDD39FADEF1CF620123F1129271EC77D3B886F22886F02A70186846F03", |
INIT_3c => x"27261DC77D39EF1C30CC7F3930CC7CF420123F11052730CC7D101AF420123F11", |
INIT_3d => x"03260D8102353C8D0A8602340F270A811CC77F0F271CC77D1F2606D4BDC0CA8E", |
INIT_3e => x"036A0527036D19C7BE1DC77F228D12C7B6278D0A862B8D0D86D420318D1CC7B7", |
INIT_3f => x"F620123F11052BD8CCBD47C77E1BC77A19C7BF10C88E032640C88C043047C77E" |
/branches/before_delete/src/flex9/flex9ads.asm
0,0 → 1,13
NAM FLEX9 FOR THE ADS6809 |
INCLUDE "f9-moneq.txt" |
INCLUDE "f9-equ.txt" |
INCLUDE "f9-spool.txt" |
INCLUDE "f9-sfcb.txt" |
INCLUDE "f9-init.txt" |
INCLUDE "f9-var.txt" |
INCLUDE "f9-data.txt" |
INCLUDE "f9-cli.txt" |
INCLUDE "f9-monio.txt" |
INCLUDE "f9-fms.txt" |
INCLUDE "f9-dkfdc.txt" |
END COLDS |
/branches/before_delete/src/flex9/flex9_cf8_b16_1.vhd
0,0 → 1,64
INIT_00 => x"0000000000000000000000000000000000000000000000000000000000E4CC7E", |
INIT_01 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_02 => x"00000000000000000000000000000000005458540050555452415453000000FF", |
INIT_03 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_04 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_05 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_06 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_07 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_08 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_09 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_0f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_10 => x"CDBFFBD3BEF1D39FAD06CABFA10089302BCCBEFDD3B73986A0C039ACCABD0620", |
INIT_11 => x"2684E11284E784A6B9C6A0008E4FCDBFF7D3BE13CDBF10CDBFF9D3BE0DCDBF0A", |
INIT_12 => x"BD81CEBDDCCA8E16CCBF03CD8E2BCCBF5FFF8930EC2606CABC0004893084A70B", |
INIT_13 => x"CCBF80C08E67CD7E00D2BD01A6082706D4BD84A7018640C88EB5CEBD9E8DB5CE", |
INIT_14 => x"80C08EF4D1BD40C88EE7260D8180A714CCBED7D27E3034052706D4BD40C88E14", |
INIT_15 => x"EC250D8D0ECCB7F325148D2BCEBD81CEBDECCA8E2ED37E43CCBF67CD8E14CCBF", |
INIT_16 => x"3930383639011A39FE1C03275D1CCCB60B2575D1BD3910CCB7E525068D0FCCB7", |
INIT_17 => x"000004203F2959592C44442C4D4D2820455441440431302E33562058454C4620", |
INIT_18 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_19 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_20 => x"0000000000000000000000000000000000000001001BFF0000400400193A1808", |
INIT_21 => x"00000000000000000000000000000000010000FFBF0000000000000000000000", |
INIT_22 => x"274E4143043F54414857043F3F3F042B2B2B0000000060000000000000000000", |
INIT_23 => x"20524F525245204B53494404444E554F4620544F4E04524546534E4152542054", |
INIT_24 => x"004BD3004E4F4D0FD20054454704594441455220544F4E205345564952440423", |
INIT_25 => x"0000000000000000000000000000000000000000000000000A006400E8031027", |
INIT_26 => x"000000000070D37E00000000000000000000000000000000000000000070D37E", |
INIT_27 => x"0000000000000001000000000000000000000000000000000070D37E00000000", |
INIT_28 => x"CE7E2BCE7E41CF7EFBCE7E12CD7E0FCD7E0CCD7E09CD7EB1CD7E67CD7E57CD7E", |
INIT_29 => x"7ED4CF7E86CF7E49D37EEBD07EA2D17E36D07EEACD7E0ED07EB5CE7EEDCF7E81", |
INIT_2a => x"D4BD11CC7F7FC0CE1005CE7E05CE7E4ECD7E29D37E75D17ED0CF7E2FD17E7FD2", |
INIT_2b => x"9FAFE7D3BEE9D39FAF00C78E16CCBF03CD8E18DEBD7FC0CE10FDD3BD28CC7F00", |
INIT_2c => x"28CC7D142015CC7C052602CCB111CCB65A8D4CCC7F34CC7F31CCBFF8CC8EEBD3", |
INIT_2d => x"D0BD0DCC7C40C88EE5270D81D4D0BD7A8D81CEBD4ECC8EB22603D4BD97052610", |
INIT_2e => x"CCB7158656CC8E2ED2BD01986E0326358D072712CCBE09273E8D93CC8E162536", |
INIT_2f => x"7F21CC7F22CC7F23CC7F0ACDBF0DCDBE10CDBF13CDBE67CD7E11CC7F81CEBD20", |
INIT_30 => x"806D0C27A46DF026846D082680A1208002235F81A0A644C88E103924CC7F26CC", |
INIT_31 => x"0D811F2700CCB11D2701CCB1FBCEBD14CCBF80C08E39FB1CDE26846D0230FC26", |
INIT_32 => x"80C08CCE20268D52CC8E39DC260D8180A7E227FFC08CE7231F8132270A810D27", |
INIT_33 => x"20208641CFBD0D86B92066CFBD07CCB666CFBD20860826088107CCB61F30F427", |
INIT_34 => x"CC7F5C260ACCB1E5D39FAD65274ECDBDF320013041CFBD6F27048184A6328DC9", |
INIT_35 => x"2703CCB6D48D272621CC7D16CC9F6E11CC7FF326038150270ACCB1E5D39FAD1A", |
INIT_36 => x"CC7C0435FB265A088D052708CCF60434CE8D022709CC7D1ACC7F18221ACCB120", |
INIT_37 => x"1A2623CC7D39FE1C0435FA265A4E8D4F062705CCF60434588D0A865C8D0D861A", |
INIT_38 => x"1ACC7F0CCDBD032009CDBD0820538D0C2724CC7D11272FCC7D1A8D102726CC7D", |
INIT_39 => x"CD7E7FD2BD24CC7F3947CCBE042606D4BD24CCBE47CCBF062026CCBE47CCBF39", |
INIT_3a => x"CEBD062429CCB10B2704CCB6023429CC7C172029CC7F05221F81202621CC7D03", |
INIT_3b => x"03200FCDBD082626CC7D0D20B58D042724CC7D132622CC7D0234023529CC7CB5", |
INIT_3c => x"1FF7264DCC7A02300B8DA0CC8E84EC4DCCB704861DCCF74ACC7F39023512CDBD", |
INIT_3d => x"CC7D0B264ACC7D10264BCCB60234F4204BCC7C84A3072584A3104BCC7F3D2098", |
INIT_3e => x"44444444042084A6048D84A60130028D8235128D4ACC7C0520238D20860B271D", |
INIT_3f => x"2561810E235A810C254181162339811425308141CF7E078B02233981308B0F84" |
/branches/before_delete/src/flex9/flex9_cf8_b16_2.vhd
0,0 → 1,64
INIT_00 => x"0D8118CCB780A619CCB718CCB614CCBE103439FE1C3911CCB7011A06237A8104", |
INIT_01 => x"046F03A7FF8601A715869035B98DE72784A10426208114CCBF0B2702CCB11027", |
INIT_02 => x"BE6823238D6C273FCCBC092628252E8D0F262E25348D4BCCB70886D4D0BD0C6F", |
INIT_03 => x"393FCCBE0DCC7F03A70CCCB603200BCCB605270DCC7D0F2A036D6127046D3FCC", |
INIT_04 => x"4BCCF639FE1C2E812F240ED0BD03A70384382A036D3FCCBE1522398143258C8D", |
INIT_05 => x"04272D8108240ED0BD5A013004A72080022549CCB104354BCCF705C00434252B", |
INIT_06 => x"0426208184A614CCBE3FCCBFF6205A0130046FCB275D39011AE4265D06265F81", |
INIT_07 => x"03C6A5313D03C610220B810BD18E1018260CE63034393FCCBE14CCBFF6200130", |
INIT_08 => x"5243534B4142535953534142444D435458544E4942B035F7265A01300CA7A0A6", |
INIT_09 => x"7804C604341825268D22250ED0BD1ED2BD54554F545250524944434142544144", |
INIT_0a => x"8039FE1C1BCCBE39FB240ED0BDDF205C1CCCB71CCCBB0435F7265A1BCC791CCC", |
INIT_0b => x"223981DC250ED0BD1ED2BD39011A39FE1C032B0A8B072A078B042A068B0F2A47", |
INIT_0c => x"5C04351BCCFD0089E0EB1BCCF31BCCF34958495849581BCCFC023404340F84D2", |
INIT_0d => x"E5201DCCB701861FCCB72E8D1ECCB7338DF6261681152702813D8D1DCC7FD620", |
INIT_0e => x"5A3DCCBF80A73DCCBE0D8DD0274D891F148D3DCCFD1BCCF3891E1E8D891F228D", |
INIT_0f => x"39FE1C0D2606D4BD84A7048662320E26088101A6112706D4BD40C88EC120F326", |
INIT_10 => x"5F4FF120868D4CCC7C078D0F25358D0086E4CD7E738D39011A0326048120CCB7", |
INIT_11 => x"1ECC9F6E04271DCCF6A2D1BDEA8D228D028603CD7EAEFB27104CCCF6391BCCFD", |
INIT_12 => x"A7018640C88EEBD0BD40C88E1A25023536D0BD40C88E0234DECD7E81865CCC8E", |
INIT_13 => x"3439011A5DFB261002CCB107270D8111CCB6393B88A7FF86BB002510E4D1BD84", |
INIT_14 => x"0927026D40C88E61D38E105827108108262DCCBE10EACDBD632720CCB701A630", |
INIT_15 => x"2606D4BD84A7018603A70BCCB640C88E6E8D0BC638C88E2E2606D4BD84A70486", |
INIT_16 => x"3FCCBE81CEBD75CC8E1E2706D4BD84A715862188A720886F4C47474A20CCB616", |
INIT_17 => x"844A20CCB640C88EB5CEBDF62081CEBD82CC8EB03586CFBD5F846F01A720CCB6", |
INIT_18 => x"3034CD2006D4BD84A70486F4260D8141CFBDC92606D4BD2288E704CB3D3FC603", |
INIT_19 => x"FE1028CC7FB8CD7E28CC7C20CC7F45CCFF1043CCFD0635E1CD7E6BCC8E00D17E", |
INIT_1a => x"CD7E7FD2BD01A71B8640C88EF3D39F6E0426FCCC7D393A43CC9F6E20CCF645CC", |
INIT_1b => x"08F89F6E00F89F6E04F89F6E70D37E3900000000535953000053524F52524567", |
INIT_1c => x"00000000000000000000000000000000000000000000000006F89F6E0AF89F6E", |
INIT_1d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_1f => x"00CA7E84D380D37CD371D378D370D370D370D3C8DFC2DF70D374D30000000000", |
INIT_20 => x"204D455453595320474E4954415245504F204B534944207BD47E59D47E36D47E", |
INIT_21 => x"118D0AC609D48E15DEBDFF594220303839312029432820544847495259504F43", |
INIT_22 => x"2709D4BE09C7BD0CC77EFB265A806F1AC61BD48E1AD47F15D4BF13D4BF05008E", |
INIT_23 => x"0327FCCC7D39FFC60CC7BD026F0BD4BEEC242035C3DABD20340BD4BFE48830EB", |
INIT_24 => x"CC7D26250BD4BEB4D5BD112702C11A2702E6222684E6016F0BD4BF243409C7BD", |
INIT_25 => x"BE95ADCED48E585A0C2001C6042316C1142012C6ED20CFD6BD3924355F2326FC", |
INIT_26 => x"41D676D838D81DD8E2D5C3DAF9DAD9D986D9392435016D0CC7BD01E702240BD4", |
INIT_27 => x"02C60526208DE5DCFBDCBDDD07DB90D56FD510D887DA99D62CDBD6DB69D99FD6", |
INIT_28 => x"C30BD4FC39FE1C84ED94EC39011A0DC605270E8D39016F846F84AE84ED39011A", |
INIT_29 => x"2FC6028D5F4F0BD4BEEE2084AE39012684A31039FB1C032684AE1009D48E1C00", |
INIT_2a => x"04A60BC60BD4BE39F6265A01302488A704A60BC60BD4BE39F8265A01301188A7", |
INIT_2b => x"0BD4BE00D67E2388E679245402E60BD4BE39F0265A01300526E0A12488A60234", |
INIT_2c => x"E602E780CA552603C103C402E60BD4BE39011A1F265C4088A73A22886C2288E6", |
INIT_2d => x"20863B886A07273C2B3B88A639011A0BC639FE1C4088A73A2388E60A2680C50F", |
INIT_2e => x"1CE3274DD8203B88A70BD4BE0D25238D0C260981F627152218811B25318D1D20", |
INIT_2f => x"22886C0A272288E60BD4BE39011A12C6A0D97E84A7052701850925B1DABD39FE", |
INIT_30 => x"1C270000831020886C032621886C4088EC0BD4BE39EA24038D39FE1C4088A63A", |
INIT_31 => x"011A08C6022009C6062010C6042780C51024138D02352288A7048602341E88ED", |
INIT_32 => x"D4BE39EE240435178D043439FE1C032600DEBD118D12250CDEBD0BD4BE258D39", |
INIT_33 => x"052707C15C11D4F6242680C5112610C53912D4B711D4B74F394088301E88EC0B", |
INIT_34 => x"8D39011A39FE1C09DEBD0BD4BE12D4F70C2704C15C12D4F611D47F142011D4F7", |
INIT_35 => x"2640C5322706DEBD372735D4B60A2603DEBDB08D0BD4BE20250CDEBD0BD4BEC7", |
INIT_36 => x"C13B88E75C0F2620813D2B3B88E60BD4BE39011A20C639E0240435AB8D04340B", |
INIT_37 => x"148D098610202086042601C1023439FE1CF62027275D39E6240B8D0D200C267F", |
INIT_38 => x"E6D1FE261002C102E60BD4BE390235038D3B886F3B88A60BD4BE02340F250235", |
INIT_39 => x"D4BE39FE1C2288E70BD4BE04C60A247DD5BD0F250235218D0234082604C12288", |
INIT_3a => x"2625E08D2A253F8D17886F44271788E622261288E627204288ED2088ED5F4F0B", |
INIT_3b => x"7E1A249FD6BD4088ED0BD4BE0E8D82DC7E1188EC1788E702C60BD4BE2225DC8D", |
INIT_3c => x"1A07C60526E78D39846D1BD4BF3A1DD48E3D068603E60BD4BE3984EC038DC1DB", |
INIT_3d => x"43DCBD0B2717886D15886C032616886C1188ED032612886D1388ED0BD4BE3901", |
INIT_3e => x"6F026F0A2684ED0635B08D06344088EC0BD4BED22520D6BD1388EC0BD4BEDD25", |
INIT_3f => x"304088A75F20886C032621886C0BD4BE4F04AF103F3104AE100820056F046F03" |
/branches/before_delete/src/flex9/flex9ram.sh
0,0 → 1,3
../../Tools/as09/as09.exe flex9ram.asm -l > flex9ram.lst |
../../Tools/epedit/epedit.exe flex9ram.aux |
|
/branches/before_delete/src/flex9/flex9_cf8_b16_3.vhd
0,0 → 1,64
INIT_00 => x"13D4F613D4BF15D4BE0E2003C604345F39FE1C4288ED2088EC0BD4BEF8265A01", |
INIT_01 => x"1D262288E60BD4BE392288E75F18D47F4088E704354188E70BD4BE14D4F60434", |
INIT_02 => x"2288A62F88ED1E88EC2288A7108618D4FD44DC052618D47D0BD4BE30250CD6BD", |
INIT_03 => x"C62288A73188A60BD4BE39FE1CF2265A013004A71435F5D5BD143418C63188A7", |
INIT_04 => x"1AD47D17D4B62388A703A60BD4BE9FD67EF2265A0130143514D7BD04A6143418", |
INIT_05 => x"88A60BD4BEEF2013D4BF18D4BE3723228D0C2705008C13D4BF15D4BE03A73126", |
INIT_06 => x"BD1DD8BD49D5BD1AD47F0BD4BEF220ADDDBD1C23078D3625BDDDBD0E2A03A723", |
INIT_07 => x"058D39FE1CE42659D5BD0F8D022A0C2704A60BD4BE39011A182708C1072438D8", |
INIT_08 => x"1525188D172687D7BD393488A73188A63288ED2F88EC0C263388A639FE1CFB1C", |
INIT_09 => x"D4BE08250CD6BD10D8BD39FE1CF6265A80A721315DA8A61BD4BE0BD4BE1006C6", |
INIT_0a => x"265A21315DA8A780A61BD4BE0BD4BE1006C6F825EA8D87D7BD392288E710C60B", |
INIT_0b => x"052476D8BD082541D6BD1E88ED2F88EC02A702860BD4BEC1DB7EE0249FD6BDF6", |
INIT_0c => x"292620850FA606271AD47D0BD4BE3B26382592D8BD3D25FAD4BD390AC6C1DB7E", |
INIT_0d => x"BEF4265A0C2504350CD6BD043413271788E676DABD4088ED1188EC2A25C0DCBD", |
INIT_0e => x"082A036D0BD4BE39011A04350CD5BD043404C6022011C639FE1C2288E75F0BD4", |
INIT_0f => x"CF2003C60426D52592D8BDDA2517D9BD37D5BDE225FAD4BD3910C60324BDDDBD", |
INIT_10 => x"A73488A62F88ED27273288EC0BD4BEF9265A01300F6F0AC60BD4BECA25C0DCBD", |
INIT_11 => x"39FE1C2288A704863E8D992569D9BDADDDBD1B88A710CCB61988ED0ECCFC3188", |
INIT_12 => x"D97EC1DBBD06249FD6BD082572D7BD0D2520D6BD2F88EC12886C17886F0BD4BE", |
INIT_13 => x"6F846F02A784A60BD4BE8A20EA2547D9BD3488A710863288ED1E88EC0BD4BECF", |
INIT_14 => x"8102A60BD4BE39FE1C2288E704C67AFB251044846F0E25288D392288A74F3B88", |
INIT_15 => x"12C6F023038102A60BD4BE0D25E78D39FE1C130125109FD6BD02A703860B2683", |
INIT_16 => x"25C88D1920A7DBBD05261288A60CD57E026F0BD4BE082702813125EC8D39011A", |
INIT_17 => x"D6BD282586D9BD39D32447D9BD052569D9BD0A2598DCBD052717886D0BD4BE17", |
INIT_18 => x"BE0286092520D6BD1388EC122680850FA60BD4BE1A2586D9BD1820038623250C", |
INIT_19 => x"3004A72488A60BC60BD4BE24272A2592D8BD358D39011A0BC639FE1C02A70BD4", |
INIT_1a => x"0CC639011A03C655200C8D09266085D62680850FA60BD4BE15254D8DF6265A01", |
INIT_1b => x"A60BD4BEEF2611D47A013004E73588A73588E604A611D4B70B860BD4BE39011A", |
INIT_1c => x"1C0BD4BE0626072592D8BDCE8D390BD4BEF6265A01300CA73D88A603C60C260C", |
INIT_1d => x"249FD6BD4088ED3902A700860BD4BE69D9BD04A7FF860BD4BE39011A04C639FE", |
INIT_1e => x"BE5A25B88D5E2517D9BD39011A0AC602200BC6062010C60A2780C5082640C514", |
INIT_1f => x"D4BE33271188EC0BD4BE0F2602EC1BD4BE87D7BD52266085522680850FA60BD4", |
INIT_20 => x"BE1388EC0BD4BE2025A28D1C271188EC0BD4BE2C2520D6BD0BD4BE142084ED1B", |
INIT_21 => x"0CC602200BC63947D9BD0325A7DBBD04ED04E31BD4BE1588EC0BD4BE02ED1BD4", |
INIT_22 => x"3788A74C0727FF813788A60E261388A3104C01C603233C88E15C1E88EC39011A", |
INIT_23 => x"EC39011A17C605271188A3101E88EC1626038B3A88A60BD4BE3025338D39FE1C", |
INIT_24 => x"F72520D6BD3888EC39FE1C3788A701863588ED1388EC3A88A704863888ED4088", |
INIT_25 => x"C1DB7EDA249FD6BDF3265A01304088A7213135A8A603C63A3A88E6121F0BD4BE", |
INIT_26 => x"BEF8265A013040886F5F3C88A76788A62088ED5F4F0BD4BE46250CD6BD10D8BD", |
INIT_27 => x"0E25B1DABD2088ED9ADD7E032A0100832088EC1D271788A60BD4BE39FE1C0BD4", |
INIT_28 => x"EE259FDDBD6A272088AE101188EC11D47F39011A12C605261788A6846F072446", |
INIT_29 => x"11D4B6023403300FD4BE2C242088A3100BD4BE0FD4BF008902EB7427026D5F4F", |
INIT_2a => x"023504353E25458D4088EC0BD4BE0434D2204C270235A8810827548111D4B74C", |
INIT_2b => x"E006233C88E105250BD4BE01EB84A6891F4AE0A0043402A60FD4BE2088A3C020", |
INIT_2c => x"BD39011A18C6022019C614272088A3104288EC0BD4BE142520D6BDF5204C3C88", |
INIT_2d => x"0BD4BE39F6265A013004A72488A60BC60BD4BE39FE1C3A44C60BD4BE082520D6", |
INIT_2e => x"000000000039011A10C639E82512DEBD03200FDEBD052603A70F2404814C03A6", |
INIT_2f => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_30 => x"8D0037DE7E4ADE7E1FDE7E9CDE7E9CDE7E90DE7E32DE7E8EDE7E6CDE7E4BDE7E", |
INIT_31 => x"DEF644E0B743E0F75A01C64F5C8D6E2047E0B7EF8641E0B7018646E0B7E0867F", |
INIT_32 => x"5FF6265A80A740E0B6588D5F4C8D47E0B72086EA8D395F42E0F701C645E0F71E", |
INIT_33 => x"F6265A40E0B780A6378D5F2B8D47E0B73086C98D395F368DF8265A40E0B64D8D", |
INIT_34 => x"395F03A6395F1EDEB74F0123038103A6395F395F148DF7265A40E0B74F2C8D5F", |
INIT_35 => x"00000000000000000039F927088547E0B639F227408547E0B6F926808547E0B6", |
INIT_36 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_37 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_38 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_39 => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3a => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3b => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3c => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3d => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3e => x"0000000000000000000000000000000000000000000000000000000000000000", |
INIT_3f => x"0000000000000000000000000000000000000000000000000000000000000000" |
/branches/before_delete/src/flex9/f9-cli.txt
0,0 → 1,814
********************************************* |
* |
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES |
* |
********************************************* |
ORG $CD00 |
* |
** FLEX JUMPS |
* |
COLDS JMP >COLD1 |
WARMS JMP >WARM1 |
RENTER JMP >RENT1 |
INCH JMP >INCH |
INCH2 JMP >INCH2 |
OUTCH JMP >OUTCH |
OUTCH2 JMP >OUTCH2 |
GETCHR JMP >GETCH1 |
PUTCHR JMP >PUTCH1 |
INBUFF JMP >INBUF1 |
PSTRNG JMP >PSTRG1 |
CLASS JMP >CLASS1 |
PCRLF JMP >PCRLF1 |
NXTCH JMP >NXTCH1 |
RSTRIO JMP >RSTIO1 |
GETFIL JMP >GETFL1 |
LOAD JMP >LOAD1 |
SETEXT JMP >SETEX1 |
ADDBX JMP >ADDBX1 |
OUTDEC JMP >OUTDC1 |
OUTHEX JMP >OUTHX1 |
RPTERR JMP >RPTER1 |
GETHEX JMP >GETHX1 |
OUTADR JMP >OUTAD1 |
INDEC JMP >INDEC1 |
DOCMND JMP >DOCMD1 |
ZCD4E JMP >ZCD4E |
JMP >ZCE05 |
JMP >ZCE05 |
* |
** COLD START ENTRY |
* |
COLD1 LDS #ZC07F |
ZCD5B CLR >LASTRM |
JSR >ZD400 |
CLR >CMDFLG |
JSR >ZD3FD |
* |
** WARM START ENTRY |
* |
WARM1 LDS #ZC07F |
JSR >WARMDR |
LDX #WARMS |
STX >ESCVEC |
LDX #PRSPL1 |
STX [SWIVVC] |
LDX >IHNDVC |
STX [IRQVVC] |
LDX #ZCCF8 |
STX >ZCC31 |
CLR >ZCC34 |
CLR >ZCC4C |
BSR RSTIO1 |
LDA >LASTRM |
CMPA >EOLCHR |
BNE ZCD9D |
INC >LINPTR+1 |
BRA RENT1 |
|
ZCD9D TST >CMDFLG |
LBNE ZD33B |
JSR >FMSCLS |
BNE ZCD5B |
LDX #PMTSTR |
JSR >PSTRG1 |
BSR INBUF1 |
* |
** MAIN CONTROL LOOP |
* |
RENT1 JSR >ZD0D4 |
CMPA #$0D |
BEQ ZCD9D |
ZCDB8 LDX #FCB |
INC >ZCC0D |
JSR >GETFL1 |
BCS ZCDD9 |
LDX #CMDTBL |
BSR ZCE06 |
BEQ ZCDD3 |
LDX >UCTVEC |
BEQ ZCDD6 |
BSR ZCE06 |
BNE ZCDD6 |
ZCDD3 JMP [$01,X] |
|
ZCDD6 JSR >ZD22E |
ZCDD9 LDX #WOTMSG |
LDA #$15 |
ZCDDE STA >ERRTYP |
ZCDE1 JSR >PSTRG1 |
ZCDE4 CLR >LASTRM |
JMP >WARM1 |
* |
** RESTORE IO VECTORS |
* |
RSTIO1 LDX >OUTCH2+1 |
STX >OUTCH+1 |
LDX >INCH2+1 |
STX >INCH+1 |
CLR >INPSWT |
CLR >OUTSWT |
CLR >SIOFLG |
CLR >FIPADR |
CLR >FOPADR |
ZCE05 RTS |
|
ZCE06 LDY #ZC844 |
ZCE0A LDA ,Y+ |
CMPA #$5F |
BLS ZCE12 |
SUBA #$20 |
ZCE12 CMPA ,X+ |
BNE ZCE1E |
TST ,X |
BNE ZCE0A |
TST ,Y |
BEQ ZCE2A |
ZCE1E TST ,X+ |
BNE ZCE1E |
LEAX $02,X |
TST ,X |
BNE ZCE06 |
ANDCC #$FB |
ZCE2A RTS |
* |
** GET USER COMMAND LINE |
* |
INBUF1 LDX #LINBUF |
STX >LINPTR |
ZCE31 JSR >GETCH1 |
CMPA >DELCHR |
BEQ ZCE56 |
CMPA >BSPCHR |
BEQ ZCE5D |
CMPA #$0D |
BEQ ZCE4F |
CMPA #$0A |
BEQ ZCE78 |
CMPA #$1F |
BLS ZCE31 |
ZCE4A CMPX #ZC0FF |
BEQ ZCE31 |
ZCE4F STA ,X+ |
CMPA #$0D |
BNE ZCE31 |
RTS |
|
ZCE56 LDX #QRYSTR |
BSR PSTRG1 |
BRA INBUF1 |
|
ZCE5D CMPX #LINBUF |
BEQ ZCE56 |
LEAX -$01,X |
LDA >BSECHR |
CMPA #$08 |
BNE ZCE73 |
LDA #$20 |
JSR >ZCF66 |
LDA >BSECHR |
ZCE73 JSR >ZCF66 |
BRA ZCE31 |
|
ZCE78 LDA #$0D |
JSR >PUTCH1 |
LDA #$20 |
BRA ZCE4A |
|
PSTRG1 BSR PCRLF1 |
ZCE83 LDA ,X |
CMPA #$04 |
BEQ ZCEF8 |
JSR >PUTCH1 |
LEAX $01,X |
BRA ZCE83 |
|
ZCE90 JSR >ZCD4E |
BEQ ZCEFA |
JSR [ZD3E5] |
CMPA >ESCCHR |
BNE ZCEFA |
ZCE9E CLR >CURLIN |
ZCEA1 JSR [ZD3E5] |
CMPA >ESCCHR |
BEQ ZCEFA |
CMPA #$03 CTRL C |
BNE ZCEA1 |
CLR >LASTRM |
JMP [ESCVEC] |
* |
** PRINT CR, LINEFEED |
* |
PCRLF1 TST >SIOFLG |
BNE ZCEE1 |
BSR ZCE90 |
LDA >DEPCNT |
BEQ ZCEE1 |
CMPA >CURLIN |
BHI ZCEDE |
CLR >CURLIN |
TST >PAUSE |
BEQ ZCED0 |
BSR ZCE9E |
ZCED0 PSHS B |
LDB >EJTCNT |
BEQ ZCEDC |
ZCED7 BSR ZCEE1 |
DECB |
BNE ZCED7 |
ZCEDC PULS B |
ZCEDE INC >CURLIN |
ZCEE1 LDA #$0D |
BSR PUTCH1 |
LDA #$0A |
BSR PUTCH1 |
PSHS B |
LDB >NULCNT |
BEQ ZCEF6 |
ZCEF0 CLRA |
BSR PUTCH1 |
DECB |
BNE ZCEF0 |
ZCEF6 PULS B |
ZCEF8 ANDCC #$FE |
ZCEFA RTS |
* |
** GET A CHARACTER HONOURING TTYSET |
* |
GETCH1 TST >INPSWT |
BNE ZCF1A |
TST >FIPADR |
BEQ ZCF15 |
BSR ZCF21 |
TST >FIEFLG |
BEQ ZCF1D |
TST >FOPADR |
BEQ ZCF1D |
BSR ZCF66 |
BRA ZCF1D |
ZCF15 JSR >INCH |
BRA ZCF1D |
|
ZCF1A JSR >INCH2 |
ZCF1D CLR >CURLIN |
RTS |
|
ZCF21 STX >ZCC47 |
LDX >FIPADR |
BRA ZCF2F |
|
ZCF29 STX >ZCC47 |
LDX >FOPADR |
ZCF2F JSR >FMS |
BNE ZCF38 |
LDX >ZCC47 |
RTS |
|
ZCF38 CLR >FOPADR |
JSR >RPTER1 |
JMP >WARMS |
* |
** OUTPUT CHARACTER HONOURING TTYSET |
* |
PUTCH1 TST >SIOFLG |
BNE ZCF66 |
CMPA #$1F |
BHI ZCF4F |
CLR >CURCOL |
BRA ZCF66 |
|
ZCF4F INC >CURCOL |
PSHS A |
LDA >WIDCNT |
BEQ ZCF64 |
CMPA >CURCOL |
BCC ZCF64 |
JSR >PCRLF1 |
INC >CURCOL |
ZCF64 PULS A |
ZCF66 PSHS A |
TST >OUTSWT |
BNE ZCF80 |
TST >FOPADR |
BEQ ZCF76 |
BSR ZCF29 |
BRA ZCF83 |
|
ZCF76 TST >FIPADR |
BNE ZCF83 |
JSR >OUTCH |
BRA ZCF83 |
ZCF80 JSR >OUTCH2 |
ZCF83 PULS A |
RTS |
|
OUTDC1 CLR >ZCC4A |
STB >TRNFLG |
LDA #$04 |
STA >ZCC4D |
LDD ,X |
LDX #DECTBL |
ZCF96 BSR ZCFA3 |
LEAX $02,X |
DEC >ZCC4D |
BNE ZCF96 |
TFR B,A |
BRA OUTHXR |
|
ZCFA3 CLR >ZCC4B |
ZCFA6 CMPD ,X |
BCS ZCFB2 |
SUBD ,X |
INC >ZCC4B |
BRA ZCFA6 |
|
ZCFB2 PSHS A |
LDA >ZCC4B |
BNE ZCFC9 |
TST >ZCC4A |
BNE ZCFC9 |
TST >TRNFLG |
BEQ ZCFCE |
LDA #$20 |
BSR ZCFEA |
BRA ZCFCE |
|
ZCFC9 INC >ZCC4A |
BSR OUTHXR |
ZCFCE PULS PC,A |
* |
** DISPLAY HEX ADDRESS |
* |
OUTAD1 BSR OUTHX1 |
LEAX $01,X |
* |
** OUPUT HEX BYTE |
* |
OUTHX1 LDA ,X |
BSR OUTHXL |
LDA ,X |
BRA OUTHXR |
|
OUTHXL LSRA |
LSRA |
LSRA |
LSRA |
OUTHXR ANDA #$0F |
ADDA #$30 |
CMPA #$39 |
BLS ZCFEA |
ADDA #$07 |
ZCFEA JMP >PUTCH1 |
* |
** CLASSIFY CHARACTER ALHA/NUMERIC |
* |
CLASS1 CMPA #'0 |
BCS ZD005 |
CMPA #'9 |
BLS ZD00B |
CMPA #'A |
BCS ZD005 |
CMPA #'Z |
BLS ZD00B |
CMPA #'a $61 |
BCS ZD005 |
CMPA #'z $7A |
BLS ZD00B |
ZD005 ORCC #$01 |
STA >LASTRM |
RTS |
ZD00B ANDCC #$FE |
RTS |
* |
** GET NEXT CHARACTER FROM FILE |
* |
NXTCH1 PSHS X |
LDX >LINPTR |
LDA >CURCHR |
STA >PRVCHR |
ZD019 LDA ,X+ |
STA >CURCHR |
CMPA #$0D |
BEQ ZD032 |
CMPA >EOLCHR |
BEQ ZD032 |
STX >LINPTR |
CMPA #$20 |
BNE ZD032 |
CMPA ,X |
BEQ ZD019 |
ZD032 BSR CLASS1 |
PULS PC,X |
* |
** PARSE FILE SPEC. IN LINE BUFFER |
* |
GETFL1 LDA #$15 |
STA $01,X |
LDA #$FF |
STA $03,X |
CLR $04,X |
CLR $0C,X |
JSR >ZD0D4 |
LDA #$08 |
STA >ZCC4B |
BSR ZD080 |
BCS ZD07C |
BNE ZD05F |
BSR ZD080 |
BCS ZD07C |
BNE ZD05F |
CMPX >ZCC3F |
BEQ ZD0C7 |
BSR ZD080 |
BLS ZD0C7 |
ZD05F LDX >ZCC3F |
TST $04,X |
BEQ ZD0C7 |
TST $03,X |
BPL ZD079 |
TST >ZCC0D |
BEQ ZD074 |
LDA >SYSDRV |
BRA ZD077 |
|
ZD074 LDA >WRKDRV |
ZD077 STA $03,X |
ZD079 CLR >ZCC0D |
ZD07C LDX >ZCC3F |
RTS |
|
ZD080 BSR NXTCH1 |
BCS ZD0C7 |
CMPA #$39 |
BHI ZD09D |
LDX >ZCC3F |
TST $03,X |
BPL ZD0C7 |
ANDA #$03 |
STA $03,X |
JSR >NXTCH1 |
BCC ZD0C7 |
ZD098 CMPA #$2E |
ANDCC #$FE |
RTS |
|
ZD09D LDB >ZCC4B |
BMI ZD0C7 |
PSHS B |
SUBB #$05 |
STB >ZCC4B |
PULS B |
ZD0AB CMPA >MAPUP |
BCS ZD0B2 |
SUBA #$20 |
ZD0B2 STA $04,X |
LEAX $01,X |
DECB |
JSR >NXTCH1 |
BCC ZD0C4 |
CMPA #$2D |
BEQ ZD0C4 |
CMPA #$5F |
BNE ZD0CA |
ZD0C4 TSTB |
BNE ZD0AB |
ZD0C7 ORCC #$01 |
RTS |
|
ZD0CA TSTB |
BEQ ZD098 |
CLR $04,X |
LEAX $01,X |
DECB |
BRA ZD0CA |
|
ZD0D4 STX >ZCC3F |
LDX >LINPTR |
ZD0DA LDA ,X |
CMPA #$20 |
BNE ZD0E4 |
LEAX $01,X |
BRA ZD0DA |
ZD0E4 STX >LINPTR |
LDX >ZCC3F |
RTS |
* |
** DEFAULT FILE EXTENSION |
* |
SETEX1 PSHS Y,X |
LDB $0C,X |
BNE ZD109 |
LDY #EXTTBL |
CMPA #$0B |
BHI ZD109 |
LDB #$03 |
MUL |
LEAY B,Y |
LDB #$03 |
ZD100 LDA ,Y+ |
STA $0C,X |
LEAX $01,X |
DECB |
BNE ZD100 |
ZD109 PULS PC,Y,X |
* |
** STANDARD FILE NAME EXTTENSIONS |
* |
EXTTBL FCC "BIN" |
FCC "TXT" |
FCC "CMD" |
FCC "BAS" |
FCC "SYS" |
FCC "BAK" |
FCC "SCR" |
FCC "DAT" |
FCC "BAC" |
FCC "DIR" |
FCC "PRT" |
FCC "OUT" |
* |
** READ A HEX ADDRESS FROM THE LINE BUFFER |
* |
GETHX1 JSR >ZD21E |
ZD132 JSR >NXTCH1 |
BCS ZD159 |
BSR ZD15F |
BCS ZD153 |
PSHS B |
LDB #$04 |
ZD13F ASL >LODOFF+1 |
ROL >LODOFF |
DECB |
BNE ZD13F |
PULS B |
ADDA >LODOFF+1 |
STA >LODOFF+1 |
INCB |
BRA ZD132 |
|
ZD153 JSR >NXTCH1 |
BCC ZD153 |
RTS |
|
ZD159 LDX >LODOFF |
ANDCC #$FE |
RTS |
|
ZD15F SUBA #$47 |
BPL ZD172 |
ADDA #$06 |
BPL ZD16B |
ADDA #$07 |
BPL ZD172 |
ZD16B ADDA #$0A |
BMI ZD172 |
ANDCC #$FE |
RTS |
|
ZD172 ORCC #$01 |
RTS |
|
INDEC1 JSR >ZD21E |
ZD178 JSR >NXTCH1 |
BCS ZD159 |
CMPA #$39 |
BHI ZD153 |
ANDA #$0F |
PSHS B |
PSHS A |
LDD >LODOFF |
ASLB |
ROLA |
ASLB |
ROLA |
ASLB |
ROLA |
ADDD >LODOFF |
ADDD >LODOFF |
ADDB ,S+ |
ADCA #$00 |
STD >LODOFF |
PULS B |
INCB |
BRA ZD178 |
* |
** LOAD BINARY FILE |
* |
LOAD1 CLR >TRNFLG |
ZD1A5 BSR ZD1E4 |
CMPA #$02 |
BEQ ZD1C0 |
CMPA #$16 |
BNE ZD1A5 |
BSR ZD1E4 |
STA >TRNVEC |
BSR ZD1E4 |
STA >TRNVEC+1 |
LDA #$01 |
STA >TRNFLG |
BRA ZD1A5 |
|
ZD1C0 BSR ZD1E4 |
TFR A,B |
BSR ZD1E4 |
EXG A,B |
ADDD >LODOFF |
STD >ZCC3D |
BSR ZD1E4 |
TFR A,B |
TSTA |
BEQ ZD1A5 |
ZD1D5 BSR ZD1E4 |
LDX >ZCC3D |
STA ,X+ |
STX >ZCC3D |
DECB |
BNE ZD1D5 |
BRA ZD1A5 |
|
ZD1E4 LDX #FCB |
JSR >FMS |
BEQ ZD1FD |
LDA $01,X |
CMPA #$08 |
BNE ZD200 |
LEAS $02,S |
ZD1F4 LDA #$04 |
STA ,X |
JSR >FMS |
BNE ZD20A |
ZD1FD ANDCC #$FE |
RTS |
|
ZD200 STA >ERRTYP |
CMPA #$04 |
BNE ZD20A |
ORCC #$01 |
RTS |
|
ZD20A BSR RPTER1 |
JMP >ZCDE4 |
* |
** 'GET' - LOAD BINARY FILE |
* |
GETCMD LDA #$00 |
BSR ZD248 |
BCS ZD224 |
BSR ZD21E |
INC >ZCC4C |
BSR LOAD1 |
BRA GETCMD |
|
ZD21E CLRA |
CLRB |
STD >LODOFF |
RTS |
|
ZD224 LDB >ZCC4C |
LBEQ ZCDD9 |
JMP >WARMS |
|
ZD22E LDA #$02 |
BSR ZD254 |
BSR ZD21E |
JSR >LOAD1 |
LDB >TRNFLG |
BEQ ZD240 |
JMP [TRNVEC] |
|
ZD240 LDX #NTRMSG |
LDA #$81 |
JMP >ZCDDE |
|
ZD248 PSHS A |
LDX #FCB |
JSR >GETFL1 |
PULS A |
BCS ZD26E |
ZD254 LDX #FCB |
JSR >SETEX1 |
LDX #FCB |
LDA #$01 |
STA ,X |
JSR >ZD1E4 |
LBCS ZD323 |
LDA #$FF |
STA $3B,X |
RTS |
|
ZD26E LDA >LASTRM |
CMPA #$0D |
BEQ ZD27C |
CMPA >EOLCHR |
LBNE ZCDD9 |
ZD27C ORCC #$01 |
RTS |
|
RPTER1 PSHS Y,X |
LDA $01,X |
STA >ERRTYP |
BEQ ZD2EB |
JSR >RSTIO1 |
LDY >ERRVEC |
BNE ZD299 |
CMPA #$10 |
BEQ ZD2ED |
LDY #ZD361 |
ZD299 LDX #FCB |
TST $02,X |
BEQ ZD2A9 |
LDA #$04 |
STA ,X |
JSR >FMS |
BNE ZD2D7 |
ZD2A9 LDX #ZC838 |
LDB #$0B |
BSR ZD31E |
LDX #FCB |
LDA >SYSDRV |
STA $03,X |
LDA #$01 |
STA ,X |
JSR >FMS |
BNE ZD2D7 |
LDA >ERRTYP |
DECA |
ASRA |
ASRA |
INCA |
CLR $20,X |
STA $21,X |
LDA #$15 |
STA ,X |
JSR >FMS |
BEQ ZD2F5 |
ZD2D7 LDX #DERMSG |
JSR >PSTRG1 |
LDX >ZCC3F |
LDA >ERRTYP |
STA $01,X |
CLR ,X |
CLRB |
JSR >OUTDC1 |
ZD2EB PULS PC,Y,X |
|
ZD2ED LDX #DNRMSG |
JSR >PSTRG1 |
BRA ZD2EB |
|
ZD2F5 JSR >PCRLF1 |
LDX #FCB |
LDA >ERRTYP |
DECA |
ANDA #$03 |
LDB #$3F |
MUL |
ADDB #$04 |
STB $22,X |
ZD309 JSR >FMS |
BNE ZD2D7 |
JSR >PUTCH1 |
CMPA #$0D |
BNE ZD309 |
LDA #$04 |
STA ,X |
JSR >FMS |
BRA ZD2EB |
ZD31E PSHS Y,X |
JMP >ZD100 |
|
ZD323 LDX #NFDMSG NOT FOUND |
JMP >ZCDE1 |
* |
** CALL FLEX AS A SUBROUTINE |
* |
DOCMD1 PULS B,A |
STD >ZCC43 |
ZD32E STS >ZCC45 |
CLR >ERRTYP |
INC >CMDFLG |
JMP >ZCDB8 |
ZD33B CLR >CMDFLG |
LDS >ZCC45 |
LDB >ERRTYP |
JMP [ZCC43] |
* |
** ADD ACCB TO IX |
* |
ADDBX1 ABX |
RTS |
|
ZD34B TST >ZCCFC |
BNE ZD354 |
JMP [MONVEC] |
|
ZD354 LDX #FCB |
LDA #$1B |
STA $01,X |
JSR >RPTER1 |
JMP >WARM1 |
|
ZD361 FCC /ERRORS/ |
FCB $00,$00 |
FCC /SYS/ |
END |
/branches/before_delete/src/flex9/flex9cf8.sh
0,0 → 1,2
../../Tools/as09/as09.exe flex9cf8.asm -l > flex9cf8.lst |
../../Tools/epedit/epedit.exe flex9cf8.aux |
/branches/before_delete/src/flex9/FLEX9RAM.S19
0,0 → 1,230
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC |
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3 |
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712 |
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC |
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC |
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B |
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332 |
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2 |
S106C8007ECCE403 |
S113C840FF000000535441525455500054585400B2 |
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14 |
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648 |
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78 |
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75 |
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054 |
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9 |
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981 |
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B |
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E |
S11ECC200000000000000000000000BFFF000001000000000000000000000036 |
S104CC496086 |
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E |
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296 |
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08 |
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5 |
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8 |
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460 |
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB |
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887 |
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003 |
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF |
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7 |
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058 |
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F |
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF |
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2 |
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4 |
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6 |
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63 |
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B |
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7 |
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9 |
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE |
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316 |
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF |
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B |
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2 |
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD |
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42 |
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477 |
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1 |
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B |
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51 |
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475 |
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5 |
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3 |
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D |
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886 |
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB |
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A |
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71 |
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7 |
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B |
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902 |
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0 |
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2 |
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D |
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8 |
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906 |
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634 |
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1 |
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453 |
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC |
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3 |
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD |
S10FD360674552524F525300005359537A |
S106CCC07ED370AC |
S106CCD87ED37094 |
S106CCE47ED37088 |
S10BCCF801000000000000002F |
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672 |
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF |
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217 |
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3 |
S111D4454D5320434F4E53554C54414E5453B7 |
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631 |
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2 |
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE |
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676 |
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09 |
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0 |
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D |
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405 |
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137 |
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404 |
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA |
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677 |
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3 |
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1 |
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166 |
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9 |
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6 |
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F |
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489 |
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C |
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28 |
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168 |
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49 |
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488 |
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9 |
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A |
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E |
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D |
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2 |
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850 |
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0 |
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B |
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711 |
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1 |
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15 |
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB |
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442 |
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3 |
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851 |
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70 |
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01 |
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF |
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9 |
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447 |
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523 |
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03 |
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5 |
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4 |
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7 |
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF |
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B |
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50 |
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829 |
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3 |
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B |
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB |
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F |
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5 |
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7 |
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0 |
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8 |
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7 |
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29 |
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8 |
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B |
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D |
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780 |
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF |
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B |
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355 |
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D |
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB |
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73 |
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D |
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F |
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F |
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819 |
S109DDD539C6101A0139E1 |
S123DE007EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF0A37EF0A77EF0BF7EF0C3000067 |
S115DE2000000000000000000000000102031040FFFF98 |
S123F000F7BDF119F141F13FF13FF13FF13FF13FF052F052F052F119F141F13FF13FF13F7A |
S123F020F13FF13FF052F052F052F052F052F052F052F052F052F052F052F052F052F17AA7 |
S123F040F1E9F249F24EF24EF24EF24EF052F052F0525F5D1CFE396E9FDE326E9FDE346E18 |
S123F0609FDE368D072701396E9FDE383430E603F7DE1E8EDE2AA68581FF26083530C60FD8 |
S123F0805D1A0139C6143D8EF002308B108EDE32C614A680A7A05A26F935306E9FDE3A6E03 |
S123F0A09FDE3C6E9FDE3E4FB7DE1E8EDE1B8DBC2504AD9FDE40B6DE1E4C810426EA396ECB |
S123F0C09FDE426E9FDE441FA8B7DE221A50CEDE2AF6DE1EE6C5CEDE2EB6DE1FABC584F072 |
S123F0E0A7E2B6DE208001880F840FABE0B7FFF0B6DE1F840F8B005F1F03398600880FB794 |
S123F100FFF0B6DE221F8A39B7DE1FF7DE201CFE1A0439C6405D1A0139347017FFEA17FFD9 |
S123F120A6108EDE465FA6C0A7A05A26F917FFCB108EDE465FA6A0A7805A26F95F35F05F13 |
S123F14039347017FFC2CEDE2AF6DE1EE6C5C1012707C100270316FFBA108EDE465FA68092 |
S123F160A7A05A26F917FF5F108EDE465FA6A0A7C05A26F917FF845F35F0340434027FDE26 |
S123F180217FDE228673BDF285244CB6DE1EBDF28524443502BDF285243D3502BDF2852485 |
S123F1A0365FBDF2672430A780BBDE22B7DE2224037CDE215A26EBBDF267241B3402BDF26C |
S123F1C06724141F89350210B3DE21260E8606BDF28524035F200DC61020098615BDF28576 |
S123F1E024F5C609F7DE215D39340434027FDE217FDE228672BDF28524DDB6DE1EBDF28519 |
S123F20024D53502BDF28524CE3502BDF28524C75FA680BDF28524BFBBDE22B7DE22240309 |
S123F2207CDE215A26EBB6DE21BDF28524A9B6DE22BDF28524A1BDF267249C810626035F9A |
S123F2402002C60AF7DE215D39F6DE215D398651BDF285240CBDF2672407810626035F20F6 |
S123F26004C6101A015D3934308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0BE |
S123F280B6E00135B0343034028E03E8108E04E2B6E0004747250C313F26F5301F26ED35E0 |
S123F2A00235B03502B7E00135B00A0D466F726D6174696E672052414D6469736B2E2E2EBC |
S123F2C020040A0D0452616D6469736B206E6F7420616C6C6F63617465642120048EF2AA77 |
S123F2E0BDF46A8EDE2A5FA6858101270C5CC10426F58EF2C2BDF46A39F7DE1E8EDE1BBD11 |
S123F300F06C8EDE464F5FA7805A26FB7FDE1F8601B7DE208EDE46B6DE1FA784B6DE204C43 |
S123F320810F26046C848601A701B6DE1FF6DE20BDF05B7CDE20B6DE20810F26D78601B748 |
S123F340DE207CDE1FB6DE1F81C026C88EDE4686BFC60EBDF0578EDE466F846F0186BFC661 |
S123F3600EBDF05B8EDE464FC60EBDF0578EDE466F846F014FC60EBDF05B8EDE464FC60390 |
S123F380BDF0578EDE466F846F01CC5241ED8810CC4D44ED8812CC4953ED8814CC4B20ED73 |
S123F3A08816CC0001ED881BCC0101ED881D86BFC60EED881FED8826CC0A72ED8821860141 |
S123F3C0A788238607A788248607A788254FC603BDF05B8EDE464FC601BDF0578EDE4686F2 |
S123F3E0AAA7848655A7014FC6017EF05B0808426F6F74696E6720696E7465726E616C2053 |
S123F400464C45582E2E2E2E0D0A048EF3EDBDF46A8ED3E5108EF434ECA1ED818CD3FD26D4 |
S123F420F78EDE00108EF44CECA1ED818CDE1E26F77ECD00F476F482DFC2DFC8F482F48288 |
S123F440F482F47EF482F47AF46EF4727EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF093 |
S123F460A37EF0A77EF0BF7EF0C36E9FF80C6E9FF80A6E9FF8066E9FF8046E9FF8086E9F24 |
S123F480F8003953657269616C20524F4D204469736B2075706C6F6164202E2E2E0D0A04B4 |
S123F4A0524F4D204469736B204C6F616465640D0A048EF483BDF46A8600B7DE1E4FC601BC |
S123F4C0B7DE1FF7DE2017FBFE5FBDF4EDA7C05A26F817FC26B6DE1FF6DE205CC10F26E081 |
S123F4E0C6014C813026D98EF4A07EF46A34048D0E484848481F898D063404ABE03584BDE0 |
S123F500F52829FB80302BF781092F0A81112BEF81162EEB800739B6E0008501398603B760 |
S123F520E0008611B7E000398610B7DE277FDE287FDE29B6E000850126088578270A8DDD41 |
S123F54020E6B6E0011C02397ADE2926E67ADE2826E17ADE2726DC4F1A02393402B6E000AE |
S123F56085022608857827F58DB320F13502B7E001390D0A586D6F64656D20524F4D20446D |
S123F58069736B2055706C6F6164040D0A55706C6F616420436F6D706C657465040D0A5552 |
S123F5A0706C6F6164204572726F72048EF57217FEB88601B7DE238EF61ABFDE258600B76B |
S123F5C0DE1E4FC601B7DE1FF7DE2017FAF95F17002B2520A7C05A26F617FB1FB6DE1FF6C5 |
S123F5E0DE205CC10F26DEC6014C813026D78EF58B7EF46A17FB048EF59D16FE6D3410BE75 |
S123F600DE2517FF23280A861517FF4F8EF61A20F1AD8426EDBFDE253590810126068EF6CC |
S123F6203A1CFA3981042608860617FF2E1A0539811826031A05391CFA39B1DE2326068E8D |
S123F640F6501CFA39861517FF118EF61A1CFA3943B1DE2326EF7FDE218680B7DE248EF697 |
S123F660641CFA393402BBDE21B7DE2135027ADE2426038EF67B1CFE1A0439B1DE21260704 |
S123F6807CDE238606200D34041F305AC4801F033504861517FEC48EF61A1CFA3908084CF3 |
S123F6A06F616420524F4D206469736B2066726F6D20636F6E6669672050524F4D2E0446F9 |
S123F6C06F756E642053594E432C206C6F6164696E6720646174612E2E2E0A0D04524F4D9C |
S123F6E0204469736B204C6F616465642E0A0D04524F4D204469736B204E6F7420466F7575 |
S123F7006E642E0A0D048EF69DBDF46A8D5A108E00208E00008D6C8D7C2715301F8C000042 |
S123F72026F3311F108C000026EB8EF6F07EF46A8EF6BFBDF46A4FB7DE1EC601B7DE1FF78D |
S123F740DE2017F9825F8D67A7C05A26F917F9ABB6DE1FF6DE205CC10F26E1C6014C813089 |
S123F76026DA8EF6DD7EF46A8602B7E0C08600B7E0C08E0000301F8C000026F9BFDF46BF61 |
S123F780DF48398601B7E0C08600B7E0C0B6E0C04478DF493979DF4879DF4779DF46CCFF2F |
S123F7A00010B3DF482607CCAA5510B3DF46393404C6088DCE5A26FBB6DF49358417FCB20A |
S123F7C0847F1F89862017FCA5C1602F02C0208EF7E5E180270D30028CF7F426F58EF7F4AE |
S120F7E016FC876E9442F40B4CF4B246F2DD50F70658F5AC57484154203F0A0D0431 |
S9030000FC |
/branches/before_delete/src/flex9/FLEX9CF8.S19
0,0 → 1,170
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC |
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3 |
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712 |
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC |
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC |
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B |
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332 |
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2 |
S106C8007ECCE403 |
S113C840FF000000535441525455500054585400B2 |
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14 |
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648 |
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78 |
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75 |
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054 |
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9 |
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981 |
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B |
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E |
S11ECC200000000000000000000000BFFF000001000000000000000000000036 |
S104CC496086 |
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E |
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296 |
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08 |
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5 |
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8 |
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460 |
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB |
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887 |
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003 |
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF |
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7 |
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058 |
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F |
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF |
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2 |
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4 |
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6 |
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63 |
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B |
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7 |
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9 |
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE |
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316 |
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF |
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B |
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2 |
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD |
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42 |
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477 |
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1 |
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B |
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51 |
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475 |
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5 |
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3 |
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D |
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886 |
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB |
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A |
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71 |
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7 |
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B |
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902 |
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0 |
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2 |
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D |
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8 |
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906 |
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634 |
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1 |
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453 |
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC |
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3 |
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD |
S10FD360674552524F525300005359537A |
S106CCC07ED370AC |
S106CCD87ED37094 |
S106CCE47ED37088 |
S10BCCF801000000000000002F |
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672 |
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF |
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217 |
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3 |
S111D4454D5320434F4E53554C54414E5453B7 |
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631 |
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2 |
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE |
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676 |
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09 |
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0 |
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D |
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405 |
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137 |
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404 |
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA |
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677 |
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3 |
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1 |
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166 |
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9 |
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6 |
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F |
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489 |
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C |
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28 |
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168 |
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49 |
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488 |
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9 |
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A |
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E |
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D |
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2 |
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850 |
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0 |
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B |
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711 |
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1 |
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15 |
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB |
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442 |
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3 |
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851 |
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70 |
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01 |
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF |
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9 |
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447 |
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523 |
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03 |
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5 |
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4 |
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7 |
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF |
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B |
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50 |
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829 |
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3 |
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B |
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB |
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F |
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5 |
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7 |
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0 |
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8 |
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7 |
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29 |
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8 |
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B |
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D |
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780 |
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF |
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B |
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355 |
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D |
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB |
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73 |
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D |
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F |
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F |
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819 |
S109DDD539C6101A0139E1 |
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA |
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA |
S123DE401EF7E045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22 |
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3 |
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC |
S11ADEA0B6E047858026F9B6E047854027F239B6E047850827F939AF |
S9030000FC |
/branches/before_delete/src/flex9/flex9ide.aux
0,0 → 1,9
t m |
l FLEX9IDE.S19 |
t h |
s flex9_ide_b16_0.vhd c000 c7ff |
s flex9_ide_b16_1.vhd c800 cfff |
s flex9_ide_b16_2.vhd d000 d7ff |
s flex9_ide_b16_3.vhd d800 dfff |
q |
|
/branches/before_delete/src/flex9/flex9cf8.asm
0,0 → 1,13
NAM FLEX9 SOURCE |
INCLUDE "f9-moneq.txt" |
INCLUDE "f9-equ.txt" |
INCLUDE "f9-spool.txt" |
INCLUDE "f9-sfcb.txt" |
INCLUDE "f9-init.txt" |
INCLUDE "f9-var.txt" |
INCLUDE "f9-data.txt" |
INCLUDE "f9-cli.txt" |
INCLUDE "f9-monio.txt" |
INCLUDE "f9-fms.txt" |
INCLUDE "f9-dkcf8.txt" |
END COLDS |
/branches/before_delete/src/flex9/flex9ide.lst
0,0 → 1,2856
Assembler release DWC_2.0 version 2.11 |
May 6, 2004 (c) Motorola (free ware) |
0001 NAM FLEX9 SOURCE |
0000 INCLUDE "f9-moneq.txt" |
|
|
f9-moneq.txt page 2 |
0002 * |
0003 *************************************************** |
0004 * MEMORY MAP EQUATES * |
0005 *************************************************** |
0006 E000 MONIO EQU $E000 I/O SPACE |
0007 DFC0 MONRAM EQU $DFC0 STACK SPACE |
0008 F800 MONROM EQU $F800 START OF ROM |
0009 F000 MONEXT EQU $F000 EXTENDED COMMANDS |
0010 *MONEXT EQU $1000 EXTENDED COMMANDS |
0011 * |
0012 *************************************************** |
0013 * SYS09BUG VARIABLE SPACE |
0014 *************************************************** |
0015 * |
0016 DFC0 STACK EQU MONRAM+0 TOP OF INTERNAL STACK / USER VECTOR |
0017 DFC2 SWI3 EQU MONRAM+2 SOFTWARE INTERRUPT VECTOR #3 |
0018 DFC4 SWI2 EQU MONRAM+4 SOFTWARE INTERRUPT VECTOR #2 |
0019 DFC6 FIRQ EQU MONRAM+6 FAST INTERRUPT VECTOR |
0020 DFC8 IRQ EQU MONRAM+8 INTERRUPT VECTOR |
0021 DFCA SWI EQU MONRAM+10 SOFTWARE INTERRUPT VECTOR |
0022 DFCC SVCVO EQU MONRAM+12 SUPERVISOR CALL VECTOR ORGIN |
0023 DFCE SVCVL EQU MONRAM+14 SUPERVISOR CALL VECTOR LIMIT |
0024 DFD0 LRARAM EQU MONRAM+16 LRA ADDRESSES |
0025 DFE0 CPORT EQU MONRAM+32 RE-VECTORABLE CONTROL PORT |
0026 DFE2 ECHO EQU MONRAM+34 ECHO FLAG |
0027 DFE3 BPTBL EQU MONRAM+35 BREAKPOINT TABLE BASE ADDR |
0028 ************************************************** |
0029 * VDU BYTES * |
0030 ************************************************** |
0031 * |
0032 **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ****** |
0033 DFFB COLADX EQU MONRAM+59 CURSOR COLUMN |
0034 DFFC ROWADX EQU MONRAM+60 CURSOR ROW |
0035 ************************************************** |
0036 * |
0037 DFFD NEWROW EQU MONRAM+61 NEW ROW TEMP FOR ESCAPE |
0038 DFFE ESCFLG EQU MONRAM+62 ESCAPE SEQUENCE ACTIVE |
0039 * |
0040 *************************************************** |
0041 * SERIAL PORT * |
0042 *************************************************** |
0043 * |
0044 E000 ACIAS EQU MONIO+$00 CONTROL PORT |
0045 * |
0046 *************************************************** |
0047 * PS/2 KEYBOARD PORT * |
0048 *************************************************** |
0049 * |
0050 E020 PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT |
0051 * |
0052 *************************************************** |
0053 * ADM3A DISPLAY DRIVER VARIABLES * |
0054 *************************************************** |
0055 * |
0056 ** VIDEO DISPLAY DEFINITIONS |
0057 * |
0058 E030 VDU EQU MONIO+$30 |
0059 0000 VDUCHR EQU 0 CHARACTER REGISTER |
0060 0001 VDUATT EQU 1 ATTRIBUTE REGISTER |
0061 0002 VDUCOL EQU 2 CURSOR COLUMN |
0062 0003 VDUROW EQU 3 CURSOR ROW |
0063 0004 VDUOFF EQU 4 ROW OFFSET |
0064 * |
0065 0050 LINLEN EQU 80 LENGTH OF A LINE |
0066 0019 NUMLIN EQU 25 NUMBER OF LINES |
0067 * |
0068 *************************************************** |
0069 * Serial PROM register |
0070 *************************************************** |
0071 * |
0072 ** CONFIGURATION PROM DEFINITIONS |
0073 * |
0074 E0C0 PROMREG EQU MONIO+$C0 |
0075 0001 PCLKHI EQU $01 Toggle PROM Clock High |
0076 0000 PCLKLO EQU $00 Toggle PROM Clock Low |
0077 0002 PRSTHI EQU $02 Toggle PROM Reset High |
0078 0000 PRSTLO EQU $00 Toggle PROM Reset Low |
0079 AA55 SYNCHI EQU $AA55 Synch Pattern High Word |
0080 FF00 SYNCLO EQU $FF00 Synch Pattern Low Word |
0081 * |
0082 * |
0083 *************************************************** |
0084 * Dynamic Address Translation Registers |
0085 *************************************************** |
0086 * |
0087 ** DAT Table |
0088 * |
0089 FFF0 IC11 EQU $FFF0 DAT RAM CHIP |
0090 * |
0091 *************************************************** |
0092 * START OF ROM * |
0093 *************************************************** |
0094 * |
0095 F800 MONITV EQU MONROM+0 FDB MONITOR |
0096 F802 NXTCMV EQU MONROM+2 FDB NEXTCMD |
0097 F804 INCHV EQU MONROM+4 FDB INCH |
0098 F806 INCHEV EQU MONROM+6 FDB INCHE |
0099 F808 INCHKV EQU MONROM+8 FDB INCHEK |
0100 F80A OUTCHV EQU MONROM+10 FDB OUTCH |
0101 F80C PDATAV EQU MONROM+12 FDB PDATA |
0102 F80E PCRLFV EQU MONROM+14 FDB PCRLF |
0103 F810 PSTRGV EQU MONROM+16 FDB PSTRNG |
0104 F812 LRAV EQU MONROM+18 FDB LRA |
0002 END |
0000 INCLUDE "f9-equ.txt" |
0001 0000 Z0000 EQU $0000 |
0002 0005 Z0005 EQU $0005 |
0003 0044 Z0044 EQU $0044 |
0004 00A0 Z00A0 EQU $00A0 |
0005 C07F ZC07F EQU $C07F |
0006 C080 LINBUF EQU $C080 |
0007 C0FF ZC0FF EQU $C0FF |
0003 END |
0000 INCLUDE "f9-spool.txt" |
0001 * |
0002 ** PRINTER SPOOLING |
0003 * |
0004 C700 ORG $C700 |
0005 C700 7E C7 21 PRSPL1 JMP ZC721 |
0006 C703 7E C7 03 PRSPL2 JMP * |
0007 C706 7E C7 47 PRSPL3 JMP ZC747 |
0008 C709 7E C7 85 PRSPL4 JMP ZC785 |
0009 C70C 7E C7 95 PRSPL5 JMP ZC795 |
0010 C70F 7E C7 1F PRSPL6 JMP ZC71F |
0011 * |
0012 ** SPOOLER SCRATCH AREA |
0013 * |
0014 C712 0C 00 00 00 00 C8 ZC712 FCB $0C,$00,$00,$00,$00,$C8,$10 |
10 |
0015 C719 C8 10 ZC719 FCB $C8,$10 |
0016 C71B 00 QCNT FCB $00 |
0017 C71C 00 ZC71C FCB $00 |
0018 C71D 00 ZC71D FCB $00 |
0019 C71E 00 ZC71E FCB $00 |
0020 * |
0021 C71F 3B ZC71F RTI |
0022 C720 12 NOP |
0023 * |
0024 C721 1A 10 ZC721 ORCC #$10 |
0025 C723 BE CC 31 LDX ZCC31 |
0026 C726 10 EF 02 STS 2,X |
0027 C729 7D CC 34 TST ZCC34 |
0028 C72C 26 11 BNE ZC73F |
0029 C72E 8E CC FC LDX #ZCCFC |
0030 C731 7C CC 34 INC ZCC34 |
0031 C734 6D 84 TST ,X |
0032 C736 27 07 BEQ ZC73F |
0033 C738 BF CC 31 ZC738 STX ZCC31 |
0034 C73B 10 EE 02 LDS $02,X |
0035 C73E 3B RTI |
0036 * |
0037 C73F 8E CC F8 ZC73F LDX #ZCCF8 |
0038 C742 7F CC 34 CLR ZCC34 |
0039 C745 20 F1 BRA ZC738 |
0040 * |
0041 C747 1A 10 ZC747 ORCC #$10 |
0042 C749 7D C7 1B TST QCNT |
0043 C74C 27 29 BEQ ZC777 |
0044 C74E BE C7 19 LDX ZC719 |
0045 C751 A6 84 LDA ,X |
0046 C753 34 02 PSHS A |
0047 C755 EC 01 LDD $01,X |
0048 C757 8E CA C0 LDX #ZCAC0 |
0049 C75A ED 88 40 STD $40,X |
0050 C75D 35 02 PULS A |
0051 C75F A7 03 STA $03,X |
0052 C761 6F 84 CLR ,X |
0053 C763 86 01 LDA #$01 |
0054 C765 A7 02 STA $02,X |
0055 C767 6F 88 22 CLR $22,X |
0056 C76A 6F 88 3B CLR $3B,X |
0057 C76D 7D C7 1E ZC76D TST ZC71E |
0058 C770 27 29 BEQ ZC79B |
0059 C772 11 3F SWI3 |
0060 C774 12 NOP |
0061 C775 20 F6 BRA ZC76D |
0062 * |
0063 C777 1C EF ZC777 ANDCC #$EF |
0064 C779 AD 9F D3 ED ZC779 JSR [TOFVEC] |
0065 C77D 7F CC FC CLR ZCCFC |
0066 C780 11 3F SWI3 |
0067 C782 12 NOP |
0068 C783 20 F4 BRA ZC779 |
0069 * |
0070 C785 1A 10 ZC785 ORCC #$10 |
0071 C787 7D CC 30 TST ZCC30 |
0072 C78A 27 05 BEQ ZC791 |
0073 C78C 11 3F SWI3 |
0074 C78E 12 NOP |
0075 C78F 20 F4 BRA ZC785 |
0076 * |
0077 C791 7C CC 30 ZC791 INC ZCC30 |
0078 C794 39 RTS |
0079 * |
0080 C795 7F CC 30 ZC795 CLR ZCC30 |
0081 C798 1C EF ANDCC #$EF |
0082 C79A 39 RTS |
0083 * |
0084 C79B 7D C7 1D ZC79B TST ZC71D |
0085 C79E 26 27 BNE ZC7C7 |
0086 C7A0 8E CA C0 LDX #ZCAC0 |
0087 C7A3 BD D4 06 JSR FMS |
0088 C7A6 26 1F BNE ZC7C7 |
0089 C7A8 7D C7 1C TST ZC71C |
0090 C7AB 27 0F BEQ ZC7BC |
0091 C7AD 7F C7 1C CLR ZC71C |
0092 C7B0 81 0A CMPA #$0A |
0093 C7B2 27 0F BEQ ZC7C3 |
0094 C7B4 34 02 PSHS A |
0095 C7B6 86 0A LDA #$0A |
0096 C7B8 8D 3C BSR ZC7F6 |
0097 C7BA 35 02 PULS A |
0098 C7BC 81 0D ZC7BC CMPA #$0D |
0099 C7BE 26 03 BNE ZC7C3 |
0100 C7C0 B7 C7 1C STA ZC71C |
0101 C7C3 8D 31 ZC7C3 BSR ZC7F6 |
0102 C7C5 20 D4 BRA ZC79B |
0103 * |
0104 C7C7 86 0D ZC7C7 LDA #$0D |
0105 C7C9 8D 2B BSR ZC7F6 |
0106 C7CB 86 0A LDA #$0A |
0107 C7CD 8D 27 BSR ZC7F6 |
0108 C7CF B6 C7 12 LDA ZC712 |
0109 C7D2 8D 22 BSR ZC7F6 |
0110 C7D4 7F C7 1D CLR ZC71D |
0111 C7D7 BE C7 19 LDX ZC719 |
0112 C7DA 6D 03 TST $03,X |
0113 C7DC 27 05 BEQ ZC7E3 |
0114 C7DE 6A 03 DEC $03,X |
0115 C7E0 7E C7 47 JMP ZC747 |
0116 * |
0117 C7E3 30 04 ZC7E3 LEAX $04,X |
0118 C7E5 8C C8 40 CMPX #FCB |
0119 C7E8 26 03 BNE ZC7ED |
0120 C7EA 8E C8 10 LDX #ZC810 |
0121 C7ED BF C7 19 ZC7ED STX ZC719 |
0122 C7F0 7A C7 1B DEC QCNT |
0123 C7F3 7E C7 47 JMP ZC747 |
0124 * |
0125 C7F6 BD CC D8 ZC7F6 JSR PCHK |
0126 C7F9 2B 05 BMI ZC800 |
0127 C7FB 11 3F SWI3 |
0128 C7FD 12 NOP |
0129 C7FE 20 F6 BRA ZC7F6 |
0130 * |
0131 C800 7E CC E4 ZC800 JMP POUT |
0132 C810 ZC810 EQU $C810 |
0133 C838 ZC838 EQU $C838 |
0004 END |
0000 INCLUDE "f9-sfcb.txt" |
0001 * |
0002 ** SYSTEM FILE CONTROL BLOCK |
0003 * |
0004 C840 ORG $C840 |
0005 C840 FF FCB FCB $FF |
0006 C841 00 FCB $00 |
0007 C842 00 FCB $00 |
0008 C843 00 FCB $00 |
0009 C844 53 54 41 52 54 55 ZC844 FCC "STARTUP" |
50 |
0010 C84B 00 FCB $00 |
0011 C84C 54 58 54 FCC "TXT" |
0012 C84F 00 FCB $00 |
0005 END |
0000 INCLUDE "f9-init.txt" |
0001 * |
0002 ** FLEX INITIATION |
0003 * |
0004 CA00 ORG $CA00 |
0005 CA00 20 06 ZCA00 BRA ZCA08 |
0006 CA02 BD CA AC ZCA02 JSR >ZCAAC |
0007 CA05 39 RTS |
0008 CA06 C0 A0 ZCA06 SUBB #$A0 |
0009 CA08 86 39 ZCA08 LDA #$39 |
0010 CA0A B7 D3 FD STA >ZD3FD |
0011 CA0D BE CC 2B LDX >MEMEND |
0012 CA10 30 89 00 A1 LEAX $00A1,X |
0013 CA14 BF CA 06 STX >ZCA06 |
0014 CA17 AD 9F D3 F1 JSR [TINVEC] |
0015 CA1B BE D3 FB LDX >INVEC |
0016 CA1E BF CD 0A STX >INCH+1 |
0017 CA21 BF CD 0D STX >INCH2+1 |
0018 CA24 BE D3 F9 LDX >OUTVEC |
0019 CA27 BF CD 10 STX >OUTCH+1 |
0020 CA2A BF CD 13 STX >OUTCH2+1 |
0021 CA2D BE D3 F7 LDX >STAVEC |
0022 CA30 BF CD 4F STX >ZCD4E+1 |
0023 CA33 8E 00 A0 LDX #Z00A0 |
0024 CA36 C6 B9 LDB #$B9 |
0025 CA38 A6 84 ZCA38 LDA ,X |
0026 CA3A E7 84 STB ,X |
0027 CA3C 12 NOP |
0028 CA3D E1 84 CMPB ,X |
0029 CA3F 26 0B BNE ZCA4C |
0030 CA41 A7 84 STA ,X |
0031 CA43 30 89 04 00 LEAX $0400,X |
0032 CA47 BC CA 06 CMPX >ZCA06 |
0033 CA4A 26 EC BNE ZCA38 |
0034 CA4C 30 89 FF 5F ZCA4C LEAX $FF5F,X |
0035 CA50 BF CC 2B STX >MEMEND |
0036 CA53 8E CD 03 LDX #WARMS |
0037 CA56 BF CC 16 STX >ESCVEC |
0038 CA59 8E CA DC LDX #TTLSTR |
0039 CA5C BD CE 81 JSR >PSTRG1 |
0040 CA5F BD CE B5 JSR >PCRLF1 |
0041 CA62 8D 9E BSR ZCA02 |
0042 CA64 BD CE B5 JSR >PCRLF1 |
0043 CA67 8E C8 40 LDX #FCB |
0044 CA6A 86 01 LDA #$01 |
0045 CA6C A7 84 STA ,X |
0046 CA6E BD D4 06 JSR >FMS |
0047 CA71 27 08 BEQ ZCA7B |
0048 CA73 A6 01 LDA $01,X |
0049 CA75 BD D2 00 JSR >ZD200 |
0050 CA78 7E CD 67 JMP >WARM1 |
0051 |
0052 CA7B 8E C0 80 ZCA7B LDX #LINBUF |
0053 CA7E BF CC 14 ZCA7E STX >LINPTR |
0054 CA81 8E C8 40 LDX #FCB |
0055 CA84 BD D4 06 JSR >FMS |
0056 CA87 27 05 BEQ ZCA8E |
0057 CA89 34 30 PSHS Y,X |
0058 CA8B 7E D2 D7 JMP >ZD2D7 |
0059 |
0060 CA8E BE CC 14 ZCA8E LDX >LINPTR |
0061 CA91 A7 80 STA ,X+ |
0062 CA93 81 0D CMPA #$0D |
0063 CA95 26 E7 BNE ZCA7E |
0064 CA97 8E C8 40 LDX #FCB |
0065 CA9A BD D1 F4 JSR >ZD1F4 |
0066 CA9D 8E C0 80 LDX #LINBUF |
0067 CAA0 BF CC 14 STX >LINPTR |
0068 CAA3 8E CD 67 LDX #WARM1 |
0069 CAA6 BF CC 43 STX >ZCC43 |
0070 CAA9 7E D3 2E JMP >ZD32E |
0071 |
0072 CAAC 8E CA EC ZCAAC LDX #DATSTR |
0073 CAAF BD CE 81 JSR >PSTRG1 |
0074 CAB2 BD CE 2B JSR >INBUF1 |
0075 CAB5 8D 14 BSR ZCACB |
0076 CAB7 25 F3 BCS ZCAAC |
0077 CAB9 B7 CC 0E STA >MONTH |
0078 CABC 8D 0D BSR ZCACB |
0079 CABE 25 EC BCS ZCAAC |
0080 CAC0 B7 CC 0F ZCAC0 STA >DAY |
0081 CAC3 8D 06 BSR ZCACB |
0082 CAC5 25 E5 BCS ZCAAC |
0083 CAC7 B7 CC 10 STA >YEAR |
0084 CACA 39 RTS |
0085 |
0086 CACB BD D1 75 ZCACB JSR >INDEC1 |
0087 CACE 25 0B BCS ZCADB |
0088 CAD0 B6 CC 1C LDA >LODOFF+1 |
0089 CAD3 5D TSTB |
0090 CAD4 27 03 BEQ ZCAD9 |
0091 CAD6 1C FE ANDCC #$FE |
0092 CAD8 39 RTS |
0093 |
0094 CAD9 1A 01 ZCAD9 ORCC #$01 |
0095 CADB 39 ZCADB RTS |
0096 |
0097 CADC 36 38 30 39 20 46 TTLSTR FCC "6809 FLEX V3.01" |
4C 45 58 20 56 33 |
2E 30 31 |
0098 CAEB 04 FCB $04 |
0099 CAEC 44 41 54 45 20 28 DATSTR FCC "DATE (MM,DD,YY)? " |
4D 4D 2C 44 44 2C |
59 59 29 3F 20 |
0100 CAFD 04 FCB $04 |
0006 END |
0000 INCLUDE "f9-var.txt" |
0001 * |
0002 ** TTYSET PARAMETERS |
0003 * |
0004 CC00 ORG $CC00 |
0005 CC00 08 BSPCHR FCB $08 |
0006 CC01 18 DELCHR FCB $18 |
0007 CC02 3A EOLCHR FCB $3A |
0008 CC03 19 DEPCNT FCB 25 |
0009 CC04 00 WIDCNT FCB $00 |
0010 CC05 04 NULCNT FCB $04 |
0011 CC06 40 TABCHR FCB '@ |
0012 CC07 00 BSECHR FCB $00 |
0013 CC08 00 EJTCNT FCB $00 |
0014 CC09 FF PAUSE FCB $FF |
0015 CC0A 1B ESCCHR FCB $1B |
0016 CC0B 00 SYSDRV FCB 0 |
0017 CC0C 01 WRKDRV FCB 1 |
0018 CC0D 00 ZCC0D FCB $00 |
0019 CC0E DATERG EQU * |
0020 CC0E 00 MONTH FCB $00 |
0021 CC0F 00 DAY FCB $00 |
0022 CC10 00 YEAR FCB $00 |
0023 CC11 00 LASTRM FCB $00 |
0024 CC12 00 00 UCTVEC FDB $0000 |
0025 CC14 00 00 LINPTR FDB $0000 |
0026 CC16 00 00 ESCVEC FDB $0000 |
0027 CC18 00 CURCHR FCB $00 |
0028 CC19 00 PRVCHR FCB $00 |
0029 CC1A 00 CURLIN FCB $00 |
0030 CC1B 00 00 LODOFF FDB $0000 |
0031 CC1D 00 TRNFLG FCB $00 |
0032 CC1E 00 00 TRNVEC FDB $0000 |
0033 CC20 00 ERRTYP FCB $00 |
0034 CC21 00 SIOFLG FCB $00 |
0035 CC22 00 OUTSWT FCB $00 |
0036 CC23 00 INPSWT FCB $00 |
0037 CC24 00 00 FOPADR FDB $0000 |
0038 CC26 00 00 FIPADR FDB $0000 |
0039 CC28 00 CMDFLG FCB $00 |
0040 CC29 00 CURCOL FCB $00 |
0041 CC2A 00 FCB $00 |
0042 CC2B BF FF MEMEND FDB $BFFF |
0043 CC2D 00 00 ERRVEC FDB $0000 |
0044 CC2F 01 FIEFLG FCB $01 |
0045 CC30 00 ZCC30 FCB $00 |
0046 CC31 00 00 00 ZCC31 FCB $00,$00,$00 |
0047 CC34 00 00 00 00 00 00 ZCC34 FCB $00,$00,$00,$00,$00,$00,$00 |
00 |
0048 CC3D ZCC3D EQU $CC3D |
0049 CC3F ZCC3F EQU $CC3F |
0050 CC43 ZCC43 EQU $CC43 |
0051 CC45 ZCC45 EQU $CC45 |
0052 CC47 ZCC47 EQU $CC47 |
0053 CC49 ORG $CC49 |
0054 CC49 60 MAPUP FCB $60 MAP LOWER TO UPPERCASE |
0055 CC4A ZCC4A EQU $CC4A |
0056 CC4B ZCC4B EQU $CC4B |
0057 CC4C ZCC4C EQU $CC4C |
0058 CC4D ZCC4D EQU $CC4D |
0007 END |
0000 INCLUDE "f9-data.txt" |
0001 * |
0002 ** STRINGS AND MESSAGES |
0003 * |
0004 CC4E ORG $CC4E |
0005 CC4E 2B 2B 2B PMTSTR FCC "+++" |
0006 CC51 04 FCB $04 |
0007 CC52 3F 3F 3F QRYSTR FCC "???" |
0008 CC55 04 FCB $04 |
0009 CC56 57 48 41 54 3F WOTMSG FCC "WHAT?" |
0010 CC5B 04 FCB $04 |
0011 CC5C 43 41 4E 27 54 20 NTRMSG FCC "CAN'T TRANSFER" |
54 52 41 4E 53 46 |
45 52 |
0012 CC6A 04 FCB $04 |
0013 CC6B 4E 4F 54 20 46 4F NFDMSG FCC "NOT FOUND" |
55 4E 44 |
0014 CC74 04 FCB $04 |
0015 CC75 44 49 53 4B 20 45 DERMSG FCC "DISK ERROR #" |
52 52 4F 52 20 23 |
0016 CC81 04 FCB $04 |
0017 CC82 44 52 49 56 45 53 DNRMSG FCC "DRIVES NOT READY" |
20 4E 4F 54 20 52 |
45 41 44 59 |
0018 CC92 04 FCB $04 |
0019 * |
0020 ** MEMORY RESIDENT COMMANDS |
0021 * |
0022 CC93 47 45 54 CMDTBL FCC "GET" |
0023 CC96 00 FCB $00 |
0024 CC97 D2 0F FDB GETCMD |
0025 CC99 4D 4F 4E FCC "MON" |
0026 CC9C 00 FCB $00 |
0027 CC9D D3 4B FDB ZD34B |
0028 CC9F 00 FCB $00 |
0029 * |
0030 ** DECIMAL CONVERSION TABLE |
0031 * |
0032 CCA0 27 10 DECTBL FDB 10000 |
0033 CCA2 03 E8 FDB 1000 |
0034 CCA4 00 64 FDB 100 |
0035 CCA6 00 0A FDB 10 |
0008 END |
0000 INCLUDE "f9-cli.txt" |
0001 ********************************************* |
0002 * |
0003 * FLEX COMMAND LINE INTERPRETER & SUBROUTINES |
0004 * |
0005 ********************************************* |
0006 CD00 ORG $CD00 |
0007 * |
0008 ** FLEX JUMPS |
0009 * |
0010 CD00 7E CD 57 COLDS JMP >COLD1 |
0011 CD03 7E CD 67 WARMS JMP >WARM1 |
0012 CD06 7E CD B1 RENTER JMP >RENT1 |
0013 CD09 7E CD 09 INCH JMP >INCH |
0014 CD0C 7E CD 0C INCH2 JMP >INCH2 |
0015 CD0F 7E CD 0F OUTCH JMP >OUTCH |
0016 CD12 7E CD 12 OUTCH2 JMP >OUTCH2 |
0017 CD15 7E CE FB GETCHR JMP >GETCH1 |
0018 CD18 7E CF 41 PUTCHR JMP >PUTCH1 |
0019 CD1B 7E CE 2B INBUFF JMP >INBUF1 |
0020 CD1E 7E CE 81 PSTRNG JMP >PSTRG1 |
0021 CD21 7E CF ED CLASS JMP >CLASS1 |
0022 CD24 7E CE B5 PCRLF JMP >PCRLF1 |
0023 CD27 7E D0 0E NXTCH JMP >NXTCH1 |
0024 CD2A 7E CD EA RSTRIO JMP >RSTIO1 |
0025 CD2D 7E D0 36 GETFIL JMP >GETFL1 |
0026 CD30 7E D1 A2 LOAD JMP >LOAD1 |
0027 CD33 7E D0 EB SETEXT JMP >SETEX1 |
0028 CD36 7E D3 49 ADDBX JMP >ADDBX1 |
0029 CD39 7E CF 86 OUTDEC JMP >OUTDC1 |
0030 CD3C 7E CF D4 OUTHEX JMP >OUTHX1 |
0031 CD3F 7E D2 7F RPTERR JMP >RPTER1 |
0032 CD42 7E D1 2F GETHEX JMP >GETHX1 |
0033 CD45 7E CF D0 OUTADR JMP >OUTAD1 |
0034 CD48 7E D1 75 INDEC JMP >INDEC1 |
0035 CD4B 7E D3 29 DOCMND JMP >DOCMD1 |
0036 CD4E 7E CD 4E ZCD4E JMP >ZCD4E |
0037 CD51 7E CE 05 JMP >ZCE05 |
0038 CD54 7E CE 05 JMP >ZCE05 |
0039 * |
0040 ** COLD START ENTRY |
0041 * |
0042 CD57 10 CE C0 7F COLD1 LDS #ZC07F |
0043 CD5B 7F CC 11 ZCD5B CLR >LASTRM |
0044 CD5E BD D4 00 JSR >ZD400 |
0045 CD61 7F CC 28 CLR >CMDFLG |
0046 CD64 BD D3 FD JSR >ZD3FD |
0047 * |
0048 ** WARM START ENTRY |
0049 * |
0050 CD67 10 CE C0 7F WARM1 LDS #ZC07F |
0051 CD6B BD DE 18 JSR >WARMDR |
0052 CD6E 8E CD 03 LDX #WARMS |
0053 CD71 BF CC 16 STX >ESCVEC |
0054 CD74 8E C7 00 LDX #PRSPL1 |
0055 CD77 AF 9F D3 E9 STX [SWIVVC] |
0056 CD7B BE D3 E7 LDX >IHNDVC |
0057 CD7E AF 9F D3 EB STX [IRQVVC] |
0058 CD82 8E CC F8 LDX #ZCCF8 |
0059 CD85 BF CC 31 STX >ZCC31 |
0060 CD88 7F CC 34 CLR >ZCC34 |
0061 CD8B 7F CC 4C CLR >ZCC4C |
0062 CD8E 8D 5A BSR RSTIO1 |
0063 CD90 B6 CC 11 LDA >LASTRM |
0064 CD93 B1 CC 02 CMPA >EOLCHR |
0065 CD96 26 05 BNE ZCD9D |
0066 CD98 7C CC 15 INC >LINPTR+1 |
0067 CD9B 20 14 BRA RENT1 |
0068 |
0069 CD9D 7D CC 28 ZCD9D TST >CMDFLG |
0070 CDA0 10 26 05 97 LBNE ZD33B |
0071 CDA4 BD D4 03 JSR >FMSCLS |
0072 CDA7 26 B2 BNE ZCD5B |
0073 CDA9 8E CC 4E LDX #PMTSTR |
0074 CDAC BD CE 81 JSR >PSTRG1 |
0075 CDAF 8D 7A BSR INBUF1 |
0076 * |
0077 ** MAIN CONTROL LOOP |
0078 * |
0079 CDB1 BD D0 D4 RENT1 JSR >ZD0D4 |
0080 CDB4 81 0D CMPA #$0D |
0081 CDB6 27 E5 BEQ ZCD9D |
0082 CDB8 8E C8 40 ZCDB8 LDX #FCB |
0083 CDBB 7C CC 0D INC >ZCC0D |
0084 CDBE BD D0 36 JSR >GETFL1 |
0085 CDC1 25 16 BCS ZCDD9 |
0086 CDC3 8E CC 93 LDX #CMDTBL |
0087 CDC6 8D 3E BSR ZCE06 |
0088 CDC8 27 09 BEQ ZCDD3 |
0089 CDCA BE CC 12 LDX >UCTVEC |
0090 CDCD 27 07 BEQ ZCDD6 |
0091 CDCF 8D 35 BSR ZCE06 |
0092 CDD1 26 03 BNE ZCDD6 |
0093 CDD3 6E 98 01 ZCDD3 JMP [$01,X] |
0094 |
0095 CDD6 BD D2 2E ZCDD6 JSR >ZD22E |
0096 CDD9 8E CC 56 ZCDD9 LDX #WOTMSG |
0097 CDDC 86 15 LDA #$15 |
0098 CDDE B7 CC 20 ZCDDE STA >ERRTYP |
0099 CDE1 BD CE 81 ZCDE1 JSR >PSTRG1 |
0100 CDE4 7F CC 11 ZCDE4 CLR >LASTRM |
0101 CDE7 7E CD 67 JMP >WARM1 |
0102 * |
0103 ** RESTORE IO VECTORS |
0104 * |
0105 CDEA BE CD 13 RSTIO1 LDX >OUTCH2+1 |
0106 CDED BF CD 10 STX >OUTCH+1 |
0107 CDF0 BE CD 0D LDX >INCH2+1 |
0108 CDF3 BF CD 0A STX >INCH+1 |
0109 CDF6 7F CC 23 CLR >INPSWT |
0110 CDF9 7F CC 22 CLR >OUTSWT |
0111 CDFC 7F CC 21 CLR >SIOFLG |
0112 CDFF 7F CC 26 CLR >FIPADR |
0113 CE02 7F CC 24 CLR >FOPADR |
0114 CE05 39 ZCE05 RTS |
0115 |
0116 CE06 10 8E C8 44 ZCE06 LDY #ZC844 |
0117 CE0A A6 A0 ZCE0A LDA ,Y+ |
0118 CE0C 81 5F CMPA #$5F |
0119 CE0E 23 02 BLS ZCE12 |
0120 CE10 80 20 SUBA #$20 |
0121 CE12 A1 80 ZCE12 CMPA ,X+ |
0122 CE14 26 08 BNE ZCE1E |
0123 CE16 6D 84 TST ,X |
0124 CE18 26 F0 BNE ZCE0A |
0125 CE1A 6D A4 TST ,Y |
0126 CE1C 27 0C BEQ ZCE2A |
0127 CE1E 6D 80 ZCE1E TST ,X+ |
0128 CE20 26 FC BNE ZCE1E |
0129 CE22 30 02 LEAX $02,X |
0130 CE24 6D 84 TST ,X |
0131 CE26 26 DE BNE ZCE06 |
0132 CE28 1C FB ANDCC #$FB |
0133 CE2A 39 ZCE2A RTS |
0134 * |
0135 ** GET USER COMMAND LINE |
0136 * |
0137 CE2B 8E C0 80 INBUF1 LDX #LINBUF |
0138 CE2E BF CC 14 STX >LINPTR |
0139 CE31 BD CE FB ZCE31 JSR >GETCH1 |
0140 CE34 B1 CC 01 CMPA >DELCHR |
0141 CE37 27 1D BEQ ZCE56 |
0142 CE39 B1 CC 00 CMPA >BSPCHR |
0143 CE3C 27 1F BEQ ZCE5D |
0144 CE3E 81 0D CMPA #$0D |
0145 CE40 27 0D BEQ ZCE4F |
0146 CE42 81 0A CMPA #$0A |
0147 CE44 27 32 BEQ ZCE78 |
0148 CE46 81 1F CMPA #$1F |
0149 CE48 23 E7 BLS ZCE31 |
0150 CE4A 8C C0 FF ZCE4A CMPX #ZC0FF |
0151 CE4D 27 E2 BEQ ZCE31 |
0152 CE4F A7 80 ZCE4F STA ,X+ |
0153 CE51 81 0D CMPA #$0D |
0154 CE53 26 DC BNE ZCE31 |
0155 CE55 39 RTS |
0156 |
0157 CE56 8E CC 52 ZCE56 LDX #QRYSTR |
0158 CE59 8D 26 BSR PSTRG1 |
0159 CE5B 20 CE BRA INBUF1 |
0160 |
0161 CE5D 8C C0 80 ZCE5D CMPX #LINBUF |
0162 CE60 27 F4 BEQ ZCE56 |
0163 CE62 30 1F LEAX -$01,X |
0164 CE64 B6 CC 07 LDA >BSECHR |
0165 CE67 81 08 CMPA #$08 |
0166 CE69 26 08 BNE ZCE73 |
0167 CE6B 86 20 LDA #$20 |
0168 CE6D BD CF 66 JSR >ZCF66 |
0169 CE70 B6 CC 07 LDA >BSECHR |
0170 CE73 BD CF 66 ZCE73 JSR >ZCF66 |
0171 CE76 20 B9 BRA ZCE31 |
0172 |
0173 CE78 86 0D ZCE78 LDA #$0D |
0174 CE7A BD CF 41 JSR >PUTCH1 |
0175 CE7D 86 20 LDA #$20 |
0176 CE7F 20 C9 BRA ZCE4A |
0177 |
0178 CE81 8D 32 PSTRG1 BSR PCRLF1 |
0179 CE83 A6 84 ZCE83 LDA ,X |
0180 CE85 81 04 CMPA #$04 |
0181 CE87 27 6F BEQ ZCEF8 |
0182 CE89 BD CF 41 JSR >PUTCH1 |
0183 CE8C 30 01 LEAX $01,X |
0184 CE8E 20 F3 BRA ZCE83 |
0185 |
0186 CE90 BD CD 4E ZCE90 JSR >ZCD4E |
0187 CE93 27 65 BEQ ZCEFA |
0188 CE95 AD 9F D3 E5 JSR [ZD3E5] |
0189 CE99 B1 CC 0A CMPA >ESCCHR |
0190 CE9C 26 5C BNE ZCEFA |
0191 CE9E 7F CC 1A ZCE9E CLR >CURLIN |
0192 CEA1 AD 9F D3 E5 ZCEA1 JSR [ZD3E5] |
0193 CEA5 B1 CC 0A CMPA >ESCCHR |
0194 CEA8 27 50 BEQ ZCEFA |
0195 CEAA 81 03 CMPA #$03 CTRL C |
0196 CEAC 26 F3 BNE ZCEA1 |
0197 CEAE 7F CC 11 CLR >LASTRM |
0198 CEB1 6E 9F CC 16 JMP [ESCVEC] |
0199 * |
0200 ** PRINT CR, LINEFEED |
0201 * |
0202 CEB5 7D CC 21 PCRLF1 TST >SIOFLG |
0203 CEB8 26 27 BNE ZCEE1 |
0204 CEBA 8D D4 BSR ZCE90 |
0205 CEBC B6 CC 03 LDA >DEPCNT |
0206 CEBF 27 20 BEQ ZCEE1 |
0207 CEC1 B1 CC 1A CMPA >CURLIN |
0208 CEC4 22 18 BHI ZCEDE |
0209 CEC6 7F CC 1A CLR >CURLIN |
0210 CEC9 7D CC 09 TST >PAUSE |
0211 CECC 27 02 BEQ ZCED0 |
0212 CECE 8D CE BSR ZCE9E |
0213 CED0 34 04 ZCED0 PSHS B |
0214 CED2 F6 CC 08 LDB >EJTCNT |
0215 CED5 27 05 BEQ ZCEDC |
0216 CED7 8D 08 ZCED7 BSR ZCEE1 |
0217 CED9 5A DECB |
0218 CEDA 26 FB BNE ZCED7 |
0219 CEDC 35 04 ZCEDC PULS B |
0220 CEDE 7C CC 1A ZCEDE INC >CURLIN |
0221 CEE1 86 0D ZCEE1 LDA #$0D |
0222 CEE3 8D 5C BSR PUTCH1 |
0223 CEE5 86 0A LDA #$0A |
0224 CEE7 8D 58 BSR PUTCH1 |
0225 CEE9 34 04 PSHS B |
0226 CEEB F6 CC 05 LDB >NULCNT |
0227 CEEE 27 06 BEQ ZCEF6 |
0228 CEF0 4F ZCEF0 CLRA |
0229 CEF1 8D 4E BSR PUTCH1 |
0230 CEF3 5A DECB |
0231 CEF4 26 FA BNE ZCEF0 |
0232 CEF6 35 04 ZCEF6 PULS B |
0233 CEF8 1C FE ZCEF8 ANDCC #$FE |
0234 CEFA 39 ZCEFA RTS |
0235 * |
0236 ** GET A CHARACTER HONOURING TTYSET |
0237 * |
0238 CEFB 7D CC 23 GETCH1 TST >INPSWT |
0239 CEFE 26 1A BNE ZCF1A |
0240 CF00 7D CC 26 TST >FIPADR |
0241 CF03 27 10 BEQ ZCF15 |
0242 CF05 8D 1A BSR ZCF21 |
0243 CF07 7D CC 2F TST >FIEFLG |
0244 CF0A 27 11 BEQ ZCF1D |
0245 CF0C 7D CC 24 TST >FOPADR |
0246 CF0F 27 0C BEQ ZCF1D |
0247 CF11 8D 53 BSR ZCF66 |
0248 CF13 20 08 BRA ZCF1D |
0249 CF15 BD CD 09 ZCF15 JSR >INCH |
0250 CF18 20 03 BRA ZCF1D |
0251 |
0252 CF1A BD CD 0C ZCF1A JSR >INCH2 |
0253 CF1D 7F CC 1A ZCF1D CLR >CURLIN |
0254 CF20 39 RTS |
0255 |
0256 CF21 BF CC 47 ZCF21 STX >ZCC47 |
0257 CF24 BE CC 26 LDX >FIPADR |
0258 CF27 20 06 BRA ZCF2F |
0259 |
0260 CF29 BF CC 47 ZCF29 STX >ZCC47 |
0261 CF2C BE CC 24 LDX >FOPADR |
0262 CF2F BD D4 06 ZCF2F JSR >FMS |
0263 CF32 26 04 BNE ZCF38 |
0264 CF34 BE CC 47 LDX >ZCC47 |
0265 CF37 39 RTS |
0266 |
0267 CF38 7F CC 24 ZCF38 CLR >FOPADR |
0268 CF3B BD D2 7F JSR >RPTER1 |
0269 CF3E 7E CD 03 JMP >WARMS |
0270 * |
0271 ** OUTPUT CHARACTER HONOURING TTYSET |
0272 * |
0273 CF41 7D CC 21 PUTCH1 TST >SIOFLG |
0274 CF44 26 20 BNE ZCF66 |
0275 CF46 81 1F CMPA #$1F |
0276 CF48 22 05 BHI ZCF4F |
0277 CF4A 7F CC 29 CLR >CURCOL |
0278 CF4D 20 17 BRA ZCF66 |
0279 |
0280 CF4F 7C CC 29 ZCF4F INC >CURCOL |
0281 CF52 34 02 PSHS A |
0282 CF54 B6 CC 04 LDA >WIDCNT |
0283 CF57 27 0B BEQ ZCF64 |
0284 CF59 B1 CC 29 CMPA >CURCOL |
0285 CF5C 24 06 BCC ZCF64 |
0286 CF5E BD CE B5 JSR >PCRLF1 |
0287 CF61 7C CC 29 INC >CURCOL |
0288 CF64 35 02 ZCF64 PULS A |
0289 CF66 34 02 ZCF66 PSHS A |
0290 CF68 7D CC 22 TST >OUTSWT |
0291 CF6B 26 13 BNE ZCF80 |
0292 CF6D 7D CC 24 TST >FOPADR |
0293 CF70 27 04 BEQ ZCF76 |
0294 CF72 8D B5 BSR ZCF29 |
0295 CF74 20 0D BRA ZCF83 |
0296 |
0297 CF76 7D CC 26 ZCF76 TST >FIPADR |
0298 CF79 26 08 BNE ZCF83 |
0299 CF7B BD CD 0F JSR >OUTCH |
0300 CF7E 20 03 BRA ZCF83 |
0301 CF80 BD CD 12 ZCF80 JSR >OUTCH2 |
0302 CF83 35 02 ZCF83 PULS A |
0303 CF85 39 RTS |
0304 |
0305 CF86 7F CC 4A OUTDC1 CLR >ZCC4A |
0306 CF89 F7 CC 1D STB >TRNFLG |
0307 CF8C 86 04 LDA #$04 |
0308 CF8E B7 CC 4D STA >ZCC4D |
0309 CF91 EC 84 LDD ,X |
0310 CF93 8E CC A0 LDX #DECTBL |
0311 CF96 8D 0B ZCF96 BSR ZCFA3 |
0312 CF98 30 02 LEAX $02,X |
0313 CF9A 7A CC 4D DEC >ZCC4D |
0314 CF9D 26 F7 BNE ZCF96 |
0315 CF9F 1F 98 TFR B,A |
0316 CFA1 20 3D BRA OUTHXR |
0317 |
0318 CFA3 7F CC 4B ZCFA3 CLR >ZCC4B |
0319 CFA6 10 A3 84 ZCFA6 CMPD ,X |
0320 CFA9 25 07 BCS ZCFB2 |
0321 CFAB A3 84 SUBD ,X |
0322 CFAD 7C CC 4B INC >ZCC4B |
0323 CFB0 20 F4 BRA ZCFA6 |
0324 |
0325 CFB2 34 02 ZCFB2 PSHS A |
0326 CFB4 B6 CC 4B LDA >ZCC4B |
0327 CFB7 26 10 BNE ZCFC9 |
0328 CFB9 7D CC 4A TST >ZCC4A |
0329 CFBC 26 0B BNE ZCFC9 |
0330 CFBE 7D CC 1D TST >TRNFLG |
0331 CFC1 27 0B BEQ ZCFCE |
0332 CFC3 86 20 LDA #$20 |
0333 CFC5 8D 23 BSR ZCFEA |
0334 CFC7 20 05 BRA ZCFCE |
0335 |
0336 CFC9 7C CC 4A ZCFC9 INC >ZCC4A |
0337 CFCC 8D 12 BSR OUTHXR |
0338 CFCE 35 82 ZCFCE PULS PC,A |
0339 * |
0340 ** DISPLAY HEX ADDRESS |
0341 * |
0342 CFD0 8D 02 OUTAD1 BSR OUTHX1 |
0343 CFD2 30 01 LEAX $01,X |
0344 * |
0345 ** OUPUT HEX BYTE |
0346 * |
0347 CFD4 A6 84 OUTHX1 LDA ,X |
0348 CFD6 8D 04 BSR OUTHXL |
0349 CFD8 A6 84 LDA ,X |
0350 CFDA 20 04 BRA OUTHXR |
0351 |
0352 CFDC 44 OUTHXL LSRA |
0353 CFDD 44 LSRA |
0354 CFDE 44 LSRA |
0355 CFDF 44 LSRA |
0356 CFE0 84 0F OUTHXR ANDA #$0F |
0357 CFE2 8B 30 ADDA #$30 |
0358 CFE4 81 39 CMPA #$39 |
0359 CFE6 23 02 BLS ZCFEA |
0360 CFE8 8B 07 ADDA #$07 |
0361 CFEA 7E CF 41 ZCFEA JMP >PUTCH1 |
0362 * |
0363 ** CLASSIFY CHARACTER ALHA/NUMERIC |
0364 * |
0365 CFED 81 30 CLASS1 CMPA #'0 |
0366 CFEF 25 14 BCS ZD005 |
0367 CFF1 81 39 CMPA #'9 |
0368 CFF3 23 16 BLS ZD00B |
0369 CFF5 81 41 CMPA #'A |
0370 CFF7 25 0C BCS ZD005 |
0371 CFF9 81 5A CMPA #'Z |
0372 CFFB 23 0E BLS ZD00B |
0373 CFFD 81 61 CMPA #'a $61 |
0374 CFFF 25 04 BCS ZD005 |
0375 D001 81 7A CMPA #'z $7A |
0376 D003 23 06 BLS ZD00B |
0377 D005 1A 01 ZD005 ORCC #$01 |
0378 D007 B7 CC 11 STA >LASTRM |
0379 D00A 39 RTS |
0380 D00B 1C FE ZD00B ANDCC #$FE |
0381 D00D 39 RTS |
0382 * |
0383 ** GET NEXT CHARACTER FROM FILE |
0384 * |
0385 D00E 34 10 NXTCH1 PSHS X |
0386 D010 BE CC 14 LDX >LINPTR |
0387 D013 B6 CC 18 LDA >CURCHR |
0388 D016 B7 CC 19 STA >PRVCHR |
0389 D019 A6 80 ZD019 LDA ,X+ |
0390 D01B B7 CC 18 STA >CURCHR |
0391 D01E 81 0D CMPA #$0D |
0392 D020 27 10 BEQ ZD032 |
0393 D022 B1 CC 02 CMPA >EOLCHR |
0394 D025 27 0B BEQ ZD032 |
0395 D027 BF CC 14 STX >LINPTR |
0396 D02A 81 20 CMPA #$20 |
0397 D02C 26 04 BNE ZD032 |
0398 D02E A1 84 CMPA ,X |
0399 D030 27 E7 BEQ ZD019 |
0400 D032 8D B9 ZD032 BSR CLASS1 |
0401 D034 35 90 PULS PC,X |
0402 * |
0403 ** PARSE FILE SPEC. IN LINE BUFFER |
0404 * |
0405 D036 86 15 GETFL1 LDA #$15 |
0406 D038 A7 01 STA $01,X |
0407 D03A 86 FF LDA #$FF |
0408 D03C A7 03 STA $03,X |
0409 D03E 6F 04 CLR $04,X |
0410 D040 6F 0C CLR $0C,X |
0411 D042 BD D0 D4 JSR >ZD0D4 |
0412 D045 86 08 LDA #$08 |
0413 D047 B7 CC 4B STA >ZCC4B |
0414 D04A 8D 34 BSR ZD080 |
0415 D04C 25 2E BCS ZD07C |
0416 D04E 26 0F BNE ZD05F |
0417 D050 8D 2E BSR ZD080 |
0418 D052 25 28 BCS ZD07C |
0419 D054 26 09 BNE ZD05F |
0420 D056 BC CC 3F CMPX >ZCC3F |
0421 D059 27 6C BEQ ZD0C7 |
0422 D05B 8D 23 BSR ZD080 |
0423 D05D 23 68 BLS ZD0C7 |
0424 D05F BE CC 3F ZD05F LDX >ZCC3F |
0425 D062 6D 04 TST $04,X |
0426 D064 27 61 BEQ ZD0C7 |
0427 D066 6D 03 TST $03,X |
0428 D068 2A 0F BPL ZD079 |
0429 D06A 7D CC 0D TST >ZCC0D |
0430 D06D 27 05 BEQ ZD074 |
0431 D06F B6 CC 0B LDA >SYSDRV |
0432 D072 20 03 BRA ZD077 |
0433 |
0434 D074 B6 CC 0C ZD074 LDA >WRKDRV |
0435 D077 A7 03 ZD077 STA $03,X |
0436 D079 7F CC 0D ZD079 CLR >ZCC0D |
0437 D07C BE CC 3F ZD07C LDX >ZCC3F |
0438 D07F 39 RTS |
0439 |
0440 D080 8D 8C ZD080 BSR NXTCH1 |
0441 D082 25 43 BCS ZD0C7 |
0442 D084 81 39 CMPA #$39 |
0443 D086 22 15 BHI ZD09D |
0444 D088 BE CC 3F LDX >ZCC3F |
0445 D08B 6D 03 TST $03,X |
0446 D08D 2A 38 BPL ZD0C7 |
0447 D08F 84 03 ANDA #$03 |
0448 D091 A7 03 STA $03,X |
0449 D093 BD D0 0E JSR >NXTCH1 |
0450 D096 24 2F BCC ZD0C7 |
0451 D098 81 2E ZD098 CMPA #$2E |
0452 D09A 1C FE ANDCC #$FE |
0453 D09C 39 RTS |
0454 |
0455 D09D F6 CC 4B ZD09D LDB >ZCC4B |
0456 D0A0 2B 25 BMI ZD0C7 |
0457 D0A2 34 04 PSHS B |
0458 D0A4 C0 05 SUBB #$05 |
0459 D0A6 F7 CC 4B STB >ZCC4B |
0460 D0A9 35 04 PULS B |
0461 D0AB B1 CC 49 ZD0AB CMPA >MAPUP |
0462 D0AE 25 02 BCS ZD0B2 |
0463 D0B0 80 20 SUBA #$20 |
0464 D0B2 A7 04 ZD0B2 STA $04,X |
0465 D0B4 30 01 LEAX $01,X |
0466 D0B6 5A DECB |
0467 D0B7 BD D0 0E JSR >NXTCH1 |
0468 D0BA 24 08 BCC ZD0C4 |
0469 D0BC 81 2D CMPA #$2D |
0470 D0BE 27 04 BEQ ZD0C4 |
0471 D0C0 81 5F CMPA #$5F |
0472 D0C2 26 06 BNE ZD0CA |
0473 D0C4 5D ZD0C4 TSTB |
0474 D0C5 26 E4 BNE ZD0AB |
0475 D0C7 1A 01 ZD0C7 ORCC #$01 |
0476 D0C9 39 RTS |
0477 |
0478 D0CA 5D ZD0CA TSTB |
0479 D0CB 27 CB BEQ ZD098 |
0480 D0CD 6F 04 CLR $04,X |
0481 D0CF 30 01 LEAX $01,X |
0482 D0D1 5A DECB |
0483 D0D2 20 F6 BRA ZD0CA |
0484 |
0485 D0D4 BF CC 3F ZD0D4 STX >ZCC3F |
0486 D0D7 BE CC 14 LDX >LINPTR |
0487 D0DA A6 84 ZD0DA LDA ,X |
0488 D0DC 81 20 CMPA #$20 |
0489 D0DE 26 04 BNE ZD0E4 |
0490 D0E0 30 01 LEAX $01,X |
0491 D0E2 20 F6 BRA ZD0DA |
0492 D0E4 BF CC 14 ZD0E4 STX >LINPTR |
0493 D0E7 BE CC 3F LDX >ZCC3F |
0494 D0EA 39 RTS |
0495 * |
0496 ** DEFAULT FILE EXTENSION |
0497 * |
0498 D0EB 34 30 SETEX1 PSHS Y,X |
0499 D0ED E6 0C LDB $0C,X |
0500 D0EF 26 18 BNE ZD109 |
0501 D0F1 10 8E D1 0B LDY #EXTTBL |
0502 D0F5 81 0B CMPA #$0B |
0503 D0F7 22 10 BHI ZD109 |
0504 D0F9 C6 03 LDB #$03 |
0505 D0FB 3D MUL |
0506 D0FC 31 A5 LEAY B,Y |
0507 D0FE C6 03 LDB #$03 |
0508 D100 A6 A0 ZD100 LDA ,Y+ |
0509 D102 A7 0C STA $0C,X |
0510 D104 30 01 LEAX $01,X |
0511 D106 5A DECB |
0512 D107 26 F7 BNE ZD100 |
0513 D109 35 B0 ZD109 PULS PC,Y,X |
0514 * |
0515 ** STANDARD FILE NAME EXTTENSIONS |
0516 * |
0517 D10B 42 49 4E EXTTBL FCC "BIN" |
0518 D10E 54 58 54 FCC "TXT" |
0519 D111 43 4D 44 FCC "CMD" |
0520 D114 42 41 53 FCC "BAS" |
0521 D117 53 59 53 FCC "SYS" |
0522 D11A 42 41 4B FCC "BAK" |
0523 D11D 53 43 52 FCC "SCR" |
0524 D120 44 41 54 FCC "DAT" |
0525 D123 42 41 43 FCC "BAC" |
0526 D126 44 49 52 FCC "DIR" |
0527 D129 50 52 54 FCC "PRT" |
0528 D12C 4F 55 54 FCC "OUT" |
0529 * |
0530 ** READ A HEX ADDRESS FROM THE LINE BUFFER |
0531 * |
0532 D12F BD D2 1E GETHX1 JSR >ZD21E |
0533 D132 BD D0 0E ZD132 JSR >NXTCH1 |
0534 D135 25 22 BCS ZD159 |
0535 D137 8D 26 BSR ZD15F |
0536 D139 25 18 BCS ZD153 |
0537 D13B 34 04 PSHS B |
0538 D13D C6 04 LDB #$04 |
0539 D13F 78 CC 1C ZD13F ASL >LODOFF+1 |
0540 D142 79 CC 1B ROL >LODOFF |
0541 D145 5A DECB |
0542 D146 26 F7 BNE ZD13F |
0543 D148 35 04 PULS B |
0544 D14A BB CC 1C ADDA >LODOFF+1 |
0545 D14D B7 CC 1C STA >LODOFF+1 |
0546 D150 5C INCB |
0547 D151 20 DF BRA ZD132 |
0548 |
0549 D153 BD D0 0E ZD153 JSR >NXTCH1 |
0550 D156 24 FB BCC ZD153 |
0551 D158 39 RTS |
0552 |
0553 D159 BE CC 1B ZD159 LDX >LODOFF |
0554 D15C 1C FE ANDCC #$FE |
0555 D15E 39 RTS |
0556 |
0557 D15F 80 47 ZD15F SUBA #$47 |
0558 D161 2A 0F BPL ZD172 |
0559 D163 8B 06 ADDA #$06 |
0560 D165 2A 04 BPL ZD16B |
0561 D167 8B 07 ADDA #$07 |
0562 D169 2A 07 BPL ZD172 |
0563 D16B 8B 0A ZD16B ADDA #$0A |
0564 D16D 2B 03 BMI ZD172 |
0565 D16F 1C FE ANDCC #$FE |
0566 D171 39 RTS |
0567 |
0568 D172 1A 01 ZD172 ORCC #$01 |
0569 D174 39 RTS |
0570 |
0571 D175 BD D2 1E INDEC1 JSR >ZD21E |
0572 D178 BD D0 0E ZD178 JSR >NXTCH1 |
0573 D17B 25 DC BCS ZD159 |
0574 D17D 81 39 CMPA #$39 |
0575 D17F 22 D2 BHI ZD153 |
0576 D181 84 0F ANDA #$0F |
0577 D183 34 04 PSHS B |
0578 D185 34 02 PSHS A |
0579 D187 FC CC 1B LDD >LODOFF |
0580 D18A 58 ASLB |
0581 D18B 49 ROLA |
0582 D18C 58 ASLB |
0583 D18D 49 ROLA |
0584 D18E 58 ASLB |
0585 D18F 49 ROLA |
0586 D190 F3 CC 1B ADDD >LODOFF |
0587 D193 F3 CC 1B ADDD >LODOFF |
0588 D196 EB E0 ADDB ,S+ |
0589 D198 89 00 ADCA #$00 |
0590 D19A FD CC 1B STD >LODOFF |
0591 D19D 35 04 PULS B |
0592 D19F 5C INCB |
0593 D1A0 20 D6 BRA ZD178 |
0594 * |
0595 ** LOAD BINARY FILE |
0596 * |
0597 D1A2 7F CC 1D LOAD1 CLR >TRNFLG |
0598 D1A5 8D 3D ZD1A5 BSR ZD1E4 |
0599 D1A7 81 02 CMPA #$02 |
0600 D1A9 27 15 BEQ ZD1C0 |
0601 D1AB 81 16 CMPA #$16 |
0602 D1AD 26 F6 BNE ZD1A5 |
0603 D1AF 8D 33 BSR ZD1E4 |
0604 D1B1 B7 CC 1E STA >TRNVEC |
0605 D1B4 8D 2E BSR ZD1E4 |
0606 D1B6 B7 CC 1F STA >TRNVEC+1 |
0607 D1B9 86 01 LDA #$01 |
0608 D1BB B7 CC 1D STA >TRNFLG |
0609 D1BE 20 E5 BRA ZD1A5 |
0610 |
0611 D1C0 8D 22 ZD1C0 BSR ZD1E4 |
0612 D1C2 1F 89 TFR A,B |
0613 D1C4 8D 1E BSR ZD1E4 |
0614 D1C6 1E 89 EXG A,B |
0615 D1C8 F3 CC 1B ADDD >LODOFF |
0616 D1CB FD CC 3D STD >ZCC3D |
0617 D1CE 8D 14 BSR ZD1E4 |
0618 D1D0 1F 89 TFR A,B |
0619 D1D2 4D TSTA |
0620 D1D3 27 D0 BEQ ZD1A5 |
0621 D1D5 8D 0D ZD1D5 BSR ZD1E4 |
0622 D1D7 BE CC 3D LDX >ZCC3D |
0623 D1DA A7 80 STA ,X+ |
0624 D1DC BF CC 3D STX >ZCC3D |
0625 D1DF 5A DECB |
0626 D1E0 26 F3 BNE ZD1D5 |
0627 D1E2 20 C1 BRA ZD1A5 |
0628 |
0629 D1E4 8E C8 40 ZD1E4 LDX #FCB |
0630 D1E7 BD D4 06 JSR >FMS |
0631 D1EA 27 11 BEQ ZD1FD |
0632 D1EC A6 01 LDA $01,X |
0633 D1EE 81 08 CMPA #$08 |
0634 D1F0 26 0E BNE ZD200 |
0635 D1F2 32 62 LEAS $02,S |
0636 D1F4 86 04 ZD1F4 LDA #$04 |
0637 D1F6 A7 84 STA ,X |
0638 D1F8 BD D4 06 JSR >FMS |
0639 D1FB 26 0D BNE ZD20A |
0640 D1FD 1C FE ZD1FD ANDCC #$FE |
0641 D1FF 39 RTS |
0642 |
0643 D200 B7 CC 20 ZD200 STA >ERRTYP |
0644 D203 81 04 CMPA #$04 |
0645 D205 26 03 BNE ZD20A |
0646 D207 1A 01 ORCC #$01 |
0647 D209 39 RTS |
0648 |
0649 D20A 8D 73 ZD20A BSR RPTER1 |
0650 D20C 7E CD E4 JMP >ZCDE4 |
0651 * |
0652 ** 'GET' - LOAD BINARY FILE |
0653 * |
0654 D20F 86 00 GETCMD LDA #$00 |
0655 D211 8D 35 BSR ZD248 |
0656 D213 25 0F BCS ZD224 |
0657 D215 8D 07 BSR ZD21E |
0658 D217 7C CC 4C INC >ZCC4C |
0659 D21A 8D 86 BSR LOAD1 |
0660 D21C 20 F1 BRA GETCMD |
0661 |
0662 D21E 4F ZD21E CLRA |
0663 D21F 5F CLRB |
0664 D220 FD CC 1B STD >LODOFF |
0665 D223 39 RTS |
0666 |
0667 D224 F6 CC 4C ZD224 LDB >ZCC4C |
0668 D227 10 27 FB AE LBEQ ZCDD9 |
0669 D22B 7E CD 03 JMP >WARMS |
0670 |
0671 D22E 86 02 ZD22E LDA #$02 |
0672 D230 8D 22 BSR ZD254 |
0673 D232 8D EA BSR ZD21E |
0674 D234 BD D1 A2 JSR >LOAD1 |
0675 D237 F6 CC 1D LDB >TRNFLG |
0676 D23A 27 04 BEQ ZD240 |
0677 D23C 6E 9F CC 1E JMP [TRNVEC] |
0678 |
0679 D240 8E CC 5C ZD240 LDX #NTRMSG |
0680 D243 86 81 LDA #$81 |
0681 D245 7E CD DE JMP >ZCDDE |
0682 |
0683 D248 34 02 ZD248 PSHS A |
0684 D24A 8E C8 40 LDX #FCB |
0685 D24D BD D0 36 JSR >GETFL1 |
0686 D250 35 02 PULS A |
0687 D252 25 1A BCS ZD26E |
0688 D254 8E C8 40 ZD254 LDX #FCB |
0689 D257 BD D0 EB JSR >SETEX1 |
0690 D25A 8E C8 40 LDX #FCB |
0691 D25D 86 01 LDA #$01 |
0692 D25F A7 84 STA ,X |
0693 D261 BD D1 E4 JSR >ZD1E4 |
0694 D264 10 25 00 BB LBCS ZD323 |
0695 D268 86 FF LDA #$FF |
0696 D26A A7 88 3B STA $3B,X |
0697 D26D 39 RTS |
0698 |
0699 D26E B6 CC 11 ZD26E LDA >LASTRM |
0700 D271 81 0D CMPA #$0D |
0701 D273 27 07 BEQ ZD27C |
0702 D275 B1 CC 02 CMPA >EOLCHR |
0703 D278 10 26 FB 5D LBNE ZCDD9 |
0704 D27C 1A 01 ZD27C ORCC #$01 |
0705 D27E 39 RTS |
0706 |
0707 D27F 34 30 RPTER1 PSHS Y,X |
0708 D281 A6 01 LDA $01,X |
0709 D283 B7 CC 20 STA >ERRTYP |
0710 D286 27 63 BEQ ZD2EB |
0711 D288 BD CD EA JSR >RSTIO1 |
0712 D28B 10 BE CC 2D LDY >ERRVEC |
0713 D28F 26 08 BNE ZD299 |
0714 D291 81 10 CMPA #$10 |
0715 D293 27 58 BEQ ZD2ED |
0716 D295 10 8E D3 61 LDY #ZD361 |
0717 D299 8E C8 40 ZD299 LDX #FCB |
0718 D29C 6D 02 TST $02,X |
0719 D29E 27 09 BEQ ZD2A9 |
0720 D2A0 86 04 LDA #$04 |
0721 D2A2 A7 84 STA ,X |
0722 D2A4 BD D4 06 JSR >FMS |
0723 D2A7 26 2E BNE ZD2D7 |
0724 D2A9 8E C8 38 ZD2A9 LDX #ZC838 |
0725 D2AC C6 0B LDB #$0B |
0726 D2AE 8D 6E BSR ZD31E |
0727 D2B0 8E C8 40 LDX #FCB |
0728 D2B3 B6 CC 0B LDA >SYSDRV |
0729 D2B6 A7 03 STA $03,X |
0730 D2B8 86 01 LDA #$01 |
0731 D2BA A7 84 STA ,X |
0732 D2BC BD D4 06 JSR >FMS |
0733 D2BF 26 16 BNE ZD2D7 |
0734 D2C1 B6 CC 20 LDA >ERRTYP |
0735 D2C4 4A DECA |
0736 D2C5 47 ASRA |
0737 D2C6 47 ASRA |
0738 D2C7 4C INCA |
0739 D2C8 6F 88 20 CLR $20,X |
0740 D2CB A7 88 21 STA $21,X |
0741 D2CE 86 15 LDA #$15 |
0742 D2D0 A7 84 STA ,X |
0743 D2D2 BD D4 06 JSR >FMS |
0744 D2D5 27 1E BEQ ZD2F5 |
0745 D2D7 8E CC 75 ZD2D7 LDX #DERMSG |
0746 D2DA BD CE 81 JSR >PSTRG1 |
0747 D2DD BE CC 3F LDX >ZCC3F |
0748 D2E0 B6 CC 20 LDA >ERRTYP |
0749 D2E3 A7 01 STA $01,X |
0750 D2E5 6F 84 CLR ,X |
0751 D2E7 5F CLRB |
0752 D2E8 BD CF 86 JSR >OUTDC1 |
0753 D2EB 35 B0 ZD2EB PULS PC,Y,X |
0754 |
0755 D2ED 8E CC 82 ZD2ED LDX #DNRMSG |
0756 D2F0 BD CE 81 JSR >PSTRG1 |
0757 D2F3 20 F6 BRA ZD2EB |
0758 |
0759 D2F5 BD CE B5 ZD2F5 JSR >PCRLF1 |
0760 D2F8 8E C8 40 LDX #FCB |
0761 D2FB B6 CC 20 LDA >ERRTYP |
0762 D2FE 4A DECA |
0763 D2FF 84 03 ANDA #$03 |
0764 D301 C6 3F LDB #$3F |
0765 D303 3D MUL |
0766 D304 CB 04 ADDB #$04 |
0767 D306 E7 88 22 STB $22,X |
0768 D309 BD D4 06 ZD309 JSR >FMS |
0769 D30C 26 C9 BNE ZD2D7 |
0770 D30E BD CF 41 JSR >PUTCH1 |
0771 D311 81 0D CMPA #$0D |
0772 D313 26 F4 BNE ZD309 |
0773 D315 86 04 LDA #$04 |
0774 D317 A7 84 STA ,X |
0775 D319 BD D4 06 JSR >FMS |
0776 D31C 20 CD BRA ZD2EB |
0777 D31E 34 30 ZD31E PSHS Y,X |
0778 D320 7E D1 00 JMP >ZD100 |
0779 |
0780 D323 8E CC 6B ZD323 LDX #NFDMSG NOT FOUND |
0781 D326 7E CD E1 JMP >ZCDE1 |
0782 * |
0783 ** CALL FLEX AS A SUBROUTINE |
0784 * |
0785 D329 35 06 DOCMD1 PULS B,A |
0786 D32B FD CC 43 STD >ZCC43 |
0787 D32E 10 FF CC 45 ZD32E STS >ZCC45 |
0788 D332 7F CC 20 CLR >ERRTYP |
0789 D335 7C CC 28 INC >CMDFLG |
0790 D338 7E CD B8 JMP >ZCDB8 |
0791 D33B 7F CC 28 ZD33B CLR >CMDFLG |
0792 D33E 10 FE CC 45 LDS >ZCC45 |
0793 D342 F6 CC 20 LDB >ERRTYP |
0794 D345 6E 9F CC 43 JMP [ZCC43] |
0795 * |
0796 ** ADD ACCB TO IX |
0797 * |
0798 D349 3A ADDBX1 ABX |
0799 D34A 39 RTS |
0800 |
0801 D34B 7D CC FC ZD34B TST >ZCCFC |
0802 D34E 26 04 BNE ZD354 |
0803 D350 6E 9F D3 F3 JMP [MONVEC] |
0804 |
0805 D354 8E C8 40 ZD354 LDX #FCB |
0806 D357 86 1B LDA #$1B |
0807 D359 A7 01 STA $01,X |
0808 D35B BD D2 7F JSR >RPTER1 |
0809 D35E 7E CD 67 JMP >WARM1 |
0810 |
0811 D361 45 52 52 4F 52 53 ZD361 FCC /ERRORS/ |
0812 D367 00 00 FCB $00,$00 |
0813 D369 53 59 53 FCC /SYS/ |
0009 END |
0000 INCLUDE "f9-monio.txt" |
0001 * |
0002 ** TERMINAL AND PRINTER DRIVERS |
0003 ** SYS09BUG - Spartan 3 Starter Board |
0004 * |
0005 ** FLEX DRIVER MEMORY MAP: |
0006 ** C700 - C83F PRINTER SPOOLER |
0007 ** CCC0 - CCF7 PRINTER DRIVERS |
0008 ** D370 - D3FF CONSOLE DRIVERS |
0009 ** DE00 - DFAF DISK DRIVERS |
0010 * |
0011 * |
0012 ** INTERRUPT VECTORS |
0013 * |
0014 DFC8 IRQVEC EQU MONRAM+$08 |
0015 DFC2 SWIVEC EQU MONRAM+$02 SWI3 VECTOR |
0016 * |
0017 ** PRINTER DRIVERS |
0018 * |
0019 CCC0 ORG $CCC0 |
0020 CCC0 7E D3 70 PINIT JMP DUMRTS INITIATE PRINTER |
0021 CCD8 ORG $CCD8 |
0022 CCD8 7E D3 70 PCHK JMP DUMRTS CHECK IF PRINTER READY |
0023 CCE4 ORG $CCE4 |
0024 CCE4 7E D3 70 POUT JMP DUMRTS OUTPUT CHR. TO PRINTER |
0025 CCF8 ORG $CCF8 |
0026 CCF8 01 00 00 00 ZCCF8 FCB $01,$00,$00,$00 |
0027 CCFC 00 00 00 00 ZCCFC FCB $00,$00,$00,$00 |
0028 * |
0029 ** CONSOLE DRIVER PATCHES: |
0030 * |
0031 D370 ORG $D370 |
0032 D370 IHND EQU * INTERRUPT HANDLER |
0033 D370 TMON EQU * TIMER ON |
0034 D370 TMOFF EQU * TIMER OFF |
0035 D370 TMINT EQU * TIMER INITIALIZATION |
0036 D370 DUMRTS EQU * |
0037 D370 39 RTS |
0038 * |
0039 ** SBUG MONITOR I/O CALLS |
0040 * |
0041 D371 7E D3 70 TERINZ JMP DUMRTS INITIATE ACIA |
0042 D374 6E 9F F8 04 INCHNE JMP [MONROM+$04] INPUT WITHOUT ECHO |
0043 D378 6E 9F F8 00 MONITR JMP [MONROM+$00] |
0044 D37C 6E 9F F8 08 INCHEK JMP [MONROM+$08] CHECK FOR TERMINAL ENTRY |
0045 D380 6E 9F F8 0A OUTEEE JMP [MONROM+$0A] OUPUT CHARACTER |
0046 D384 6E 9F F8 06 INEEE JMP [MONROM+$06] INPUT WITH ECHO |
0047 |
0048 * |
0049 ** AUTO BLOCK FDBS |
0050 * |
0051 D3E5 ORG $D3E5 |
0052 D3E5 D3 74 ZD3E5 FDB INCHNE INPUT - NO ECHO |
0053 D3E7 D3 70 IHNDVC FDB IHND IRQ INTERRUPT HANDLER |
0054 D3E9 DF C2 SWIVVC FDB SWIVEC SWI3 VECTOR LOCATION |
0055 D3EB DF C8 IRQVVC FDB IRQVEC IRQ VECTOR LOCATION |
0056 D3ED D3 70 TOFVEC FDB TMOFF TIMER OFF ROUTINE |
0057 D3EF D3 70 TONVEC FDB TMON TIMER ON ROUTINE |
0058 D3F1 D3 70 TINVEC FDB TMINT TIMER INITIALIZE ROUTINE |
0059 D3F3 D3 78 MONVEC FDB MONITR MONITOR RETURN ADDRESS |
0060 D3F5 D3 71 TERVEC FDB TERINZ TERMINAL INITIATION |
0061 D3F7 D3 7C STAVEC FDB INCHEK CHECK TERMINAL STATUS |
0062 D3F9 D3 80 OUTVEC FDB OUTEEE TERMINAL CHAR OUTPUT |
0063 D3FB D3 84 INVEC FDB INEEE TERMINAL INPUT CHARACTER |
0064 D3FD 7E CA 00 ZD3FD JMP ZCA00 |
0010 END |
0000 INCLUDE "f9-fms.txt" |
0001 * |
0002 ** FILE MANAGEMENT SYSTEM |
0003 * |
0004 D400 7E D4 36 ZD400 JMP >ZD436 |
0005 D403 7E D4 59 FMSCLS JMP >ZD459 |
0006 D406 7E D4 7B FMS JMP >FMS1 |
0007 D409 20 44 49 53 4B 20 CPYMSG FCC / DISK OPERATING SYSTEM/ |
4F 50 45 52 41 54 |
49 4E 47 20 53 59 |
53 54 45 4D |
0008 D41F 20 43 4F 50 59 52 FCC / COPYRIGHT (C) 1980 BY/ |
49 47 48 54 20 28 |
43 29 20 31 39 38 |
30 20 42 59 |
0009 D435 20 54 45 43 48 4E FCC / TECHNICAL SYSTEMS CONSULTANTS/ |
49 43 41 4C 20 53 |
59 53 54 45 4D 53 |
20 43 4F 4E 53 55 |
4C 54 41 4E 54 53 |
0010 D409 ORG CPYMSG |
0011 D409 FCBPTR RMB 2 |
0012 D40B CURFCB RMB 4 |
0013 D40F ZD40F RMB 2 |
0014 D411 ZD411 RMB 1 |
0015 D412 ZD412 RMB 1 |
0016 D413 ZD413 RMB 1 |
0017 D414 ZD414 RMB 1 |
0018 D415 ZD415 RMB 2 |
0019 D417 ZD417 RMB 1 |
0020 D418 ZD418 RMB 2 |
0021 D41A ZD41A RMB 1 |
0022 D41B ZD41B RMB 2 |
0023 D41D ZD41D RMB 24 |
0024 D435 FF VERFLG FCB $FF |
0025 * |
0026 ** |
0027 * |
0028 D436 BD DE 15 ZD436 JSR >COLDDR |
0029 D439 8E D4 09 LDX #FCBPTR |
0030 D43C C6 0A LDB #$0A |
0031 D43E 8D 11 BSR ZD451 |
0032 D440 8E 00 05 LDX #Z0005 |
0033 D443 BF D4 13 STX >ZD413 |
0034 D446 BF D4 15 STX >ZD415 |
0035 D449 7F D4 1A CLR >ZD41A |
0036 D44C 8E D4 1B ZD44C LDX #ZD41B |
0037 D44F C6 1A LDB #$1A |
0038 D451 6F 80 ZD451 CLR ,X+ |
0039 D453 5A DECB |
0040 D454 26 FB BNE ZD451 |
0041 D456 7E C7 0C JMP >PRSPL5 |
0042 |
0043 D459 BD C7 09 ZD459 JSR >PRSPL4 |
0044 D45C BE D4 09 ZD45C LDX >FCBPTR |
0045 D45F 27 EB BEQ ZD44C |
0046 D461 30 88 E4 LEAX -$1C,X |
0047 D464 BF D4 0B STX >CURFCB |
0048 D467 34 20 PSHS Y |
0049 D469 BD DA C3 JSR >CLOSE |
0050 D46C 35 20 PULS Y |
0051 D46E 24 EC BCC ZD45C |
0052 D470 BE D4 0B LDX >CURFCB |
0053 D473 6F 02 CLR $02,X |
0054 D475 BD C7 0C JSR >PRSPL5 |
0055 D478 C6 FF LDB #$FF |
0056 D47A 39 RTS |
0057 |
0058 * |
0059 ** FMS CALL, PROCESSING |
0060 * |
0061 D47B 7D CC FC FMS1 TST >ZCCFC |
0062 D47E 27 03 BEQ ZD483 |
0063 D480 BD C7 09 JSR >PRSPL4 |
0064 D483 34 24 ZD483 PSHS Y,B |
0065 D485 BF D4 0B STX >CURFCB |
0066 D488 6F 01 CLR $01,X |
0067 D48A E6 84 LDB ,X |
0068 D48C 26 22 BNE DOFUNC |
0069 * |
0070 ** READ/WRITE CHAR/BYTE |
0071 * |
0072 D48E E6 02 LDB $02,X |
0073 D490 27 1A BEQ ZD4AC |
0074 D492 C1 02 CMPB #$02 |
0075 D494 27 11 BEQ ZD4A7 |
0076 D496 BD D5 B4 JSR >ZD5B4 |
0077 D499 BE D4 0B ZD499 LDX >CURFCB |
0078 D49C 25 26 BCS ZD4C4 |
0079 D49E 7D CC FC TST >ZCCFC |
0080 D4A1 26 23 BNE ZD4C6 |
0081 D4A3 5F CLRB |
0082 D4A4 35 24 PULS Y,B |
0083 D4A6 39 RTS |
0084 |
0085 D4A7 BD D6 CF ZD4A7 JSR >ZD6CF |
0086 D4AA 20 ED BRA ZD499 |
0087 D4AC C6 12 ZD4AC LDB #$12 |
0088 D4AE 20 14 BRA ZD4C4 |
0089 |
0090 D4B0 C1 16 DOFUNC CMPB #$16 |
0091 D4B2 23 04 BLS DOFUN1 |
0092 D4B4 C6 01 LDB #$01 |
0093 D4B6 20 0C BRA ZD4C4 |
0094 D4B8 5A DOFUN1 DECB |
0095 D4B9 58 ASLB |
0096 D4BA 8E D4 CE LDX #FMSTBL |
0097 D4BD AD 95 JSR [B,X] |
0098 D4BF BE D4 0B LDX >CURFCB |
0099 D4C2 24 02 BCC ZD4C6 |
0100 D4C4 E7 01 ZD4C4 STB $01,X |
0101 D4C6 BD C7 0C ZD4C6 JSR >PRSPL5 |
0102 D4C9 6D 01 TST $01,X |
0103 D4CB 35 24 PULS Y,B |
0104 D4CD 39 RTS |
0105 * |
0106 ** FMS COMMAND VECTOR TABLE |
0107 * |
0108 D4CE D9 86 FMSTBL FDB OPENRD FC 1 |
0109 D4D0 D9 D9 FDB OPENWR FC 2 |
0110 D4D2 DA F9 FDB OPENUD FC 3 |
0111 D4D4 DA C3 FDB CLOSE FC 4 |
0112 D4D6 D5 E2 FDB REWIND FC 5 |
0113 D4D8 D8 1D FDB OPNDIR FC 6 |
0114 D4DA D8 38 FDB GETREC FC 7 |
0115 D4DC D8 76 FDB PUTREC FC 8 |
0116 D4DE D6 41 FDB RDSECT FC 9 |
0117 D4E0 D6 9F FDB WRSECT FC 10 |
0118 D4E2 D9 69 FDB RESV1 FC 11 |
0119 D4E4 DB D6 FDB DELETE FC 12 |
0120 D4E6 DB 2C FDB RENAME FC 13 |
0121 D4E8 D6 99 FDB RESV2 FC 14 |
0122 D4EA DA 87 FDB NXTSEC FC 15 |
0123 D4EC D8 10 FDB OPNREC FC 16 |
0124 D4EE D5 6F FDB GETBYT FC 17 |
0125 D4F0 D5 90 FDB PUTBYT FC 18 |
0126 D4F2 DB 07 FDB RESV3 FC 19 |
0127 D4F4 DD BD FDB NXTDRV FC 20 |
0128 D4F6 DC FB FDB POSREC FC 21 |
0129 D4F8 DC E5 FDB BAKREC FC 22 |
0130 * |
0131 ** |
0132 * |
0133 D4FA 8D 20 ZD4FA BSR ZD51C |
0134 D4FC 26 05 BNE ZD503 |
0135 D4FE C6 02 LDB #$02 |
0136 D500 1A 01 ORCC #$01 |
0137 D502 39 RTS |
0138 |
0139 D503 ED 84 ZD503 STD ,X |
0140 D505 AE 84 LDX ,X |
0141 D507 6F 84 CLR ,X |
0142 D509 6F 01 CLR $01,X |
0143 D50B 39 RTS |
0144 |
0145 D50C 8D 0E ZD50C BSR ZD51C |
0146 D50E 27 05 BEQ ZD515 |
0147 D510 C6 0D LDB #$0D |
0148 D512 1A 01 ORCC #$01 |
0149 D514 39 RTS |
0150 |
0151 D515 EC 94 ZD515 LDD [,X] |
0152 D517 ED 84 STD ,X |
0153 D519 1C FE ANDCC #$FE |
0154 D51B 39 RTS |
0155 |
0156 D51C FC D4 0B ZD51C LDD >CURFCB |
0157 D51F C3 00 1C ADDD #$001C |
0158 D522 8E D4 09 LDX #FCBPTR |
0159 D525 10 AE 84 ZD525 LDY ,X |
0160 D528 26 03 BNE ZD52D |
0161 D52A 1C FB ANDCC #$FB |
0162 D52C 39 RTS |
0163 |
0164 D52D 10 A3 84 ZD52D CMPD ,X |
0165 D530 26 01 BNE ZD533 |
0166 D532 39 RTS |
0167 D533 AE 84 ZD533 LDX ,X |
0168 D535 20 EE BRA ZD525 |
0169 |
0170 D537 BE D4 0B ZD537 LDX >CURFCB |
0171 D53A 4F CLRA |
0172 D53B 5F CLRB |
0173 D53C 8D 02 BSR ZD540 |
0174 D53E C6 2F LDB #$2F |
0175 D540 A7 88 11 ZD540 STA $11,X |
0176 D543 30 01 LEAX $01,X |
0177 D545 5A DECB |
0178 D546 26 F8 BNE ZD540 |
0179 D548 39 RTS |
0180 |
0181 D549 BE D4 0B ZD549 LDX >CURFCB |
0182 D54C C6 0B LDB #$0B |
0183 D54E A6 04 ZD54E LDA $04,X |
0184 D550 A7 88 24 STA $24,X |
0185 D553 30 01 LEAX $01,X |
0186 D555 5A DECB |
0187 D556 26 F6 BNE ZD54E |
0188 D558 39 RTS |
0189 |
0190 D559 BE D4 0B ZD559 LDX >CURFCB |
0191 D55C C6 0B LDB #$0B |
0192 D55E A6 04 ZD55E LDA $04,X |
0193 D560 34 02 PSHS A |
0194 D562 A6 88 24 LDA $24,X |
0195 D565 A1 E0 CMPA ,S+ |
0196 D567 26 05 BNE ZD56E |
0197 D569 30 01 LEAX $01,X |
0198 D56B 5A DECB |
0199 D56C 26 F0 BNE ZD55E |
0200 D56E 39 ZD56E RTS |
0201 * |
0202 ** GET RANDOM BYTE FROM SECTOR |
0203 * |
0204 D56F BE D4 0B GETBYT LDX >CURFCB |
0205 D572 E6 02 LDB $02,X |
0206 D574 54 LSRB |
0207 D575 24 79 BCC ZD5F0 |
0208 D577 E6 88 23 LDB $23,X |
0209 D57A 7E D6 00 JMP >ZD600 |
0210 |
0211 D57D BE D4 0B ZD57D LDX >CURFCB |
0212 D580 E6 88 22 LDB $22,X |
0213 D583 6C 88 22 INC $22,X |
0214 D586 3A ABX |
0215 D587 A7 88 40 STA $40,X |
0216 D58A 5C INCB |
0217 D58B 26 1F BNE ZD5AC |
0218 D58D 1A 01 ORCC #$01 |
0219 D58F 39 RTS |
0220 * |
0221 ** PUT RANDOM BYTE IN SECTOR |
0222 * |
0223 D590 BE D4 0B PUTBYT LDX >CURFCB |
0224 D593 E6 02 LDB $02,X |
0225 D595 C4 03 ANDB #$03 |
0226 D597 C1 03 CMPB #$03 |
0227 D599 26 55 BNE ZD5F0 |
0228 D59B CA 80 ORB #$80 |
0229 D59D E7 02 STB $02,X |
0230 D59F E6 0F LDB $0F,X |
0231 D5A1 C5 80 BITB #$80 |
0232 D5A3 26 0A BNE ZD5AF |
0233 D5A5 E6 88 23 LDB $23,X |
0234 D5A8 3A ABX |
0235 D5A9 A7 88 40 STA $40,X |
0236 D5AC 1C FE ZD5AC ANDCC #$FE |
0237 D5AE 39 RTS |
0238 |
0239 D5AF C6 0B ZD5AF LDB #$0B |
0240 D5B1 1A 01 ORCC #$01 |
0241 D5B3 39 RTS |
0242 |
0243 D5B4 A6 88 3B ZD5B4 LDA $3B,X |
0244 D5B7 2B 3C BMI ZD5F5 |
0245 D5B9 27 07 BEQ ZD5C2 |
0246 D5BB 6A 88 3B DEC $3B,X |
0247 D5BE 86 20 LDA #$20 |
0248 D5C0 20 1D BRA ZD5DF |
0249 |
0250 D5C2 8D 31 ZD5C2 BSR ZD5F5 |
0251 D5C4 25 1B BCS ZD5E1 |
0252 D5C6 81 18 CMPA #$18 |
0253 D5C8 22 15 BHI ZD5DF |
0254 D5CA 27 F6 BEQ ZD5C2 |
0255 D5CC 81 09 CMPA #$09 |
0256 D5CE 26 0C BNE ZD5DC |
0257 D5D0 8D 23 BSR ZD5F5 |
0258 D5D2 25 0D BCS ZD5E1 |
0259 D5D4 BE D4 0B LDX >CURFCB |
0260 D5D7 A7 88 3B STA $3B,X |
0261 D5DA 20 D8 BRA ZD5B4 |
0262 |
0263 D5DC 4D ZD5DC TSTA |
0264 D5DD 27 E3 BEQ ZD5C2 |
0265 D5DF 1C FE ZD5DF ANDCC #$FE |
0266 D5E1 39 ZD5E1 RTS |
0267 * |
0268 ** REWIND FILE |
0269 * |
0270 D5E2 BD DA B1 REWIND JSR >ZDAB1 |
0271 D5E5 25 09 BCS ZD5F0 |
0272 D5E7 85 01 BITA #$01 |
0273 D5E9 27 05 BEQ ZD5F0 |
0274 D5EB A7 84 STA ,X |
0275 D5ED 7E D9 A0 JMP >ZD9A0 |
0276 |
0277 D5F0 C6 12 ZD5F0 LDB #$12 |
0278 D5F2 1A 01 ORCC #$01 |
0279 D5F4 39 RTS |
0280 |
0281 D5F5 BE D4 0B ZD5F5 LDX >CURFCB |
0282 D5F8 E6 88 22 LDB $22,X |
0283 D5FB 27 0A BEQ ZD607 |
0284 D5FD 6C 88 22 INC $22,X |
0285 D600 3A ZD600 ABX |
0286 D601 A6 88 40 LDA $40,X |
0287 D604 1C FE ANDCC #$FE |
0288 D606 39 RTS |
0289 |
0290 D607 8D 03 ZD607 BSR ZD60C |
0291 D609 24 EA BCC ZD5F5 |
0292 D60B 39 RTS |
0293 |
0294 D60C BE D4 0B ZD60C LDX >CURFCB |
0295 D60F EC 88 40 LDD $40,X |
0296 D612 6C 88 21 INC $21,X |
0297 D615 26 03 BNE ZD61A |
0298 D617 6C 88 20 INC $20,X |
0299 D61A 10 83 00 00 ZD61A CMPD #$0000 |
0300 D61E 27 1C BEQ ZD63C |
0301 D620 ED 88 1E ZD620 STD $1E,X |
0302 D623 34 02 PSHS A |
0303 D625 86 04 LDA #$04 |
0304 D627 A7 88 22 STA $22,X |
0305 D62A 35 02 PULS A |
0306 D62C 8D 13 BSR RDSECT |
0307 D62E 24 10 BCC ZD640 |
0308 D630 C5 80 BITB #$80 |
0309 D632 27 04 BEQ ZD638 |
0310 D634 C6 10 LDB #$10 |
0311 D636 20 06 BRA ZD63E |
0312 |
0313 D638 C6 09 ZD638 LDB #$09 |
0314 D63A 20 02 BRA ZD63E |
0315 |
0316 D63C C6 08 ZD63C LDB #$08 |
0317 D63E 1A 01 ZD63E ORCC #$01 |
0318 D640 39 ZD640 RTS |
0319 * |
0320 ** READ SINGLE SECTOR |
0321 * |
0322 D641 8D 25 RDSECT BSR ZD668 |
0323 D643 BE D4 0B LDX >CURFCB |
0324 D646 BD DE 0C JSR >DRIVE |
0325 D649 25 12 BCS ZD65D |
0326 D64B 8D 11 ZD64B BSR ZD65E |
0327 D64D BD DE 00 JSR >READ |
0328 D650 26 03 BNE ZD655 |
0329 D652 1C FE ANDCC #$FE |
0330 D654 39 RTS |
0331 |
0332 D655 34 04 ZD655 PSHS B |
0333 D657 8D 17 BSR ZD670 |
0334 D659 35 04 PULS B |
0335 D65B 24 EE BCC ZD64B |
0336 D65D 39 ZD65D RTS |
0337 |
0338 D65E BE D4 0B ZD65E LDX >CURFCB |
0339 D661 EC 88 1E LDD $1E,X |
0340 D664 30 88 40 LEAX $40,X |
0341 D667 39 RTS |
0342 |
0343 D668 4F ZD668 CLRA |
0344 D669 B7 D4 11 STA >ZD411 |
0345 D66C B7 D4 12 STA >ZD412 |
0346 D66F 39 RTS |
0347 |
0348 D670 C5 10 ZD670 BITB #$10 |
0349 D672 26 11 BNE ZD685 |
0350 D674 C5 80 BITB #$80 |
0351 D676 26 24 BNE ZD69C |
0352 D678 F6 D4 11 LDB >ZD411 |
0353 D67B 5C INCB |
0354 D67C C1 07 CMPB #$07 |
0355 D67E 27 05 BEQ ZD685 |
0356 D680 F7 D4 11 STB >ZD411 |
0357 D683 20 14 BRA RESV2 |
0358 |
0359 D685 7F D4 11 ZD685 CLR >ZD411 |
0360 D688 F6 D4 12 LDB >ZD412 |
0361 D68B 5C INCB |
0362 D68C C1 04 CMPB #$04 |
0363 D68E 27 0C BEQ ZD69C |
0364 D690 F7 D4 12 STB >ZD412 |
0365 D693 BE D4 0B LDX >CURFCB |
0366 D696 BD DE 09 JSR >RESTOR |
0367 * |
0368 ** RESERVED |
0369 * |
0370 D699 1C FE RESV2 ANDCC #$FE |
0371 D69B 39 RTS |
0372 D69C 1A 01 ZD69C ORCC #$01 |
0373 D69E 39 RTS |
0374 * |
0375 ** WRITE SINGLE SECTOR |
0376 * |
0377 D69F 8D C7 WRSECT BSR ZD668 |
0378 D6A1 BE D4 0B LDX >CURFCB |
0379 D6A4 BD DE 0C JSR >DRIVE |
0380 D6A7 25 20 BCS ZD6C9 |
0381 D6A9 BE D4 0B ZD6A9 LDX >CURFCB |
0382 D6AC 8D B0 BSR ZD65E |
0383 D6AE BD DE 03 JSR >WRITE |
0384 D6B1 26 0A BNE ZD6BD |
0385 D6B3 B6 D4 35 LDA >VERFLG |
0386 D6B6 27 37 BEQ ZD6EF |
0387 D6B8 BD DE 06 JSR >VERIFY |
0388 D6BB 27 32 BEQ ZD6EF |
0389 D6BD C5 40 ZD6BD BITB #$40 |
0390 D6BF 26 0B BNE ZD6CC |
0391 D6C1 34 04 PSHS B |
0392 D6C3 8D AB BSR ZD670 |
0393 D6C5 35 04 PULS B |
0394 D6C7 24 E0 BCC ZD6A9 |
0395 D6C9 39 ZD6C9 RTS |
0396 |
0397 D6CA C6 20 LDB #$20 |
0398 D6CC 1A 01 ZD6CC ORCC #$01 |
0399 D6CE 39 RTS |
0400 |
0401 D6CF BE D4 0B ZD6CF LDX >CURFCB |
0402 D6D2 E6 88 3B LDB $3B,X |
0403 D6D5 2B 3D BMI ZD714 |
0404 D6D7 81 20 CMPA #$20 |
0405 D6D9 26 0F BNE ZD6EA |
0406 D6DB 5C INCB |
0407 D6DC E7 88 3B STB $3B,X |
0408 D6DF C1 7F CMPB #$7F |
0409 D6E1 26 0C BNE ZD6EF |
0410 D6E3 20 0D BRA ZD6F2 |
0411 |
0412 D6E5 8D 0B ZD6E5 BSR ZD6F2 |
0413 D6E7 24 E6 BCC ZD6CF |
0414 D6E9 39 RTS |
0415 |
0416 D6EA 5D ZD6EA TSTB |
0417 D6EB 27 27 BEQ ZD714 |
0418 D6ED 20 F6 BRA ZD6E5 |
0419 |
0420 D6EF 1C FE ZD6EF ANDCC #$FE |
0421 D6F1 39 RTS |
0422 |
0423 D6F2 34 02 ZD6F2 PSHS A |
0424 D6F4 C1 01 CMPB #$01 |
0425 D6F6 26 04 BNE ZD6FC |
0426 D6F8 86 20 LDA #$20 |
0427 D6FA 20 10 BRA ZD70C |
0428 |
0429 D6FC 86 09 ZD6FC LDA #$09 |
0430 D6FE 8D 14 BSR ZD714 |
0431 D700 35 02 PULS A |
0432 D702 25 0F BCS ZD713 |
0433 D704 34 02 PSHS A |
0434 D706 BE D4 0B LDX >CURFCB |
0435 D709 A6 88 3B LDA $3B,X |
0436 D70C 6F 88 3B ZD70C CLR $3B,X |
0437 D70F 8D 03 BSR ZD714 |
0438 D711 35 02 PULS A |
0439 D713 39 ZD713 RTS |
0440 |
0441 D714 BE D4 0B ZD714 LDX >CURFCB |
0442 D717 E6 02 LDB $02,X |
0443 D719 C1 02 CMPB #$02 |
0444 D71B 10 26 FE D1 LBNE ZD5F0 |
0445 D71F E6 88 22 LDB $22,X |
0446 D722 C1 04 CMPB #$04 |
0447 D724 26 08 BNE ZD72E |
0448 D726 34 02 PSHS A |
0449 D728 8D 21 BSR ZD74B |
0450 D72A 35 02 PULS A |
0451 D72C 25 0F BCS ZD73D |
0452 D72E BD D5 7D ZD72E JSR >ZD57D |
0453 D731 24 0A BCC ZD73D |
0454 D733 C6 04 LDB #$04 |
0455 D735 BE D4 0B LDX >CURFCB |
0456 D738 E7 88 22 STB $22,X |
0457 D73B 1C FE ANDCC #$FE |
0458 D73D 39 ZD73D RTS |
0459 |
0460 D73E BE D4 0B ZD73E LDX >CURFCB |
0461 D741 4F CLRA |
0462 D742 5F CLRB |
0463 D743 ED 88 20 STD $20,X |
0464 D746 ED 88 42 STD $42,X |
0465 D749 20 27 BRA ZD772 |
0466 |
0467 D74B E6 88 12 ZD74B LDB $12,X |
0468 D74E 26 22 BNE ZD772 |
0469 D750 E6 88 17 LDB $17,X |
0470 D753 27 44 BEQ ZD799 |
0471 D755 6F 88 17 CLR $17,X |
0472 D758 8D 3F BSR ZD799 |
0473 D75A 25 2A BCS ZD786 |
0474 D75C 8D E0 BSR ZD73E |
0475 D75E 25 26 BCS ZD786 |
0476 D760 8D DC BSR ZD73E |
0477 D762 25 22 BCS ZD786 |
0478 D764 BE D4 0B LDX >CURFCB |
0479 D767 C6 02 LDB #$02 |
0480 D769 E7 88 17 STB $17,X |
0481 D76C EC 88 11 LDD $11,X |
0482 D76F 7E DC 82 JMP >ZDC82 |
0483 |
0484 D772 8D 0E ZD772 BSR ZD782 |
0485 D774 BE D4 0B LDX >CURFCB |
0486 D777 ED 88 40 STD $40,X |
0487 D77A BD D6 9F JSR >WRSECT |
0488 D77D 24 1A BCC ZD799 |
0489 D77F 7E DB C1 JMP >ZDBC1 |
0490 |
0491 D782 8D 03 ZD782 BSR ZD787 |
0492 D784 EC 84 LDD ,X |
0493 D786 39 ZD786 RTS |
0494 |
0495 D787 BE D4 0B ZD787 LDX >CURFCB |
0496 D78A E6 03 LDB $03,X |
0497 D78C 86 06 LDA #$06 |
0498 D78E 3D MUL |
0499 D78F 8E D4 1D LDX #ZD41D |
0500 D792 3A ABX |
0501 D793 BF D4 1B STX >ZD41B |
0502 D796 6D 84 TST ,X |
0503 D798 39 RTS |
0504 |
0505 D799 8D E7 ZD799 BSR ZD782 |
0506 D79B 26 05 BNE ZD7A2 |
0507 D79D C6 07 LDB #$07 |
0508 D79F 1A 01 ZD79F ORCC #$01 |
0509 D7A1 39 RTS |
0510 |
0511 D7A2 BE D4 0B ZD7A2 LDX >CURFCB |
0512 D7A5 ED 88 13 STD $13,X |
0513 D7A8 6D 88 12 TST $12,X |
0514 D7AB 26 03 BNE ZD7B0 |
0515 D7AD ED 88 11 STD $11,X |
0516 D7B0 6C 88 16 ZD7B0 INC $16,X |
0517 D7B3 26 03 BNE ZD7B8 |
0518 D7B5 6C 88 15 INC $15,X |
0519 D7B8 6D 88 17 ZD7B8 TST $17,X |
0520 D7BB 27 0B BEQ ZD7C8 |
0521 D7BD BD DC 43 JSR >ZDC43 |
0522 D7C0 25 DD BCS ZD79F |
0523 D7C2 BE D4 0B LDX >CURFCB |
0524 D7C5 EC 88 13 LDD $13,X |
0525 D7C8 BD D6 20 ZD7C8 JSR >ZD620 |
0526 D7CB 25 D2 BCS ZD79F |
0527 D7CD BE D4 0B LDX >CURFCB |
0528 D7D0 EC 88 40 LDD $40,X |
0529 D7D3 34 06 PSHS B,A |
0530 D7D5 8D B0 BSR ZD787 |
0531 D7D7 35 06 PULS B,A |
0532 D7D9 ED 84 STD ,X |
0533 D7DB 26 0A BNE ZD7E7 |
0534 D7DD 6F 02 CLR $02,X |
0535 D7DF 6F 03 CLR $03,X |
0536 D7E1 6F 04 CLR $04,X |
0537 D7E3 6F 05 CLR $05,X |
0538 D7E5 20 08 BRA ZD7EF |
0539 |
0540 D7E7 10 AE 04 ZD7E7 LDY $04,X |
0541 D7EA 31 3F LEAY -$01,Y |
0542 D7EC 10 AF 04 STY $04,X |
0543 D7EF 4F ZD7EF CLRA |
0544 D7F0 BE D4 0B LDX >CURFCB |
0545 D7F3 6C 88 21 INC $21,X |
0546 D7F6 26 03 BNE ZD7FB |
0547 D7F8 6C 88 20 INC $20,X |
0548 D7FB 5F ZD7FB CLRB |
0549 D7FC A7 88 40 ZD7FC STA $40,X |
0550 D7FF 30 01 LEAX $01,X |
0551 D801 5A DECB |
0552 D802 26 F8 BNE ZD7FC |
0553 D804 BE D4 0B LDX >CURFCB |
0554 D807 EC 88 20 LDD $20,X |
0555 D80A ED 88 42 STD $42,X |
0556 D80D 1C FE ANDCC #$FE |
0557 D80F 39 RTS |
0558 * |
0559 ** OPEN SYSTEM INFO. RECORD |
0560 * |
0561 D810 5F OPNREC CLRB |
0562 D811 34 04 PSHS B |
0563 D813 C6 03 LDB #$03 |
0564 D815 20 0E BRA ZD825 |
0565 D817 BE D4 15 LDX >ZD415 |
0566 D81A BF D4 13 STX >ZD413 |
0567 D81D F6 D4 13 OPNDIR LDB >ZD413 |
0568 D820 34 04 PSHS B |
0569 D822 F6 D4 14 LDB >ZD414 |
0570 D825 BE D4 0B ZD825 LDX >CURFCB |
0571 D828 E7 88 41 STB $41,X |
0572 D82B 35 04 PULS B |
0573 D82D E7 88 40 STB $40,X |
0574 D830 7F D4 18 CLR >ZD418 |
0575 D833 5F CLRB |
0576 D834 E7 88 22 STB $22,X |
0577 D837 39 RTS |
0578 * |
0579 ** GET INFO RECORD |
0580 * |
0581 D838 BE D4 0B GETREC LDX >CURFCB |
0582 D83B E6 88 22 LDB $22,X |
0583 D83E 26 1D BNE ZD85D |
0584 D840 BD D6 0C JSR >ZD60C |
0585 D843 25 30 BCS ZD875 |
0586 D845 BE D4 0B LDX >CURFCB |
0587 D848 7D D4 18 TST >ZD418 |
0588 D84B 26 05 BNE ZD852 |
0589 D84D DC 44 LDD <Z0044 |
0590 D84F FD D4 18 STD >ZD418 |
0591 D852 86 10 ZD852 LDA #$10 |
0592 D854 A7 88 22 STA $22,X |
0593 D857 EC 88 1E LDD $1E,X |
0594 D85A ED 88 2F STD $2F,X |
0595 D85D A6 88 22 ZD85D LDA $22,X |
0596 D860 A7 88 31 STA $31,X |
0597 D863 C6 18 LDB #$18 |
0598 D865 34 14 ZD865 PSHS X,B |
0599 D867 BD D5 F5 JSR >ZD5F5 |
0600 D86A 35 14 PULS X,B |
0601 D86C A7 04 STA $04,X |
0602 D86E 30 01 LEAX $01,X |
0603 D870 5A DECB |
0604 D871 26 F2 BNE ZD865 |
0605 D873 1C FE ANDCC #$FE |
0606 D875 39 ZD875 RTS |
0607 * |
0608 ** PUT INFORMATION RECORD |
0609 * |
0610 D876 BE D4 0B PUTREC LDX >CURFCB |
0611 D879 A6 88 31 LDA $31,X |
0612 D87C A7 88 22 STA $22,X |
0613 D87F C6 18 LDB #$18 |
0614 D881 34 14 ZD881 PSHS X,B |
0615 D883 A6 04 LDA $04,X |
0616 D885 BD D7 14 JSR >ZD714 |
0617 D888 35 14 PULS X,B |
0618 D88A 30 01 LEAX $01,X |
0619 D88C 5A DECB |
0620 D88D 26 F2 BNE ZD881 |
0621 D88F 7E D6 9F JMP >WRSECT |
0622 |
0623 D892 BE D4 0B ZD892 LDX >CURFCB |
0624 D895 A6 03 LDA $03,X |
0625 D897 A7 88 23 STA $23,X |
0626 D89A B6 D4 17 LDA >ZD417 |
0627 D89D 7D D4 1A TST >ZD41A |
0628 D8A0 26 31 BNE ZD8D3 |
0629 D8A2 A7 03 STA $03,X |
0630 D8A4 BE D4 15 LDX >ZD415 |
0631 D8A7 BF D4 13 STX >ZD413 |
0632 D8AA 8C 00 05 ZD8AA CMPX #Z0005 |
0633 D8AD 27 0C BEQ ZD8BB |
0634 D8AF 8D 22 BSR ZD8D3 |
0635 D8B1 23 37 BLS ZD8EA |
0636 D8B3 BE D4 18 LDX >ZD418 |
0637 D8B6 BF D4 13 STX >ZD413 |
0638 D8B9 20 EF BRA ZD8AA |
0639 |
0640 D8BB BE D4 0B ZD8BB LDX >CURFCB |
0641 D8BE A6 88 23 LDA $23,X |
0642 D8C1 A7 03 STA $03,X |
0643 D8C3 2A 0E BPL ZD8D3 |
0644 D8C5 BD DD BD ZD8C5 JSR >NXTDRV |
0645 D8C8 25 36 BCS ZD900 |
0646 D8CA 8D 07 BSR ZD8D3 |
0647 D8CC 23 1C BLS ZD8EA |
0648 D8CE BD DD AD JSR >ZDDAD |
0649 D8D1 20 F2 BRA ZD8C5 |
0650 |
0651 D8D3 BE D4 0B ZD8D3 LDX >CURFCB |
0652 D8D6 7F D4 1A CLR >ZD41A |
0653 D8D9 BD D5 49 JSR >ZD549 |
0654 D8DC BD D8 1D JSR >OPNDIR |
0655 D8DF BD D8 38 ZD8DF JSR >GETREC |
0656 D8E2 24 07 BCC ZD8EB |
0657 D8E4 C1 08 CMPB #$08 |
0658 D8E6 27 18 BEQ ZD900 |
0659 D8E8 1A 01 ORCC #$01 |
0660 D8EA 39 ZD8EA RTS |
0661 |
0662 D8EB BE D4 0B ZD8EB LDX >CURFCB |
0663 D8EE A6 04 LDA $04,X |
0664 D8F0 27 0C BEQ ZD8FE |
0665 D8F2 2A 02 BPL ZD8F6 |
0666 D8F4 8D 0F BSR ZD905 |
0667 D8F6 BD D5 59 ZD8F6 JSR >ZD559 |
0668 D8F9 26 E4 BNE ZD8DF |
0669 D8FB 1C FE ANDCC #$FE |
0670 D8FD 39 RTS |
0671 |
0672 D8FE 8D 05 ZD8FE BSR ZD905 |
0673 D900 1C FB ZD900 ANDCC #$FB |
0674 D902 1C FE ANDCC #$FE |
0675 D904 39 RTS |
0676 |
0677 D905 A6 88 33 ZD905 LDA $33,X |
0678 D908 26 0C BNE ZD916 |
0679 D90A EC 88 2F LDD $2F,X |
0680 D90D ED 88 32 STD $32,X |
0681 D910 A6 88 31 LDA $31,X |
0682 D913 A7 88 34 STA $34,X |
0683 D916 39 ZD916 RTS |
0684 |
0685 D917 BD D7 87 ZD917 JSR >ZD787 |
0686 D91A 26 17 BNE ZD933 |
0687 D91C 8D 18 BSR ZD936 |
0688 D91E 25 15 BCS ZD935 |
0689 D920 C6 06 LDB #$06 |
0690 D922 10 BE D4 0B LDY >CURFCB |
0691 D926 BE D4 1B LDX >ZD41B |
0692 D929 A6 A8 5D ZD929 LDA $5D,Y |
0693 D92C 31 21 LEAY $01,Y |
0694 D92E A7 80 STA ,X+ |
0695 D930 5A DECB |
0696 D931 26 F6 BNE ZD929 |
0697 D933 1C FE ZD933 ANDCC #$FE |
0698 D935 39 ZD935 RTS |
0699 |
0700 D936 BD D8 10 ZD936 JSR >OPNREC |
0701 D939 BD D6 0C JSR >ZD60C |
0702 D93C 25 08 BCS ZD946 |
0703 D93E BE D4 0B LDX >CURFCB |
0704 D941 C6 10 LDB #$10 |
0705 D943 E7 88 22 STB $22,X |
0706 D946 39 ZD946 RTS |
0707 |
0708 D947 BD D7 87 ZD947 JSR >ZD787 |
0709 D94A 8D EA BSR ZD936 |
0710 D94C 25 F8 BCS ZD946 |
0711 D94E C6 06 LDB #$06 |
0712 D950 10 BE D4 0B LDY >CURFCB |
0713 D954 BE D4 1B LDX >ZD41B |
0714 D957 A6 80 ZD957 LDA ,X+ |
0715 D959 A7 A8 5D STA $5D,Y |
0716 D95C 31 21 LEAY $01,Y |
0717 D95E 5A DECB |
0718 D95F 26 F6 BNE ZD957 |
0719 D961 BD D6 9F JSR >WRSECT |
0720 D964 24 E0 BCC ZD946 |
0721 D966 7E DB C1 JMP >ZDBC1 |
0722 * |
0723 ** |
0724 * |
0725 D969 BE D4 0B RESV1 LDX >CURFCB |
0726 D96C 86 02 LDA #$02 |
0727 D96E A7 02 STA $02,X |
0728 D970 EC 88 2F LDD $2F,X |
0729 D973 ED 88 1E STD $1E,X |
0730 D976 BD D6 41 JSR >RDSECT |
0731 D979 25 08 BCS ZD983 |
0732 D97B BD D8 76 JSR >PUTREC |
0733 D97E 24 05 BCC ZD985 |
0734 D980 7E DB C1 JMP >ZDBC1 |
0735 |
0736 D983 C6 0A ZD983 LDB #$0A |
0737 D985 39 ZD985 RTS |
0738 * |
0739 ** OPEN FOR READ |
0740 * |
0741 D986 BD D4 FA OPENRD JSR >ZD4FA |
0742 D989 25 3D BCS ZD9C8 |
0743 D98B BD D8 92 JSR >ZD892 |
0744 D98E 25 38 BCS ZD9C8 |
0745 D990 26 3B BNE ZD9CD |
0746 D992 BE D4 0B LDX >CURFCB |
0747 D995 7D D4 1A TST >ZD41A |
0748 D998 27 06 BEQ ZD9A0 |
0749 D99A A6 0F LDA $0F,X |
0750 D99C 85 20 BITA #$20 |
0751 D99E 26 29 BNE ZD9C9 |
0752 D9A0 BD DC C0 ZD9A0 JSR >ZDCC0 |
0753 D9A3 25 2A BCS ZD9CF |
0754 D9A5 EC 88 11 LDD $11,X |
0755 D9A8 ED 88 40 STD $40,X |
0756 D9AB BD DA 76 JSR >ZDA76 |
0757 D9AE E6 88 17 LDB $17,X |
0758 D9B1 27 13 BEQ ZD9C6 |
0759 D9B3 34 04 ZD9B3 PSHS B |
0760 D9B5 BD D6 0C JSR >ZD60C |
0761 D9B8 35 04 PULS B |
0762 D9BA 25 0C BCS ZD9C8 |
0763 D9BC 5A DECB |
0764 D9BD 26 F4 BNE ZD9B3 |
0765 D9BF BE D4 0B LDX >CURFCB |
0766 D9C2 5F CLRB |
0767 D9C3 E7 88 22 STB $22,X |
0768 D9C6 1C FE ZD9C6 ANDCC #$FE |
0769 D9C8 39 ZD9C8 RTS |
0770 |
0771 D9C9 C6 11 ZD9C9 LDB #$11 |
0772 D9CB 20 02 BRA ZD9CF |
0773 |
0774 D9CD C6 04 ZD9CD LDB #$04 |
0775 D9CF 34 04 ZD9CF PSHS B |
0776 D9D1 BD D5 0C JSR >ZD50C |
0777 D9D4 35 04 PULS B |
0778 D9D6 1A 01 ORCC #$01 |
0779 D9D8 39 RTS |
0780 |
0781 D9D9 BE D4 0B OPENWR LDX >CURFCB |
0782 D9DC 6D 03 TST $03,X |
0783 D9DE 2A 08 BPL ZD9E8 |
0784 D9E0 BD DD BD JSR >NXTDRV |
0785 D9E3 24 03 BCC ZD9E8 |
0786 D9E5 C6 10 LDB #$10 |
0787 D9E7 39 RTS |
0788 |
0789 D9E8 BD D4 FA ZD9E8 JSR >ZD4FA |
0790 D9EB 25 E2 BCS ZD9CF |
0791 D9ED BD D5 37 JSR >ZD537 |
0792 D9F0 BD D9 17 JSR >ZD917 |
0793 D9F3 25 DA BCS ZD9CF |
0794 D9F5 BD D8 92 JSR >ZD892 |
0795 D9F8 25 D5 BCS ZD9CF |
0796 D9FA 26 04 BNE ZDA00 |
0797 D9FC C6 03 LDB #$03 |
0798 D9FE 20 CF BRA ZD9CF |
0799 |
0800 DA00 BD DC C0 ZDA00 JSR >ZDCC0 |
0801 DA03 25 CA BCS ZD9CF |
0802 DA05 BE D4 0B LDX >CURFCB |
0803 DA08 C6 0A LDB #$0A |
0804 DA0A 6F 0F ZDA0A CLR $0F,X |
0805 DA0C 30 01 LEAX $01,X |
0806 DA0E 5A DECB |
0807 DA0F 26 F9 BNE ZDA0A |
0808 DA11 BE D4 0B LDX >CURFCB |
0809 DA14 EC 88 32 LDD $32,X |
0810 DA17 27 27 BEQ ZDA40 |
0811 DA19 ED 88 2F STD $2F,X |
0812 DA1C A6 88 34 LDA $34,X |
0813 DA1F A7 88 31 STA $31,X |
0814 DA22 FC CC 0E LDD >DATERG |
0815 DA25 ED 88 19 STD $19,X |
0816 DA28 B6 CC 10 LDA >YEAR |
0817 DA2B A7 88 1B STA $1B,X |
0818 DA2E BD DD AD JSR >ZDDAD |
0819 DA31 BD D9 69 JSR >RESV1 |
0820 DA34 25 99 BCS ZD9CF |
0821 DA36 8D 3E BSR ZDA76 |
0822 DA38 86 04 LDA #$04 |
0823 DA3A A7 88 22 STA $22,X |
0824 DA3D 1C FE ANDCC #$FE |
0825 DA3F 39 RTS |
0826 |
0827 DA40 BE D4 0B ZDA40 LDX >CURFCB |
0828 DA43 6F 88 17 CLR $17,X |
0829 DA46 6C 88 12 INC $12,X |
0830 DA49 EC 88 2F LDD $2F,X |
0831 DA4C BD D6 20 JSR >ZD620 |
0832 DA4F 25 0D BCS ZDA5E |
0833 DA51 BD D7 72 JSR >ZD772 |
0834 DA54 25 08 BCS ZDA5E |
0835 DA56 BD D6 9F JSR >WRSECT |
0836 DA59 24 06 BCC ZDA61 |
0837 DA5B BD DB C1 JSR >ZDBC1 |
0838 DA5E 7E D9 CF ZDA5E JMP >ZD9CF |
0839 |
0840 DA61 BE D4 0B ZDA61 LDX >CURFCB |
0841 DA64 EC 88 1E LDD $1E,X |
0842 DA67 ED 88 32 STD $32,X |
0843 DA6A 86 10 LDA #$10 |
0844 DA6C A7 88 34 STA $34,X |
0845 DA6F BD D9 47 JSR >ZD947 |
0846 DA72 25 EA BCS ZDA5E |
0847 DA74 20 8A BRA ZDA00 |
0848 |
0849 DA76 BE D4 0B ZDA76 LDX >CURFCB |
0850 DA79 A6 84 LDA ,X |
0851 DA7B A7 02 STA $02,X |
0852 DA7D 6F 84 CLR ,X |
0853 DA7F 6F 88 3B CLR $3B,X |
0854 DA82 4F CLRA |
0855 DA83 A7 88 22 STA $22,X |
0856 DA86 39 RTS |
0857 * |
0858 ** READ/WRITE NEXT SECTOR |
0859 * |
0860 DA87 8D 28 NXTSEC BSR ZDAB1 |
0861 DA89 25 0E BCS ZDA99 |
0862 DA8B 6F 84 CLR ,X |
0863 DA8D 44 LSRA |
0864 DA8E 10 25 FB 7A LBCS ZD60C |
0865 DA92 C6 04 LDB #$04 |
0866 DA94 E7 88 22 STB $22,X |
0867 DA97 1C FE ANDCC #$FE |
0868 DA99 39 ZDA99 RTS |
0869 |
0870 DA9A BE D4 0B ZDA9A LDX >CURFCB |
0871 DA9D A6 02 LDA $02,X |
0872 DA9F 81 83 CMPA #$83 |
0873 DAA1 26 0B BNE ZDAAE |
0874 DAA3 86 03 LDA #$03 |
0875 DAA5 A7 02 STA $02,X |
0876 DAA7 BD D6 9F ZDAA7 JSR >WRSECT |
0877 DAAA 10 25 01 13 LBCS ZDBC1 |
0878 DAAE 1C FE ZDAAE ANDCC #$FE |
0879 DAB0 39 RTS |
0880 |
0881 DAB1 8D E7 ZDAB1 BSR ZDA9A |
0882 DAB3 25 0D BCS ZDAC2 |
0883 DAB5 BE D4 0B LDX >CURFCB |
0884 DAB8 A6 02 LDA $02,X |
0885 DABA 81 03 CMPA #$03 |
0886 DABC 23 F0 BLS ZDAAE |
0887 DABE C6 12 LDB #$12 |
0888 DAC0 1A 01 ORCC #$01 |
0889 DAC2 39 ZDAC2 RTS |
0890 |
0891 DAC3 8D EC CLOSE BSR ZDAB1 |
0892 DAC5 25 31 BCS ZDAF8 |
0893 DAC7 81 02 CMPA #$02 |
0894 DAC9 27 08 BEQ ZDAD3 |
0895 DACB BE D4 0B ZDACB LDX >CURFCB |
0896 DACE 6F 02 CLR $02,X |
0897 DAD0 7E D5 0C JMP >ZD50C |
0898 |
0899 DAD3 A6 88 12 ZDAD3 LDA $12,X |
0900 DAD6 26 05 BNE ZDADD |
0901 DAD8 BD DB A7 JSR >ZDBA7 |
0902 DADB 20 19 BRA ZDAF6 |
0903 |
0904 DADD 8D C8 ZDADD BSR ZDAA7 |
0905 DADF 25 17 BCS ZDAF8 |
0906 DAE1 BE D4 0B LDX >CURFCB |
0907 DAE4 6D 88 17 TST $17,X |
0908 DAE7 27 05 BEQ ZDAEE |
0909 DAE9 BD DC 98 JSR >ZDC98 |
0910 DAEC 25 0A BCS ZDAF8 |
0911 DAEE BD D9 69 ZDAEE JSR >RESV1 |
0912 DAF1 25 05 BCS ZDAF8 |
0913 DAF3 BD D9 47 JSR >ZD947 |
0914 DAF6 24 D3 ZDAF6 BCC ZDACB |
0915 DAF8 39 ZDAF8 RTS |
0916 * |
0917 ** OPEN FOR UPDATE |
0918 * |
0919 DAF9 BD D9 86 OPENUD JSR >OPENRD |
0920 DAFC 25 28 BCS ZDB26 |
0921 DAFE BD D6 0C JSR >ZD60C |
0922 DB01 25 23 BCS ZDB26 |
0923 DB03 86 03 LDA #$03 |
0924 DB05 20 18 BRA ZDB1F |
0925 * |
0926 ** |
0927 * |
0928 DB07 BD D9 86 RESV3 JSR >OPENRD |
0929 DB0A 25 1A BCS ZDB26 |
0930 DB0C BE D4 0B LDX >CURFCB |
0931 DB0F A6 0F LDA $0F,X |
0932 DB11 85 80 BITA #$80 |
0933 DB13 26 12 BNE ZDB27 |
0934 DB15 EC 88 13 LDD $13,X |
0935 DB18 BD D6 20 JSR >ZD620 |
0936 DB1B 25 09 BCS ZDB26 |
0937 DB1D 86 02 LDA #$02 |
0938 DB1F BE D4 0B ZDB1F LDX >CURFCB |
0939 DB22 A7 02 STA $02,X |
0940 DB24 1C FE ANDCC #$FE |
0941 DB26 39 ZDB26 RTS |
0942 |
0943 DB27 C6 0B ZDB27 LDB #$0B |
0944 DB29 1A 01 ORCC #$01 |
0945 DB2B 39 RTS |
0946 * |
0947 ** RENAME FILE |
0948 * |
0949 DB2C 8D 35 RENAME BSR ZDB63 |
0950 DB2E BD D8 92 JSR >ZD892 |
0951 DB31 25 2A BCS ZDB5D |
0952 DB33 27 24 BEQ ZDB59 |
0953 DB35 BE D4 0B LDX >CURFCB |
0954 DB38 C6 0B LDB #$0B |
0955 DB3A A6 88 24 ZDB3A LDA $24,X |
0956 DB3D A7 04 STA $04,X |
0957 DB3F 30 01 LEAX $01,X |
0958 DB41 5A DECB |
0959 DB42 26 F6 BNE ZDB3A |
0960 DB44 8D 4D BSR ZDB93 |
0961 DB46 25 15 BCS ZDB5D |
0962 DB48 BE D4 0B LDX >CURFCB |
0963 DB4B A6 0F LDA $0F,X |
0964 DB4D 85 80 BITA #$80 |
0965 DB4F 26 D6 BNE ZDB27 |
0966 DB51 85 60 BITA #$60 |
0967 DB53 26 09 BNE ZDB5E |
0968 DB55 8D 0C BSR ZDB63 |
0969 DB57 20 55 BRA ZDBAE |
0970 |
0971 DB59 C6 03 ZDB59 LDB #$03 |
0972 DB5B 1A 01 ORCC #$01 |
0973 DB5D 39 ZDB5D RTS |
0974 DB5E C6 0C ZDB5E LDB #$0C |
0975 DB60 1A 01 ORCC #$01 |
0976 DB62 39 RTS |
0977 |
0978 DB63 BE D4 0B ZDB63 LDX >CURFCB |
0979 DB66 86 0B LDA #$0B |
0980 DB68 B7 D4 11 STA >ZD411 |
0981 DB6B A6 04 ZDB6B LDA $04,X |
0982 DB6D E6 88 35 LDB $35,X |
0983 DB70 A7 88 35 STA $35,X |
0984 DB73 E7 04 STB $04,X |
0985 DB75 30 01 LEAX $01,X |
0986 DB77 7A D4 11 DEC >ZD411 |
0987 DB7A 26 EF BNE ZDB6B |
0988 DB7C BE D4 0B LDX >CURFCB |
0989 DB7F A6 0C LDA $0C,X |
0990 DB81 26 0C BNE ZDB8F |
0991 DB83 C6 03 LDB #$03 |
0992 DB85 A6 88 3D ZDB85 LDA $3D,X |
0993 DB88 A7 0C STA $0C,X |
0994 DB8A 30 01 LEAX $01,X |
0995 DB8C 5A DECB |
0996 DB8D 26 F6 BNE ZDB85 |
0997 DB8F BE D4 0B ZDB8F LDX >CURFCB |
0998 DB92 39 RTS |
0999 |
1000 DB93 8D CE ZDB93 BSR ZDB63 |
1001 DB95 BD D8 92 ZDB95 JSR >ZD892 |
1002 DB98 25 07 BCS ZDBA1 |
1003 DB9A 26 06 BNE ZDBA2 |
1004 DB9C BE D4 0B LDX >CURFCB |
1005 DB9F 1C FE ANDCC #$FE |
1006 DBA1 39 ZDBA1 RTS |
1007 |
1008 DBA2 C6 04 ZDBA2 LDB #$04 |
1009 DBA4 1A 01 ORCC #$01 |
1010 DBA6 39 RTS |
1011 |
1012 DBA7 BE D4 0B ZDBA7 LDX >CURFCB |
1013 DBAA 86 FF LDA #$FF |
1014 DBAC A7 04 STA $04,X |
1015 DBAE BD D9 69 ZDBAE JSR >RESV1 |
1016 DBB1 BE D4 0B LDX >CURFCB |
1017 DBB4 86 00 LDA #$00 |
1018 DBB6 A7 02 STA $02,X |
1019 DBB8 39 RTS |
1020 |
1021 DBB9 ED 88 40 ZDBB9 STD $40,X |
1022 DBBC BD D6 9F JSR >WRSECT |
1023 DBBF 24 14 BCC ZDBD5 |
1024 DBC1 C5 40 ZDBC1 BITB #$40 |
1025 DBC3 26 08 BNE ZDBCD |
1026 DBC5 C5 80 BITB #$80 |
1027 DBC7 27 0A BEQ ZDBD3 |
1028 DBC9 C6 10 LDB #$10 |
1029 DBCB 20 06 BRA ZDBD3 |
1030 DBCD C6 0B ZDBCD LDB #$0B |
1031 DBCF 20 02 BRA ZDBD3 |
1032 |
1033 DBD1 C6 0A LDB #$0A |
1034 DBD3 1A 01 ZDBD3 ORCC #$01 |
1035 DBD5 39 ZDBD5 RTS |
1036 * |
1037 ** DELETE FILE |
1038 * |
1039 DBD6 BD D9 17 DELETE JSR >ZD917 |
1040 DBD9 25 5E BCS ZDC39 |
1041 DBDB 8D B8 BSR ZDB95 |
1042 DBDD 25 5A BCS ZDC39 |
1043 DBDF BE D4 0B LDX >CURFCB |
1044 DBE2 A6 0F LDA $0F,X |
1045 DBE4 85 80 BITA #$80 |
1046 DBE6 26 52 BNE ZDC3A |
1047 DBE8 85 60 BITA #$60 |
1048 DBEA 26 52 BNE ZDC3E |
1049 DBEC BD D7 87 JSR >ZD787 |
1050 DBEF BE D4 1B LDX >ZD41B |
1051 DBF2 EC 02 LDD $02,X |
1052 DBF4 26 0F BNE ZDC05 |
1053 DBF6 BE D4 0B LDX >CURFCB |
1054 DBF9 EC 88 11 LDD $11,X |
1055 DBFC 27 33 BEQ ZDC31 |
1056 DBFE BE D4 1B LDX >ZD41B |
1057 DC01 ED 84 STD ,X |
1058 DC03 20 14 BRA ZDC19 |
1059 |
1060 DC05 BE D4 0B ZDC05 LDX >CURFCB |
1061 DC08 BD D6 20 JSR >ZD620 |
1062 DC0B 25 2C BCS ZDC39 |
1063 DC0D BE D4 0B LDX >CURFCB |
1064 DC10 EC 88 11 LDD $11,X |
1065 DC13 27 1C BEQ ZDC31 |
1066 DC15 8D A2 BSR ZDBB9 |
1067 DC17 25 20 BCS ZDC39 |
1068 DC19 BE D4 0B ZDC19 LDX >CURFCB |
1069 DC1C EC 88 13 LDD $13,X |
1070 DC1F BE D4 1B LDX >ZD41B |
1071 DC22 ED 02 STD $02,X |
1072 DC24 BE D4 0B LDX >CURFCB |
1073 DC27 EC 88 15 LDD $15,X |
1074 DC2A BE D4 1B LDX >ZD41B |
1075 DC2D E3 04 ADDD $04,X |
1076 DC2F ED 04 STD $04,X |
1077 DC31 BD DB A7 ZDC31 JSR >ZDBA7 |
1078 DC34 25 03 BCS ZDC39 |
1079 DC36 BD D9 47 JSR >ZD947 |
1080 DC39 39 ZDC39 RTS |
1081 |
1082 DC3A C6 0B ZDC3A LDB #$0B |
1083 DC3C 20 02 BRA ZDC40 |
1084 DC3E C6 0C ZDC3E LDB #$0C |
1085 DC40 1A 01 ZDC40 ORCC #$01 |
1086 DC42 39 RTS |
1087 |
1088 DC43 EC 88 1E ZDC43 LDD $1E,X |
1089 DC46 5C INCB |
1090 DC47 E1 88 3C CMPB $3C,X |
1091 DC4A 23 03 BLS ZDC4F |
1092 DC4C C6 01 LDB #$01 |
1093 DC4E 4C INCA |
1094 DC4F 10 A3 88 13 ZDC4F CMPD $13,X |
1095 DC53 26 0E BNE ZDC63 |
1096 DC55 A6 88 37 LDA $37,X |
1097 DC58 81 FF CMPA #$FF |
1098 DC5A 27 07 BEQ ZDC63 |
1099 DC5C 4C INCA |
1100 DC5D A7 88 37 STA $37,X |
1101 DC60 1C FE ANDCC #$FE |
1102 DC62 39 RTS |
1103 |
1104 DC63 8D 33 ZDC63 BSR ZDC98 |
1105 DC65 25 30 BCS ZDC97 |
1106 DC67 BE D4 0B LDX >CURFCB |
1107 DC6A A6 88 3A LDA $3A,X |
1108 DC6D 8B 03 ADDA #$03 |
1109 DC6F 26 16 BNE ZDC87 |
1110 DC71 EC 88 1E LDD $1E,X |
1111 DC74 10 A3 88 11 CMPD $11,X |
1112 DC78 27 05 BEQ ZDC7F |
1113 DC7A C6 17 LDB #$17 |
1114 DC7C 1A 01 ORCC #$01 |
1115 DC7E 39 RTS |
1116 |
1117 DC7F EC 88 40 ZDC7F LDD $40,X |
1118 DC82 ED 88 38 ZDC82 STD $38,X |
1119 DC85 86 04 LDA #$04 |
1120 DC87 A7 88 3A ZDC87 STA $3A,X |
1121 DC8A EC 88 13 LDD $13,X |
1122 DC8D ED 88 35 STD $35,X |
1123 DC90 86 01 LDA #$01 |
1124 DC92 A7 88 37 STA $37,X |
1125 DC95 1C FE ANDCC #$FE |
1126 DC97 39 ZDC97 RTS |
1127 |
1128 DC98 EC 88 38 ZDC98 LDD $38,X |
1129 DC9B BD D6 20 JSR >ZD620 |
1130 DC9E 25 F7 BCS ZDC97 |
1131 DCA0 BE D4 0B LDX >CURFCB |
1132 DCA3 1F 12 TFR X,Y |
1133 DCA5 E6 88 3A LDB $3A,X |
1134 DCA8 3A ABX |
1135 DCA9 C6 03 LDB #$03 |
1136 DCAB A6 A8 35 ZDCAB LDA $35,Y |
1137 DCAE 31 21 LEAY $01,Y |
1138 DCB0 A7 88 40 STA $40,X |
1139 DCB3 30 01 LEAX $01,X |
1140 DCB5 5A DECB |
1141 DCB6 26 F3 BNE ZDCAB |
1142 DCB8 BD D6 9F JSR >WRSECT |
1143 DCBB 24 DA BCC ZDC97 |
1144 DCBD 7E DB C1 JMP >ZDBC1 |
1145 |
1146 DCC0 BD D8 10 ZDCC0 JSR >OPNREC |
1147 DCC3 BD D6 0C JSR >ZD60C |
1148 DCC6 25 46 BCS ZDD0E |
1149 DCC8 BE D4 0B LDX >CURFCB |
1150 DCCB 4F CLRA |
1151 DCCC 5F CLRB |
1152 DCCD ED 88 20 STD $20,X |
1153 DCD0 A6 88 67 LDA $67,X |
1154 DCD3 A7 88 3C STA $3C,X |
1155 DCD6 5F CLRB |
1156 DCD7 6F 88 40 ZDCD7 CLR $40,X |
1157 DCDA 30 01 LEAX $01,X |
1158 DCDC 5A DECB |
1159 DCDD 26 F8 BNE ZDCD7 |
1160 DCDF BE D4 0B LDX >CURFCB |
1161 DCE2 1C FE ANDCC #$FE |
1162 DCE4 39 RTS |
1163 * |
1164 ** BACKUP ONE RECORD |
1165 * |
1166 DCE5 BE D4 0B BAKREC LDX >CURFCB |
1167 DCE8 A6 88 17 LDA $17,X |
1168 DCEB 27 1D BEQ ZDD0A |
1169 DCED EC 88 20 LDD $20,X |
1170 DCF0 83 00 01 SUBD #$0001 |
1171 DCF3 2A 03 BPL ZDCF8 |
1172 DCF5 7E DD 9A JMP >ZDD9A |
1173 * |
1174 ** POSITION TO RECORD N |
1175 * |
1176 DCF8 ED 88 20 ZDCF8 STD $20,X |
1177 DCFB BD DA B1 POSREC JSR >ZDAB1 |
1178 DCFE 25 0E BCS ZDD0E |
1179 DD00 46 RORA |
1180 DD01 24 07 BCC ZDD0A |
1181 DD03 6F 84 CLR ,X |
1182 DD05 A6 88 17 LDA $17,X |
1183 DD08 26 05 BNE ZDD0F |
1184 DD0A C6 12 ZDD0A LDB #$12 |
1185 DD0C 1A 01 ORCC #$01 |
1186 DD0E 39 ZDD0E RTS |
1187 |
1188 DD0F 7F D4 11 ZDD0F CLR >ZD411 |
1189 DD12 EC 88 11 LDD $11,X |
1190 DD15 10 AE 88 20 LDY $20,X |
1191 DD19 27 6A BEQ ZDD85 |
1192 DD1B BD DD 9F JSR >ZDD9F |
1193 DD1E 25 EE BCS ZDD0E |
1194 DD20 4F CLRA |
1195 DD21 5F CLRB |
1196 DD22 6D 02 ZDD22 TST $02,X |
1197 DD24 27 74 BEQ ZDD9A |
1198 DD26 EB 02 ADDB $02,X |
1199 DD28 89 00 ADCA #$00 |
1200 DD2A BF D4 0F STX >ZD40F |
1201 DD2D BE D4 0B LDX >CURFCB |
1202 DD30 10 A3 88 20 CMPD $20,X |
1203 DD34 24 2C BCC ZDD62 |
1204 DD36 BE D4 0F LDX >ZD40F |
1205 DD39 30 03 LEAX $03,X |
1206 DD3B 34 02 PSHS A |
1207 DD3D B6 D4 11 LDA >ZD411 |
1208 DD40 4C INCA |
1209 DD41 B7 D4 11 STA >ZD411 |
1210 DD44 81 54 CMPA #$54 |
1211 DD46 27 08 BEQ ZDD50 |
1212 DD48 81 A8 CMPA #$A8 |
1213 DD4A 35 02 PULS A |
1214 DD4C 27 4C BEQ ZDD9A |
1215 DD4E 20 D2 BRA ZDD22 |
1216 |
1217 DD50 34 04 ZDD50 PSHS B |
1218 DD52 BE D4 0B LDX >CURFCB |
1219 DD55 EC 88 40 LDD $40,X |
1220 DD58 8D 45 BSR ZDD9F |
1221 DD5A 25 3E BCS ZDD9A |
1222 DD5C 35 04 PULS B |
1223 DD5E 35 02 PULS A |
1224 DD60 20 C0 BRA ZDD22 |
1225 |
1226 DD62 A3 88 20 ZDD62 SUBD $20,X |
1227 DD65 BE D4 0F LDX >ZD40F |
1228 DD68 A6 02 LDA $02,X |
1229 DD6A 34 04 PSHS B |
1230 DD6C A0 E0 SUBA ,S+ |
1231 DD6E 4A DECA |
1232 DD6F 1F 89 TFR A,B |
1233 DD71 A6 84 LDA ,X |
1234 DD73 EB 01 ADDB $01,X |
1235 DD75 BE D4 0B LDX >CURFCB |
1236 DD78 25 05 BCS ZDD7F |
1237 DD7A E1 88 3C ZDD7A CMPB $3C,X |
1238 DD7D 23 06 BLS ZDD85 |
1239 DD7F E0 88 3C ZDD7F SUBB $3C,X |
1240 DD82 4C INCA |
1241 DD83 20 F5 BRA ZDD7A |
1242 |
1243 DD85 BD D6 20 ZDD85 JSR >ZD620 |
1244 DD88 25 14 BCS ZDD9E |
1245 DD8A BE D4 0B LDX >CURFCB |
1246 DD8D EC 88 42 LDD $42,X |
1247 DD90 10 A3 88 20 CMPD $20,X |
1248 DD94 27 14 BEQ ZDDAA |
1249 DD96 C6 19 LDB #$19 |
1250 DD98 20 02 BRA ZDD9C |
1251 |
1252 DD9A C6 18 ZDD9A LDB #$18 |
1253 DD9C 1A 01 ZDD9C ORCC #$01 |
1254 DD9E 39 ZDD9E RTS |
1255 |
1256 DD9F BD D6 20 ZDD9F JSR >ZD620 |
1257 DDA2 25 08 BCS ZDDAC |
1258 DDA4 BE D4 0B LDX >CURFCB |
1259 DDA7 C6 44 LDB #$44 |
1260 DDA9 3A ABX |
1261 DDAA 1C FE ZDDAA ANDCC #$FE |
1262 DDAC 39 ZDDAC RTS |
1263 |
1264 DDAD BE D4 0B ZDDAD LDX >CURFCB |
1265 DDB0 C6 0B LDB #$0B |
1266 DDB2 A6 88 24 ZDDB2 LDA $24,X |
1267 DDB5 A7 04 STA $04,X |
1268 DDB7 30 01 LEAX $01,X |
1269 DDB9 5A DECB |
1270 DDBA 26 F6 BNE ZDDB2 |
1271 DDBC 39 RTS |
1272 * |
1273 ** FIND NEXT DRIVE |
1274 * |
1275 DDBD BE D4 0B NXTDRV LDX >CURFCB |
1276 DDC0 A6 03 LDA $03,X |
1277 DDC2 4C INCA |
1278 DDC3 81 04 CMPA #$04 |
1279 DDC5 24 0F BCC ZDDD6 |
1280 DDC7 A7 03 STA $03,X |
1281 DDC9 26 05 BNE ZDDD0 |
1282 DDCB BD DE 0F JSR >DRVRDY |
1283 DDCE 20 03 BRA ZDDD3 |
1284 |
1285 DDD0 BD DE 12 ZDDD0 JSR >QUICK |
1286 DDD3 25 E8 ZDDD3 BCS NXTDRV |
1287 DDD5 39 RTS |
1288 |
1289 DDD6 C6 10 ZDDD6 LDB #$10 |
1290 DDD8 1A 01 ORCC #$01 |
1291 DDDA 39 RTS |
0011 END |
0000 INCLUDE "f9-ide.txt" |
0001 * |
0002 ** FLEX 9 COMPACT FLASH / IDE DISK DRIVERS |
0003 * |
0004 * FOR SYS09BUG ON THE XESS XSA-3S1000 & XST3.0 |
0005 * WITH I/O MAPPED AT $XE000 |
0006 * AND ROM MAPPED AT $XF000 |
0007 * |
0008 * These drivers should work with either |
0009 * an IDE disk drive or a IDE CF adapter card |
0010 * It uses 16 bit transfer mode, |
0011 * as some IDE drives do not support |
0012 * the set feature command found on CF cards |
0013 * that allows for 8 bit operation |
0014 * |
0015 * |
0016 0010 IMASK EQU $10 IRQ MASK CC |
0017 0040 FMASK EQU $40 FIRQ MASK CC |
0018 * |
0019 E100 CF_BASE EQU $E100 |
0020 E100 CF_DATA EQU CF_BASE+0 |
0021 E102 CF_ERROR EQU CF_BASE+2 ; read error |
0022 E102 CF_FEATURE EQU CF_BASE+2 ; write feature |
0023 E104 CF_SECCNT EQU CF_BASE+4 |
0024 E106 CF_SECNUM EQU CF_BASE+6 |
0025 E108 CF_CYLLO EQU CF_BASE+8 |
0026 E10A CF_CYLHI EQU CF_BASE+10 |
0027 E10C CF_HEAD EQU CF_BASE+12 |
0028 E10E CF_STATUS EQU CF_BASE+14 ; read status |
0029 E10E CF_COMAND EQU CF_BASE+14 ; write command |
0030 E11E CF_AUX EQU CF_BASE+30 ; Reset register |
0031 * |
0032 * Command Equates |
0033 * |
0034 0020 CMDREAD EQU $20 ; Read Single sector |
0035 0030 CMDWRITE EQU $30 ; Write Single sector |
0036 0006 AUXRESET EQU $06 |
0037 0002 AUXRSTREL EQU $02 |
0038 00E0 HEADLBA EQU $E0 |
0039 * |
0040 * Status bit equates |
0041 * |
0042 0080 BSY EQU $80 |
0043 0040 DRDY EQU $40 |
0044 0008 DRQ EQU $08 |
0045 0001 ERR EQU $01 |
0046 DE00 ORG $DE00 |
0047 * |
0048 * DISK DRIVER JUMP TABLE |
0049 * |
0050 DE00 7E DE 53 READ JMP READSC |
0051 DE03 7E DE 74 WRITE JMP WRITSC |
0052 DE06 7E DE 96 VERIFY JMP BUSY |
0053 DE09 7E DE 33 RESTOR JMP RESTR1 |
0054 DE0C 7E DE 98 DRIVE JMP DRVSEL |
0055 DE0F 7E DE A4 DRVRDY JMP CHKDRV |
0056 DE12 7E DE A4 QUICK JMP CHKDRV |
0057 DE15 7E DE 1F COLDDR JMP INITDR |
0058 DE18 7E DE 52 WARMDR JMP WARMD1 |
0059 DE1B 7E DE 38 SEEK JMP SEEKTS |
0060 * |
0061 * RAM SPACE |
0062 * |
0063 DE1E 00 DRVNUM FCB 0 |
0064 * |
0065 * |
0066 * INITIALIZE CF CARD |
0067 * |
0068 DE1F CC 00 06 INITDR LDD #AUXRESET |
0069 DE22 FD E1 1E STD CF_AUX |
0070 DE25 CC 00 02 LDD #AUXRSTREL |
0071 DE28 FD E1 1E STD CF_AUX |
0072 DE2B CC 00 E0 LDD #HEADLBA |
0073 DE2E FD E1 0C STD CF_HEAD |
0074 DE31 20 75 BRA WAITRDY |
0075 * |
0076 * RESTORE DISK DRIVER (SEEK TRACK 00) |
0077 * |
0078 DE33 8D 63 RESTR1 BSR DRVSEL |
0079 DE35 4F CLRA ; Track 0 |
0080 DE36 C6 01 LDB #$01 ; Sector 1 |
0081 * |
0082 * Seek track and sector |
0083 * A holds track number (0 - ??) |
0084 * B holds sector number (1 - ??) |
0085 * Sector numbers starts from 1 |
0086 * subtract 1 to start from sector 0 on CF |
0087 * |
0088 DE38 5A SEEKTS DECB |
0089 DE39 34 02 PSHS A |
0090 DE3B 4F CLRA |
0091 DE3C FD E1 06 STD CF_SECNUM |
0092 DE3F E6 E4 LDB ,S |
0093 DE41 FD E1 08 STD CF_CYLLO |
0094 DE44 F6 DE 1E LDB DRVNUM |
0095 DE47 FD E1 0A STD CF_CYLHI |
0096 DE4A C6 01 LDB #$01 |
0097 DE4C FD E1 04 STD CF_SECCNT |
0098 DE4F 35 02 PULS A |
0099 DE51 5F CLRB |
0100 DE52 39 WARMD1 RTS |
0101 * |
0102 * READ SECTORS FROM CF |
0103 * |
0104 * |
0105 DE53 8D E3 READSC BSR SEEKTS |
0106 DE55 CC 00 20 LDD #CMDREAD ; IDE READ MULTIPLE |
0107 DE58 FD E1 0E STD CF_COMAND |
0108 DE5B 8D 4B BSR WAITRDY |
0109 * |
0110 * READ LOOP |
0111 * |
0112 DE5D 34 20 PSHS Y |
0113 DE5F 10 8E 01 00 LDY #256 |
0114 DE63 8D 52 RDLP1 BSR WAITDRQ |
0115 DE65 FC E1 00 LDD CF_DATA |
0116 DE68 E7 80 STB ,X+ |
0117 DE6A 31 3F LEAY -1,Y |
0118 DE6C 26 F5 BNE RDLP1 |
0119 DE6E 35 20 PULS Y |
0120 * |
0121 DE70 8D 36 BSR WAITRDY |
0122 DE72 5F CLRB |
0123 DE73 39 RTS |
0124 * |
0125 * WRITE SECTOR TO CF |
0126 * |
0127 DE74 8D C2 WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR |
0128 DE76 CC 00 30 LDD #CMDWRITE; IDE WRITE MULTIPLE |
0129 DE79 FD E1 0E STD CF_COMAND |
0130 DE7C 8D 2A BSR WAITRDY |
0131 * |
0132 * WRITE LOOP |
0133 * |
0134 DE7E 34 20 PSHS Y |
0135 DE80 10 8E 01 00 LDY #256 |
0136 DE84 4F CLRA |
0137 DE85 8D 30 WRTLP1 BSR WAITDRQ |
0138 DE87 E6 80 LDB ,X+ |
0139 DE89 FD E1 00 STD CF_DATA |
0140 DE8C 31 3F LEAY -1,Y |
0141 DE8E 26 F5 BNE WRTLP1 |
0142 DE90 35 20 PULS Y |
0143 * |
0144 DE92 8D 14 BSR WAITRDY |
0145 DE94 5F CLRB |
0146 DE95 39 RTS |
0147 * |
0148 * CHECK FOR BUSY |
0149 * Doubles as VERIFY |
0150 * |
0151 DE96 5F BUSY CLRB Never busy |
0152 DE97 39 RTS |
0153 * |
0154 * DRIVE SELECT DISK DRIVER |
0155 * |
0156 DE98 A6 03 DRVSEL LDA 3,X GET DRIVE # FROM FCB |
0157 DE9A 81 03 CMPA #3 |
0158 DE9C 23 01 BLS DRVS2 IF > 3, SET IT TO 0 |
0159 DE9E 4F CLRA |
0160 DE9F B7 DE 1E DRVS2 STA DRVNUM |
0161 DEA2 5F CLRB ; SET Z, CLEAR C |
0162 DEA3 39 RTS |
0163 * |
0164 * CHECK DRIVE READY DISK DRIVER |
0165 * |
0166 DEA4 A6 03 CHKDRV LDA 3,X |
0167 DEA6 5F CLRB ; CLEAR C, SET Z |
0168 DEA7 39 RTS |
0169 * |
0170 * WAIT UNTIL READY |
0171 * |
0172 DEA8 FC E1 0E WAITRDY LDD CF_STATUS |
0173 DEAB C5 80 BITB #BSY |
0174 DEAD 26 F9 BNE WAITRDY |
0175 DEAF FC E1 0E LDD CF_STATUS |
0176 DEB2 C5 40 BITB #DRDY |
0177 DEB4 27 F2 BEQ WAITRDY |
0178 DEB6 39 RTS |
0179 * |
0180 * WAIT FOR DATA REQUEST |
0181 * |
0182 DEB7 FC E1 0E WAITDRQ LDD CF_STATUS |
0183 DEBA C5 08 BITB #DRQ |
0184 DEBC 27 F9 BEQ WAITDRQ |
0185 DEBE 39 RTS |
0186 * |
0012 END |
0013 END COLDS |
Program + Init Data = 5135 bytes |
Error count = 0 |