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
