OpenCores
URL https://opencores.org/ocsvn/System09/System09/trunk

Subversion Repositories System09

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /System09/branches/mkfiles_rev1/src
    from Rev 66 to Rev 48
    Reverse comparison

Rev 66 → Rev 48

/boot/Makefile File deleted
/boot/bootcf8.asm File deleted
/boot/bootcf8.sh File deleted
/Noice/noice_rom_vhd File deleted
/Noice/Makefile File deleted
/Noice/MON6809.ASM File deleted
/Noice/MON6809ASM.sh File deleted
/Noice/MON6809VHD.sh File deleted
/Noice/MON6809VHD.aux File deleted
/upld/upld_cf8.asm File deleted
/upld/upld_ide.asm File deleted
/upld/upld_cf8.sh File deleted
/upld/Makefile File deleted
/upld/upld_ide.sh File deleted
/dump/dump_ide.sh File deleted
/dump/dump_cf8.asm File deleted
/dump/dump_ide.asm File deleted
/dump/Makefile File deleted
/dump/dump_cf8.sh File deleted
/fmt/fmt_cf8.sh File deleted
/fmt/fmt_ide.sh File deleted
/fmt/fmt_cf8.asm File deleted
/fmt/fmt_ide.asm File deleted
/fmt/Makefile File deleted
/sys09bug/Makefile File deleted
/sys09bug/sys09equ.asm File deleted
/sys09bug/sys09s3e.asm File deleted
/sys09bug/sys09b5x.asm File deleted
/sys09bug/sys09xes.asm File deleted
/sys09bug/sys09ide.asm File deleted
/sys09bug/opt_s3e.asm File deleted
/sys09bug/sys09ads.asm File deleted
/sys09bug/opt_b5x.asm File deleted
/sys09bug/sys09s3s.asm File deleted
/sys09bug/opt_xes.asm File deleted
/sys09bug/sys09bug.asm File deleted
/sys09bug/sys09swt.asm File deleted
/sys09bug/opt_ads.asm File deleted
/sys09bug/opt_s3s.asm File deleted
/sys09bug/opt_swt.asm File deleted
/sys09bug/sys09xes.sh File deleted
/sys09bug/sys09ads.sh File deleted
/sys09bug/sys09swt.sh File deleted
/sys09bug/mon_rom_vhd File deleted
/sys09bug/sys09s3e.sh File deleted
/sys09bug/sys09b5x.sh File deleted
/sys09bug/sys09s3s.sh File deleted
/sys09bug/sys09s3e.aux File deleted
/sys09bug/sys09b5x.aux File deleted
/sys09bug/sys09xes.aux File deleted
/sys09bug/readme.txt File deleted
/sys09bug/sys09s3s.aux File deleted
/Flex9/readme.txt File deleted
/Flex9/Makefile File deleted
/Flex9/flex9ide.asm File deleted
/Flex9/flex9ads.asm File deleted
/Flex9/flex9ram.asm File deleted
/Flex9/flex9cf8.asm File deleted
/Flex9/flex9ide.sh File deleted
/Flex9/flex9ram.aux File deleted
/Flex9/flex9cf8.aux File deleted
/Flex9/flex9ads.sh File deleted
/Flex9/flex9ram.sh File deleted
/Flex9/flex9cf8.sh File deleted
/Flex9/flex9ide.aux File deleted
/Flex9/f9-fms.asm File deleted
/Flex9/f9-monex.asm File deleted
/Flex9/f9-var.asm File deleted
/Flex9/f9-equ.asm File deleted
/Flex9/f9-spool.asm File deleted
/Flex9/f9-dkram.asm File deleted
/Flex9/f9-dkcf8.asm File deleted
/Flex9/f9-init.asm File deleted
/Flex9/f9-cli.asm File deleted
/Flex9/f9-data.asm File deleted
/Flex9/f9-dkfdc.asm File deleted
/Flex9/f9-sfcb.asm File deleted
/Flex9/f9-moneq.asm File deleted
/Flex9/f9-dkide.asm File deleted
/Flex9/f9-monio.asm File deleted
/Flex9/flex_ram_vhd File deleted
/dsk/DISK_RAM.dsk Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
dsk/DISK_RAM.dsk Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: dsk/DISK_CF8.dsk =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: dsk/DISK_CF8.dsk =================================================================== --- dsk/DISK_CF8.dsk (revision 66) +++ dsk/DISK_CF8.dsk (nonexistent)
dsk/DISK_CF8.dsk Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: dsk/DISK_IDE.dsk =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: dsk/DISK_IDE.dsk =================================================================== --- dsk/DISK_IDE.dsk (revision 66) +++ dsk/DISK_IDE.dsk (nonexistent)
dsk/DISK_IDE.dsk Property changes : Deleted: svn:mime-type ## -1 +0,0 ## -application/octet-stream \ No newline at end of property Index: flex9/flex9ads.lst =================================================================== --- flex9/flex9ads.lst (revision 66) +++ flex9/flex9ads.lst (nonexistent) @@ -1,3040 +0,0 @@ -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 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 Index: flex9/flex9ide.sh =================================================================== --- flex9/flex9ide.sh (revision 66) +++ flex9/flex9ide.sh (nonexistent) @@ -1,3 +0,0 @@ -../../Tools/as09/as09.exe flex9ide.asm -l > flex9ide.lst -../../Tools/epedit/epedit.exe flex9ide.aux - Index: flex9/FLEX9IDE.S19 =================================================================== --- flex9/FLEX9IDE.S19 (revision 66) +++ flex9/FLEX9IDE.S19 (nonexistent) @@ -1,170 +0,0 @@ -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 Index: flex9/flex9cf8.aux =================================================================== --- flex9/flex9cf8.aux (revision 66) +++ flex9/flex9cf8.aux (nonexistent) @@ -1,9 +0,0 @@ -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 - Index: flex9/f9-spool.txt =================================================================== --- flex9/f9-spool.txt (revision 66) +++ flex9/f9-spool.txt (nonexistent) @@ -1,134 +0,0 @@ -* -** 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 Index: flex9/f9-dkram.txt =================================================================== --- flex9/f9-dkram.txt (revision 66) +++ flex9/f9-dkram.txt (nonexistent) @@ -1,192 +0,0 @@ -* -** 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 Index: flex9/flex9ads.sh =================================================================== --- flex9/flex9ads.sh (revision 66) +++ flex9/flex9ads.sh (nonexistent) @@ -1 +0,0 @@ -../../Tools/as09/as09.exe flex9ads.asm -l > flex9ads.lst Index: flex9/flex9cf8.lst =================================================================== --- flex9/flex9cf8.lst (revision 66) +++ flex9/flex9cf8.lst (nonexistent) @@ -1,2857 +0,0 @@ -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 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 Index: flex9/FLEX9ADS.S19 =================================================================== --- flex9/FLEX9ADS.S19 (revision 66) +++ flex9/FLEX9ADS.S19 (nonexistent) @@ -1,176 +0,0 @@ -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 Index: flex9/flex9_ram_b16_0.vhd =================================================================== --- flex9/flex9_ram_b16_0.vhd (revision 66) +++ flex9/flex9_ram_b16_0.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_ram_b16_1.vhd =================================================================== --- flex9/flex9_ram_b16_1.vhd (revision 66) +++ flex9/flex9_ram_b16_1.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_ram_b16_2.vhd =================================================================== --- flex9/flex9_ram_b16_2.vhd (revision 66) +++ flex9/flex9_ram_b16_2.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_ram_b16_3.vhd =================================================================== --- flex9/flex9_ram_b16_3.vhd (revision 66) +++ flex9/flex9_ram_b16_3.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/f9-data.txt =================================================================== --- flex9/f9-data.txt (revision 66) +++ flex9/f9-data.txt (nonexistent) @@ -1,36 +0,0 @@ -* -** 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 Index: flex9/f9-dkfdc.txt =================================================================== --- flex9/f9-dkfdc.txt (revision 66) +++ flex9/f9-dkfdc.txt (nonexistent) @@ -1,372 +0,0 @@ -* -** 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 - Index: flex9/flex9ram.asm =================================================================== --- flex9/flex9ram.asm (revision 66) +++ flex9/flex9ram.asm (nonexistent) @@ -1,13 +0,0 @@ - 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 Index: flex9/f9-sfcb.txt =================================================================== --- flex9/f9-sfcb.txt (revision 66) +++ flex9/f9-sfcb.txt (nonexistent) @@ -1,14 +0,0 @@ -* -** 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 - Index: flex9/f9-moneq.txt =================================================================== --- flex9/f9-moneq.txt (revision 66) +++ flex9/f9-moneq.txt (nonexistent) @@ -1,106 +0,0 @@ - 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 - Index: flex9/f9-dkide.txt =================================================================== --- flex9/f9-dkide.txt (revision 66) +++ flex9/f9-dkide.txt (nonexistent) @@ -1,188 +0,0 @@ -* -** 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 - Index: flex9/f9-monio.txt =================================================================== --- flex9/f9-monio.txt (revision 66) +++ flex9/f9-monio.txt (nonexistent) @@ -1,65 +0,0 @@ -* -** 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 Index: flex9/f9-fms.txt =================================================================== --- flex9/f9-fms.txt (revision 66) +++ flex9/f9-fms.txt (nonexistent) @@ -1,1293 +0,0 @@ -* -** 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 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 - Index: flex9/flex9_ide_b16_0.vhd =================================================================== --- flex9/flex9_ide_b16_0.vhd (revision 66) +++ flex9/flex9_ide_b16_0.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/f9-monex.txt =================================================================== --- flex9/f9-monex.txt (revision 66) +++ flex9/f9-monex.txt (nonexistent) @@ -1,1300 +0,0 @@ -* -** 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 Index: flex9/flex9_ide_b16_1.vhd =================================================================== --- flex9/flex9_ide_b16_1.vhd (revision 66) +++ flex9/flex9_ide_b16_1.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_ide_b16_2.vhd =================================================================== --- flex9/flex9_ide_b16_2.vhd (revision 66) +++ flex9/flex9_ide_b16_2.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/f9-var.txt =================================================================== --- flex9/f9-var.txt (revision 66) +++ flex9/f9-var.txt (nonexistent) @@ -1,59 +0,0 @@ -* -** 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 Index: flex9/flex9_ide_b16_3.vhd =================================================================== --- flex9/flex9_ide_b16_3.vhd (revision 66) +++ flex9/flex9_ide_b16_3.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9ram.aux =================================================================== --- flex9/flex9ram.aux (revision 66) +++ flex9/flex9ram.aux (nonexistent) @@ -1,10 +0,0 @@ -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 - Index: flex9/f9-equ.txt =================================================================== --- flex9/f9-equ.txt (revision 66) +++ flex9/f9-equ.txt (nonexistent) @@ -1,8 +0,0 @@ -Z0000 EQU $0000 -Z0005 EQU $0005 -Z0044 EQU $0044 -Z00A0 EQU $00A0 -ZC07F EQU $C07F -LINBUF EQU $C080 -ZC0FF EQU $C0FF - END Index: flex9/flex9ram.lst =================================================================== --- flex9/flex9ram.lst (revision 66) +++ flex9/flex9ram.lst (nonexistent) @@ -1,4005 +0,0 @@ -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 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 Index: flex9/flex9ide.asm =================================================================== --- flex9/flex9ide.asm (revision 66) +++ flex9/flex9ide.asm (nonexistent) @@ -1,13 +0,0 @@ - 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 Index: flex9/f9-dkcf8.txt =================================================================== --- flex9/f9-dkcf8.txt (revision 66) +++ flex9/f9-dkcf8.txt (nonexistent) @@ -1,189 +0,0 @@ -* -** 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 - Index: flex9/f9-init.txt =================================================================== --- flex9/f9-init.txt (revision 66) +++ flex9/f9-init.txt (nonexistent) @@ -1,101 +0,0 @@ -* -** 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 Index: flex9/flex9_ram_b16_ext.vhd =================================================================== --- flex9/flex9_ram_b16_ext.vhd (revision 66) +++ flex9/flex9_ram_b16_ext.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_cf8_b16_0.vhd =================================================================== --- flex9/flex9_cf8_b16_0.vhd (revision 66) +++ flex9/flex9_cf8_b16_0.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9ads.asm =================================================================== --- flex9/flex9ads.asm (revision 66) +++ flex9/flex9ads.asm (nonexistent) @@ -1,13 +0,0 @@ - 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 Index: flex9/flex9_cf8_b16_1.vhd =================================================================== --- flex9/flex9_cf8_b16_1.vhd (revision 66) +++ flex9/flex9_cf8_b16_1.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9_cf8_b16_2.vhd =================================================================== --- flex9/flex9_cf8_b16_2.vhd (revision 66) +++ flex9/flex9_cf8_b16_2.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/flex9ram.sh =================================================================== --- flex9/flex9ram.sh (revision 66) +++ flex9/flex9ram.sh (nonexistent) @@ -1,3 +0,0 @@ -../../Tools/as09/as09.exe flex9ram.asm -l > flex9ram.lst -../../Tools/epedit/epedit.exe flex9ram.aux - Index: flex9/flex9_cf8_b16_3.vhd =================================================================== --- flex9/flex9_cf8_b16_3.vhd (revision 66) +++ flex9/flex9_cf8_b16_3.vhd (nonexistent) @@ -1,64 +0,0 @@ - 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" Index: flex9/f9-cli.txt =================================================================== --- flex9/f9-cli.txt (revision 66) +++ flex9/f9-cli.txt (nonexistent) @@ -1,814 +0,0 @@ -********************************************* -* -* 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 Index: flex9/flex9cf8.sh =================================================================== --- flex9/flex9cf8.sh (revision 66) +++ flex9/flex9cf8.sh (nonexistent) @@ -1,2 +0,0 @@ -../../Tools/as09/as09.exe flex9cf8.asm -l > flex9cf8.lst -../../Tools/epedit/epedit.exe flex9cf8.aux Index: flex9/FLEX9RAM.S19 =================================================================== --- flex9/FLEX9RAM.S19 (revision 66) +++ flex9/FLEX9RAM.S19 (nonexistent) @@ -1,230 +0,0 @@ -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 Index: flex9/FLEX9CF8.S19 =================================================================== --- flex9/FLEX9CF8.S19 (revision 66) +++ flex9/FLEX9CF8.S19 (nonexistent) @@ -1,170 +0,0 @@ -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 Index: flex9/flex9ide.aux =================================================================== --- flex9/flex9ide.aux (revision 66) +++ flex9/flex9ide.aux (nonexistent) @@ -1,9 +0,0 @@ -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 - Index: flex9/flex9cf8.asm =================================================================== --- flex9/flex9cf8.asm (revision 66) +++ flex9/flex9cf8.asm (nonexistent) @@ -1,13 +0,0 @@ - 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 Index: flex9/flex9ide.lst =================================================================== --- flex9/flex9ide.lst (revision 66) +++ flex9/flex9ide.lst (nonexistent) @@ -1,2856 +0,0 @@ -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 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

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.