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

Subversion Repositories System09

[/] [System09/] [trunk/] [src/] [dsk/] [DISK_CF8.dsk] - Diff between revs 22 and 66

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 22 Rev 66
 -G_ж&& ֶZ&1&ȎԿ9%ƀ'  9&9' Ž섍 ׍݁'&ӷηn45
 -G_ж&& ֶZ&1&ȎԿ9%ƀ'  9&9' Ž섍 ׍݁'&ӷηn45
      M'45     Z& ~#~~G~Dž~Ǖ~nCFDISKt1k>YCMDhASMBCMD21hASNCMD33hBUILDCMD44hCATCMD5;hCDCMD<<CDRCMD==CLEANCMD>@hCOPYCMDAEhCPCMDFFDATECMDGJhDEBUGCMDKx.hDELETECMDyzhDIRCMD{hDISLBL00TXThDISLBL09TXThDRIVESCMDDUMPHDCMDDYNAMITECMD$hECHOCMDhEDITCMDhERRORSSYShEXECCMDhFIXCMDhFLEXSYShFLEX-91PCORhFMTDCMDHDFORMATCMDHDLINKCMDHDRCMD       HDRFCMDICMDhINITTXThJUMPCMDhLINKCMDhLISTCMDhMDCMDMEMSETCMDhMEMTOPCMDNCMD  h
      M'45     Z& ~#~~G~Dž~Ǖ~nCFDISKt1k>YCMDhASMBCMD21hASNCMD33hBUILDCMD44hCATCMD5;hCDCMD<<CDRCMD==CLEANCMD>@hCOPYCMDAEhCPCMDFFDATECMDGJhDEBUGCMDKx.hDELETECMDyzhDIRCMD{hDISLBL00TXThDISLBL09TXThDRIVESCMDDUMPHDCMDDYNAMITECMD$hECHOCMDhEDITCMDhERRORSSYShEXECCMDhFIXCMDhFLEXSYShFLEX-91PCORhFMTDCMDHDFORMATCMDHDLINKCMDHDRCMD       HDRFCMDICMDhINITTXThJUMPCMDhLINKCMDhLISTCMDhMDCMDMEMSETCMDhMEMTOPCMDNCMD  h
NEWDISKCMD!)        hOCMD*+hPCMD,,hPDELCMD-/hPROTCMD00hQCHECKCMD14hRENAMECMD55hRMCMD67hSCMD8:hSAVECMD;<hSAVELOWCMD=>hSBOXCMD?BhSETDRVCMDCDSTARTUPTXTEEhTTYSETCMDFGhUNDELETECMDHNhVERCMDOQhVERIFYCMDRRhXBASICCMDSNhXOUTCMDhXPCCMDhAPPENDCMDhSTART_HDCMDHDB_LOADCMDDPACHCMDVF9-CFDSKTXT+6F9-CFDSKLST$kF9-CFDSKS19kF9-CLIBAK:_&F9-DATATXT)*k
F9-DSKIOTXT+GkF9-EQUTXTHHkF9-FMSTXTI8kF9-INITTXTkF9-MONEQBAKkF9-MONEXTXTxkF9-MONIOTXT
kF9-PATCHTXT	kF9-RAMDKTXT/kF9-SFCBTXT00kF9-SPOOLTXT16kF9-VARTXT7:kFLEX9TXT;<kFLEX9LST=kFLEX9S19IBkFLEX9CFTXT

FLEX9CFLSTLFLEX9CFS19   (       X1kCFLOADTXT   Y       <kCFLOADLST   
NEWDISKCMD!)        hOCMD*+hPCMD,,hPDELCMD-/hPROTCMD00hQCHECKCMD14hRENAMECMD55hRMCMD67hSCMD8:hSAVECMD;<hSAVELOWCMD=>hSBOXCMD?BhSETDRVCMDCDSTARTUPTXTEEhTTYSETCMDFGhUNDELETECMDHNhVERCMDOQhVERIFYCMDRRhXBASICCMDSNhXOUTCMDhXPCCMDhAPPENDCMDhSTART_HDCMDHDB_LOADCMDDPACHCMDVF9-CFDSKTXT+6F9-CFDSKLST$kF9-CFDSKS19kF9-CLIBAK:_&F9-DATATXT)*k
F9-DSKIOTXT+GkF9-EQUTXTHHkF9-FMSTXTI8kF9-INITTXTkF9-MONEQBAKkF9-MONEXTXTxkF9-MONIOTXT
kF9-PATCHTXT	kF9-RAMDKTXT/kF9-SFCBTXT00kF9-SPOOLTXT16kF9-VARTXT7:kFLEX9TXT;<kFLEX9LST=kFLEX9S19IBkFLEX9CFTXT

FLEX9CFLSTLFLEX9CFS19   (       X1kCFLOADTXT   Y       <kCFLOADLST   
+kCFLOADS19
+kCFLOADS19
,
,
7kF9-BOOTBAK
7kF9-BOOTBAK
8
8
HkF9-BOOTLST
HkF9-BOOTLST
I
I
p(kF9-BOOTS19
p(kF9-BOOTS19
q
q
rkFLEX9CFBINjFLEXLIBTXT
rkFLEX9CFBINjFLEXLIBTXT
t
t
UNPASCALBIN
UNPASCALBIN
SNPASS1BIN
SNPASS1BIN
)SNPASS2BIN
)SNPASS2BIN
7SNPASS3BIN
7SNPASS3BIN
5=SNPASS4BIN6`+SNPASS5BINa$SNP6809BIN8SASM68KCMD9SASM09CMD&0SASMZ80CMD'F SASM05CMDGt.SASM03CMDuSASM65CMDSASM68CMDSPASCALCMDSPRUNCMD*SMAPCMD

SSORTCMD

SCSORTCMD

    SMERGECMD

'
SPMERGECMD
(
*SREADTESTCMD
+
BSRENUMBERCMD
C
DSPREFIXTXT
E
Q
SMIRRORCMD
R
XSPSORTCMD
Y
[SCONVERGECMD
\
_STCMD
`
`     TTOUCHCMD
a
aSTEXTPROCCMD
b
wSTYPECMD
x
zUDYNAMICCMD
{
}SFILETESTCMD
~
SFLEX9CFBAK

F9-MONEQTXT


F9-CFDSKBAKF9-BOOTBINF9-BOOTTXTMODEM09CMDSLOADIMGTXTLOADIMGBAKLOADIMGCMDDISKDUMPTXT
5=SNPASS4BIN6`+SNPASS5BINa$SNP6809BIN8SASM68KCMD9SASM09CMD&0SASMZ80CMD'F SASM05CMDGt.SASM03CMDuSASM65CMDSASM68CMDSPASCALCMDSPRUNCMD*SMAPCMD

SSORTCMD

SCSORTCMD

    SMERGECMD

'
SPMERGECMD
(
*SREADTESTCMD
+
BSRENUMBERCMD
C
DSPREFIXTXT
E
Q
SMIRRORCMD
R
XSPSORTCMD
Y
[SCONVERGECMD
\
_STCMD
`
`     TTOUCHCMD
a
aSTEXTPROCCMD
b
wSTYPECMD
x
zUDYNAMICCMD
{
}SFILETESTCMD
~
SFLEX9CFBAK

F9-MONEQTXT


F9-CFDSKBAKF9-BOOTBINF9-BOOTTXTMODEM09CMDSLOADIMGTXTLOADIMGBAKLOADIMGCMDDISKDUMPTXT
_DISKDUMPBAK

_DISKDUMPBAK

_DISKDUMPBIN
_DISKDUMPBIN
_DISKDUMPCMD
_DISKDUMPCMD
_F9-CLITXTu&FLEX9CFSYS !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ .:      (+C
_F9-CLITXTu&FLEX9CFSYS !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ .:      (+C
0F+?%+08+1!?Z&+n0~-- Not Enough User Memory. 0,
0F+?%+08+1!?Z&+n0~-- Not Enough User Memory. 0,
K0+&"+  (C
K0+&"+  (C
~Y~\ COPYRIGHT (C) 1979 BY TECHNICAL SYSTEMS CONSULTANTS, INC. BOX 2574, W.LAFAYETTE, IN 47906<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷY&M&0,ίȣJȵJ$0&ÀDVDVJDVJJ@#@DVJJ@ ȵȳȱJȧJȥJDVDVDVJȧȩȫJȭȯ901ȣ
~Y~\ COPYRIGHT (C) 1979 BY TECHNICAL SYSTEMS CONSULTANTS, INC. BOX 2574, W.LAFAYETTE, IN 47906<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷY&M&0,ίȣJȵJ$0&ÀDVDVJDVJJ@#@DVJJ@ ȵȳȱJȧJȥJDVDVDVJȧȩȫJȭȯ901ȣ
45Z&0-%?0301FZ&0Co0&e'`+0C-$
0%H'C*F'$4:5'3+10#_'0m&0% 4o5P&νH%)'* Ȁȝ0&Ȋ'l0COm7&30C&; I&/ȓ'|"0%c"_Y&"0CLĄ&$ &0%+4?w!}ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3!$ȣ'ȑ'&?+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠȫI0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥm?&@mP&@D'Oȿ&BmB&mȠ'
45Z&0-%?0301FZ&0Co0&e'`+0C-$
0%H'C*F'$4:5'3+10#_'0m&0% 4o5P&νH%)'* Ȁȝ0&Ȋ'l0COm7&30C&; I&/ȓ'|"0%c"_Y&"0CLĄ&$ &0%+4?w!}ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3!$ȣ'ȑ'&?+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠȫI0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥm?&@mP&@D'Oȿ&BmB&mȠ'
mȾ'*֮Ԧ&
mȾ'*֮Ԧ&
mB&ȡ&92  Ϯȣ0XmȾ' +jȾmB&Ȗ0ȖȺ ȾĄJȾmB'uȺBmB&Ȗ0ȖȺm?&mP&D'-' !ئ*B'66 ʀȿ&Φ'O'   *m6+'
mB&ȡ&92  Ϯȣ0XmȾ' +jȾmB&Ȗ0ȖȺ ȾĄJȾmB'uȺBmB&Ȗ0ȖȺm?&mP&D'-' !ئ*B'66 ʀȿ&Φ'O'   *m6+'
6''3''4'&r\> P'    ,'X?'-'NB'Y'.&oƦȕ5&'+' +&oȕ4K55ȕ&mB&mȠ'
6''3''4'&r\> P'    ,'X?'-'NB'Y'.&oƦȕ5&'+' +&oȕ4K55ȕ&mB&mȠ'
mȾ'*IԦ&mB&ȡ'9otȐ'L0"_)0?ʮ$'0$ 0H+&0!B0BB̦CǦ3'S׆90
mȾ'*IԦ&mB&ȡ'9otȐ'L0"_)0?ʮ$'0$ 0H+&0!B0BB̦CǦ3'S׆90
ʦ'N4' PȘ'2ș,Ț&oo/'+'P1'1'0!+0:Z&9ȷL0^0RSȿƧ OY&ʧR§اٮȀ^
'1*& '#Z&
Φ
'z '
m?&
wx'doȿ       S'4 1X5 'lR?#_0 ߯^R"R?'!__A'B&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 \'0"΁'0%U'8RR& ZS&ZT&Z'&U&  Z'V'R::&m?'
ʦ'N4' PȘ'2ș,Ț&oo/'+'P1'1'0!+0:Z&9ȷL0^0RSȿƧ OY&ʧR§اٮȀ^
'1*& '#Z&
Φ
'z '
m?&
wx'doȿ       S'4 1X5 'lR?#_0 ߯^R"R?'!__A'B&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 \'0"΁'0%U'8RR& ZS&ZT&Z'&U&  Z'V'R::&m?'
O9R:\DDY  #jl1ܦZ&Y	#0YH0t0m?'9n[&XYm?'9EӦB'. -&omB&ԯClBI@턯@E0IG5IKoo '0 5';G"'A''=',' 5    0įGoMooKM
K Iȭ%0]?91!'
'ħ  '%-XXXXݦ,& %,'*SĈ&OX'0%^'܁5" 4'Ѧ_Ħ#'     Ć
O9R:\DDY  #jl1ܦZ&Y	#0YH0t0m?'9n[&XYm?'9EӦB'. -&omB&ԯClBI@턯@E0IG5IKoo '0 5';G"'A''=',' 5    0įGoMooKM
K Iȭ%0]?91!'
'ħ  '%-XXXXݦ,& %,'*SĈ&OX'0%^'܁5" 4'Ѧ_Ħ#'     Ć
 0ĦX'߁'''&^| ^'
 0ĦX'߁'''&^| ^'
'
'
_g:EX'
_g:EX'
&
&
\܁ $\OB0^܁ $F& :'
\܁ $\OB0^܁ $F& :'
EO &'Z&
EO &'Z&
Z'S@ LZ& 7ӮĦ#&,
Z'S@ LZ& 7ӮĦ#&,
ׄ5&&'݁'       Z'Ӌ@ Oͧϧ̆ήĦ<&	0 >&0[&0_A& B& D&
,&(0,&-&&&&        Ħ,&m']'|ā'    ]Z&y܄0'pĦȽ&.+)&&"^ȼ&׀`$ڦ^ȼ'9O       3Ł~'&^țOB0^&&ʮț^^_e0-''2'0=0-&     0-&@0& i&+&^O0+&R0 I&]'<Į^ڦ+OB0^&&'گ^OB0^cĦ'΄
':]&40ΊΦ&#'_ 
΄&*^_&'? 8O
Ć^+j&M&c΄'?^_&Ħ`3΄&"_^'SC&&΄`Φ_Χ @&
ׄ5&&'݁'       Z'Ӌ@ Oͧϧ̆ήĦ<&	0 >&0[&0_A& B& D&
,&(0,&-&&&&        Ħ,&m']'|ā'    ]Z&y܄0'pĦȽ&.+)&&"^ȼ&׀`$ڦ^ȼ'9O       3Ł~'&^țOB0^&&ʮț^^_e0-''2'0=0-&     0-&@0& i&+&^O0+&R0 I&]'<Į^ڦ+OB0^&&'گ^OB0^cĦ'΄
':]&40ΊΦ&#'_ 
΄&*^_&'? 8O
Ć^+j&M&c΄'?^_&Ħ`3΄&"_^'SC&&΄`Φ_Χ @&
Ħ' F$Oa lίĦ^   _0KtY
Ħ' F$Oa lίĦ^   _0KtY
'^_Ȃ'
Ħ,&0 '   O0L1K4 '&lçKܮM9Ħ_5섄__0á'014 &
'^_Ȃ'
Ħ,&0 '   O0L1K4 '&lçKܮM9Ħ_5섄__0á'014 &
&455&+&mȌ'405Ħ&ā,'9X'*QoƦ1'+'Ȁ'&
}^0'o9'h4^B9m6+o69¦D&A^m'Y&**
&455&+&mȌ'405Ħ&ā,'9X'*QoƦ1'+'Ȁ'&
}^0'o9'h4^B9m6+o69¦D&A^m'Y&**
9ɆȀ'^șlȘ9X'Bo0Ȇ0Y&0Ȇ0Ħ
'       1!Ȇ&PįĆ Ȇ' 9y^BB9oȾVmB&Ƞ&ԯ     '`0ZXX:^_bț4@-5%3ț@3&&oolȠ9sOȾ§D&mX&B+oZ&0D1R`%_Z&
'"ȩ&0{]1RZ&=턆?9ioȾo:hmB'$-'.&ojB@I@&C9
2oȾo&*B&",'+E' !&^&P9lO9^' #Y&^& l^&B&ٮ0o5+'-& 50Ħ5&Ȧ^&_'/@5&0'Z&  \'Z&E@E''
&0M9oȾomO'PoȾomO'jOT
:1KĦ$''%4 ~5 Ħ_'@ /Ȃ9怦4'
&0' 0,'0 X'U'PϦ+'HȀ' &_'ۦ&'Z&Ħ,' 0ߦ_!%#
9ɆȀ'^șlȘ9X'Bo0Ȇ0Y&0Ȇ0Ħ
'       1!Ȇ&PįĆ Ȇ' 9y^BB9oȾVmB&Ƞ&ԯ     '`0ZXX:^_bț4@-5%3ț@3&&oolȠ9sOȾ§D&mX&B+oZ&0D1R`%_Z&
'"ȩ&0{]1RZ&=턆?9ioȾo:hmB'$-'.&ojB@I@&C9
2oȾo&*B&",'+E' !&^&P9lO9^' #Y&^& l^&B&ٮ0o5+'-& 50Ħ5&Ȧ^&_'/@5&0'Z&  \'Z&E@E''
&0M9oȾomO'PoȾomO'jOT
:1KĦ$''%4 ~5 Ħ_'@ /Ȃ9怦4'
&0' 0,'0 X'U'PϦ+'HȀ' &_'ۦ&'Z&Ħ,' 0ߦ_!%#
oo9¦D&sX'0
$`[f9ZȀ'^'	;o^o__ȼoȽ^9OCȽ9oȾo†,І ѮĦ
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
& с & :,&     '/,1$!4' #'ф,&M'          
&M&l_ '4&&1?!0oȾomB&
oo9¦D&sX'0
$`[f9ZȀ'^'	;o^o__ȼoȽ^9OCȽ9oȾo†,І ѮĦ
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
& с & :,&     '/,1$!4' #'ф,&M'          
&M&l_ '4&&1?!0oȾomB&
P9X'+'&
7oƮ"0"0DĦ
'0 9
T
 ^&_'+Ⱦ
9oȾoB'@į; ^&_:9oȾƦ:'j:'
mB'@;9^BB^#9O_9'
'&90w0 '
'&90V0ZX0d0>ܧݧħߧ†
P9X'+'&
7oƮ"0"0DĦ
'0 9
T
 ^&_'+Ⱦ
9oȾoB'@į; ^&_:9oȾƦ:'j:'
mB'@;9^BB^#9O_9'
'&90w0 '
'&90V0ZX0d0>ܧݧħߧ†
mX' "1!"L&9&99mX'%m2' $1!$L&9&99
mX' "1!"L&9&99mX'%m2' $1!$L&9&99
'9O^_UV0WWį &V&o^o_|W^Ħ&O9*'&&
0č's |'pU90č'l ؍9'섁=' <&
'9O^_UV0WWį &V&o^o_|W^Ħ&O9*'&&
0č's |'pU90č'l ؍9'섁=' <&
>&
>&
@0 >&4'=&004 5'j ɍ&'-&
0č' +&0č' ܍&'*&
0č' /&0č' ܍!'ͦ<'>&&04   5' ᦄ-&04ٍ'++&0 !&0)'$'9q&(&!0'즄)&0ħU9'Z&CoU9*&
@0 >&4'=&004 5'j ɍ&'-&
0č' +&0č' ܍&'*&
0č' /&0č' ܍!'ͦ<'>&&04   5' ᦄ-&04ٍ'++&0 !&0)'$'9q&(&!0'즄)&0ħU9'Z&CoU9*&
0$'%'@''&0O 0 0 0č^9 i'4Z&1o\o]
0$'%'@''&0O 0 0 0č^9 i'4Z&1o\o]
+
*ˮį\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^90%9#A%Z#_'
a%z#_999\^ \0^      Z0ZF$
+
*ˮį\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^90%9#A%Z#_'
a%z#_999\^ \0^      Z0ZF$
45dfffZ&^yZ\^\^0Z4^    \%^iiii5Z&^AQ^\]^3C^\] Wcc9oȒ<'Ȓ$\'^mȒ&XI DV0& 4^\5<&%- (Z&'$ Z&" Z&# 
Z&&  $O x:$
45dfffZ&^yZ\^\^0Z4^    \%^iiii5Z&^AQ^\]^3C^\] Wcc9oȒ<'Ȓ$\'^mȒ&XI DV0& 4^\5<&%- (Z&'$ Z&" Z&# 
Z&&  $O x:$
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]97'G0'B1K1'30o'iZ&4 5 mȕ&Dƍ    o9_צ2' m'>Ȇm8&J'~L&
J#dtKY&'
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]97'G0'B1K1'30o'iZ&4 5 mȕ&Dƍ    o9_צ2' m'>Ȇm8&J'~L&
J#dtKY&'
''&[mWiY';M 7K&UK ;7IK '0'0 &!3Y&m8'&J ^B)% 4]'jJZ&59& \j4jJjJ59ȕ&mB'
''&[mWiY';M 7K&UK ;7IK '0'0 &!3Y&m8'&J ^B)% 4]'jJZ&59& \j4jJjJ59ȕ&mB'
\0Ȗ_*'V '` \%WOm&'M\F'=m& \%+$ - &' \f%
'  p0 2b9
' '\0\ T0&945 mȔ'$!L!"o9ƍ 4        5DDDD@9'd0Vȳ0؍̮0'-4Z&ʦ0؆5ȵ'Z& 4:5جȵ& 0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94Ȉ큯TĈ59ȵ19ȳ'04 &䦤'(1(9&
\0Ȗ_*'V '` \%WOm&'M\F'=m& \%+$ - &' \f%
'  p0 2b9
' '\0\ T0&945 mȔ'$!L!"o9ƍ 4        5DDDD@9'd0Vȳ0؍̮0'-4Z&ʦ0؆5ȵ'Z& 4:5جȵ& 0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94Ȉ큯TĈ59ȵ19ȳ'04 &䦤'(1(9&
4 '18! !!"" 94愦砧5Z&018940&Z&50941&0
4 '18! !!"" 94愦砧5Z&018940&Z&50941&0
'0')&Ȕ4O!1'Z&0҆ȟ& 0oț    "       "W-M-C0        0'ڦ '0z|ħ515959" ⠧Ȝ0ț_✮=o¦ȿ&ImX&'ȱ&0   ٧
&=$'&j?&=Ĭȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09&$01!E@1$m'J+ 1"' 1? #!o¦ȿ&(f'&lQ &P&mQ&lOoP$9&mQ'jQ mP*mO'jO mP*݁&l? ԁ&m?'j? oPfl?j?Y& $'''''!''M&9o0'09jȠ'+Ƞ0ZXX:^@       &d"o ֯9$"4B0B59&'o&9009l459_9'__1$'1$m& !&1"0]'0&99,'     '
'M9Ħ#'-00%2@&' m^'^&^__, ('909O^_94΄9_X'Y'U'S&&%#&DFFFΧ0O9_P&"_C&'_R&
&\00O9_^'SC&]+O9CC$lB9omD'2b9,&o9'     o^o_9 Ķ
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4OMNL5N90DoQL&$NOlQ?ȳȵ"9֦'-&
'0')&Ȕ4O!1'Z&0҆ȟ& 0oț    "       "W-M-C0        0'ڦ '0z|ħ515959" ⠧Ȝ0ț_✮=o¦ȿ&ImX&'ȱ&0   ٧
&=$'&j?&=Ĭȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09&$01!E@1$m'J+ 1"' 1? #!o¦ȿ&(f'&lQ &P&mQ&lOoP$9&mQ'jQ mP*mO'jO mP*݁&l? ԁ&m?'j? oPfl?j?Y& $'''''!''M&9o0'09jȠ'+Ƞ0ZXX:^@       &d"o ֯9$"4B0B59&'o&9009l459_9'__1$'1$m& !&1"0]'0&99,'     '
'M9Ħ#'-00%2@&' m^'^&^__, ('909O^_94΄9_X'Y'U'S&&%#&DFFFΧ0O9_P&"_C&'_R&
&\00O9_^'SC&]+O9CC$lB9omD'2b9,&o9'     o^o_9 Ķ
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4OMNL5N90DoQL&$NOlQ?ȳȵ"9֦'-&
9֦Q(&DFHB!9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
9֦Q(&DFHB!9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
HI &2bO909'
0oɮҬB'~ &'%ү1l J&"m"t9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#O5馀Z&C4ȧȦ5Ȁo 'Z#8&9'
HI &2bO909'
0oɮҬB'~ &'%ү1l J&"m"t9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#O5馀Z&C4ȧȦ5Ȁo 'Z#8&9'
0&Z&9(&B'd001裂8Z&&m9'O1?&91O' l40ˬ5&.')40Z&0509ȣ00'#ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' n
& q#m5'So5A%L)'C"H1?Ȅ'\&& 41!@ȝ00Z'
'',& 즀
'',' &&5'ݼ!9ț0C'ݨț9$BLSGTNYDWPC7A8LIS+NOL+CON,NOC,MAC-NOM-EXP.NOE.PAG1NOP1%%%%%%&&&*&?&P&_&g&q&&*(&&&&'
0&Z&9(&B'd001裂8Z&&m9'O1?&91O' l40ˬ5&.')40Z&0509ȣ00'#ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' n
& q#m5'So5A%L)'C"H1?Ȅ'\&& 41!@ȝ00Z'
'',& 즀
'',' &&5'ݼ!9ț0C'ݨț9$BLSGTNYDWPC7A8LIS+NOL+CON,NOC,MAC-NOM-EXP.NOE.PAG1NOP1%%%%%%&&&*&?&P&_&g&q&&*(&&&&'
***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTE%DSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXE+)D MODEILLEGAL C&HONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDIL'LOGICAL FORCING IGNORED TSC ASS,*EMBLER   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT 'MEMORY
***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTE%DSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXE+)D MODEILLEGAL C&HONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDIL'LOGICAL FORCING IGNORED TSC ASS,*EMBLER   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT 'MEMORY


S1AB   DCC
S1AB   DCC
PCDPXY S@U@       p       {              
PCDPXY S@U@       p       {              
:
:


-+o^kV_oFhp&LDA$LDB LDD LDX LDY!LDU LDS!STASTBSTDSTXSTY(STUSTSJMPnJSRCPX ORA$ORB ASLhASRgCLRoCOMcDECjINClLSLhLSRdNEG`ROLiRORfTSTmBRA BSRBCC$BCS%BEC$BES%BEQ'BG.,E,BGT.BHI"BHS$BLE/BLO%BLS#BLT-BMI+BNE&BPL*BRN!BV)XC(BVS)ABX:DAAMUL=NOPRTI;RTS9SEXSWI?SEF@CLFEXGTFRADC$AND$BIT$EOR$SBC$ADD$SUB$CMP$PSH4PUL5ABA4CBA4CLCCLICLVDES2DEX0INS2aINX0SBA4SE/-CSEI*SEVTABMTBAMTAPTPATSXATXSWAI


-+o^kV_oFhp&LDA$LDB LDD LDX LDY!LDU LDS!STASTBSTDSTXSTY(STUSTSJMPnJSRCPX ORA$ORB ASLhASRgCLRoCOMcDECjINClLSLhLSRdNEG`ROLiRORfTSTmBRA BSRBCC$BCS%BEC$BES%BEQ'BG.,E,BGT.BHI"BHS$BLE/BLO%BLS#BLT-BMI+BNE&BPL*BRN!BV)XC(BVS)ABX:DAAMUL=NOPRTI;RTS9SEXSWI?SEF@CLFEXGTFRADC$AND$BIT$EOR$SBC$ADD$SUB$CMP$PSH4PUL5ABA4CBA4CLCCLICLVDES2DEX0INS2aINX0SBA4SE/-CSEI*SEVTABMTBAMTAPTPATSXATXSWAI
J&~@? _Ž* 9׽* _9 
'9'$=&'%3"M'$M99A'a& 禄'0 '9SYSTEM DRIVE IS #WORK DRIVE IS #ALL @-%=3&8#'4@5&
'۾ ?~&Y&Y&ڎ@& .FILE EXISTS ... DELETE?SURE? 6 GADFMNPRSGG0}'    |||~E0& o0G&90+'+&''0o0 &'%Ӂ9"04 _0'&l ܎Ɩ7Ʊ5707ƐM7'Ɗ5)0&~ÿ}4&3
}'}'}'
J&~@? _Ž* 9׽* _9 
'9'$=&'%3"M'$M99A'a& 禄'0 '9SYSTEM DRIVE IS #WORK DRIVE IS #ALL @-%=3&8#'4@5&
'۾ ?~&Y&Y&ڎ@& .FILE EXISTS ... DELETE?SURE? 6 GADFMNPRSGG0}'    |||~E0& o0G&90+'+&''0o0 &'%Ӂ9"04 _0'&l ܎Ɩ7Ʊ5707ƐM7'Ɗ5)0&~ÿ}4&3
}'}'}'
}'?}'Oz4|44$9L$}0'!&B o5c'	!%9#A}1'-}'"_"ˆ_E'~O5959@*#0 '@'%~õ.9}'3;2!&	=>8&pEBoŽV)D+OïM)WŁ$}'	$&/ '!%p9"'L$ C%`yl&!&Z&U$(A:6)E//)=Ž/C?)U}'~GŽ~@?$~
'9?!&|1'9' }D'ݾ?0?}D*}&. ڶUVE%
"F#EFDCCDA0AD}/&)9$;;/'0;9M'&09 UV>=>=}3&43$}'z2&?2z3}'
}'?}'Oz4|44$9L$}0'!&B o5c'	!%9#A}1'-}'"_"ˆ_E'~O5959@*#0 '@'%~õ.9}'3;2!&	=>8&pEBoŽV)D+OïM)WŁ$}'	$&/ '!%p9"'L$ C%`yl&!&Z&U$(A:6)E//)=Ž/C?)U}'~GŽ~@?$~
'9?!&|1'9' }D'ݾ?0?}D*}&. ڶUVE%
"F#EFDCCDA0AD}/&)9$;;/'0;9M'&09 UV>=>=}3&43$}'z2&?2z3}'
?9pDz.}W'Lk}&}&N}'QĽ:AS}'
?9pDz.}W'Lk}&}&N}'QĽ:AS}'
U9*}'YŁ}'@WƀrD@lCf~ ~@~& '
&-0Z&9/ o0Z&' ~-|,'%
U9*}'YŁ}'@WƀrD@lCf~ ~@~& '
&-0Z&9/ o0Z&' ~-|,'%
0Z*99- & 7)7'
%
ŘcJ'000 +˾7 	"_~90~< ;
&0A00LZ/0
9FILE#  NAME   TYPE BEGIN  END   SIZE   DATE    PRTFILES=TOTAL=BIGGEST=FREE=DRIVE: CREATED:  DISK\: -E?JanFebMarAprMayJunJulAugSepOctNovDecBADYES   NO  Example: CAT +DF 1 .CMD ABA AlphaD DateF File #M Maxi-DIRN Non-existentP PagingR RepeatS SizeB @-%*  3&CX:Q턎@&~~ H]'X0~ ? .' ','
''0%3" ێ?'~k'~0@$_Z&9X}'x$z&Ls&z&׆߷$$$~$ (Z& &9"~Sa%z"߁Y9
'! '
0Z*99- & 7)7'
%
ŘcJ'000 +˾7 	"_~90~< ;
&0A00LZ/0
9FILE#  NAME   TYPE BEGIN  END   SIZE   DATE    PRTFILES=TOTAL=BIGGEST=FREE=DRIVE: CREATED:  DISK\: -E?JanFebMarAprMayJunJulAugSepOctNovDecBADYES   NO  Example: CAT +DF 1 .CMD ABA AlphaD DateF File #M Maxi-DIRN Non-existentP PagingR RepeatS SizeB @-%*  3&CX:Q턎@&~~ H]'X0~ ? .' ','
''0%3" ێ?'~k'~0@$_Z&9X}'x$z&Ls&z&׆߷$$$~$ (Z& &9"~Sa%z"߁Y9
'! '
&9'4 j&5 @$ L
-- Invalid drive specification.

-- Are you sure you want to clean heads? 

First saturate cleaning disk with solvent,
then insert disk into drive to be cleaned.

-- Cleaning disk in place in drive 0? 

-- Cleaning in progress (30 seconds).

Head cleaning process complete.  Remove
disk and inspect for oxide deposits.

-- Type return to exit. B ~Y@+,`#     r%[&  @o @-%1r%C& o -%@m'Dm&~$1 ?       $~D@ }'Ģ$ | Zm&ަC'׾!$.' Ё9#o0Z&C.'
&9'4 j&5 @$ L
-- Invalid drive specification.

-- Are you sure you want to clean heads? 

First saturate cleaning disk with solvent,
then insert disk into drive to be cleaned.

-- Cleaning disk in place in drive 0? 

-- Cleaning in progress (30 seconds).

Head cleaning process complete.  Remove
disk and inspect for oxide deposits.

-- Type return to exit. B ~Y@+,`#     r%[&  @o @-%1r%C& o -%@m'Dm&~$1 ?       $~D@ }'Ģ$ | Zm&ަC'׾!$.' Ё9#o0Z&C.'
-% |'%  0Z* oC&{$&cm'e+m+D}&,DA=='0=AM'&0A ˆĎ@ 1%qC &~~$00o_9.D.Ĵ	o_~9& 0Z&D9D00Z&9$@&~ˍ~ͽ~m&@4

5Lħ@&~$;m*~'~#;@m'l@'&
-% |'%  0Z* oC&{$&cm'e+m+D}&,DA=='0=AM'&0A ˆĎ@ 1%qC &~~$00o_9.D.Ĵ	o_~9& 0Z&D9D00Z&9$@&~ˍ~ͽ~m&@4

5Lħ@&~$;m*~'~#;@m'l@'&
0 H~-'J0 ԶC'   `k0&&IE'0 }' @&' &
9''~ª~9
ߎ۽Y&Y&ێ&æ$~f!%9".'
4''5_]9    COPIED    COPY COMPLETE TO DRIVE #NO SUCH FILE  FILE EXISTS    DELETE ORIGINAL?     ARE YOU SURE? STARTUPTXTh2`2D_9YZ[;~^~~9'
0 H~-'J0 ԶC'   `k0&&IE'0 }' @&' &
9''~ª~9
ߎ۽Y&Y&ێ&æ$~f!%9".'
4''5_]9    COPIED    COPY COMPLETE TO DRIVE #NO SUCH FILE  FILE EXISTS    DELETE ORIGINAL?     ARE YOU SURE? STARTUPTXTh2`2D_9YZ[;~^~~9'
ŕ΄ě9&Š   SŘECTORS   SECTOR   H&$M~H/$n~虜ʀ熎HL~Can't change system partition!
ŕ΄ě9&Š   SŘECTORS   SECTOR   H&$M~H/$n~虜ʀ熎HL~Can't change system partition!
Partition doesn't exist!
Partition doesn't exist!
H 2.: by Bruno D. Puglia Jan 15,1982(o04&(T}('})&
H 2.: by Bruno D. Puglia Jan 15,1982(o04&(T}('})&
}*&}+'~é~~$
'a'\+&|(+&|(' &=~'2p%1.'*
'&'!|)"!-R%"ķ.G%c"/929,?$~2I.&|,,-%|*9%|+9H%]'     0199}*&g})&M$J'
}*&}+'~é~~$
'a'\+&|(+&|(' &=~'2p%1.'*
'&'!|)"!-R%"ķ.G%c"/929,?$~2I.&|,,-%|*9%|+9H%]'     0199}*&g})&M$J'
0m&0 * 010_9z1_09~禄'0 -.ˆ/~,},&}+T3'~&ɀ})'-./ oJ& ~,},&+o      &A})'-c.d/e}*'P0Z&}+'0LĿć,
0m&0 * 010_9z1_09~禄'0 -.ˆ/~,},&}+T3'~&ɀ})'-./ oJ& ~,},&+o      &A})'-c.d/e}*'P0Z&}+'0LĿć,
'*@' '
'*@' '
'   ~, 19Drive assigned to 'ALL'. Program aborted.DATE 5/22/70 FILE or
'   ~, 19Drive assigned to 'ALL'. Program aborted.DATE 5/22/70 FILE or
DATE + 4/1/81 VOLUME 2JANUARYFEBRUARYMARCHAPRILMAYJUNEJULYAUGUSTSEPTEMBEROCTOBERNOVEMBERDECEMBERLUh6809 DEBUG PACKAGE, V1.0
DATE + 4/1/81 VOLUME 2JANUARYFEBRUARYMARCHAPRILMAYJUNEJULYAUGUSTSEPTEMBEROCTOBERNOVEMBERDECEMBERLUh6809 DEBUG PACKAGE, V1.0
COPYRIGHT (C), 1979
COPYRIGHT (C), 1979
TECHNICAL SYSTEMS CONSULTANTS, INC.
TECHNICAL SYSTEMS CONSULTANTS, INC.
ALL RIGHTS RESERVEDU)&~~      ~~N22`O40&C^~էۧ0̯023M4@041L 04 04 0JU0900"0|$
ALL RIGHTS RESERVEDU)&~~      ~~N22`O40&C^~էۧ0̯023M4@041L 04 04 0JU0900"0|$
=l*L 23d^o+,-.0(c5
'%0&&0n0(B 0( 1
=l*L 23d^o+,-.0(c5
'%0&&0n0(B 0( 1


K 48'-@'+o@'"' 0''m&N9V9
K 48'-@'+o@'"' 0''m&N9V9
 %414 &0)+N
 %414 &0)+N
NOZ&155'&
NOZ&155'&
'0H_<'\>&4%"+m&"CS" ;0;'&Ņ&&
'0H_<'\>&4%"+m&"CS" ;0;'&Ņ&&
s'-_I&$%_F&Ӎ$$&%WL%$ 83 4&a$0&o'
s'-_I&$%_F&Ӎ$$&%WL%$ 83 4&a$0&o'
0lOm& զLHHHH$  '!&=&$$v%$4&0&H5P"M&% &   'x&     '8%% ̅
0lOm& զLHHHH$  '!&=&$$v%$4&0&H5P"M&% &   'x&     '8%% ̅
&04$%'
' X$ 2~0&\+]&8	a&m'a$A:A_	 o+'l-&]'4bPm' l &(X0X & 'oo 0|$P1dxc"* O X.4'%40 ;S-uB, U-uB'<:Zom0
\#NҮNZ'
&04$%'
' X$ 2~0&\+]&8	a&m'a$A:A_	 o+'l-&]'4bPm' l &(X0X & 'oo 0|$P1dxc"* O X.4'%40 ;S-uB, U-uB'<:Zom0
\#NҮNZ'
%W<03
'8 Q;K %42|d1Yb00

0%"_C0&Ҭb&ld5
'_F'B&jdjd N~NcZ\# 9`;"&
'4 ]'c4 bZ\"`b'
'Z\R0 A0 o?''=l?&N&'_0  o679'l6 0 '{0%*0b_焧t0#M'0#M=*Z T=-Z N=/Z I=9u_ S=1uB [ IT=0Z T='Z IRQ=Ku_ NMI=Ou_ FIRQ=Gu_ F==uB0S/Ib4'F%mb&hcibom0140"b$bb"' 0&0b0] B<&1"!'[&1"m& Z1_0@'   0m&D14 0$Z\m&0#( X
%W<03
'8 Q;K %42|d1Yb00

0%"_C0&Ҭb&ld5
'_F'B&jdjd N~NcZ\# 9`;"&
'4 ]'c4 bZ\"`b'
'Z\R0 A0 o?''=l?&N&'_0  o679'l6 0 '{0%*0b_焧t0#M'0#M=*Z T=-Z N=/Z I=9u_ S=1uB [ IT=0Z T='Z IRQ=Ku_ NMI=Ou_ FIRQ=Gu_ F==uB0S/Ib4'F%mb&hcibom0140"b$bb"' 0&0b0] B<&1"!'[&1"m& Z1_0@'   0m&D14 0$Z\m&0#( X
bbma&M&J H&
bbma&M&J H&
0%02d,]l& %)_ 4%  _a$0 o'0lm&_%\0591G'O_ikST&L%sN<'vmd'ST&N1'fm,&4'j3'
0%02d,]l& %)_ 4%  _a$0 o'0lm&_%\0591G'O_ikST&L%sN<'vmd'ST&N1'fm,&4'j3'
0&J&o,N.'&#m^0H4'0V4'!m6'707&970 r0N0 X o&c5@1K 1O4 5 "KLOPGHd '%ff4PN44&9
' & P10-~^Ĩ' 0 LAST XFR FROM (uBNy'%"v0WU Locʁ
'
0&J&o,N.'&#m^0H4'0V4'!m6'707&970 r0N0 X o&c5@1K 1O4 5 "KLOPGHd '%ff4PN44&9
' & P10-~^Ĩ' 0 LAST XFR FROM (uBNy'%"v0WU Locʁ
'
'% '
% c&0 0
 m0&$Q'0'QM'0'CMI'0'KI9OQkP_4mS&ħĆ_
?N5hoToS9KMą&/6 ŮGIą@&mS&ĄĆ_NP mT' 1X
91
U n1 1q:&%9%Z\;%%\9Z%    \"99X`|0'섍&X 40]a54 &00;s__X'W'M'S&}0:O
&5X,W,M,S
qk<y\ 4000|10ˬ'Yf-00 9'1a@8'0 9NO_ZCS\0X/&94ǦcU=9&_O&_N9U
9`otouT8' &@R
'#'F&;>')X['4D]'6U,'P]'
' &Umb'qmbt&tt Zt U,' +;ƅB'
\A'ƋD&utt$_90`91CZ&9t&F0Dc ΦtD%F1ʮbD y$' &Fr1Dbħ\blClC Imt&\E;''=W]'L' &CF3CDD&mb&-[c 1Db7obc %%Fi^4F DDDF]'(' &F&bc4+LD&bC1D E_X'2 Y', U'& S' t@tP&% C&%R&t_$
0ʦD9)P 42\}_% `%_\%%C'&$%0E_%8"\%E	&dPm' m&F*E0=F2d90lEm& CO\4b%
"b9b9t''&$'b&'9x;-&t&
'% '
% c&0 0
 m0&$Q'0'QM'0'CMI'0'KI9OQkP_4mS&ħĆ_
?N5hoToS9KMą&/6 ŮGIą@&mS&ĄĆ_NP mT' 1X
91
U n1 1q:&%9%Z\;%%\9Z%    \"99X`|0'섍&X 40]a54 &00;s__X'W'M'S&}0:O
&5X,W,M,S
qk<y\ 4000|10ˬ'Yf-00 9'1a@8'0 9NO_ZCS\0X/&94ǦcU=9&_O&_N9U
9`otouT8' &@R
'#'F&;>')X['4D]'6U,'P]'
' &Umb'qmbt&tt Zt U,' +;ƅB'
\A'ƋD&utt$_90`91CZ&9t&F0Dc ΦtD%F1ʮbD y$' &Fr1Dbħ\blClC Imt&\E;''=W]'L' &CF3CDD&mb&-[c 1Db7obc %%Fi^4F DDDF]'(' &F&bc4+LD&bC1D E_X'2 Y', U'& S' t@tP&% C&%R&t_$
0ʦD9)P 42\}_% `%_\%%C'&$%0E_%8"\%E	&dPm' m&F*E0=F2d90lEm& CO\4b%
"b9b9t''&$'b&'9x;-&t&
t8  &Z  9]tU+&&
t%e: &  ]&' '
&9oFHHHH140ɍi&$1a0Y&50ލ3&la01)'D0ʦa'lD2bAC9! ۦE&bp'0m&90A940E&fp'0b&5A4a4DVeDVDVjb&2g9E'^9'Xk'4l'0m',n'(9F?4;&_hhhh
t8  &Z  9]tU+&&
t%e: &  ]&' '
&9oFHHHH140ɍi&$1a0Y&50ލ3&la01)'D0ʦa'lD2bAC9! ۦE&bp'0m&90A940E&fp'0b&5A4a4DVeDVDVjb&2g9E'^9'Xk'4l'0m',n'(9F?4;&_hhhh
2b/Foˍ0BS& ۆ 4%#4%a$05o'0lm&5 @@0D0ut+mƌ@&fqƀ&\Ƃ&VƄb'S& %M"Gƈb%"llClCt'_94t5&  '\  焅'n' KiA椆=0 0Z&&CčB"pDDD111g`CngigiigggD:9b'[ 9 {J0$s
mm'C'40RA
)S2b  ($0$B
u 
t0940!`5G0
\'0
S #$04+8'P-($$   #0,h$j*']?0X0n2a0
 /ILLEGAL/hzhhhhhhhFhhhFi"i)iXhFie&Ɔ,   + ,0
b ++&0
Qn,-0 ,--UB< A aC0*h0P4
AP2a -$C0*0CS4A$2b ZD SCD0턆$0,PCR$C '$뗮C: ϦG&64DDDD,t5 0 0i04$UA2bOkk$  bii9EWWW FpP$9NE:`%
2b/Foˍ0BS& ۆ 4%#4%a$05o'0lm&5 @@0D0ut+mƌ@&fqƀ&\Ƃ&VƄb'S& %M"Gƈb%"llClCt'_94t5&  '\  焅'n' KiA椆=0 0Z&&CčB"pDDD111g`CngigiigggD:9b'[ 9 {J0$s
mm'C'40RA
)S2b  ($0$B
u 
t0940!`5G0
\'0
S #$04+8'P-($$   #0,h$j*']?0X0n2a0
 /ILLEGAL/hzhhhhhhhFhhhFi"i)iXhFie&Ɔ,   + ,0
b ++&0
Qn,-0 ,--UB< A aC0*h0P4
AP2a -$C0*0CS4A$2b ZD SCD0턆$0,PCR$C '$뗮C: ϦG&64DDDD,t5 0 0i04$UA2bOkk$  bii9EWWW FpP$9NE:`%
&V9C +'1 1H1n&V ' &1? 1> B1 A jp 1 A 1! 1" 'Q EN19j*j9jGjTj9j[jdijkjrij{jjicj0$
%"99Om*'/L1M'H10$4O'm*0<1'2a9N059_4I$lalaZ&I$lak4Z&50%H0 '9D X Y U S PC****A B CCDP4$$>0
=0AECD5pp&J*'
0tCD9! D%d0$0H!$ 40
&V9C +'1 1H1n&V ' &1? 1> B1 A jp 1 A 1! 1" 'Q EN19j*j9jGjTj9j[jdijkjrij{jjicj0$
%"99Om*'/L1M'H10$4O'm*0<1'2a9N059_4I$lalaZ&I$lak4Z&50%H0 '9D X Y U S PC****A B CCDP4$$>0
=0AECD5pp&J*'
0tCD9! D%d0$0H!$ 40
40[4&abDc'"c=1kc'"Ja Lb 0!2fo2d5]`HHII190'	'0 91 0\q趄')&+90O'0K	'0G&od90a`=_4~a8LHma'd$ed$lĦAd$Bd$Cd$Dd$Fd$d$N(Nm&'j&ma'LH5_4
PaƮLHma'h$Nma&l&h$h$Fh$Dh$CAh$h$h$ħma'5'*&
m ':_G$4xx&m DD4fD11椁"O &*45H*-.H*o-o.H*ikH*l&lHH$45 	*NH*N10':'/0'%% nDVmF*10<t'&090 0 0 m'0]@?'2m@'0cDg0WFm?'
0F=9CNJ*_'0Okk$	ii9NoįN004L0ޯJ`454C`L0Lj&9ħ9oe!FpmE+@p&;c0ɦC``&'le3'&le05e憮ů0#Hύ"9hlep& 0ɦC`@& CAFpp&NC0oďȌT&>%L L4DNCJ01D%\: 0C9N'"'!'+&'0!0 0b 0a.'&#ST'901N]'NmE'm*'-F&EWWWip0N"14 &0"F'0?X0Fn1!#%NDZ&l0ƯJ`04L45rsMsssq2rr4qrsr4C`e'0憮ůLNDN9m,&m'&CohN&lhqT؍ЦnخNmh&
0N(9H0 0IjѮN_4DDDD4&.'1a椧mb'j2d$0X090
쁦a(mb' a;545mb'턦c' &9&9&rN(le9$0 N2'3'0'0e0`
' 0@ 4'5`9k 2b9N44J5 Nx4P4+s5Pm0&Ɔm+4r59m&'N(LNLj&90P/'JN(NL탯Ll&(N''0K
40[4&abDc'"c=1kc'"Ja Lb 0!2fo2d5]`HHII190'	'0 91 0\q趄')&+90O'0K	'0G&od90a`=_4~a8LHma'd$ed$lĦAd$Bd$Cd$Dd$Fd$d$N(Nm&'j&ma'LH5_4
PaƮLHma'h$Nma&l&h$h$Fh$Dh$CAh$h$h$ħma'5'*&
m ':_G$4xx&m DD4fD11椁"O &*45H*-.H*o-o.H*ikH*l&lHH$45 	*NH*N10':'/0'%% nDVmF*10<t'&090 0 0 m'0]@?'2m@'0cDg0WFm?'
0F=9CNJ*_'0Okk$	ii9NoįN004L0ޯJ`454C`L0Lj&9ħ9oe!FpmE+@p&;c0ɦC``&'le3'&le05e憮ů0#Hύ"9hlep& 0ɦC`@& CAFpp&NC0oďȌT&>%L L4DNCJ01D%\: 0C9N'"'!'+&'0!0 0b 0a.'&#ST'901N]'NmE'm*'-F&EWWWip0N"14 &0"F'0?X0Fn1!#%NDZ&l0ƯJ`04L45rsMsssq2rr4qrsr4C`e'0憮ůLNDN9m,&m'&CohN&lhqT؍ЦnخNmh&
0N(9H0 0IjѮN_4DDDD4&.'1a椧mb'j2d$0X090
쁦a(mb' a;545mb'턦c' &9&9&rN(le9$0 N2'3'0'0e0`
' 0@ 4'5`9k 2b9N44J5 Nx4P4+s5Pm0&Ɔm+4r59m&'N(LNLj&90P/'JN(NL탯Ll&(N''0K
m0&>N((?4&Pl!GU"'U(D%U*N90mm0&lTs2m,&m'& N( '
'VN900 00 m0&DNĊlS90%9#A%Z#a%z#U99_bc%% $9b90j;$&0ͭ%9040vtd;m"''
'#$姀
&2b90
m0&>N((?4&Pl!GU"'U(D%U*N90mm0&lTs2m,&m'& N( '
'VN900 00 m0&DNĊlS90%9#A%Z#a%z#U99_bc%% $9b90j;$&0ͭ%9040vtd;m"''
'#$姀
&2b90
 o ͬ;'0&	 ft_ ooon%9"!4ocXIXIcXIal ab52cC$9;%/_# &m&릠$
&1?;9m&0m&9m& u(;
&	1?;Ɓ && 0 DDDD09#߭On#4400j&2c o⣄%l 4ma&me&
mf'
 s lea94m+&j')]f&o+W'JS''
&/0Ӎ"5m'1u140_50 9' 9; '1?;9`# 0%
 o ͬ;'0&	 ft_ ooon%9"!4ocXIXIcXIal ab52cC$9;%/_# &m&릠$
&1?;9m&0m&9m& u(;
&	1?;Ɓ && 0 DDDD09#߭On#4400j&2c o⣄%l 4ma&me&
mf'
 s lea94m+&j')]f&o+W'JS''
&/0Ӎ"5m'1u140_50 9' 9; '1?;9`# 0%
%%$99hcib1?&cc\9****ABXo$ ADCArADCBrADDArADDBrADDDrANDArANDBrANDCASL pASLAASLBASR pASRAASRBBCC BCS BEQ BvGE BGT BHI BHS BITArBITBrBLE BLO BLS BLT BMI BNE BPL BRA BRN BSR BVC BVS CLR pCLRACLRBCMPArCMPBrCMPDrCMPSrCMPUrCMPXrCMPYrCOM pCOMACOMBCWAIDp%AA DEC pDECADECBEORArEORBrEXG INwtC pINCAINCBJMP pJSR pLBCCLBCSLBEQLBGELBGTLBHILBHSLBLELBLOLBLSLBLTLBMILBNELBPLLBRALBRNLBSRLBVCLBVSLDA rLDB rLDD rLDS rLDU rLDX rLDY rLEAS@LEAU@LEAX@LEAY@LSL LSLALSLBLSR pLSRx8ALSRBMUL q&NEG pNEGANEGBNOP ORA rORB rORCCPSHSPSHUPULSPULUROL pROLAROLBROR rRORARORBRTI RTS SBCArSBCBrSEX STA pSTB pSTD pSTS pSTU pSTX pSTY pSUBArSUBBrSUBDrSWI SWI2SWI3SYNCTFR xTST pTSTATSTBd2/2`2r2
2
%%$99hcib1?&cc\9****ABXo$ ADCArADCBrADDArADDBrADDDrANDArANDBrANDCASL pASLAASLBASR pASRAASRBBCC BCS BEQ BvGE BGT BHI BHS BITArBITBrBLE BLO BLS BLT BMI BNE BPL BRA BRN BSR BVC BVS CLR pCLRACLRBCMPArCMPBrCMPDrCMPSrCMPUrCMPXrCMPYrCOM pCOMACOMBCWAIDp%AA DEC pDECADECBEORArEORBrEXG INwtC pINCAINCBJMP pJSR pLBCCLBCSLBEQLBGELBGTLBHILBHSLBLELBLOLBLSLBLTLBMILBNELBPLLBRALBRNLBSRLBVCLBVSLDA rLDB rLDD rLDS rLDU rLDX rLDY rLEAS@LEAU@LEAX@LEAY@LSL LSLALSLBLSR pLSRx8ALSRBMUL q&NEG pNEGANEGBNOP ORA rORB rORCCPSHSPSHUPULSPULUROL pROLAROLBROR rRORARORBRTI RTS SBCArSBCBrSEX STA pSTB pSTD pSTS pSTU pSTX pSTY pSUBArSUBBrSUBDrSWI SWI2SWI3SYNCTFR xTST pTSTATSTBd2/2`2r2
2
2o242:2Љ2P=U%2r'gM+EOKD3j   y9B: 5!0666666#6$6666666["p\"pYxZ"xk*'m*,l*'n*,v)u1y2z#cYye0asp5;&f1btq6<'d2s(/2`2r2
2
2o242:2Љ2P=U%2r'gM+EOKD3j   y9B: 5!0666666#6$6666666["p\"pYxZ"xk*'m*,l*'n*,v)u1y2z#cYye0asp5;&f1btq6<'d2s(/2`2r2
2
2o242:22p=u%2d;/;`;r;
;
2o242:22p=u%2d;/;`;r;
;
;o;4;:;zĉ;`=#e%; ( w #   R 7  h  -# ":4W "P("Pw"P2P"P"PR"Pz"7"P"Ph"P"P-2P>:TW*P*Ё"p("pw"p2p"p"pR"pz"7"p"ph"p"p-2p>:tW*p*+`(+`w+`;`+`t)+`R+`z+7+`+`h+`+`-;`>CdW{H3`3 ) x #   S 8  i  T V("P)"Px"P2P"P"PS"P{"8"P"Pi"P"PT*P|*V*X~*Ђ"p)"px"p2p"p"pS"p{"8"p"pi"p"pT*p|*V*x~*+`)+`x+`;`+`+`S+`{+8+`+`i+`+`T3`|3V3h~3|N,@D,FH,F?,F@,FK,FAu*,FP,FQ,FL,FJ,FB,FI,FC,FF,F?z*, ., X$ *;P.;PX3P3У*;p.;pX3p3*D`.D`X<`
;o;4;:;zĉ;`=#e%; ( w #   R 7  h  -# ":4W "P("Pw"P2P"P"PR"Pz"7"P"Ph"P"P-2P>:TW*P*Ё"p("pw"p2p"p"pR"pz"7"p"ph"p"p-2p>:tW*p*+`(+`w+`;`+`t)+`R+`z+7+`+`h+`+`-;`>CdW{H3`3 ) x #   S 8  i  T V("P)"Px"P2P"P"PS"P{"8"P"Pi"P"PT*P|*V*X~*Ђ"p)"px"p2p"p"pS"p{"8"p"pi"p"pT*p|*V*x~*+`)+`x+`;`+`+`S+`{+8+`+`i+`+`T3`|3V3h~3|N,@D,FH,F?,F@,FK,FAu*,FP,FQ,FL,FJ,FB,FI,FC,FF,F?z*, ., X$ *;P.;PX3P3У*;p.;pX3p3*D`.D`X<`
CC=uF A=w,uF B=uF DP=uF X=uB Y=uB S=uB U=uB N=&uF P=uBCCA B D~XPN &D X Y U S P SJMHZU T@R** =WHAT? IX= IY= F=ONOFF IN  OUT ??
CC=uF A=w,uF B=uF DP=uF X=uB Y=uB S=uB U=uB N=&uF P=uBCCA B D~XPN &D X Y U S P SJMHZU T@R** =WHAT? IX= IY= F=ONOFF IN  OUT ??
STATES="STOP" AT IC TIMEOUT AT ILLEGAL OPCODE AT ILLEGAL POST-BYTE AT I TRAP x-AT SYNTAX ERROREP TRAP AT WP TRAP AT EX-MP TRAP AT REF-MP TRAP AT SP TRAP AT TABLE OVERFLOWWRITEEXECUTEMEMORYSIMULATE PROTECTIONNC TRAP AT RTS IN LEVEL 0 AT RETURN=NEST LEVEL IS 0XFR TRAP AT OVERFLOWMON XFR TO OP HALT AT  -. Uz @-%q|m&( &a&G'Y$BP_Y&_Y' @'?~}&|?~	; o_9D.'0Z&.'0Z&Ď9'-&45&9z'0@& ކ9DELETE "" ? ARE YOU SURE? I THOUGHT SO!EXTENSION REQUIREDFILE IS IN PRINT QUEUE| $}'@&$ G.'	!%9#}'~@*# '@'%~r@&Tà&OĪBo_9ҽDO9
W$R$& !~y}.'!%t9"'$ ڽù%d’l&@&Xà&SĊ_9Uĕ_9Dĝ_93ĥ_U9$~($~@?~
'ˆ9,~Û@&|$à'~Ñ}D&~Ú0}D+UV%
"#~0D}&)A=='0=AM'&0A 9dbDê.`OLčMQCECSC;U91/Y'%@WƀD@C~°'~y9 ~@~& 0Z&9o0Z&.'~-|'%
STATES="STOP" AT IC TIMEOUT AT ILLEGAL OPCODE AT ILLEGAL POST-BYTE AT I TRAP x-AT SYNTAX ERROREP TRAP AT WP TRAP AT EX-MP TRAP AT REF-MP TRAP AT SP TRAP AT TABLE OVERFLOWWRITEEXECUTEMEMORYSIMULATE PROTECTIONNC TRAP AT RTS IN LEVEL 0 AT RETURN=NEST LEVEL IS 0XFR TRAP AT OVERFLOWMON XFR TO OP HALT AT  -. Uz @-%q|m&( &a&G'Y$BP_Y&_Y' @'?~}&|?~	; o_9D.'0Z&.'0Z&Ď9'-&45&9z'0@& ކ9DELETE "" ? ARE YOU SURE? I THOUGHT SO!EXTENSION REQUIREDFILE IS IN PRINT QUEUE| $}'@&$ G.'	!%9#}'~@*# '@'%~r@&Tà&OĪBo_9ҽDO9
W$R$& !~y}.'!%t9"'$ ڽù%d’l&@&Xà&SĊ_9Uĕ_9Dĝ_93ĥ_U9$~($~@?~
'ˆ9,~Û@&|$à'~Ñ}D&~Ú0}D+UV%
"#~0D}&)A=='0=AM'&0A 9dbDê.`OLčMQCECSC;U91/Y'%@WƀD@C~°'~y9 ~@~& 0Z&9o0Z&.'~-|'%
0Z*99'    0Z&9_9& ~      "Û_~9+J'000  ƽ<0~<-~FILE#   NAME   TYPE  BEGIN   END   SIZE    DATE     PRT    FILES=SECTORS=LARGEST=FREE=DIRECTORY OF DRIVE NUMBER     CREATED: DI,SK:   #JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC* THIS IS THE STANDARD 6800 FLEX LABEL VALUE
* FILE FOR THE 6800/09 DISASSEMBLER, DYNAMITE.

*FLEX SYSTEM RAM VARIABLES

LINBUF EQU $A080
TTYBS EQU $AC00
TTYDEL EQU $AC01
TTYEOL EQU $AC02
TTYDP EQU $AC03
TTYWD EQU $AC04
TTYNL EQU $AC05
TTYTB EQU $AC06
TTYBE EQU $AC07
TTYEJ EQU $AC08
TTYPS EQU $AC09
TTYESC EQU $AC0A
SYSDRV EQU $AC0B
WRKDRV EQU $AC0C
SYSMTH EQU $AC0E
SYSDAY EQU $AC0F
SYSYR EQU $AC10
LSTTRM EQU $AC11
UCMDTB EQU $AC12
LINPTR EQU $AC14
ESCRET EQU $AC16
CURCHR EQU $AC18
PRVCHR EQU $AC19
CURLIN EQU $AC1A
LDROFF EQU $AC1B
XFERFG EQU $AC1D
XFERAD EQU $AC1E
ERRTYP EQU $AC20
SPECIO EQU $AC21
OUTSW EQU $AC22
INSW EQU $AC23
OUTFIL EQU $AC24
INFIL EQU $AC26
CMDFLG EQU $AC28
CURCLM EQU $AC29
MEMEND EQU $AC2B
ERRVEC EQU $AC2D
FILEKO EQU $AC2F
CPUTYP EQU $AC33
PRTADR EQU $AC35
PRTLNG EQU $AC37
PRTDVC EQU $AC39
PINIT EQU $ACC0
PCHK EQU $ACD8
POUT EQU $ACE4

*FLEX USER-CALLABLE ROUTINES

COLDS EQU $AD00
WARMS EQU $AD03
RENTER EQU $AD06
INCH EQU $AD09
INCH2 EQU $AD0C
OUTCH EQU $AD0F
OUTCH2 EQU $AD12
GETCHR EQU $AD15
PUTCHR EQU $AD18
INBUFF EQU $AD1B
PSTRNG EQU $AD1E
CLASS EQU $AD21
PCRLF EQU $AD24
NXTCH EQU $AD27
RSTRIO EQU $AD2A
GETFIL EQU $AD2D
LOAD EQU $AD30
SETEXT EQU $AD33
ADDBX EQU $AD36
OUTDEC EQU $AD39
OUTHEX EQU $AD3C
RPTERR EQU $AD3F
GETHEX EQU $AD42
OUTADR EQU $AD45
INDEC EQU $AD48
DOCMND EQU $AD4B
STAT EQU $AD4E

*FMS ADDRESSES

SYSFCB EQU $A840
FMSINT EQU $B400
FMSCLS EQU $B403
FMS EQU $B406
BASFCB EQU $B409
CURFCB EQU $B40B
VRFYFG EQU $B435

* END OF FLEX2 EQUATES
* THIS IS THE STANDARD 6809 FLEX LABEL VALUE
* FILE FOR THE 6800/09 DISASSEMBLER, DYNAMITE.

*FLEX SYSTEM RAM VARIABLES

LINBUF EQU $C080
TTYBS EQU $CC00
TTYDEL EQU $CC01
TTYEOL EQU $CC02
TTYDP EQU $CC03
TTYWD EQU $CC04
TTYNL EQU $CC05
TTYTB EQU $CC06
TTYBE EQU $CC07
TTYEJ EQU $CC08
TTYPS EQU $CC09
TTYESC EQU $CC0A
SYSDRV EQU $CC0B
WRKDRV EQU $CC0C
SYSMTH EQU $CC0E
SYSDAY EQU $CC0F
SYSYR EQU $CC10
LSTTRM EQU $CC11
UCMDTB EQU $CC12
LINPTR EQU $CC14
ESCRET EQU $CC16
CURCHR EQU $CC18
PRVCHR EQU $CC19
CURLIN EQU $CC1A
LDROFF EQU $CC1B
XFERFG EQU $CC1D
XFERAD EQU $CC1E
ERRTYP EQU $CC20
SPECIO EQU $CC21
OUTSW EQU $CC22
INSW EQU $CC23
OUTFIL EQU $CC24
INFIL EQU $CC26
CMDFLG EQU $CC28
CURCLM EQU $CC29
MEMEND EQU $CC2B
ERRVEC EQU $CC2D
FILEKO EQU $CC2F
CPUTYP EQU $CC33
PRTADR EQU $CC35
PRTLNG EQU $CC37
PRTDVC EQU $CC39
PINIT EQU $CCC0
PCHK EQU $CCD8
POUT EQU $CCE4

*FLEX USER-CALLABLE ROUTINES

COLDS EQU $CD00
WARMS EQU $CD03
RENTER EQU $CD06
INCH EQU $CD09
INCH2 EQU $CD0C
OUTCH EQU $CD0F
OUTCH2 EQU $CD12
GETCHR EQU $CD15
PUTCHR EQU $CD18
INBUFF EQU $CD1B
PSTRNG EQU $CD1E
CLASS EQU $CD21
PCRLF EQU $CD24
NXTCH EQU $CD27
RSTRIO EQU $CD2A
GETFIL EQU $CD2D
LOAD EQU $CD30
SETEXT EQU $CD33
ADDBX EQU $CD36
OUTDEC EQU $CD39
OUTHEX EQU $CD3C
RPTERR EQU $CD3F
GETHEX EQU $CD42
OUTADR EQU $CD45
INDEC EQU $CD48
DOCMND EQU $CD4B
STAT EQU $CD4E

*FMS ADDRESSES

SYSFCB EQU $C840
FMSINT EQU $D400
FMSCLS EQU $D403
FMS EQU $D406
BASFCB EQU $D409
CURFCB EQU $D40B
VRFYFG EQU $D435

* END OF FLEX9 EQUATES
 錄x004]* <5O_94& &q5'| ~0&9Drive D = H = F  W  S + DRIVE NUMBER:  INPUT STARTING TTSS:  2BBލU$^CA$Ȁ2a4.Z&0"_Z&$5J4&ն& 5<0 ~@   &9?~ 6.:
0Z*99'    0Z&9_9& ~      "Û_~9+J'000  ƽ<0~<-~FILE#   NAME   TYPE  BEGIN   END   SIZE    DATE     PRT    FILES=SECTORS=LARGEST=FREE=DIRECTORY OF DRIVE NUMBER     CREATED: DI,SK:   #JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC* THIS IS THE STANDARD 6800 FLEX LABEL VALUE
* FILE FOR THE 6800/09 DISASSEMBLER, DYNAMITE.

*FLEX SYSTEM RAM VARIABLES

LINBUF EQU $A080
TTYBS EQU $AC00
TTYDEL EQU $AC01
TTYEOL EQU $AC02
TTYDP EQU $AC03
TTYWD EQU $AC04
TTYNL EQU $AC05
TTYTB EQU $AC06
TTYBE EQU $AC07
TTYEJ EQU $AC08
TTYPS EQU $AC09
TTYESC EQU $AC0A
SYSDRV EQU $AC0B
WRKDRV EQU $AC0C
SYSMTH EQU $AC0E
SYSDAY EQU $AC0F
SYSYR EQU $AC10
LSTTRM EQU $AC11
UCMDTB EQU $AC12
LINPTR EQU $AC14
ESCRET EQU $AC16
CURCHR EQU $AC18
PRVCHR EQU $AC19
CURLIN EQU $AC1A
LDROFF EQU $AC1B
XFERFG EQU $AC1D
XFERAD EQU $AC1E
ERRTYP EQU $AC20
SPECIO EQU $AC21
OUTSW EQU $AC22
INSW EQU $AC23
OUTFIL EQU $AC24
INFIL EQU $AC26
CMDFLG EQU $AC28
CURCLM EQU $AC29
MEMEND EQU $AC2B
ERRVEC EQU $AC2D
FILEKO EQU $AC2F
CPUTYP EQU $AC33
PRTADR EQU $AC35
PRTLNG EQU $AC37
PRTDVC EQU $AC39
PINIT EQU $ACC0
PCHK EQU $ACD8
POUT EQU $ACE4

*FLEX USER-CALLABLE ROUTINES

COLDS EQU $AD00
WARMS EQU $AD03
RENTER EQU $AD06
INCH EQU $AD09
INCH2 EQU $AD0C
OUTCH EQU $AD0F
OUTCH2 EQU $AD12
GETCHR EQU $AD15
PUTCHR EQU $AD18
INBUFF EQU $AD1B
PSTRNG EQU $AD1E
CLASS EQU $AD21
PCRLF EQU $AD24
NXTCH EQU $AD27
RSTRIO EQU $AD2A
GETFIL EQU $AD2D
LOAD EQU $AD30
SETEXT EQU $AD33
ADDBX EQU $AD36
OUTDEC EQU $AD39
OUTHEX EQU $AD3C
RPTERR EQU $AD3F
GETHEX EQU $AD42
OUTADR EQU $AD45
INDEC EQU $AD48
DOCMND EQU $AD4B
STAT EQU $AD4E

*FMS ADDRESSES

SYSFCB EQU $A840
FMSINT EQU $B400
FMSCLS EQU $B403
FMS EQU $B406
BASFCB EQU $B409
CURFCB EQU $B40B
VRFYFG EQU $B435

* END OF FLEX2 EQUATES
* THIS IS THE STANDARD 6809 FLEX LABEL VALUE
* FILE FOR THE 6800/09 DISASSEMBLER, DYNAMITE.

*FLEX SYSTEM RAM VARIABLES

LINBUF EQU $C080
TTYBS EQU $CC00
TTYDEL EQU $CC01
TTYEOL EQU $CC02
TTYDP EQU $CC03
TTYWD EQU $CC04
TTYNL EQU $CC05
TTYTB EQU $CC06
TTYBE EQU $CC07
TTYEJ EQU $CC08
TTYPS EQU $CC09
TTYESC EQU $CC0A
SYSDRV EQU $CC0B
WRKDRV EQU $CC0C
SYSMTH EQU $CC0E
SYSDAY EQU $CC0F
SYSYR EQU $CC10
LSTTRM EQU $CC11
UCMDTB EQU $CC12
LINPTR EQU $CC14
ESCRET EQU $CC16
CURCHR EQU $CC18
PRVCHR EQU $CC19
CURLIN EQU $CC1A
LDROFF EQU $CC1B
XFERFG EQU $CC1D
XFERAD EQU $CC1E
ERRTYP EQU $CC20
SPECIO EQU $CC21
OUTSW EQU $CC22
INSW EQU $CC23
OUTFIL EQU $CC24
INFIL EQU $CC26
CMDFLG EQU $CC28
CURCLM EQU $CC29
MEMEND EQU $CC2B
ERRVEC EQU $CC2D
FILEKO EQU $CC2F
CPUTYP EQU $CC33
PRTADR EQU $CC35
PRTLNG EQU $CC37
PRTDVC EQU $CC39
PINIT EQU $CCC0
PCHK EQU $CCD8
POUT EQU $CCE4

*FLEX USER-CALLABLE ROUTINES

COLDS EQU $CD00
WARMS EQU $CD03
RENTER EQU $CD06
INCH EQU $CD09
INCH2 EQU $CD0C
OUTCH EQU $CD0F
OUTCH2 EQU $CD12
GETCHR EQU $CD15
PUTCHR EQU $CD18
INBUFF EQU $CD1B
PSTRNG EQU $CD1E
CLASS EQU $CD21
PCRLF EQU $CD24
NXTCH EQU $CD27
RSTRIO EQU $CD2A
GETFIL EQU $CD2D
LOAD EQU $CD30
SETEXT EQU $CD33
ADDBX EQU $CD36
OUTDEC EQU $CD39
OUTHEX EQU $CD3C
RPTERR EQU $CD3F
GETHEX EQU $CD42
OUTADR EQU $CD45
INDEC EQU $CD48
DOCMND EQU $CD4B
STAT EQU $CD4E

*FMS ADDRESSES

SYSFCB EQU $C840
FMSINT EQU $D400
FMSCLS EQU $D403
FMS EQU $D406
BASFCB EQU $D409
CURFCB EQU $D40B
VRFYFG EQU $D435

* END OF FLEX9 EQUATES
 錄x004]* <5O_94& &q5'| ~0&9Drive D = H = F  W  S + DRIVE NUMBER:  INPUT STARTING TTSS:  2BBލU$^CA$Ȁ2a4.Z&0"_Z&$5J4&ն& 5<0 ~@   &9?~ 6.:
Copyright 1982 by Philip Lucido                 6+2aoJ&3!3$	
<
}~C6@-%;3!0"%        -%" D0Z&o03'+&=Ľ+&0$ƽ-%3l-
'&909Syntax error in command linem^'NmW'dm_'9)0+90(1!3 
'Z&  Z&9Title? 0pA1!OCE90"'R'P&9Q%45 
Copyright 1982 by Philip Lucido                 6+2aoJ&3!3$	
<
}~C6@-%;3!0"%        -%" D0Z&o03'+&=Ľ+&0$ƽ-%3l-
'&909Syntax error in command linem^'NmW'dm_'9)0+90(1!3 
'Z&  Z&9Title? 0pA1!OCE90"'R'P&9Q%45 
Data segment type: Ascii, Byte, Label, Word, Reset, or Proceed? 0'0Z&99ABLWC0
=)+9
Data segment type: Ascii, Byte, Label, Word, Reset, or Proceed? 0'0Z&99ABLWC0
=)+9
What are the bounds of the segment to disassemblLe?0d40'\5$    0* 9Starting address? Ending address? 
What are the bounds of the segment to disassemblLe?0d40'\5$    0* 9Starting address? Ending address? 
Start > End, Reenter both addresses4B%]'2b905 Illegal entry, re-enterm-'o0"-%6's
'*'4!$'5+'QS'ReN
'0+0"PmD'mJ'.EFHo-9Command syntax error 0 ν-%/34 0%9"H'KM K M;'KăK&9ѽ'%N2}B%]'mJ&0H mJ'xH0amD'
EFHM5EFDJJ-'/'#FE%"0H9[B%)JH LH%]''F0H90Illegal segment address specification ',&'~!0 .._&
'        $\ 9&9'$9A%'0.'0Z&0@
Start > End, Reenter both addresses4B%]'2b905 Illegal entry, re-enterm-'o0"-%6's
'*'4!$'5+'QS'ReN
'0+0"PmD'mJ'.EFHo-9Command syntax error 0 ν-%/34 0%9"H'KM K M;'KăK&9ѽ'%N2}B%]'mJ&0H mJ'xH0amD'
EFHM5EFDJJ-'/'#FE%"0H9[B%)JH LH%]''F0H90Illegal segment address specification ',&'~!0 .._&
'        $\ 9&9'$9A%'0.'0Z&0@
'm-+ ρ3"06 ABDEFGLNPSZ\Illegal option switch42a%%
"  bT$4CbA$    %0 0d"l&jm&db&j':=E400E1%ZC0C5$0 02b!b'ob555#'!90 2a09m -+2e90>Word or Label segment has odd lengthData segments overlapTables out of memory ',&'9mZ&$0$1Z&m'06
'm-+ ρ3"06 ABDEFGLNPSZ\Illegal option switch42a%%
"  bT$4CbA$    %0 0d"l&jm&db&j':=E400E1%ZC0C5$0 02b!b'ob555#'!90 2a09m -+2e90>Word or Label segment has odd lengthData segments overlapTables out of memory ',&'9mZ&$0$1Z&m'06
9DISLBL09TXT00|%     % 0j9g%X09_'T%     $\  &>$\ 03'&)Z&$'H 'B%]'7
' '9EQU 0%9#_'A%Z#a%z"99E7C$%'40 4E401%E5$ 5019	Z&9&9EGC$ P1( 91ƀZ&l00K191ƀZ&o0019"@qj;mX&?0'2&T0)l_N'Y&08$ ǽ~9Output file exists - Del
9DISLBL09TXT00|%     % 0j9g%X09_'T%     $\  &>$\ 03'&)Z&$'H 'B%]'7
' '9EQU 0%9#_'A%Z#a%z"99E7C$%'40 4E401%E5$ 5019	Z&9&9EGC$ P1( 91ƀZ&l00K191ƀZ&o0019"@qj;mX&?0'2&T0)l_N'Y&08$ ǽ~9Output file exists - Del
ete it (Y/N)? "4@&05  0@&0- 0r&0& 0&0'J5? 5InputOutputLabelCommand file error"4   0č5m0'ҽ~m-*00._99Command file line #14KoP&0nI&&  /&ŀ&F&,'#"o o%m&''@N9M0Ko$"H0n      ?MMo<ŀ&o"joo# %& 0O oo oour"&ꮤ@ _O!@OL    &       '!@/m&%M+'8o'lH0n
ete it (Y/N)? "4@&05  0@&0- 0r&0& 0&0'J5? 5InputOutputLabelCommand file error"4   0č5m0'ҽ~m-*00._99Command file line #14KoP&0nI&&  /&ŀ&F&,'#"o o%m&''@N9M0Ko$"H0n      ?MMo<ŀ&o"joo# %& 0O oo oour"&ꮤ@ _O!@OL    &       '!@/m&%M+'8o'lH0n
%% - Q_ 6@m&m'!`&"@"q!`& !`&&1!!K00@>K0O9oo}&pm&F&ln&a4 01& &#lU&H4 071|č	'Z&5  .Z5  
0 0)::DDDD_H&@]9'2b9'04jZ' 5 lm$'m%'@mP&L'&l%&&'( ց&MNPK0@ĬM'l$ NjPn0l>"'4"#5" _K0K1m'1!)%+#ʀ m3&]9K0CA$!%1% ;94641'b%#!&b 0 1b큯1G"C54'2'001Z&
01Z&O0K154"9%""540#4G40G1%I0I5$ 2b5"54Ib4cG1=1DV15"'%b  2d5l3GE$$41$%"#1$ 
0 خ419@j;oP9"Ko"%<@&,0n
 F 09Qo@Tj<&92boo&&# +&ŀ&H&+'#"og        9 o% 
9o$M0K     J"#H0nrzzo*ŀ&o"m'=M       H~a0B'4 C+0$.'Z&.'Z&9* DISASSEMBLY BY DYNAMITE OF {9oE1=G%{"`&a"E'0 mP&+* STANDARD PRE-NAMED LABEL EQUATESl
%% - Q_ 6@m&m'!`&"@"q!`& !`&&1!!K00@>K0O9oo}&pm&F&ln&a4 01& &#lU&H4 071|č	'Z&5  .Z5  
0 0)::DDDD_H&@]9'2b9'04jZ' 5 lm$'m%'@mP&L'&l%&&'( ց&MNPK0@ĬM'l$ NjPn0l>"'4"#5" _K0K1m'1!)%+#ʀ m3&]9K0CA$!%1% ;94641'b%#!&b 0 1b큯1G"C54'2'001Z&
01Z&O0K154"9%""540#4G40G1%I0I5$ 2b5"54Ib4cG1=1DV15"'%b  2d5l3GE$$41$%"#1$ 
0 خ419@j;oP9"Ko"%<@&,0n
 F 09Qo@Tj<&92boo&&# +&ŀ&H&+'#"og        9 o% 
9o$M0K     J"#H0nrzzo*ŀ&o"m'=M       H~a0B'4 C+0$.'Z&.'Z&9* DISASSEMBLY BY DYNAMITE OF {9oE1=G%{"`&a"E'0 mP&+* STANDARD PRE-NAMED LABEL EQUATESl


4 'lZ&
4 'lZ&
}
}
ENEQU 
ENEQU 
B5
B5
d~'R9ooo1Om'_m&G* ASCII CODE EQUATES%l
d~'R9ooo1Om'_m&G* ASCII CODE EQUATES%l
K
K
.aO@0Jb=0 '
.aO@0Jb=0 '
Z&
Z&
      
      
EQU  ˦a
EQU  ˦a
D
D
lblab %"a m'2c9NULSOHSTXETXEOTENQACKBELBS HT LF VT FF CR SO SI DLEDC1DC2DC3DC4NAKSYNETBCANEM SUBESCFS GS RS US DELoE1=G%S"@&A"m&T* EXTERNAL LABEL EQUATES/l      U      8줍L       (   EQU       Y
lblab %"a m'2c9NULSOHSTXETXEOTENQACKBELBS HT LF VT FF CR SO SI DLEDC1DC2DC3DC4NAKSYNETBCANEM SUBESCFS GS RS US DELoE1=G%S"@&A"m&T* EXTERNAL LABEL EQUATES/l      U      8줍L       (   EQU       Y
 '9     (            94   c'         c  540g   5zm&<	!OIm!&	m&>     !+#      p!
 '9     (            94   c'         c  540g   5zm&<	!OIm!&	m&>     !+#      p!
%r0 _jm'O   7,XQM+'GyHHHGGGQ8o'lH0n%:Qf}  ! E@"m&(O_+O_++m&0,-0,--`0B A 4m&XXXWWW&K<5fwf[tq"4&>5B"Q@5D !`&&BU<"K,PCR
!`&#"4$&>" m'Ԧ!`&"]KF!K0M'0:4d$('`' 
'U SJm'
%r0 _jm'O   7,XQM+'GyHHHGGGQ8o'lH0n%:Qf}  ! E@"m&(O_+O_++m&0,-0,--`0B A 4m&XXXWWW&K<5fwf[tq"4&>5B"Q@5D !`&&BU<"K,PCR
!`&#"4$&>" m'Ԧ!`&"]KF!K0M'0:4d$('`' 
'U SJm'
,A0Z&2aECCABDPXYPCNMDDDD$"" %""40*H0覀',0X0Ц'DXYUSPCABCCDP#'!A!2oeoD&m&e&MFCC Aoaobįc $mb&/,la1fle %$"'='c$Lmb&        "lalbla C j0L=0 '.laZ& $M'"lalam&'la 4
,A0Z&2aECCABDPXYPCNMDDDD$"" %""40*H0覀',0X0Ц'DXYUSPCABCCDP#'!A!2oeoD&m&e&MFCC Aoaobįc $mb&/,la1fle %$"'='c$Lmb&        "lalbla C j0L=0 '.laZ& $M'"lalam&'la 4
{$,1dlcc% mc'       1a'2l,2rob"&lboeoao &d&]e&4SFDB 0c
{$,1dlcc% mc'       1a'2l,2rob"&lboeoao &d&]e&4SFDB 0c
$7,1f1emb& AK%
$7,1f1emb& AK%
"&la e% cme'71c7ma'(KOFEQU :;*-1ZV'P2nj2}m\&!QaoUF0 {0#" aQ"m[&m\&m'
"&la e% cme'71c7ma'(KOFEQU :;*-1ZV'P2nj2}m\&!QaoUF0 {0#" aQ"m[&m\&m'
6 2c9405b#4H#%'Z&mV'P0P40b5Z&cb9Z'=O1!O
%-4OkEQU _`*-O5zZ&9
6 2c9405b#4H#%'Z&mV'P0P40b5Z&cb9Z'=O1!O
%-4OkEQU _`*-O5zZ&9
v)ORG MX9)m&''lUENDm&''q9
v)ORG MX9)m&''lUENDm&''q9
9460
9460
9O1Z'3m'Z'&0
9O1Z'3m'Z'&0
uZ'&|Z'mV'0       K1IZ&54=00 '!Z&'0H0'5ABDXYUSCCP4[ 4]m'5k,4!`DDDDD0 05XDYUSmY'*%940 $OCA$!%1% <' 542O%"'546JO%"&"Oo754EC$'%0  '5Z& L540 40 40ǍU5mV'0m]'0Q9 %-%.9 94m]'0nQ??W540XQR Z&0S-Z&oU5$45$4DDDD   5 r$4@v54 4O2{doce*       M-CSa06oa+l a&mc&
uZ'&|Z'mV'0       K1IZ&54=00 '!Z&'0H0'5ABDXYUSCCP4[ 4]m'5k,4!`DDDDD0 05XDYUSmY'*%940 $OCA$!%1% <' 542O%"'546JO%"&"Oo754EC$'%0  '5Z& L540 40 40ǍU5mV'0m]'0Q9 %-%.9 94m]'0nQ??W540XQR Z&0S-Z&oU5$45$4DDDD   5 r$4@v54 4O2{doce*       M-CSa06oa+l a&mc&
md'
md'
  c0,0&Ԧb0 2e5'd
  c0,0&Ԧb0 2e5'd
4c' c54QQmU'SS594m\&%
m^'mC&0a
' $jC50e0"0_2~oa_09-a_09-a_090-P0A908;䑧C2b9
4c' c54QQmU'SS594m\&%
m^'mC&0a
' $jC50e0"0_2~oa_09-a_09-a_090-P0A908;䑧C2b9
     6809/6800 DISASSEMBLER   PAGE
     6809/6800 DISASSEMBLER   PAGE
' 946mX&
10뺦
&5@mX&09T'%-, 9!(7FH)ss18     
' 946mX&
10뺦
&5@mX&09T'%-, 9!(7FH)ss18     

$4$D$d$T*g+g*W+W/.&4'%-, 9'%-, 9'%-, 9!'%-, 9!303)#)9#9303!#2)1"#121303$#2)4"#424303"#2)2"#2 2230)#)#)#Y30!#2)#!2!#Q2Q30$#2)#$2$#T2T30"#2)#"2"#R2RG=A>@D:IJEC;B

$4$D$d$T*g+g*W+W/.&4'%-, 9'%-, 9'%-, 9!'%-, 9!303)#)9#9303!#2)1"#121303$#2)4"#424303"#2)2"#2 2230)#)#)#Y30!#2)#!2!#Q2Q30$#2)#$2$#T2T30"#2)#"2"#R2RG=A>@D:IJEC;B

]R`++Q`^**/._4'%-, 9d'%-, 9'%-, 9!'%-, 9!30S"TP#i30SYTP#a2a30SYTP"#d2d3 (0SYTP"#b2b30ST#930SYT#12130SYT#42430SYT#222ABX ADC #ADD AND ASL ASR BEQ BGE BGT BHI  BCC BIT BLE BCS BLS BLT BMI BNE BPL BRA BRN BSR BVC BVS CLR CMP COM CWAIDAA DEC EOR EXG INC JMP JSR LD  LEA LSR MUL NEG NOP OR  PSH PUL ROL ROR RTI RTS SBC SEX ST  SUB SWI SWI2SWI3SYNCTFR TST LBEQ!LBGELBGTLBHILBCC$LBLELBCSLBLSLBLTLBMILBNELBPLLBRALBRNLBSRLBVCLBVSABA CBA CLC CLI CLV CPX DE  IN  LDA ORA SBA SEC SEI SEV STA TA  TBA TPA TSX TXS WAI !"#$%&'()*+,-./??[ .$'
''\' '
'ٱ'ҁ@%_"@ ȁn'4\5 ' $ k6809 TEXT EDITING SYSTEM, V1.01

]R`++Q`^**/._4'%-, 9d'%-, 9'%-, 9!'%-, 9!30S"TP#i30SYTP#a2a30SYTP"#d2d3 (0SYTP"#b2b30ST#930SYT#12130SYT#42430SYT#222ABX ADC #ADD AND ASL ASR BEQ BGE BGT BHI  BCC BIT BLE BCS BLS BLT BMI BNE BPL BRA BRN BSR BVC BVS CLR CMP COM CWAIDAA DEC EOR EXG INC JMP JSR LD  LEA LSR MUL NEG NOP OR  PSH PUL ROL ROR RTI RTS SBC SEX ST  SUB SWI SWI2SWI3SYNCTFR TST LBEQ!LBGELBGTLBHILBCC$LBLELBCSLBLSLBLTLBMILBNELBPLLBRALBRNLBSRLBVCLBVSABA CBA CLC CLI CLV CPX DE  IN  LDA ORA SBA SEC SEI SEV STA TA  TBA TPA TSX TXS WAI !"#$%&'()*+,-./??[ .$'
''\' '
'ٱ'ҁ@%_"@ ȁn'4\5 ' $ k6809 TEXT EDITING SYSTEM, V1.01
COPYRIGHT, 1979
COPYRIGHT, 1979
TECHNICAL SYSTEMS CONSULTANTS, INC.
TECHNICAL SYSTEMS CONSULTANTS, INC.
ALL RIGHTS RESERVEDn~~~#ABORTAPPENDABOTTOM(B(CCHANGECCCHANGECOPYCOCDELETE
\D
\EXPAND,EXP,FLUSHFIND
ALL RIGHTS RESERVEDn~~~#ABORTAPPENDABOTTOM(B(CCHANGECCCHANGECOPYCOCDELETE
\D
\EXPAND,EXP,FLUSHFIND
F
F
GAPHEADERUHUINSERTILOGMOVEMONEW&NEXT
GAPHEADERUHUINSERTILOGMOVEMONEW&NEXT
NUMBERSNUN
NUMBERSNUN
OVERLAYOPRINT
OVERLAYOPRINT
P
P
READ/RENUMBER       REN   REPLACE
YR
YSAVEYSETSTOPSTABTOP9T9VERIFYVWRITEkWkXAZONENZNON7OFF:
<TABFILLEOLLINODCCNEW FILE?NO SUCH LINESYNTAX ERRORNOT FOUND...ZONES OK?TARGET NOT REACHED!
READ/RENUMBER       REN   REPLACE
YR
YSAVEYSETSTOPSTABTOP9T9VERIFYVWRITEkWkXAZONENZNON7OFF:
<TABFILLEOLLINODCCNEW FILE?NO SUCH LINESYNTAX ERRORNOT FOUND...ZONES OK?TARGET NOT REACHED!
YOU SURE? NO LINES DELETEDBOTTOM OF FILE REACHEDSOURCE OVERLAPLS DESTINATIONSOME LINES RENUMBEREDNOT ENOUGH ROOM OVERLAY WARNING! LOW DISK SPACE!DELETE BACKUP FILE (Y-N)? ILLEGAL FILE NAMECHANGE? +2C00EG0JALTTT4%6F# 0O1?&0_'1?&! #+2CE/ooDL/C0_'O1?&L"'o"&J0M@9D' mD&'
'* -0ADo-/OqhCAA=&
YOU SURE? NO LINES DELETEDBOTTOM OF FILE REACHEDSOURCE OVERLAPLS DESTINATIONSOME LINES RENUMBEREDNOT ENOUGH ROOM OVERLAY WARNING! LOW DISK SPACE!DELETE BACKUP FILE (Y-N)? ILLEGAL FILE NAMECHANGE? +2C00EG0JALTTT4%6F# 0O1?&0_'1?&! #+2CE/ooDL/C0_'O1?&L"'o"&J0M@9D' mD&'
'* -0ADo-/OqhCAA=&
0A0 -a&0 "L0*14 &o&'o &&OwxnAm''a% 'm&0m' ۯU1?A1d09'8<%&. 2%& &0Z+
' ׆.2 Ά=)9 #9DDDD09C/, AAL!&0A 0P8n9_9SA0A9ol&ll29ol2\O
'"'"'m{&ml&24*5#ol9llQ' ɮ20# '1?&29~$'B 984 '+0j&  ա '
"
&l9OD90 '0901)4  Ĭ&ء&0j9o{&!"%+"l{I]J^ ]^9I&J9I&J9]I^J9
'!9n'*KK%9_JJII91IZ*91IZ*9h+G&x 	'0G'9E'E'

&Z*0 ]'lw94
0&059A_/#9"\ @#Z#a%z"9mw&mx	9̙JJIII&J9OIJK9Y1I'.' >0h!iZ&!! g0'O0h"Z&ī""jg&0h'AY91_0O'1'\ 0Q'0A91IE_G&lx\9"&\&m}&me&_9me&0 &0 n
' 9ρ
0A0 -a&0 "L0*14 &o&'o &&OwxnAm''a% 'm&0m' ۯU1?A1d09'8<%&. 2%& &0Z+
' ׆.2 Ά=)9 #9DDDD09C/, AAL!&0A 0P8n9_9SA0A9ol&ll29ol2\O
'"'"'m{&ml&24*5#ol9llQ' ɮ20# '1?&29~$'B 984 '+0j&  ա '
"
&l9OD90 '0901)4  Ĭ&ء&0j9o{&!"%+"l{I]J^ ]^9I&J9I&J9]I^J9
'!9n'*KK%9_JJII91IZ*91IZ*9h+G&x 	'0G'9E'E'

&Z*0 ]'lw94
0&059A_/#9"\ @#Z#a%z"9mw&mx	9̙JJIII&J9OIJK9Y1I'.' >0h!iZ&!! g0'O0h"Z&ī""jg&0h'AY91_0O'1'\ 0Q'0A91IE_G&lx\9"&\&m}&me&_9me&0 &0 n
' 9ρ
='
='
lq#C9'' N9oh#%'olh&<0ALIJK&CI&
lq#C9'' N9oh#%'olh&<0ALIJK&CI&
J&K$jhE't=&
J&K$jhE't=&
mu'C!&   0AG!^&
mu'C!&   0AG!^&
jh0AE9+'-&Ljh02'#>q'ngC hCmq&O' ;G'3$'x&2&lo9     0C0H
jh0AE9+'-&Ljh02'#>q'ngC hCmq&O' ;G'3$'x&2&lo9     0C0H
'$
' c&4G'      0c&0t& ml'_c&xN9x90900
'$
' c&4G'      0c&0t& ml'_c&xN9x90900
07 0"$o3Eon&x'e'9 sCHGO0
'  &L 0EcC'-       /C9EG'19ALCly/N&oyy'h'0 /VA
!'&A9GE'7EHT$G' GEmh&NNG9A'o_ovA}'     *&l_ '
07 0"$o3Eon&x'e'9 sCHGO0
'  &L 0EcC'-       /C9EG'19ALCly/N&oyy'h'0 /VA
!'&A9GE'7EHT$G' GEmh&NNG9A'o_ovA}'     *&l_ '
'
'
člv9I9_&
Iw'
c&'sov 9lu
lqNI'/u&H _&D0&6'0o
dNC'Cv'u&' uu& ogELG&lgGE'8&0A|o0mh&W mf'WC0CN0NW1? ƯGGg&!EMT$L' EG9A6
'!&9Aoal}lkt&%CNl|Aoa
'l}0A0A'J0 C/k'@w' '|o'G'_IJ zx'
člv9I9_&
Iw'
c&'sov 9lu
lqNI'/u&H _&D0&6'0o
dNC'Cv'u&' uu& ogELG&lgGE'8&0A|o0mh&W mf'WC0CN0NW1? ƯGGg&!EMT$L' EG9A6
'!&9Aoal}lkt&%CNl|Aoa
'l}0A0A'J0 C/k'@w' '|o'G'_IJ zx'
_GE&Ek&3x'oK "a&K'o'oKn jn}'A 2oo0Ioa0'߁
'@ 0A&I.0LCmx&
le1I_&OnK0>Lm}'C/ l[LC0A
&LA}&l|A'*0P0W'𧀁
&0Y'       0/ jCh'>x'GGN/EG E/Nx'GG
ģEEv|' /k&0w'sC}Coa=/G&L0L/COaA̮A!Cy/N&oyy'CC #'X0'P_CG&1#\
'7#'1! $$L\&E\Z& 0&90ODY'y&0i20i0) mC'061^0)
~ljGGEEm+'
_GE&Ek&3x'oK "a&K'o'oKn jn}'A 2oo0Ioa0'߁
'@ 0A&I.0LCmx&
le1I_&OnK0>Lm}'C/ l[LC0A
&LA}&l|A'*0P0W'𧀁
&0Y'       0/ jCh'>x'GGN/EG E/Nx'GG
ģEEv|' /k&0w'sC}Coa=/G&L0L/COaA̮A!Cy/N&oyy'CC #'X0'P_CG&1#\
'7#'1! $$L\&E\Z& 0&90ODY'y&0i20i0) mC'061^0)
~ljGGEEm+'
 0iͮG/ 0tAP:''
 0iͮG/ 0tAP:''
"<0 I'
'"0 6 IAaAjAL0n0#_ 0  0!_ 
0# 0_ LA6=&&'&"#'6]&
'&0AخL0'91Ao$s','"*0 9_&'\45&l$$"oA71A/'&'dol&gjg+O-'KZ&E_45\mg&& -V1! J1 J&J  & A#lbA5&M{z][']'lc_}'
"<0 I'
'"0 6 IAaAjAL0n0#_ 0  0!_ 
0# 0_ LA6=&&'&"#'6]&
'&0AخL0'91Ao$s','"*0 9_&'\45&l$$"oA71A/'&'dol&gjg+O-'KZ&E_45\mg&& -V1! J1 J&J  & A#lbA5&M{z][']'lc_}'
1'0\ )h'0AC0+yocMlco{4z'v&8v'       &FCN&lrmz'[]od+ od+"ƦI]J^]&\mv'_&

1'0\ )h'0AC0+yocMlco{4z'v&8v'       &FCN&lrmz'[]od+ od+"ƦI]J^]&\mv'_&

20+ mb'%CK0(A%
_Y'  S&lr vld4'v42E'#o0G&'22E#o2Q0Z&2+_'`$2+&ov4'vm&r&)Cd'0r'od6CN&lr0+OKQM~9KOMQ~9AlulqqG'oqouE&C'hfoh?'0EAA*&mh&CLN$ NLC0NLCCCE$E#0ko6hEWCLG/N=Wowiw'le/U/s'9!OK, ls%fhNGCE/NN/^$A3&7]&.&q_'OL4G5&`AColyCN&oy0`&0 BZ'!
'0 E45 Z& EL
'0\ GخLE'ϮOLQG#G_W!y'-Cs/G 1ohA
'W]'10
&-CB0ퟦ&00'
' 0
C0
'>mh&        '1'0 h&%OAL&Eh
A1? Ci4xGGEE,Aph&0GC C0GN Ԇ|'[P5G$0
'  mj&31?&"1'1?&J 9
20+ mb'%CK0(A%
_Y'  S&lr vld4'v42E'#o0G&'22E#o2Q0Z&2+_'`$2+&ov4'vm&r&)Cd'0r'od6CN&lr0+OKQM~9KOMQ~9AlulqqG'oqouE&C'hfoh?'0EAA*&mh&CLN$ NLC0NLCCCE$E#0ko6hEWCLG/N=Wowiw'le/U/s'9!OK, ls%fhNGCE/NN/^$A3&7]&.&q_'OL4G5&`AColyCN&oy0`&0 BZ'!
'0 E45 Z& EL
'0\ GخLE'ϮOLQG#G_W!y'-Cs/G 1ohA
'W]'10
&-CB0ퟦ&00'
' 0
C0
'>mh&        '1'0 h&%OAL&Eh
A1? Ci4xGGEE,Aph&0GC C0GN Ԇ|'[P5G$0
'  mj&31?&"1'1?&J 9
9941'
9941'
115n59(Oj&4'
P_%mi'AGLE'^G$Moooҁ
''#  _`Glemj&YL'Lmj'mi&9m4mj'mi'005 
& 
115n59(Oj&4'
P_%mi'AGLE'^G$Moooҁ
''#  _`Glemj&YL'Lmj'mi&9m4mj'mi'005 
& 
Z*9&91mi'0ojoi09p44ojoi0%_T'OD&40st0x'
&0-5"%lilj3p&502ojoi? TAPE OR DISK (T-D)? FILE NAME? GEyC/GEEljojE/9ߍ:&9?~ oC0)-%I301m?160)'
''0i-%3 w0W 0)1^0-m0Zo30)
'6Z0c|%_N'QY&0)910m! lC0)" o0im+&
Z*9&91mi'0ojoi09p44ojoi0%_T'OD&40st0x'
&0-5"%lilj3p&502ojoi? TAPE OR DISK (T-D)? FILE NAME? GEyC/GEEljojE/9ߍ:&9?~ oC0)-%I301m?160)'
''0i-%3 w0W 0)1^0-m0Zo30)
'6Z0c|%_N'QY&0)910m! lC0)" o0im+&
l"0ʦl0&&>$0mlj ljm+'G%$D_oj9mj'40mi&0)m''&5mi'}mj'h40mi&0i' 
ILLEGAL FMS FUNCTION CODE ENCOUNTERED
THE REQUESTED FILE IS IN USE
THE FILE SPECIFIED ALREADY EXISTS
THE SPECIFIED FILE COULD NOT BE FOUND
SYSTEM DIRECTORY ERROR - REBOOT SYSTEM
THE SYSTEM DIRECTORY SPACE IS FULL
ALL AVAILABLE DISK SPACE HAS BEEN USED
READ PAST END OF FILE
DISK FILE READ ERROR
DISK FILE WRITE ERROR
THE FILE OR DISK IS WRITE PROTECTED!
THE FILE IS PROTECTED - FILE NOT DELETED
ILLEGAL FILE CONTROL BLOCK SPECIFIED
ILLEGAL DISK ADDRESS ENCOUNTERED
AN ILLEGAL DRIVE NUMBER WAS SPECIFIED
DRIVES NOT READY
THE FILE IS PROTECTED - ACCESS DENIED
SYSTEM FILE STATUS ERROR
FMS DATA INDEX RANGE ERROR
FMS INACTIVE - REBOOT SYSTEM
ILLEGAL FILE SPECIFICATION
SYSTEM FILE CLOSE ERROR
SECTOR MAP OVERFLOW - DISK TOO SEGMENTED
NONEXISTENT RECORD NUMBER SPECIFIED
RECORD NUMBER MATCH ERROR - FILE DAMAGED
COMMAND SYNTAX ERROR - RETYPE COMMAND
THAT COMMAND IS NOT ALLOWED WHILE PRINTING
WRONG HARDWARE CONFIGURATION
 +4+014 1%50+n 0-%G3&9&0o2%&m&K'0X+&쌲+~?  0G&'
&9&v %90
 EX ABORTEDILLEGAL FILE TYPE .:_O(턎@-%3&C@;)K #롄'0m&Nx ޭ(%l@'N@-$
l"0ʦl0&&>$0mlj ljm+'G%$D_oj9mj'40mi&0)m''&5mi'}mj'h40mi&0i' 
ILLEGAL FMS FUNCTION CODE ENCOUNTERED
THE REQUESTED FILE IS IN USE
THE FILE SPECIFIED ALREADY EXISTS
THE SPECIFIED FILE COULD NOT BE FOUND
SYSTEM DIRECTORY ERROR - REBOOT SYSTEM
THE SYSTEM DIRECTORY SPACE IS FULL
ALL AVAILABLE DISK SPACE HAS BEEN USED
READ PAST END OF FILE
DISK FILE READ ERROR
DISK FILE WRITE ERROR
THE FILE OR DISK IS WRITE PROTECTED!
THE FILE IS PROTECTED - FILE NOT DELETED
ILLEGAL FILE CONTROL BLOCK SPECIFIED
ILLEGAL DISK ADDRESS ENCOUNTERED
AN ILLEGAL DRIVE NUMBER WAS SPECIFIED
DRIVES NOT READY
THE FILE IS PROTECTED - ACCESS DENIED
SYSTEM FILE STATUS ERROR
FMS DATA INDEX RANGE ERROR
FMS INACTIVE - REBOOT SYSTEM
ILLEGAL FILE SPECIFICATION
SYSTEM FILE CLOSE ERROR
SECTOR MAP OVERFLOW - DISK TOO SEGMENTED
NONEXISTENT RECORD NUMBER SPECIFIED
RECORD NUMBER MATCH ERROR - FILE DAMAGED
COMMAND SYNTAX ERROR - RETYPE COMMAND
THAT COMMAND IS NOT ALLOWED WHILE PRINTING
WRONG HARDWARE CONFIGURATION
 +4+014 1%50+n 0-%G3&9&0o2%&m&K'0X+&쌲+~?  0G&'
&9&v %90
 EX ABORTEDILLEGAL FILE TYPE .:_O(턎@-%3&C@;)K #롄'0m&Nx ޭ(%l@'N@-$
CΎ@3C@C@&;)~l
CΎ@3C@C@&;)~l
Ɗ Ư ~B
Ɗ Ư ~B
EvL{MNVPPTUýV:Xt$9#
45 "$:%MO9@oZ&9
-- Not enough memory to make new block.9'd^
EvL{MNVPPTUýV:Xt$9#
45 "$:%MO9@oZ&9
-- Not enough memory to make new block.9'd^
&9
&9
&
&


`@
`@
"U3"$:O1"&&0] %)<\&?~9$^'''݁
&     9@  '=n%9D%1 J$9ƍ&9&1!0Z& %~#.Z&94$'
"U3"$:O1"&&0] %)<\&?~9$^'''݁
&     9@  '=n%9D%1 J$9ƍ&9&1!0Z& %~#.Z&94$'
w5oY*5@99]'
@9''' O2&K !&:"'&4$'$&&'Z& 
w5oY*5@99]'
@9''' O2&K !&:"'&4$'$&&'Z& 
4&54@5@ f9
-- Insufficient memory to load file.
-- Input file not in binary format.@'&W '3&I&@91"&5졍%&/&(栦45&Z&945&45&99
-- I/O Error writing output file.
TA ?  ~0%40:+54&5"M&$$0%:5Z&94DDDD509#~4%UW
%        %5%%9%HHŰHH4%2a9N0%9#A%F#97909
'!     '
4&54@5@ f9
-- Insufficient memory to load file.
-- Input file not in binary format.@'&W '3&I&@91"&5졍%&/&(栦45&Z&945&45&99
-- I/O Error writing output file.
TA ?  ~0%40:+54&5"M&$$0%:5Z&94DDDD509#~4%UW
%        %5%%9%HHŰHH4%2a9N0%9#A%F#97909
'!     '
&9'4 j&5 $      4 5'a%z"9

SWTPC Binary File Patch -- Version 2.1:5

:what?
 - --        
     XFER = 
-- No input file specified.

-- Input file could nƠZot be opened.

-- Output file could not be opened.

-- Fix Complete.

-- Fix Aborted.
5:INZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONJ'd
&9'4 j&5 $      4 5'a%z"9

SWTPC Binary File Patch -- Version 2.1:5

:what?
 - --        
     XFER = 
-- No input file specified.

-- Input file could nƠZot be opened.

-- Output file could not be opened.

-- Fix Complete.

-- Fix Aborted.
5:INZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONJ'd
999~W~k~Ͳ~  ~~~~~@~,~΂~~δ~~~6~ѡ~~H~υ~~~~.~~t~(~N~~(篟14LZ&| }(&&N΂zӁ
'@ͼ|
6%̓>'  '5&n-V ΂~k
999~W~k~Ͳ~  ~~~~~@~,~΂~~δ~~~6~ѡ~~H~υ~~~~.~~t~(~N~~(篟14LZ&| }(&&N΂zӁ
'@ͼ|
6%̓>'  '5&n-V ΂~k
#"!&$9D_# &m&m'm&0m&9''
'
#"!&$9D_# &m&m'm&0m&9''
'
'2#'⧀
&9R& Ό'0& ee 
@ ΀ ɍ0'm@0 N'c 
'2#'⧀
&9R& Ό'0& ee 
@ ΀ ɍ0'm@0 N'c 
&[       
&[       
'P
&n}!&'ֶ' "}     '4'Z&5|
\
'P
&n}!&'ֶ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~~}!&D ") |)4')$δ|)54}"&}$' 
}&& 59JM섎̠0zM&M =K%|K 4K&}J&}' # |J50 DDDD09#~@0%9#A%Z#a%z#994
'' &'獹5ooӆK4%.&.%(&  ?'k##g?m'`m*}
' 
?9%B9"?m*7$..9K+$4K5`% 0Z$-'_&]&9]'o0Z ? &0 ?940&
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~~}!&D ") |)4')$δ|)54}"&}$' 
}&& 59JM섎̠0zM&M =K%|K 4K&}J&}' # |J50 DDDD09#~@0%9#A%Z#a%z#994
'' &'獹5ooӆK4%.&.%(&  ?'k##g?m'`m*}
' 
?9%B9"?m*7$..9K+$4K5`% 0Z$-'_&]&9]'o0Z ? &0 ?940&
"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIѐ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
9 &9s~5%|L O_9L'~"ѡ'n\~4@65%T@@%;9
'&_940 'c-&'X`@m' &.8n@& JGGLo !'u΂? o_υ5̂΂ δ@ J?="&ɽ@
&S 40~k~5CE |(~͹(E nC:9}&n@~~kERRORSSYS~Ć9
+99%܁9"҄44XIXIXIѐ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
9 &9s~5%|L O_9L'~"ѡ'n\~4@65%T@@%;9
'&_940 'c-&'X`@m' &.8n@& JGGLo !'u΂? o_υ5̂΂ δ@ J?="&ɽ@
&S 40~k~5CE |(~͹(E nC:9}&n@~~kERRORSSYS~Ć9

Oƹ&0&0_+ǽ΂δн΂,[%T%M%δ@'~k@' 40~־
&@kC~-t%]'99FLEX 9.1DATE (MM,DD,YY)? @STARTUPTXT

Oƹ&0&0_+ǽ΂δн΂,[%T%M%δ@'~k@' 40~־
&@kC~-t%]'99FLEX 9.1DATE (MM,DD,YY)? @STARTUPTXT
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~G+? ~r6809 FLEX DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS, INC. WEST LAFAYETTE, IN 47906  ~6~Y~{5     
'"m'j~G0@&z~G+? ~r6809 FLEX DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS, INC. WEST LAFAYETTE, IN 47906  ~6~Y~{5     
oZ&~		'04 5 $o9}'	4$o&"''յ%&}&#_5$9  # ZXέ$m5$9ى;yB֠l1֚ڌpՑ &9턮oo9'
99
 &9&9 O/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~		'04 5 $o9}'	4$o&"''յ%&}&#_5$9  # ZXέ$m5$9ى;yB֠l1֚ڌpՑ &9턮oo9'
99
 &9&9 O/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jսĈ;  1%"'    &#%
; M'9ڶ%   '~٣9"'
#:@99;+<'jսĈ;  1%"'    &#%
; M'9ڶ%   '~٣9"'
l":@9$9@l!&l '4"5$ŀ'          9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'          9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%~$
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%~$
"9O_EĈ B '&"'Do?%*%&%"~܇@֠$~ƍ9=:m9&9m&l&lm'H%ݾ!%Ҿ@45&
"9O_EĈ B '&"'Do?%*%&%"~܇@֠$~ƍ9=:m9&9m&l&lm'H%ݾ!%Ҿ@45&
oooo 1?Ol!&l @0Z&	 B9_4 4A5@"9"&
%0}&D"/"1450Z&91"450Z&~֠#}&1'"#7 #*%6č#ݵ J;$'9'*Z&993&/2149׈&%]1!Z&9
%"9׈%]1!Z&֠$~ƾ/B%y$~
oooo 1?Ol!&l @0Z&	 B9_4 4A5@"9"&
%0}&D"/"1450Z&91"450Z&~֠#}&1'"#7 #*%6č#ݵ J;$'9'*Z&993&/2149׈&%]1!Z&9
%"9׈%]1!Z&֠$~ƾ/B%y$~
9%>ّؕ%9&<}' &*%+@z'4
5%
Z&"9 459m*$9%7%ڽؕ%& Ͻ%ʾ
9%>ّؕ%9&<}' &*%+@z'4
5%
Z&"9 459m*$9%7%ڽؕ%& Ͻ%ʾ
o0Z&2''/41ݵl%>"9ol/!%
UĽs%֠$~Ӿ24J% oo;"9(%oD%v"9&֠%9%
#9%1'o~&۬ %m'ܝ%
o0Z&2''/41ݵl%>"9ol/!%
UĽs%֠$~Ӿ24J% oo;"9(%oD%v"9&֠%9%
#9%1'o~&۬ %m'ܝ%
l%J$9ى%(
%# ى%&!%      995ؕ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؕ%&99l9@֠$@&ŀ'
l%J$9ى%(
%# ى%&!%      995ؕ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؕ%&99l9@֠$@&ŀ'
  
  
9%^%Z&R`&R׈&'3 !%,'% ۬%J9 9\<#L&7'L793%0:&'9@8:5798ܡ!%::51!@0Z&֠$~ƽ
%GO_ g<o@0Z&9' *~ݢ ڶ%F$o&9 'kݧ%O_m'u $,04LT'5'M 4@F%?5e~5  4JM%<#
9%^%Z&R`&R׈&'3 !%,'% ۬%J9 9\<#L&7'L793%0:&'9@8:5798ܡ!%::51!@0Z&֠$~ƽ
%GO_ g<o@0Z&9' *~ݢ ڶ%F$o&9 'kݧ%O_m'u $,04LT'5'M 4@F%?5e~5  4JM%<#
~
~
9@9Ŀ99ĎoZ&9}0&9%
9@9Ŀ99ĎoZ&9}0&9%
}@'94%W5+焷!'}3*Z0&! &!:94!I}3*g+O5#*0&S5v}3*'    0&O54!Ў}3*}0&+O5~*~ގ~~~.~p~˰~~~󆈺  }4'?Pj_}'!4`+' ħZ&'Ŝ5+&& Z&Ŝ9  }4'?P_}'4`+' ĀZ&Í5+&& Z&OJ&9PŘ9&"!o94=!'.!"'xH ^LZ}'tP5'#@9
}@'94%W5+焷!'}3*Z0&! &!:94!I}3*g+O5#*0&S5v}3*'    0&O54!Ў}3*}0&+O5~*~ގ~~~.~p~˰~~~󆈺  }4'?Pj_}'!4`+' ħZ&'Ŝ5+&& Z&Ŝ9  }4'?P_}'4`+' ĀZ&Í5+&& Z&OJ&9PŘ9&"!o94=!'.!"'xH ^LZ}'tP5'#@9
"9!'!"H߈1594'!"l5}4'?&995:INZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONJ'd
"9!'!"H߈1594'!"l5}4'?&995:INZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONJ'd
999~W~k~Ͳ~  ~~~~~@~,~΂~~δ~~~6~ѡ~~H~υ~~~~.~~t~(~N~~(篟14LZ&| }(&&N΂zӁ
'@ͼ|
6%̓>'  '5&n-V ΂~k
999~W~k~Ͳ~  ~~~~~@~,~΂~~δ~~~6~ѡ~~H~υ~~~~.~~t~(~N~~(篟14LZ&| }(&&N΂zӁ
'@ͼ|
6%̓>'  '5&n-V ΂~k
#"!&$9D_# &m&m'm&0m&9''
'
#"!&$9D_# &m&m'm&0m&9''
'
'2#'⧀
&9R& Ό'0& ee 
@ ΀ ɍ0'm@0 N'c 
'2#'⧀
&9R& Ό'0& ee 
@ ΀ ɍ0'm@0 N'c 
&[       
&[       
'P
&n}!&'ֶ' "}     '4'Z&5|
\
'P
&n}!&'ֶ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~~}!&D ") |)4')$δ|)54}"&}$' 
}&& 59JM섎̠0zM&M =K%|K 4K&}J&}' # |J50 DDDD09#~@0%9#A%Z#a%z#994
'' &'獹5ooӆK4%.&.%(&  ?'k##g?m'`m*}
' 
?9%B9"?m*7$..9K+$4K5`% 0Z$-'_&]&9]'o0Z ? &0 ?940&
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~~}!&D ") |)4')$δ|)54}"&}$' 
}&& 59JM섎̠0zM&M =K%|K 4K&}J&}' # |J50 DDDD09#~@0%9#A%Z#a%z#994
'' &'獹5ooӆK4%.&.%(&  ?'k##g?m'`m*}
' 
?9%B9"?m*7$..9K+$4K5`% 0Z$-'_&]&9]'o0Z ? &0 ?940&
"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIѐ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
9 &9s~5%|L O_9L'~"ѡ'n\~4@65%T@@%;9
'&_940 'c-&'X`@m' &.8n@& JGGLo !'u΂? o_υ5̂΂ δ@ J?="&ɽ@
&S 40~k~5CE |(~͹(E nC:9}&n@~~kERRORSSYS~Ć9
+99%܁9"҄44XIXIXIѐ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
9 &9s~5%|L O_9L'~"ѡ'n\~4@65%T@@%;9
'&_940 'c-&'X`@m' &.8n@& JGGLo !'u΂? o_υ5̂΂ δ@ J?="&ɽ@
&S 40~k~5CE |(~͹(E nC:9}&n@~~kERRORSSYS~Ć9

Oƹ&0&0_+ǽ΂δн΂,[%T%M%δ@'~k@' 40~־
&@kC~-t%]'99FLEX 9.1DATE (MM,DD,YY)? @STARTUPTXT

Oƹ&0&0_+ǽ΂δн΂,[%T%M%δ@'~k@' 40~־
&@kC~-t%]'99FLEX 9.1DATE (MM,DD,YY)? @STARTUPTXT
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~G+? ~r6809 FLEX DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS, INC. WEST LAFAYETTE, IN 47906  ~6~Y~{5     
'"m'j~G0@&z~G+? ~r6809 FLEX DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS, INC. WEST LAFAYETTE, IN 47906  ~6~Y~{5     
oZ&~		'04 5 $o9}'	4$o&"''յ%&}&#_5$9  # ZXέ$m5$9ى;yB֠l1֚ڌpՑ &9턮oo9'
99
 &9&9 O/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~		'04 5 $o9}'	4$o&"''յ%&}&#_5$9  # ZXέ$m5$9ى;yB֠l1֚ڌpՑ &9턮oo9'
99
 &9&9 O/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jսĈ;  1%"'    &#%
; M'9ڶ%   '~٣9"'
#:@99;+<'jսĈ;  1%"'    &#%
; M'9ڶ%   '~٣9"'
l":@9$9@l!&l '4"5$ŀ'          9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'          9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%~$
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%~$
"9O_EĈ B '&"'Do?%*%&%"~܇@֠$~ƍ9=:m9&9m&l&lm'H%ݾ!%Ҿ@45&
"9O_EĈ B '&"'Do?%*%&%"~܇@֠$~ƍ9=:m9&9m&l&lm'H%ݾ!%Ҿ@45&
oooo 1?Ol!&l @0Z	&	 B9_4 4A5@"9"&
%0}&D"/"1450Z&91"450Z&~֠#}&1'"#7 #*%6č#ݵ J;$'9'*
oooo 1?Ol!&l @0Z	&	 B9_4 4A5@"9"&
%0}&D"/"1450Z&91"450Z&~֠#}&1'"#7 #*%6č#ݵ J;$'9'*
Z&993&/2149׈&%]1!Z&9
%"9׈%]1!Z&֠$~ƾ/B%y$~
Z&993&/2149׈&%]1!Z&9
%"9׈%]1!Z&֠$~ƾ/B%y$~
9%>ّؕ%9&<}' &*%+@z'4
5%
Z&"9 459m*$9%7%ڽؕ%& Ͻ%ʾ
9%>ّؕ%9&<}' &*%+@z'4
5%
Z&"9 459m*$9%7%ڽؕ%& Ͻ%ʾ
o0Z&2''/41ݵl%>"9ol/!%
UĽs%֠$~Ӿ24J% oo;"9(%oD%v"9&֠%9%
#9%1'o~&۬ %m'ܝ%
o0Z&2''/41ݵl%>"9ol/!%
UĽs%֠$~Ӿ24J% oo;"9(%oD%v"9&֠%9%
#9%1'o~&۬ %m'ܝ%
l%J$9ى%(
%# ى%&!%      995ؕ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؕ%&99l9@֠$@&ŀ'
l%J$9ى%(
%# ى%&!%      995ؕ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؕ%&99l9@֠$@&ŀ'
  
  
9
%^%Z&R`&R׈&'3 !%,'% ۬%J9 9\<#L&7'L793%0:&'9@8:5798ܡ!%::51!@0Z&֠$~ƽ
%GO_ g<o@0Z&9' *~ݢ ڶ%F$o&9 'kݧ%O_m'u $,04LT'5'M 4@F%?5e~5  4JM%<#
9
%^%Z&R`&R׈&'3 !%,'% ۬%J9 9\<#L&7'L793%0:&'9@8:5798ܡ!%::51!@0Z&֠$~ƽ
%GO_ g<o@0Z&9' *~ݢ ڶ%F$o&9 'kݧ%O_m'u $,04LT'5'M 4@F%?5e~5  4JM%<#


$Ć       ')&69 9'L 
$Ć       ')&69 9'L 
~9'L     Formatted Not formatted     B%w]'t"l_Y&[$M+~~,l&/'10lJ
~9'L     Formatted Not formatted     B%w]'t"l_Y&[$M+~~,l&/'10lJ
,,'ގڽ$~  lJ
,,'ގڽ$~  lJ
,,&Ҏ'-0&0dlJ
,,&Ҏ'-0&0dlJ
,,'JdlJ
,,'JdlJ
,,&v11?J& lPA|RT~J
,,&v11?J& lPA|RT~J
,,&(4_\&
,,&(4_\&


      959Tracks formatted:     Formatting aborted!
      959Tracks formatted:     Formatting aborted!
Are you absolutly sure you want to do this? Error while writing sector!
Are you absolutly sure you want to do this? Error while writing sector!
Formatting completed
Formatting completed
Can't format floppy drive!
Can't format floppy drive!
V @-%>@3@&.oo     &E
V @-%>@3@&.oo     &E
'@&
'@&
 ?~yH&̀~&̀̂~&̀̂~_$$~Valid Arguments 2, 3 or 4yH&̀~&̀̂~&̀̂~_$$~Valid Arguments 2, 3 or 4 }&&Z}&Z-%D
'/'*3&9!&-o&~r!$ 
 ?~yH&̀~&̀̂~&̀̂~_$$~Valid Arguments 2, 3 or 4yH&̀~&̀̂~&̀̂~_$$~Valid Arguments 2, 3 or 4 }&&Z}&Z-%D
'/'*3&9!&-o&~r!$ 
  ?~A COMMAND MUST FOLLOW"I" MAY ONLY BE USED ONCE PER COMMAND"I" IS NOT FUNCTIONAL WHILE PRINTINGTTYSET PS=Y,DP=23,BE=08,WD=80,ES=20,NL=0
ASN W=1
 B%]'n@?~X @-%@@3@&0o  &E
  ?~A COMMAND MUST FOLLOW"I" MAY ONLY BE USED ONCE PER COMMAND"I" IS NOT FUNCTIONAL WHILE PRINTINGTTYSET PS=Y,DP=23,BE=08,WD=80,ES=20,NL=0
ASN W=1
 B%]'n@?~X @-%@@3@&0o  &E
'@&
'@&
 ?~ $@-$@~K@ 3P'J!%H%-&
H%ѿ   P'$+''$ '%_N& P& }'[6@'~KO       %"$
 ?~ $@-$@~K@ 3P'J!%H%-&
H%ѿ   P'$+''$ '%_N& P& }'[6@'~KO       %"$
""%
""%
%@'&n~}'74}'6&|£5}'49  5
&}'|$~#}'@' ? 
'9|"0_''
'#''秄0\ ˆ]'Z0 ؆ 0\(&"9$$0V_	#\	#\]'AZ&983(''0 _9$$$9 ~-_~9TITLE?    PAGE E @-%1	3&#;O45&1?&&~?~        ̿+~ R4+ED+DD_9K$~
%@'&n~}'74}'6&|£5}'49  5
&}'|$~#}'@' ? 
'9|"0_''
'#''秄0\ ˆ]'Z0 ؆ 0\(&"9$$0V_	#\	#\]'AZ&983(''0 _9$$$9 ~-_~9TITLE?    PAGE E @-%1	3&#;O45&1?&&~?~        ̿+~ R4+ED+DD_9K$~
MEMORY TOP = 
MEMORY TOP = 
FREE MEMORY =  .:        (+C
FREE MEMORY =  .:        (+C
0F+?%+08+1!?Z&+n0~-- Not Enough User Memory. 0,
0F+?%+08+1!?Z&+n0~-- Not Enough User Memory. 0,
K0+&"+  (C
K0+&"+  (C
~N~"  .: ReShirked  
~N~"  .: ReShirked  


_Y9" B%'+,"#%&
&$o_9? &%$֍&$ꍕ&% #(% &%3{&P( %sm&%e&((&'%U&
_Y9" B%'+,"#%&
&$o_9? &%$֍&$ꍕ&% #(% &%3{&P( %sm&%e&((&'%U&
%M&&N$Ԏ&N$ԿN#  -&N$ԿNH% &$      %Q&X $!S
''r!!
$&   &$YOJ&
%'
$&$  " (' $ &K~& 
'&瀌&oo9N瀌t&9Z&9O
'&  ''!"-
''"A &   L_(&O\$!4
'&0O 0O5O0
''09      
%M&&N$Ԏ&N$ԿN#  -&N$ԿNH% &$      %Q&X $!S
''r!!
$&   &$YOJ&
%'
$&$  " (' $ &K~& 
'&瀌&oo9N瀌t&9Z&9O
'&  ''!"-
''"A &   L_(&O\$!4
'&0O 0O5O0
''09      





      " #!$ (J1=-/#O" 'L!

      " #!$ (J1=-/#O" 'L!
  
%&
  
%&
 &@" -'   ~#F&'' $ 
%& 9 &L_\(9"'
 &@" -'   ~#F&'' $ 
%& 9 &L_\(9"'
 &!"%"&;~!v/ &/ ( "'*J 6&@&1O_@+&ž-0-&^ < 0<~"       ~
 &!"%"&;~!v/ &/ ( "'*J 6&@&1O_@+&ž-0-&^ < 0<~"       ~
~'o&Po@oA/]1_-a
%&   g(Jfce
 P0Z&'~"
~'o&Po@oA/]1_-a
%&   g(Jfce
 P0Z&'~"

%'#F&o@oA#P&_&#
&'&&&F&P&&'0=&&&&p_9~4@'        䦀 @&5b
'&!d&& &394`t:怦+'      1?&5&9
$'@# 9DO'$UBLE SIDED DISK? -- DRIVES MUST BE DOUBLE SIDED!

%'#F&o@oA#P&_&#
&'&&&F&P&&'0=&&&&p_9~4@'        䦀 @&5b
'&!d&& &394`t:怦+'      1?&5&9
$'@# 9DO'$UBLE SIDED DISK? -- DRIVES MUST BE DOUBLE SIDED!
ARE YOU SURE? FORMAT 80 TRACKS? -- DRIVES MUST HAVE DOUBLE TRACK DENSITY!
ARE YOU SURE? FORMAT 80 TRACKS? -- DRIVES MUST HAVE DOUBLE TRACK DENSITY!
ARE YOU SURE? FORMAT 40 TRACKS? -- DRIVES MUST HAVE 40 TRACKS!
ARE YOU SURE? FORMAT 40 TRACKS? -- DRIVES MUST HAVE 40 TRACKS!
ARE YOU SURE? DOUBLE DENSITY DISK? (%-- CONTROLLER MUST RUN DOUBLE DENSITY!
ARE YOU SURE? DOUBLE DENSITY DISK? (%-- CONTROLLER MUST RUN DOUBLE DENSITY!
ARE YOU SURE? -- DISK IS PROTECTED!SCRATCH DISK IN DRIVE FATAL ERROR --- FORMATTING ABORTED-- BAD SECTOR AT FORMATTING COMPLETE
ARE YOU SURE? -- DISK IS PROTECTED!SCRATCH DISK IN DRIVE FATAL ERROR --- FORMATTING ABORTED-- BAD SECTOR AT FORMATTING COMPLETE
TOTAL SECTORS = VOLUME NAME? VOLUME NUMBER?  2)&.m'~x0ԍI'0n- Can't read IPL
TOTAL SECTORS = VOLUME NAME? VOLUME NUMBER?  2)&.m'~x0ԍI'0n- Can't read IPL
G_0m'+' Z&Ŝ9+&& Z&Ŝ9&'ch99[%@'!mJ'HOJ&ҍm1'9$'{3='&3/aO9'#     'a5 '45Z& 33D'9'j'܆WEj&00.0- Not Linked
G_0m'+' Z&Ŝ9+&& Z&Ŝ9&'ch99[%@'!mJ'HOJ&ҍm1'9$'{3='&3/aO9'#     'a5 '45Z& 33D'9'j'܆WEj&00.0- Not Linked
- Nucleus I/O Error
- Nucleus I/O Error
- Bad Nucleus
- Bad Nucleus
 + }$&fɀ
-%r
'W'Rɀ3ɀ!'0&P/_Y&2ɀ'-ɀ&-$ $~ !$~ ɀ?~'9&&45&9z'ĕ0000@& Ն9"O" CAN ONLY BE USED ONCE PER COMMANDCOMMAND MUST FOLLOW "O"FILE IS IN PRINT QUEUEMAY THE EXISTING OUTPUT FILE BE DELETED? N
'&'!ɷɧɀ~6~COMMAMD MUST FOLLOW "P"~ɀ~ɕ~ɧɀF~:qp>q9}ɦ+}q*}psɦ9*ɦp6 ضƷ~. }'@&$ G.'      !%9#}'~@*# '@'%~þ$& !~ʾ.'!%#9"'$ ڽ%ۍ&$~$~@?~
'9@&|$±'~/@m&~°+D}&)A=='0=AM'&0A C 00Z&o_9.!».»ˆ
&$~_Y&&~'~9@~'0Z&9o0Z&.'~-|'%
 + }$&fɀ
-%r
'W'Rɀ3ɀ!'0&P/_Y&2ɀ'-ɀ&-$ $~ !$~ ɀ?~'9&&45&9z'ĕ0000@& Ն9"O" CAN ONLY BE USED ONCE PER COMMANDCOMMAND MUST FOLLOW "O"FILE IS IN PRINT QUEUEMAY THE EXISTING OUTPUT FILE BE DELETED? N
'&'!ɷɧɀ~6~COMMAMD MUST FOLLOW "P"~ɀ~ɕ~ɧɀF~:qp>q9}ɦ+}q*}psɦ9*ɦp6 ضƷ~. }'@&$ G.'      !%9#}'~@*# '@'%~þ$& !~ʾ.'!%#9"'$ ڽ%ۍ&$~$~@?~
'9@&|$±'~/@m&~°+D}&)A=='0=AM'&0A C 00Z&o_9.!».»ˆ
&$~_Y&&~'~9@~'0Z&9o0Z&.'~-|'%
0Z*99'        0Z&9_9'DELETE ''?  @-$~3&~@&r&i'%j_W&| D&| C&| X&I|'$ٽ&<@}'}'}'@}'&
0Z*99'        0Z&9_9'DELETE ''?  @-$~3&~@&r&i'%j_W&| D&| C&| X&I|'$ٽ&<@}'}'}'@}'&
~@?~@ 
'92 & Û~$ê$Mz'y }'Ľ$'%34'$$5_N'FD'~T'/R'.Q'$S')G'(K'' 
&$~~+~/~?~5~:~\%Ѽ'/Ê'3yÊyÊ ڽy~g%&o 'y'Êy Êz~g@&O&Jm+@&&$|ˆĽ9ΎD .        99?~& 0Z&9@~ ~'#&&H%!        'M4"Z'y 99
~@?~@ 
'92 & Û~$ê$Mz'y }'Ľ$'%34'$$5_N'FD'~T'/R'.Q'$S')G'(K'' 
&$~~+~/~?~5~:~\%Ѽ'/Ê'3yÊyÊ ڽy~g%&o 'y'Êy Êz~g@&O&Jm+@&&$|ˆĽ9ΎD .        99?~& 0Z&9@~ ~'#&&H%!        'M4"Z'y 99

9

9

9|~g|  %H%
L     ~~0000@&9&@00009QUEUE IS EMPTY   POS   NAME  TYPE   RPT  ** PRINTING IS STOPPED **COMMAND? WHAT?8 @-%'q-%&
@=?@
'?~7 .:?&+'7&

9|~g|  %H%
L     ~~0000@&9&@00009QUEUE IS EMPTY   POS   NAME  TYPE   RPT  ** PRINTING IS STOPPED **COMMAND? WHAT?8 @-%'q-%&
@=?@
'?~7 .:?&+'7&
0~0ͽ0_9~}&jH%j]&5'4+&+7+_O5799зط'+#+57l0 0^ 0s~Use of RM invalid during Spooling.No reserved printeUr area.Printer area length: Invalid length specified.Not enough memory available.9 .:	(+C}&,'5'7##׶#' H$-'/&'_A%ׁ$ъ"'~E0`#ln46}&'5'7#95GT9&5*&3&:3&=994+4+1!546Z&j*51#1#1#1#~з90 0 0% 08+ p-- Spooling Active.-- Invalid Port Number.-- Not Enough User Memory.	K0+&*+"	(C_O99з~NL
-,64*
HH琉oꮌm5
*4Χ54VVV5~< @-%ݎ@3B]'ֿB]'˿†B%†„%@&m;'0]&ƒH@<ƒ7/zƒ& }†'„@&J~@&?9&8Ļ?<&6p3&-@&$~E~"~?~߁Y9INVALID FILE NAMEMISSING OR INCORRECT ADDRESSFILE ALREADY EXISTS - DO YOU WISH TO DELETE IT? ARE YOU SURE? > @-%ݎ@3B]'ֿB]'˿B%%@&m;'0]&H@<7/z& }'@&J~@&?9&8Ļ?<&6p3&-@&$~E~"~?~߁Y9INVALID FILE NAMEMISSING OR INCORRECT ADDRESSFILE ALREADY EXISTS - DO YOU WISH TO DELETE IT? ARE YOU SURE? @ .:
'6'1@-m'![1'D_&Z&(dđ4Pĵ0&􎙪˿&4$5'O$ئaĵ1&5_m'     áZ&3ŀ'23@'XZ&3 '53'VA3'?J'XA'r8&16ÿI`&Č"d~9
0~0ͽ0_9~}&jH%j]&5'4+&+7+_O5799зط'+#+57l0 0^ 0s~Use of RM invalid during Spooling.No reserved printeUr area.Printer area length: Invalid length specified.Not enough memory available.9 .:	(+C}&,'5'7##׶#' H$-'/&'_A%ׁ$ъ"'~E0`#ln46}&'5'7#95GT9&5*&3&:3&=994+4+1!546Z&j*51#1#1#1#~з90 0 0% 08+ p-- Spooling Active.-- Invalid Port Number.-- Not Enough User Memory.	K0+&*+"	(C_O99з~NL
-,64*
HH琉oꮌm5
*4Χ54VVV5~< @-%ݎ@3B]'ֿB]'˿†B%†„%@&m;'0]&ƒH@<ƒ7/zƒ& }†'„@&J~@&?9&8Ļ?<&6p3&-@&$~E~"~?~߁Y9INVALID FILE NAMEMISSING OR INCORRECT ADDRESSFILE ALREADY EXISTS - DO YOU WISH TO DELETE IT? ARE YOU SURE? > @-%ݎ@3B]'ֿB]'˿B%%@&m;'0]&H@<7/z& }'@&J~@&?9&8Ļ?<&6p3&-@&$~E~"~?~߁Y9INVALID FILE NAMEMISSING OR INCORRECT ADDRESSFILE ALREADY EXISTS - DO YOU WISH TO DELETE IT? ARE YOU SURE? @ .:
'6'1@-m'![1'D_&Z&(dđ4Pĵ0&􎙪˿&4$5'O$ئaĵ1&5_m'     áZ&3ŀ'23@'XZ&3 '53'VA3'?J'XA'r8&16ÿI`&Č"d~9
09"9Yes9CPUSTRETCH@)STR@)PLF RAM)RTC)CLOCK)PORTIOTIMER)INT)EX)UC`@NOMN'#*H$#9Y=&@-%B'_ ='!n'/&  '#& 2'<& Y'N&S339339Y'N&I9d9d9 (Stretched)
09"9Yes9CPUSTRETCH@)STR@)PLF RAM)RTC)CLOCK)PORTIOTIMER)INT)EX)UC`@NOMN'#*H$#9Y=&@-%B'_ ='!n'/&  '#& 2'<& Y'N&S339339Y'N&I9d9d9 (Stretched)
SWTPC Configurator -- Version 2.3:1
SWTPC Configurator -- Version 2.3:1
-- Memory Size = K (Bytes)
-- Memory Size = K (Bytes)
-- I/O Port Size = 4
-- I/O Port Size = 4
-- CPU Clock Rate = 1 MHz
-- CPU Clock Rate = 1 MHz
-- On Board CPU RAM = No
-- On Board CPU RAM = No
-- Power Line Frequency = 60 Hz
-- Power Line Frequency = 60 Hz
-- Extended Addressing = No
-- Extended Addressing = No
-- Interval Timer = No
-- Interval Timer = No
-- Real Time Clock = No
-- Real Time Clock = No
-- Upper Case Only = No
-- Upper Case Only = No


-- Invalid Parameter Specified.
-- Invalid Parameter Specified.
D O'
')%!_D&H".'%
D O'
')%!_D&H".'%
_F'4H'G_97~` ~_9 H"蠟 H"蠟L"'
'~Syntax error -
_F'4H'G_97~` ~_9 H"蠟 H"蠟L"'
'~Syntax error -
Usage: SETDRIVE Dn Hn or Dn Fn
Usage: SETDRIVE Dn Hn or Dn Fn
       Dn = Logical drive number 0 to 3
       Dn = Logical drive number 0 to 3
       Hn = Hard drive partition number 0 to        Fn = Floppy drive number 0 to 3
       Hn = Hard drive partition number 0 to        Fn = Floppy drive number 0 to 3
Drive number must be 0 to 3
Drive number must be 0 to 3
Partition number m
ust be 0 to EXEC INIT.TXT.0
G '%G_'%E_'=&9m&'0000|& 00n}'<~@? BSDLELDPWDNLTBBEEJPSES~B%      
Partition number m
ust be 0 to EXEC INIT.TXT.0
G '%G_'%E_'=&9m&'0000|& 00n}'<~@? BSDLELDPWDNLTBBEEJPSES~B%      
~
'0Z&9H%  
~
'0Z&9H%  
 ؍޽'H'F'
 ؍޽'H'F'
~a o'$ 'Y'N& m    1/-a_]%#W9m'¡ ¤0~$0~< $00      _ˆ ~9'0 9 = ONOFFI $O4Z&3"@+
~a o'$ 'Y'N& m    1/-a_]%#W9m'¡ ¤0~$0~< $00      _ˆ ~9'0 9 = ONOFFI $O4Z&3"@+
emJ'JM'<17d$0%%'+#&  ACTION (D/N/P/R/S/#)? ~" 0VH@4-5%O3I&"$&(d~&0 FILE NAME? FILE ALREADY JEXISTS43B73^65D92"m('^	7Ȅ^	,$^}z$Ȁ4iZ&5"_Z&$j&Ȁ^$&54DVFVFVFVDVDVDV0&ˆ54D@'$	B'&&D$1)5J J&oo !@'m	nB'K'HO ڦ&DM' Ħ&D   M'  Ʀ'&9O9LĆJ9@&9?~54H'
'	'
%맀
' F%0 ݬH#ж&  5<0  ~' 9JM$0M_900J&L0  FILES FOUNDH
'H
'S'c\R'^\D'YP'LN'>H45%*]'''M"XIXIXIJO92b0!901 #17 1)J$ 9FILE NUMBER OUT OF RANGEUNRECOGNIZED COMMAND4 J0;0_90&'$_90)0"E0407('M0;50: FILE # SECTOR(S), ADDRESS:   TYPE: SEQUENTIALRANDOM RECOVEREDB%]]'_@'9@OCB0H0F0~0~0  *0.Ř FREE CHAIN IS EMPTYILLEGAL DRIVE SPECIFIEDDRIVE MUSTN BE SPECIFIED&'
emJ'JM'<17d$0%%'+#&  ACTION (D/N/P/R/S/#)? ~" 0VH@4-5%O3I&"$&(d~&0 FILE NAME? FILE ALREADY JEXISTS43B73^65D92"m('^	7Ȅ^	,$^}z$Ȁ4iZ&5"_Z&$j&Ȁ^$&54DVFVFVFVDVDVDV0&ˆ54D@'$	B'&&D$1)5J J&oo !@'m	nB'K'HO ڦ&DM' Ħ&D   M'  Ʀ'&9O9LĆJ9@&9?~54H'
'	'
%맀
' F%0 ݬH#ж&  5<0  ~' 9JM$0M_900J&L0  FILES FOUNDH
'H
'S'c\R'^\D'YP'LN'>H45%*]'''M"XIXIXIJO92b0!901 #17 1)J$ 9FILE NUMBER OUT OF RANGEUNRECOGNIZED COMMAND4 J0;0_90&'$_90)0"E0407('M0;50: FILE # SECTOR(S), ADDRESS:   TYPE: SEQUENTIALRANDOM RECOVEREDB%]]'_@'9@OCB0H0F0~0~0  *0.Ř FREE CHAIN IS EMPTYILLEGAL DRIVE SPECIFIEDDRIVE MUSTN BE SPECIFIED&'
u R9O944 +       $5&O&'(D"5&(B OH9$'0   J% 턎&9\@$ @4'o@oA
u R9O944 +       $5&O&'(D"5&(B OH9$'0   J% 턎&9\@$ @4'o@oA
'     @
'     @
5&&"&$@        @$&@     za]_
5&&"&$@        @$&@     za]_
aP .:o>@-$&m2&0~-- File spec required.3@&;created @//, '&# 'C';invalid ID W (Unoptimized) ji'ɍ`\ V'QM$GB+TSC Version 5Version 5 M+ j& v@&69could not be opened. Sis not a binary file. 8gI/O ERROR reading ID. Mhas no ID. >null TSC ID.0l~@31p - "@", 95Y &n40+0.   .5'Z&9od
aP .:o>@-$&m2&0~-- File spec required.3@&;created @//, '&# 'C';invalid ID W (Unoptimized) ji'ɍ`\ V'QM$GB+TSC Version 5Version 5 M+ j& v@&69could not be opened. Sis not a binary file. 8gI/O ERROR reading ID. Mhas no ID. >null TSC ID.0l~@31p - "@", 95Y &n40+0.   .5'Z&9od
054\$]&mb&9lb09 '%*_O&$'%_N'F&5m 45{ }5&m {_N'Y&s5' ѽ'$
'&~VERIFY IS OFFVERIFY IS ONCHANGE? T      EXTENDED BASIC FOR 6809                                                                                                                                        COPYRIGHT (C) 1979 BY                                                        U                             Technical Systems Consultants, Inc.                  111 Providence Road                                  Chapel Hill, NC 27514                                (919) 493-1451                                  j            V                                              ALL RIGHTS RESERVED                             -~~~~m'4@,59'9"+3h2Ȁo˃&Ȁ0H݌$Ȑȏ
O]4AVxC0
054\$]&mb&9lb09 '%*_O&$'%_N'F&5m 45{ }5&m {_N'Y&s5' ѽ'$
'&~VERIFY IS OFFVERIFY IS ONCHANGE? T      EXTENDED BASIC FOR 6809                                                                                                                                        COPYRIGHT (C) 1979 BY                                                        U                             Technical Systems Consultants, Inc.                  111 Providence Road                                  Chapel Hill, NC 27514                                (919) 493-1451                                  j            V                                              ALL RIGHTS RESERVED                             -~~~~m'4@,59'9"+3h2Ȁo˃&Ȁ0H݌$Ȑȏ
O]4AVxC0
0Rm0RWo0sT0q
&3h.+3hȀ0
0Rm0RWo0sT0q
&3h.+3hȀ0
eO~0    .<RB0?ȱ
eO~0    .<RB0?ȱ
&
'߁?&Q+&+/2
&
'߁?&Q+&+/2
&2Q Ȁ ȱȗ0~
&2Q Ȁ ȱȗ0~
&Xȗ0ȱ0x0n  zPy1lȒiBREAKhȱX?[
'tPȀXoȏh'h'ȝPa'NP'XR"PV'H1$~'%M+1!*     &E1?e("ہ1&q5'4$&9ȐȯoW@~-1oȴoYȳO'`hX`'OH`eiCMUU`}`,w.//8/b//22368XK        Wix      $*ȏ0}M_ceȝOOg~W''/0 '$0&&000 קȭȀ$J_Jȍȭ%9PZ@ȍ"ȭm' "%m'jJȍ9!R'"'$ȝ& ȝ'ȼ"9Į&9'u'_Ƭȝ&ȯȝ'ȕ̯ȗ:ȍ$7̯șȗ'0ȗș0 ȼ큯ȡ09oo+ȡȗ' ȝȡ01! Ȣȵ[ȗ' ̍'D91?}9ȡȝ'"0țȡ#ȵ&ȵ9Ȑ90
&Xȗ0ȱ0x0n  zPy1lȒiBREAKhȱX?[
'tPȀXoȏh'h'ȝPa'NP'XR"PV'H1$~'%M+1!*     &E1?e("ہ1&q5'4$&9ȐȯoW@~-1oȴoYȳO'`hX`'OH`eiCMUU`}`,w.//8/b//22368XK        Wix      $*ȏ0}M_ceȝOOg~W''/0 '$0&&000 קȭȀ$J_Jȍȭ%9PZ@ȍ"ȭm' "%m'jJȍ9!R'"'$ȝ& ȝ'ȼ"9Į&9'u'_Ƭȝ&ȯȝ'ȕ̯ȗ:ȍ$7̯șȗ'0ȗș0 ȼ큯ȡ09oo+ȡȗ' ȝȡ01! Ȣȵ[ȗ' ̍'D91?}9ȡȝ'"0țȡ#ȵ&ȵ9Ȑ90
 SC 
')C0 ȣmY&
 SC 
')C0 ȣmY&
$oȣ9'
o?) 0ȕ¦®ȧZ&9
$oȣ9'
o?) 0ȕ¦®ȧZ&9
+}'  1!  90ȱ)3'*'1
'
+}'  1!  90ȱ)3'*'1
'
'M'P#4 14 5 \       'է
&90_`j 4 14 5 '0& (( 
(~ ȓ'RU2e_ȓȏ"whp~hnpxr~p~xpl~phl        lx~p
'M'P#4 14 5 \       'է
&90_`j 4 14 5 '0& (( 
(~ ȓ'RU2e_ȓȏ"whp~hnpxr~p~xpl~phl        lx~p
rrf
lh~pV oV0R_0 [  ] 'Ȑȯ̎ȝoW]
rrf
lh~pV oV0R_0 [  ] 'Ȑȯ̎ȝoW]
ȀoV[ȏ&UP9?xȧ0ȩ  =*&!ȧȩ     )o&   &!ȩȝ')į0ȧ%0ȩ"
[Į&* &:!.2W&0ȝ&+lȏ}&A_ZY0
ȀoV[ȏ&UP9?xȧ0ȩ  =*&!ȧȩ     )o&   &!ȩȝ')į0ȧ%0ȩ"
[Į&* &:!.2W&0ȝ&+lȏ}&A_ZY0
C
C
̮0}'Ac">0ț0^m&'0 ț4'
̮0}'Ac">0ț0^m&'0 ț4'
0D& 5'& 9M+?'-f&<&>& 0
0D& 5'& 9M+?'-f&<&>& 0
7'0 4&m5g$ʆ= ޮ怯Z
o  &2@&`00&<'&5'$ '%&"&&&000'
'&Z& _ ٮ0 'F%N% 0 _#v%׮ȝ'įp_φ
%Į&o׎@#F#AѮȐoWȯ̎ȝ@#r)&ȱ85ȱ&& 
 Ȑȝ@#4\0ȱȥ@&
7'0 4&m5g$ʆ= ޮ怯Z
o  &2@&`00&<'&5'$ '%&"&&&000'
'&Z& _ ٮ0 'F%N% 0 _#v%׮ȝ'įp_φ
%Į&o׎@#F#AѮȐoWȯ̎ȝ@#r)&ȱ85ȱ&& 
 Ȑȝ@#4\0ȱȥ@&
ȥ
&9&ȥ9#+mW'@/9"@#	;ȝȐȯ̯ĆW"Ɓ&>o=&ȗoo"&(`
"4"5	`"Ȑȝ@""A@M'<O4ȍ5"ߍ&"0Z&Ȯȗȯ9"6l93!$.;ȝ'5"o֯9Į&O%!̣4!5!!@!l!ծ0ț0큯†ȕț+:a'p'_
ȥ
&9&ȥ9#+mW'@/9"@#	;ȝȐȯ̯ĆW"Ɓ&>o=&ȗoo"&(`
"4"5	`"Ȑȝ@""A@M'<O4ȍ5"ߍ&"0Z&Ȯȗȯ9"6l93!$.;ȝ'5"o֯9Į&O%!̣4!5!!@!l!ծ0ț0큯†ȕț+:a'p'_
P~%
P~%
0&0 0ț߁}&צȕM00Z&9''
0&0 0ț߁}&צȕM00Z&9''
'=      -:țO0țț 0țț\uțnțZ&9 ^XREADYȼ0Oȕȳȉȱ'Z'
5įȼ'oȴBȶ'}&m&97
'=      -:țO0țț 0țț\uțnțZ&9 ^XREADYȼ0Oȕȳȉȱ'Z'
5įȼ'oȴBȶ'}&m&97
6 3 %b@d_cYZe%>Ȁ#(_gd%'#"'@0Jb0cR'0AS0e_}:R'mg&lg_'a1^oȏ
6 3 %b@d_cYZe%>Ȁ#(_gd%'#"'@0Jb0cR'0AS0e_}:R'mg&lg_'a1^oȏ
z0" Ć4yERROR # AT LINE ȴ&ȱȱȴ0%9#A%Z#a%z#
z0" Ć4yERROR # AT LINE ȴ&ȱȱȴ0%9#A%Z#a%z#
oȵ9ȵ9 șȗȣȗ &0 _# ȗșH0&c0șm&9ȗ0 0m&0șm'ȣȗ 9soȴȵ'Z'?&oȳ"&H''<'u>'*'U.&4ȱE5ȵ&0;'0m&~&$o &oȴl 'HLa~=454&koȴ '45>&f 45=&0
 oȴ ȶ+}&doȉoȊt&l u&j§mȳ&ȍ'#0'lȕ9dӮȱ0Ⱥȗoȳ0q&Uȗ0ȱ,&%Ձ4$*'"lȳ 0'1''&lȉoȊ&&߆@ȹoȴ'
8gȺoȹ_ȷoȸȵ''ȱ45&_oȴȸˁ$&ȹ 	%&ȹȹoȴe(&ȹ@&ȹȹȹ)ȹܦȱ0ȱoȴȳ&41\1&G$1|+Ԇ 0ĦȣȣZ&k2mAȱȾ4oȴ
&05^ ;ȱ0Ⱦooȴl
'&oȴ0/JG 99Ⱦ'0L .Ⱦf&Ⱦ'0Ⱦ 9ӮȬ'0&4ȷ5&ʣO9&&000 9mȉ'Ȋ'KZ'H&ȷȋ&
oȵ9ȵ9 șȗȣȗ &0 _# ȗșH0&c0șm&9ȗ0 0m&0șm'ȣȗ 9soȴȵ'Z'?&oȳ"&H''<'u>'*'U.&4ȱE5ȵ&0;'0m&~&$o &oȴl 'HLa~=454&koȴ '45>&f 45=&0
 oȴ ȶ+}&doȉoȊt&l u&j§mȳ&ȍ'#0'lȕ9dӮȱ0Ⱥȗoȳ0q&Uȗ0ȱ,&%Ձ4$*'"lȳ 0'1''&lȉoȊ&&߆@ȹoȴ'
8gȺoȹ_ȷoȸȵ''ȱ45&_oȴȸˁ$&ȹ 	%&ȹȹoȴe(&ȹ@&ȹȹȹ)ȹܦȱ0ȱoȴȳ&41\1&G$1|+Ԇ 0ĦȣȣZ&k2mAȱȾ4oȴ
&05^ ;ȱ0Ⱦooȴl
'&oȴ0/JG 99Ⱦ'0L .Ⱦf&Ⱦ'0Ⱦ 9ӮȬ'0&4ȷ5&ʣO9&&000 9mȉ'Ȋ'KZ'H&ȷȋ&
ΆЧȹO9'4#ȏ5ʧȷ&&0009 ȷȋlȊ ʮ091!+~%'1" 1!9ttjppnxtxp~pgxxh
ΆЧȹO9'4#ȏ5ʧȷ&&0009 ȷȋlȊ ʮ091!+~%'1" 1!9ttjppnxtxp~pgxxh
r|ppphnpxrnxnprpnnhhpppl~plvhx|x~~phptp rxp~n!~p"p#ppl$n|p%pln)~n*p+h,xt-p.~xp/vp0p~p12p3r4hj5h6hl7p8x9~t:n;th?@pp|ABrpCDnpp|ElGhjHxIpJp~KhlN~pOh~PvpQxRl.0Sl.rTnhp.Ulv.V~pr.Wxtv.Xxn.Y.Zxlv.[l0.\lr.]^hn_`eh=i^k/l*m+n-o ~,r;s(t)iu#v?:{\|
}Ħ44o)55]'ȰE0P!!1}p* &&j
&"HHJi&1!  ~'   9"9H'*%&-FDB9-''9& ؍m')m~'"QjSiS&&
Q'-oQoR 'ț5țuQ'S*99mR'oR '0'     &@1!r'd+1''
r|ppphnpxrnxnprpnnhhpppl~plvhx|x~~phptp rxp~n!~p"p#ppl$n|p%pln)~n*p+h,xt-p.~xp/vp0p~p12p3r4hj5h6hl7p8x9~t:n;th?@pp|ABrpCDnpp|ElGhjHxIpJp~KhlN~pOh~PvpQxRl.0Sl.rTnhp.Ulv.V~pr.Wxtv.Xxn.Y.Zxlv.[l0.\lr.]^hn_`eh=i^k/l*m+n-o ~,r;s(t)iu#v?:{\|
}Ħ44o)55]'ȰE0P!!1}p* &&j
&"HHJi&1!  ~'   9"9H'*%&-FDB9-''9& ؍m')m~'"QjSiS&&
Q'-oQoR 'ț5țuQ'S*99mR'oR '0'     &@1!r'd+1''
{$1! l / ߦ'j :4Y''? 5oK}'9OLK[4[5[k-&3ݧ&
Z
o+{$V1'Rr'ps'mL&mK&qoLKG'H'O' &^'& &0Y mL&\oY'g#: S&
{$1! l / ߦ'j :4Y''? 5oK}'9OLK[4[5[k-&3ݧ&
Z
o+{$V1'Rr'ps'mL&mK&qoLKG'H'O' &^'& &0Y mL&\oY'g#: S&
 "L1!XO_ȧ'K 4ȧ&lȧ'ȩ0 ȧȩȩ55'Z'
 "L1!XO_ȧ'K 4ȧ&lȧ'ȩ0 ȧȩȩ55'Z'
}A4# t& A9ц Z*9g'"+
{%og1dˁ& !'og JB[&-T*&$!_1"D_'
w{%_mg'&.''&/4A'%Z&Z+1"r' 5Jm'ț1w ,  4CڧȔ oȔ&+mȔ'ț1"P4&R44țoȔr&P%<5&5R5&P4Ȁ'&2 ۆ=0ȗȀ'5&.!&ȗ' 2 0 9S&NȀ&!44&62&,1!H&_zįخBڮnDܮF3&	1![ ɎįBDF(P44 FD4B444ήį3&1! Ž e&&9"E(gH٦&blpH!&Y1#ӦH&RhjįBlnDF!Ay4*5$ 5"PK2 >k2oȀ' h)mh*
}A4# t& A9ц Z*9g'"+
{%og1dˁ& !'og JB[&-T*&$!_1"D_'
w{%_mg'&.''&/4A'%Z&Z+1"r' 5Jm'ț1w ,  4CڧȔ oȔ&+mȔ'ț1"P4&R44țoȔr&P%<5&5R5&P4Ȁ'&2 ۆ=0ȗȀ'5&.!&ȗ' 2 0 9S&NȀ&!44&62&,1!H&_zįخBڮnDܮF3&	1![ ɎįBDF(P44 FD4B444ήį3&1! Ž e&&9"E(gH٦&blpH!&Y1#ӦH&RhjįBlnDF!Ay4*5$ 5"PK2 >k2oȀ' h)mh*
- . m<ou+*`&ȹsޮ&
1!u'r&®į
l+4+4mu`'0Į000ȹ&&hAihAihAi
o&ț55턮țo$r&W1!C &1#9&p&&1&1!1"\190oȏPUeSTOP1!0R[4r[5[*0'&(Gݮȱ_
'0\ O    `ooZPLOȖy/'[4[5[^*"`'!!'mȖ&1$='Z&1!o QȖ&_40T5&Hq&j  0R&R o+{$
r's&1!roZ4mZ&0lȓ oȓmZ&5l9? mȖ'ӮO'$@O0+~%'00&0Mȱ9ՆȖM'ȱ MȝOO*&,&O1#8nȱ&D
'#ȱ%ȱ&4
r',&0ȱmȖ'M9eȱ&
'oȯ"'''Ⱦlȯ
'#,'0 0ȾMlȯ4'
' ȱOȯZȾ9
- . m<ou+*`&ȹsޮ&
1!u'r&®į
l+4+4mu`'0Į000ȹ&&hAihAihAi
o&ț55턮țo$r&W1!C &1#9&p&&1&1!1"\190oȏPUeSTOP1!0R[4r[5[*0'&(Gݮȱ_
'0\ O    `ooZPLOȖy/'[4[5[^*"`'!!'mȖ&1$='Z&1!o QȖ&_40T5&Hq&j  0R&R o+{$
r's&1!roZ4mZ&0lȓ oȓmZ&5l9? mȖ'ӮO'$@O0+~%'00&0Mȱ9ՆȖM'ȱ MȝOO*&,&O1#8nȱ&D
'#ȱ%ȱ&4
r',&0ȱmȖ'M9eȱ&
'oȯ"'''Ⱦlȯ
'#,'0 0ȾMlȯ4'
' ȱOȯZȾ9
0       9
0       9
̍
̍
A&-1!jȗo&1"du&]i&	1!ؗ40R00RO_턧y0T9s Սm&]'`&
1!
'F 9'_&1!'+O ('妤d%܁i"m'1!45' ߆I"%' 𦤁o&
1!' n&1!'Ox ݍ&';m&
1!'Ća l&1!       'P ܍'k&1!
'9 9+V4$^&
A&-1!jȗo&1"du&]i&	1!ؗ40R00RO_턧y0T9s Սm&]'`&
1!
'F 9'_&1!'+O ('妤d%܁i"m'1!45' ߆I"%' 𦤁o&
1!' n&1!'Ox ݍ&';m&
1!'Ća l&1!       'P ܍'k&1!
'9 9+V4$^&
1!X'{o&1!0(&t!'цn'!L"dt'XT"]"~'%^1!1! &H &\@''t1#ȅĮȇBȉDȋF¦t&ț&Vu&9o97ț1!ʅ'" (  1ʮTm$4H0T~%   'M+1!1!5& ѧH!1#944u"om&[eFț55Hv'<"-țmv&ާțH&&XițXițțXI_M7N 26ܮ'""0ț0ț*G45țrM L66cvHnHeHH4!5k&!_9!KG&!lBڮDܮFޮįv#s0ئG&) $! !'4GH4 11-5 GGѮo$0ѦG&FDBT4G0T5d Ts&0T&,&4FDB59T0T&lG4$** LBDFT0w$O94&BDF55'     G TG9Hn4&E )=54dXX05n#  $ &
1!X'{o&1!0(&t!'цn'!L"dt'XT"]"~'%^1!1! &H &\@''t1#ȅĮȇBȉDȋF¦t&ț&Vu&9o97ț1!ʅ'" (  1ʮTm$4H0T~%   'M+1!1!5& ѧH!1#944u"om&[eFț55Hv'<"-țmv&ާțH&&XițXițțXI_M7N 26ܮ'""0ț0ț*G45țrM L66cvHnHeHH4!5k&!_9!KG&!lBڮDܮFޮįv#s0ئG&) $! !'4GH4 11-5 GGѮo$0ѦG&FDBT4G0T5d Ts&0T&,&4FDB59T0T&lG4$** LBDFT0w$O94&BDF55'     G TG9Hn4&E )=54dXX05n#  $ &
% " '0$ņG0 ccAI$TD&5+$H4'500߱s:FFE$9C::FBIC#.##d#R!#$1!4V5I'
J'x%K'0%#"%3c eĆ$4Aįț9&
% " '0$ņG0 ccAI$TD&5+$H4'500߱s:FFE$9C::FBIC#.##d#R!#$1!4V5I'
J'x%K'0%#"%3c eĆ$4Aįț9&
ĤțȜ  ĪțȜĆ1!U$NH00n!!0!!6'33ۧAꆄooWoȧĮ9; ٍ'G***
ĤțȜ  ĪțȜĆ1!U$NH00n!!0!!6'33ۧAꆄooWoȧĮ9; ٍ'G***
+hAiZ&AA ܯ,_ țO_'ț0ț y&+9S֯ȗ0گȱB' 'j&
ȗ!O1!y*`&T0TVᆀ4V5ꦤm'd%i#941!044&'5ȗo5454o2e9'n&1!' 9t+#T#]"o9pz'u'O х'Ё%:'Y!1$L1Oq$"'
+hAiZ&AA ܯ,_ țO_'ț0ț y&+9S֯ȗ0گȱB' 'j&
ȗ!O1!y*`&T0TVᆀ4V5ꦤm'd%i#941!044&'5ȗo5454o2e9'n&1!' 9t+#T#]"o9pz'u'O х'Ё%:'Y!1$L1Oq$"'
0ooKțT0T؛& ۯțm' '"ț4
0ooKțT0T؛& ۯțm' '"ț4
D:5:țO 
D:5:țO 
oħA~
ԯc'"
oħA~
ԯc'"
d0X'
d0X'
? Ц O_ȭ'&-į'4`{(5` [1!M^"0UX0#_n(##$#%3'33o]%ܮAOc'ooq0č,1!u'r&a: ӆ4;/įȗ_ȗĮ/Yȯț'oo0 뢁u&
? Ц O_ȭ'&-į'4`{(5` [1!M^"0UX0#_n(##$#%3'33o]%ܮAOc'ooq0č,1!u'r&a: ӆ4;/įȗ_ȗĮ/Yȯț'oo0 뢁u&
1!9똁t'v뎁r' o4\5|)+9țO_' ț$0ț $ȯȯȯ909O_ȯȧ/'lȰ&lȯ 9ȧȯ0'4'5'4'9' 'O9 &&99ȯ&ȗȯȗș'ȗ0ȗ 0ȯș怯ș90_9o' ȰȰ'L4 1ڦZ&5 }*ȰO;#4g&Z5%'ȃ:ȅȇ4ȉF4įȅBȇDȉFȋ4 ȃ'5 5ȉȋ5ȅȇ9A'H[8&`&A9JB &Յ&= &'y0ȭĮȭ'$#Į&Pțȯț~+؛턮țȯ&pįț9$ȯooůȭțț$Bȯț&؛țȯ țȯ'턮țȭ&ȭ9ț&%ȯț&宄ȯ섮țȯ9țĮțw'!"见r&1!"ʆI:*,T.ӦH'`Hv&?l*:^HH&,v&'&(&(4$^^^j&5$iO  oZ"A" Z[AZ&CoZP44H405ȗ^555+9'sȯؗ'w-(P'[ȧȯ'H04&Įȧȩ{',['"4'ȧȩ^ȗ _Aooo_\    4 .-砶J=0&0-砶
1!9똁t'v뎁r' o4\5|)+9țO_' ț$0ț $ȯȯȯ909O_ȯȧ/'lȰ&lȯ 9ȧȯ0'4'5'4'9' 'O9 &&99ȯ&ȗȯȗș'ȗ0ȗ 0ȯș怯ș90_9o' ȰȰ'L4 1ڦZ&5 }*ȰO;#4g&Z5%'ȃ:ȅȇ4ȉF4įȅBȇDȉFȋ4 ȃ'5 5ȉȋ5ȅȇ9A'H[8&`&A9JB &Յ&= &'y0ȭĮȭ'$#Į&Pțȯț~+؛턮țȯ&pįț9$ȯooůȭțț$Bȯț&؛țȯ țȯ'턮țȭ&ȭ9ț&%ȯț&宄ȯ섮țȯ9țĮțw'!"见r&1!"ʆI:*,T.ӦH'`Hv&?l*:^HH&,v&'&(&(4$^^^j&5$iO  oZ"A" Z[AZ&CoZP44H405ȗ^555+9'sȯؗ'w-(P'[ȧȯ'H04&Įȧȩ{',['"4'ȧȩ^ȗ _Aooo_\    4 .-砶J=0&0-砶
    5 009JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC&)@.o'l\&0B_'0\m&& l^00țl^'*[&'l l Z&/Z&]&_ll0 ]&Lțjj&:'lA\'-&&*țjj Z&     Z'țj0*0m&/o'"&5&/&%'c"'       9G'H        0oZ&\ȧ&%H&'0ڦ'F`o'EZ&9ZU'T40ڬ5'?9"90%5Z&禂9",0%(+ ț,04005% &焮ț  L0ڦ'* &:-'6 &瀦 ' & '-'$&& %0C.&09!\.^-#$*,ֿ@-%9p ~3*'m'
94 ͯȥ@&'ȥ9',        &     &~&19        %
    5 009JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC&)@.o'l\&0B_'0\m&& l^00țl^'*[&'l l Z&/Z&]&_ll0 ]&Lțjj&:'lA\'-&&*țjj Z&     Z'țj0*0m&/o'"&5&/&%'c"'       9G'H        0oZ&\ȧ&%H&'0ڦ'F`o'EZ&9ZU'T40ڬ5'?9"90%5Z&禂9",0%(+ ț,04005% &焮ț  L0ڦ'* &:-'6 &瀦 ' & '-'$&& %0C.&09!\.^-#$*,ֿ@-%9p ~3*'m'
94 ͯȥ@&'ȥ9',        &     &~&19        %
#      &]+ 0oȏؑ0
#      &]+ 0oȏؑ0
4`K5`
(QX\++'     *'     4ް X1!m'
*,&1!A"0H'o0m&7ȗ;o?0@oZ&ȗ[O_[o-%3X-_)3 @["2%45@G[9}' ǎ@-%(3&;0]ԣ oY`v&>lY 
oZQv&/lZE?A#(ݘ0+r'
4`K5`
(QX\++'     *'     4ް X1!m'
*,&1!A"0H'o0m&7ȗ;o?0@oZ&ȗ[O_[o-%3X-_)3 @["2%45@G[9}' ǎ@-%(3&;0]ԣ oY`v&>lY 
oZQv&/lZE?A#(ݘ0+r'
{$1' 1!9[0H'[&+dmY&I9'	&-* [&9 ѯ[['&3[&ۦ$ mY'ȥ&ȥ %l45'm&m'4D5 Ё %l?&ȥ9, ܿmZ'ȥ&ȥy'm&m' 4[4[/5[5A"?0H'R0[oo/['m.''[@r&1! + 9( 'o4oo]9*] ]99@&@-~3m*o9@hq-@
 ;3hD*eįh@BA&S&_+{$1')&1!/>\< [=~+{$1'
)&1!N Ѯ[B50 m&ą&m*
{$1' 1!9[0H'[&+dmY&I9'	&-* [&9 ѯ[['&3[&ۦ$ mY'ȥ&ȥ %l45'm&m'4D5 Ё %l?&ȥ9, ܿmZ'ȥ&ȥy'm&m' 4[4[/5[5A"?0H'R0[oo/['m.''[@r&1! + 9( 'o4oo]9*] ]99@&@-~3m*o9@hq-@
 ;3hD*eįh@BA&S&_+{$1')&1!/>\< [=~+{$1'
)&1!N Ѯ[B50 m&ą&m*

m+9[z&9[0DZ&[[+!ȗ<ȗ[/[

m+9[z&9[0DZ&[[+!ȗ<ȗ[/[
o9[.'&ģ4 4 ȗ1D0DZ&5 &M'B&09~/pȣ[m'.'-8mD&8  ,_S'mG'6\0 .2, 4XD4F[7555:  [OѮȣ0ȣ&[pv&['(J&9m&m&4ȗ[J'
o9[.'&ģ4 4 ȗ1D0DZ&5 &M'B&09~/pȣ[m'.'-8mD&8  ,_S'mG'6\0 .2, 4XD4F[7555:  [OѮȣ0ȣ&[pv&['(J&9m&m&4ȗ[J'
J')QP 7J[1')&s$0Z&=;lON&;ȗ[[9@7+&$9ٰ()Áv&r['oj0DkdAȵݤ,&ݛDmy&Ӯ/#ӆȵk턮kȵ:kȵj%j"Xr&ϋ1!-ثm&A&2
Qm&A"9oȧoȨ4ȯ5'!'ȣȯ0ȯ'ȣ 9''* 4 ȯ81?&5*Zm'
ȯ9ئ'ɯȥ'0ȗȯ04 1ȗȥ%
ȥ'0 0 ș5 ș$ ''Y9_C&
(&N0ȱ904oZ&*3]94ƄH {4ƀH05'Z& oZ&5H&H@oA" o4,94$T^0j^&O5$v&Au'9שOk55oȹ'luouț턆ȹ&' {i&1!mAk'>4_%\ 2a4]'-['*&&m'"m'0X:d^ , 0ցlyOI0wܦ'P0D:kX=k:kzm'9[w0&m&kLk}o|z0zk ֒4m&=O44 1' oob큃kkzZ&55p 2b5loy	oy'~wܯz9o~,wĮܦ+kl#;j[m&9'؁r&շ4`K5`0"Ĩ+c+6G','[4&Y&RB&KD&DF49&4O96`G'9&#B&D&F49*9O9˦'8Ȁ879G&
7''G'
J')QP 7J[1')&s$0Z&=;lON&;ȗ[[9@7+&$9ٰ()Áv&r['oj0DkdAȵݤ,&ݛDmy&Ӯ/#ӆȵk턮kȵ:kȵj%j"Xr&ϋ1!-ثm&A&2
Qm&A"9oȧoȨ4ȯ5'!'ȣȯ0ȯ'ȣ 9''* 4 ȯ81?&5*Zm'
ȯ9ئ'ɯȥ'0ȗȯ04 1ȗȥ%
ȥ'0 0 ș5 ș$ ''Y9_C&
(&N0ȱ904oZ&*3]94ƄH {4ƀH05'Z& oZ&5H&H@oA" o4,94$T^0j^&O5$v&Au'9שOk55oȹ'luouț턆ȹ&' {i&1!mAk'>4_%\ 2a4]'-['*&&m'"m'0X:d^ , 0ցlyOI0wܦ'P0D:kX=k:kzm'9[w0&m&kLk}o|z0zk ֒4m&=O44 1' oob큃kkzZ&55p 2b5loy	oy'~wܯz9o~,wĮܦ+kl#;j[m&9'؁r&շ4`K5`0"Ĩ+c+6G','[4&Y&RB&KD&DF49&4O96`G'9&#B&D&F49*9O9˦'8Ȁ879G&
7''G'
89oW+4ABCDEF'9G3'5jG&j3hWiFiEiDiCiBYI*AG'9Ā4m3&9G93G='+ei''"'OGG3}W*
89oW+4ABCDEF'9G3'5jG&j3hWiFiEiDiCiBYI*AG'9Ā4m3&9G93G='+ei''"'OGG3}W*
OG U]'4M'OG3G]CGffAfBfCfDfEfFfWfYfZf[f\f]j:&9Oo9:WI%0\N?ZML=YK
OG U]'4M'OG3G]CGffAfBfCfDfEfFfWfYfZf[f\f]j:&9Oo9:WI%0\N?ZML=YK
     : 90oooooooo90Ħ+G'%P'z*h0'O%EP'K+5*Pm6&m''%CS 
     : 90oooooooo90Ħ+G'%P'z*h0'O%EP'K+5*Pm6&m''%CS 
P_M'o1J 4+"' IJ&*      -91&1aO4l G'*-
6m+4.^.^B/Z+M**
P_M'o1J 4+"' IJ&*      -91&1aO4l G'*-
6m+4.^.^B/Z+M**
_ 6.K.M'C_L&/.&(<6'#_4*J0I&&6*_>  gj&.PI4Pj*2am.6+0.0L'E% m6*6\:E$
_ 6.K.M'C_L&/.&(<6'#_4*J0I&&6*_>  gj&.PI4Pj*2am.6+0.0L'E% m6*6\:E$
EȰE0jȰCE40TTTT040٬5'
EȰE0jȰCE40TTTT040٬5'
.' %]'I0m/$ځ 'l= 040٬5& 0l64&愧E%&|E&+00jȰ'.&jȰ0怯E '-& 0H4'E?6+J*@-2g+'& o'
.' %]'I0m/$ځ 'l= 040٬5& 0l64&愧E%&|E&+00jȰ'.&jȰ0怯E '-& 0H4'E?6+J*@-2g+'& o'
.-oo90DE瀯ElȰ9o^405&_I9i%l^ ^> Hz@CPt$> nk(-xŬbIgOL}#
.-oo90DE瀯ElȰ9o^405&_I9i%l^ ^> Hz@CPt$> nk(-xŬbIgOL}#
=pznOwQXes'ŬGGp7ljmVzCi+waf   p_A6c[_/E$\  oPYa.BKU4$5        \R|:OfMK8w2H?.'g9<&9o50
O_BD\F0!'5O31ȱȾ9%o4.&o4l10E'e&G059"844E~El1٦ĪABCDE&VF($Pm5*@G5F4G45ƸGߦ5*@
=pznOwQXes'ŬGGp7ljmVzCi+waf   p_A6c[_/E$\  oPYa.BKU4$5        \R|:OfMK8w2H?.'g9<&9o50
O_BD\F0!'5O31ȱȾ9%o4.&o4l10E'e&G059"844E~El1٦ĪABCDE&VF($Pm5*@G5F4G45ƸGߦ5*@
#
*4 M5
$H@':HH0:m5*?et_
#
*4 M5
$H@':HH0:m5*?et_
%
%
\ ȱ000%:$9900 '9_+'-&S09ȱ9&ĪABCD&E+Fm9*CSA9jO%0Fl4%04l4EXIENCYICLAYIAJIħIhFiEiDiGCiBiAi%9hFiEiDiCiBiAi%)%$5OEEADCCBAAħ%l}DFįB9DFįB9D%F'į!B#9DFĮB9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ49k+G'2Gw0O]'0`ISHNlH0`>9u0Bs/jG(d0bjG2GGG9aÂu"6ۭaÃhf
\ ȱ000%:$9900 '9_+'-&S09ȱ9&ĪABCD&E+Fm9*CSA9jO%0Fl4%04l4EXIENCYICLAYIAJIħIhFiEiDiGCiBiAi%9hFiEiDiCiBiAi%)%$5OEEADCCBAAħ%l}DFįB9DFįB9D%F'į!B#9DFĮB9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ49k+G'2Gw0O]'0`ISHNlH0`>9u0Bs/jG(d0bjG2GGG9aÂu"6ۭaÃhf
΂I0I9+%ISʂ-:찂]d.*:o*0000~0_'ĈĦG&CJG\U0IG'J'G*CS^C ^0d^f_%G ^'%<$`02-d^f_$0#	^&90o4BDF5id+G'%J^Go2 ^G20A220FFT0!0m0G0Ju0o'lDpQ2XX0B:RO^*C0*@0%9$bȁ@]͂7TUk1r|Kܣ<
~ϙe`B4I0I0I0!j'
I0I 50Ĉ00x0A00KRd0E`1m'lS00EGO^M&G9fŰ;_A߈Å+ڨ1!Cz8;)\8;)\ħ^0m^*CS^¦^ħ90ȦĈ0p0!0O 11__&0Q000 0cFLP00d_'
΂I0I9+%ISʂ-:찂]d.*:o*0000~0_'ĈĦG&CJG\U0IG'J'G*CS^C ^0d^f_%G ^'%<$`02-d^f_$0#	^&90o4BDF5id+G'%J^Go2 ^G20A220FFT0!0m0G0Ju0o'lDpQ2XX0B:RO^*C0*@0%9$bȁ@]͂7TUk1r|Kܣ<
~ϙe`B4I0I0I0!j'
I0I 50Ĉ00x0A00KRd0E`1m'lS00EGO^M&G9fŰ;_A߈Å+ڨ1!Cz8;)\8;)\ħ^0m^*CS^¦^ħ90ȦĈ0p0!0O 11__&0Q000 0cFLP00d_'
G'Ĉ9Iڢ!hIڢ!h‚Mb3#g%:)PQ*#~YC,5$7[>,"/ITBT9!G'o21ぁ%MƄG0G'G00Ĉ00!G`"oGcG@2 9MGsG'Gk0|0`0'0!G`"oGV0R80W]M+0:A0.0(_XXX0H:m2'G'Ĉ0G'    1ħ9$y
XE~+{~a{m}zۯd~7&mc8+
}]^H0$}4 8N>+1Iڢ!h€G''45z9Xģ)
G'Ĉ9Iڢ!hIڢ!h‚Mb3#g%:)PQ*#~YC,5$7[>,"/ITBT9!G'o21ぁ%MƄG0G'G00Ĉ00!G`"oGcG@2 9MGsG'Gk0|0`0'0!G`"oGV0R80W]M+0:A0.0(_XXX0H:m2'G'Ĉ0G'    1ħ9$y
XE~+{~a{m}zۯd~7&mc8+
}]^H0$}4 8N>+1Iڢ!h€G''45z9Xģ)
9)9e®Io9 ;I=&J=M&4AI=M&%AJ=%+Ħ9*      CS9ħ7*CSĦ79*CSI9o9 gPI'^O_W WI%WiAiiXiWj^&ccAdWfXI -.99O9 
''H%b @*@&=@&.&8m+'8O&
U&T&'ގ@'ƽ?~@ &}*~5@~'9&&4?5&9z'0000@& Ն9STANDBY - DELETE IN PROGRESS  COPYRIGHT  (C)  1979 by   Technical Systems Consultants, Inc.  P.O. Box  2570  West Lafayette, Indiana  47906  (317) 463-2502   ALL RIGHTS RESERVED 
9)9e®Io9 ;I=&J=M&4AI=M&%AJ=%+Ħ9*      CS9ħ7*CSĦ79*CSI9o9 gPI'^O_W WI%WiAiiXiWj^&ccAdWfXI -.99O9 
''H%b @*@&=@&.&8m+'8O&
U&T&'ގ@'ƽ?~@ &}*~5@~'9&&4?5&9z'0000@& Ն9STANDBY - DELETE IN PROGRESS  COPYRIGHT  (C)  1979 by   Technical Systems Consultants, Inc.  P.O. Box  2570  West Lafayette, Indiana  47906  (317) 463-2502   ALL RIGHTS RESERVED 
7w$+0@#CS33%1O+&OC #0Z&0PZ&~|0-%?0301^Z&0[o0&'=+0[-$
7w$+0@#CS33%1O+&OC #0Z&0PZ&~|0-%?0301^Z&0[o0&'=+0[-$
0d~'#*!'%0%_'0m&0% o ߾0ٿ'0[30[&; a&6'|"0"_N'Y&$0[&$ ?ķ~0YKa0&ŮK26oE|m'#O=0==>|$0_OE 0 _9$tOF''m'9C looCFL=?Aa'''
0d~'#*!'%0%_'0m&0% o ߾0ٿ'0[30[&; a&6'|"0"_N'Y&$0[&$ ?ķ~0YKa0&ŮK26oE|m'#O=0==>|$0_OE 0 _9$tOF''m'9C looCFL=?Aa'''
m'9 $&00
m'9 $&00
&0HZX00[nlrvF0FoDom'm'm'0F9
&0HZX00[nlrvF0FoDom'm'm'0F9
0Hm' 'omD'
0Hm' 'omD'
D&oD K''"&D > & 5\&1H
'
\0'2 m'm'
D&oD K''"&D > & 5\&1H
'
\0'2 m'm'
"m'
"m'
  40Q5'
&90nWD}'0 0&#Dm&9m'
4&
  40Q5'
&90nWD}'0 0&#Dm&9m'
4&
DĮD5959&}'o}D D
9
''+&9+& 940[&5BLNYSFILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMEDELETE OLD BINARY (Y-N)?   TOTAL ERRORS = MEMORY OVERFLOW  TSC PRECOMPILER  PAGE&9'0ho~fo~00).009$0    $$~$'p0 r004455~-~':H[4o,&0H~Ϡ~[.5A5]']'       45Z&9~\L~%~$9o9 #0Z&H0
''ק 0ʆ PZ&H0 Ҧ}&%Hп0-%3&}9
DĮD5959&}'o}D D
9
''+&9+& 940[&5BLNYSFILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMEDELETE OLD BINARY (Y-N)?   TOTAL ERRORS = MEMORY OVERFLOW  TSC PRECOMPILER  PAGE&9'0ho~fo~00).009$0    $$~$'p0 r004455~-~':H[4o,&0H~Ϡ~[.5A5]']'       45Z&9~\L~%~$9o9 #0Z&H0
''ק 0ʆ PZ&H0 Ҧ}&%Hп0-%3&}9
a[.
a[.
F0&|9     CoJH &J0 H 
9J&'!'KAF0K[0H9B KMH0LJ'O9'0HB9BDw'DB_# B BooooO%
F0&|9     CoJH &J0 H 
9J&'!'KAF0K[0H9B KMH0LJ'O9'0HB9BDw'DB_# B BooooO%
09BįDBM'AĦ_# ĮB&0Bm&
Ħ'!B 0 0m&0BM'D 900O";$H
&	Z&'}&m;&9  4}50۬&2a mA&AlE9mB&BlE9m&mA' 0F9 0$A'  B'OAB9JH00Z0Ħ
'0 +DUv**  UNBALANCED PARENS
**  UNRECOGNIZABLE CHARACTER
**  MISSING QUOTE
**
09BįDBM'AĦ_# ĮB&0Bm&
Ħ'!B 0 0m&0BM'D 900O";$H
&	Z&'}&m;&9  4}50۬&2a mA&AlE9mB&BlE9m&mA' 0F9 0$A'  B'OAB9JH00Z0Ħ
'0 +DUv**  UNBALANCED PARENS
**  UNRECOGNIZABLE CHARACTER
**  MISSING QUOTE
**
  DUPLICATE LINE LABEL
**  UNDEFINED LINE LABEL
**  BAD CONSTANT
**  DUMMY VARIABLE NAMEl TOO LONG
**  BAD TYPE FOR DUMMY VARIABLE
**  ILLEGAL SCALE FACTOR
**  NESTED 'LIB' FILES NOT ALLOWED
**  LINE TOO LONG
$&H0H$_'!0%9#A%Z#a%z#	_ %9 BįDĦ_# 	0ĮBH&0Bm&
Ħ'-B 0 0m&0Bm'D DFN&05O9BO9go$%'	Z'с?&o"o# &o&9"&.''<'J>'W*',.&4H05%&^0'0m&B454&ކ	ko$ ,45>&f 45=&0uo$ &+ {%ooo"o#t&l; u&j;0000'l9H0(0)&Io"o#0H4$(#E'A0':1'6'&lo&g&v@'0
  DUPLICATE LINE LABEL
**  UNDEFINED LINE LABEL
**  BAD CONSTANT
**  DUMMY VARIABLE NAMEl TOO LONG
**  BAD TYPE FOR DUMMY VARIABLE
**  ILLEGAL SCALE FACTOR
**  NESTED 'LIB' FILES NOT ALLOWED
**  LINE TOO LONG
$&H0H$_'!0%9#A%Z#a%z#	_ %9 BįDĦ_# 	0ĮBH&0Bm&
Ħ'-B 0 0m&0Bm'D DFN&05O9BO9go$%'	Z'с?&o"o# &o&9"&.''<'J>'W*',.&4H05%&^0'0m&B454&ކ	ko$ ,45>&f 45=&0uo$ &+ {%ooo"o#t&l; u&j;0000'l9H0(0)&Io"o#0H4$(#E'A0':1'6'&lo&g&v@'0
D !(Dm"'Hl#l"So'o"o#0&Ho$$'%&
 
'0H(&'@&'''9'8"9H0Ho$m"&I    ea$U&    p |'oS      0v0ZF|ĮFZ&O&0Ho$BBD#'0 0&7'u0H9YOz}PH0,
D !(Dm"'Hl#l"So'o"o#0&Ho$$'%&
 
'0H(&'@&'''9'8"9H0Ho$m"&I    ea$U&    p |'oS      0v0ZF|ĮFZ&O&0Ho$BBD#'0 0&7'u0H9YOz}PH0,
,.'0, 9'{'sZ&7&l:0BDĮĦu'0ĮBo0Bj:&&80BDĦH'0ĮB'4&0B Bm&     Ч'9lDĮ6M2'56'=806
'_&D&O==9B'' 89m'"FG00Z&9ClC Z&9htl~x~~~~xjlh~pttjppnxtxp~pxx
Ďh
,.'0, 9'{'sZ&7&l:0BDĮĦu'0ĮBo0Bj:&&80BDĦH'0ĮB'4&0B Bm&     Ч'9lDĮ6M2'56'=806
'_&D&O==9B'' 89m'"FG00Z&9ClC Z&9htl~x~~~~xjlh~pttjppnxtxp~pxx
Ďh
r|ppphnpxrnxnprpnnhhpppl~plvhx|x~~phptp rxp~n!~p"p#ppl$n|p%pln)~n*p+h,xt-p.~xp/vp0p~p12p3r4hj5h6l7p8x9~t:n;t<x=>h?@pp|ABrpCDnpp|ElGhjHxIpJp~KhlN~pOh~PvpQxRl.0Sl.rTnhp.Ulv.PV~pr.Wxtv.Xxn.Y.Zxlv.[l0.\lr.]^hn_`eh=i^k/l*m+n-o ~,r;s(t)u#v?:{\|
}ZyD0Z\^`9M'i'Ԡa'(j$*bDVfdfefffgfhlj&b{*0 Wlj "iaZDVf\f]f^f_f`jj&Z{+&$lafZf[f\f]f^f_f`z{XICG_hg_]fe][dc[ZbZy$ cZc[c\c]c^c_c`j'z{ojZ+=[\]^_`'=Zja&jxhji`i_i^i]i\YI*[a'{Ā4Zmx&9a9'%i' Oaiaxj*uOa ii'@M'OaixapCGfZf[f\f]f^f_f`fj1j*9'4Zj\l^n`p5Z[\]^_`9_hg_]fe]\d\ZcbZ9O8qpD$*_g_]fe][dc[ZbZfZf[f\f]f^f_f`fjfkflfmfnfof`pjq&9O49qjb%>ogvmfetldsjcb%jsltmvoi`i_i^i]i\i[iZipioinimilikijjq"'-ogomfemkdckjbjO fjcZc[c\c]c$^c_c`9oxhfdczbZ{ZyZa90Za'%.@7/SZ{[nZT'{*,a#Z* Z90Zoooooooo90Z'M%CP'I+S*HmT&m'%CS 8oTDVfffff$fTjS&9*M * DVjS&9 Hz@CPt$> nk(-xŬbIgO.'(9OxħUH,.{%oR.&oRlU0E'e&O0S9"@R4XXlUZ[\]^_&Z`($SmS*@a5RaRSƸaS*@
r|ppphnpxrnxnprpnnhhpppl~plvhx|x~~phptp rxp~n!~p"p#ppl$n|p%pln)~n*p+h,xt-p.~xp/vp0p~p12p3r4hj5h6l7p8x9~t:n;t<x=>h?@pp|ABrpCDnpp|ElGhjHxIpJp~KhlN~pOh~PvpQxRl.0Sl.rTnhp.Ulv.PV~pr.Wxtv.Xxn.Y.Zxlv.[l0.\lr.]^hn_`eh=i^k/l*m+n-o ~,r;s(t)u#v?:{\|
}ZyD0Z\^`9M'i'Ԡa'(j$*bDVfdfefffgfhlj&b{*0 Wlj "iaZDVf\f]f^f_f`jj&Z{+&$lafZf[f\f]f^f_f`z{XICG_hg_]fe][dc[ZbZy$ cZc[c\c]c^c_c`j'z{ojZ+=[\]^_`'=Zja&jxhji`i_i^i]i\YI*[a'{Ā4Zmx&9a9'%i' Oaiaxj*uOa ii'@M'OaixapCGfZf[f\f]f^f_f`fj1j*9'4Zj\l^n`p5Z[\]^_`9_hg_]fe]\d\ZcbZ9O8qpD$*_g_]fe][dc[ZbZfZf[f\f]f^f_f`fjfkflfmfnfof`pjq&9O49qjb%>ogvmfetldsjcb%jsltmvoi`i_i^i]i\i[iZipioinimilikijjq"'-ogomfemkdckjbjO fjcZc[c\c]c$^c_c`9oxhfdczbZ{ZyZa90Za'%.@7/SZ{[nZT'{*,a#Z* Z90Zoooooooo90Z'M%CP'I+S*HmT&m'%CS 8oTDVfffff$fTjS&9*M * DVjS&9 Hz@CPt$> nk(-xŬbIgO.'(9OxħUH,.{%oR.&oRlU0E'e&O0S9"@R4XXlUZ[\]^_&Z`($SmS*@a5RaRSƸaS*@
#
*4 M5
$H'9HH0:mS*pĆ_
#
*4 M5
$H'9HH0:mS*pĆ_
%
%
\ H0.00%:$9900 '9_+'-&S09H%΍%Z[\]^&_+
\ H0.00%:$9900 '9_+'-&S09H%΍%Z[\]^&_+
`Z[9WOԍ%0`lR%04lR_XI_g]YI]e[YI[cZIZbh`i_i^i4]i\i[iZ%Jh`i_i^i]i\i[iZ%3w%.5O__^]]\[[ZZ%i^N`PZJ\L9N^P`JZL\9l`&2l_&-l^&(l]&#l\&l[&ZML*laĀ4Z9 +,
-%-‡&)m'|&»& x?~ &»&@-@‡&̆;
'#-‡&m'6;5 Վѽ &&&~~~~e 
`Z[9WOԍ%0`lR%04lR_XI_g]YI]e[YI[cZIZbh`i_i^i4]i\i[iZ%Jh`i_i^i]i\i[iZ%3w%.5O__^]]\[[ZZ%i^N`PZJ\L9N^P`JZL\9l`&2l_&-l^&(l]&#l\&l[&ZML*laĀ4Z9 +,
-%-‡&)m'|&»& x?~ &»&@-@‡&̆;
'#-‡&m'6;5 Վѽ &&&~~~~e 
'&
'&
0 7~„'90 Ծ@&1'0 }
0 7~„'90 Ծ@&1'0 }
' 
' 
& 9~e}ˆ&3
9m&
9
'9_Y9 APPEND COMPLETEMAY THE EXISTING FILE BE DELETED? ARE YOU SURE? ~E~~D~N~\~K~h4椧5J&̀年싽죽H'칽H'˽H'$߽~START_HD for the PT69
& 9~e}ˆ&3
9m&
9
'9_Y9 APPEND COMPLETEMAY THE EXISTING FILE BE DELETED? ARE YOU SURE? ~E~~D~N~\~K~h4椧5J&̀年싽죽H'칽H'˽H'$߽~START_HD for the PT69
Number of Cylinders: Number of Heads: Number of Sectors: HD ENABLED
Number of Cylinders: Number of Heads: Number of Sectors: HD ENABLED
4:>594>:> э_99}&~@ ̽Z_4&C@4
       1?&5~.Ė9&
4X5_4M+H*O#S#W#[MK#9}&~0Z_
4:>594>:> э_99}&~@ ̽Z_4&C@4
       1?&5~.Ė9&
4X5_4M+H*O#S#W#[MK#9}&~0Z_
1?&5 
9_M+'~q_9}&~L: $~  9*~s%9_9T4'<5=7O%L959K%,}+xyy| 4%|}'tvvzxyy 99$~_4@'~ƀ9$~G49
kEnter number of Cylinders: Enter number of Heads: Enter number of Sectors: Partitions available = 0 to H',H'DH'>:>&E$D405J&&*CO405J&&CO405J&~====$|O$|=$#^99KOSW[0_ 
1?&5 
9_M+'~q_9}&~L: $~  9*~s%9_9T4'<5=7O%L959K%,}+xyy| 4%|}'tvvzxyy 99$~_4@'~ƀ9$~G49
kEnter number of Cylinders: Enter number of Heads: Enter number of Sectors: Partitions available = 0 to H',H'DH'>:>&E$D405J&&*CO405J&&CO405J&~====$|O$|=$#^99KOSW[0_ 
>?]'&)44005Z& &؍
>?]'&)44005Z& &؍
 ̍459}&-&M&~'z09&/ĆD400(5J&g&CO4:05L&9KOWS[ _4:>594:>59_M+@'9̄&9oo'(=5oO#&Lƞ9ȦʦƆ̞9oooNo     =%&m+hiil  +%lm     'dffj       hii 99 ~o*Dpach (disk sector read-write utility) Drive [0] Track [00] Sector [03]==
T=  T=! T=4 TEnter command (R)ead,(W)rite,(H)ex,(A)scii,(P)aint screen,(Q)uit
 ̍459}&-&M&~'z09&/ĆD400(5J&g&CO4:05L&9KOWS[ _4:>594:>59_M+@'9̄&9oo'(=5oO#&Lƞ9ȦʦƆ̞9oooNo     =%&m+hiil  +%lm     'dffj       hii 99 ~o*Dpach (disk sector read-write utility) Drive [0] Track [00] Sector [03]==
T=  T=! T=4 TEnter command (R)ead,(W)rite,(H)ex,(A)scii,(P)aint screen,(Q)uit
T              (L)og,(D)rive,(T)rack,(S)ector,(+) or (-) :> T=6 Drive? T=6 Track? T=6 Sector? T=6 ERROR - COMMAND ABORTEDT=6 Enter offset :> Q
T              (L)og,(D)rive,(T)rack,(S)ector,(+) or (-) :> T=6 Drive? T=6 Track? T=6 Sector? T=6 ERROR - COMMAND ABORTEDT=6 Enter offset :> Q
T=6 TbgP$$oݎ      n B[\]&b06d0M0L@AOcb' +LgLhJ$''
T=6 TbgP$$oݎ      n B[\]&b06d0M0L@AOcb' +LgLhJ$''
 LivTݎlݽTR&~H&~Q&$n       ~W&U~+&2dLdc&i h&dcLcg&c~-&5dJd&$cZ&i hJdcJc&gJc~L& ~D&        ~T&    4~S&    L~A&~P&~~bcd  '9__}}_&
 LivTݎlݽTR&~H&~Q&$n       ~W&U~+&2dLdc&i h&dcLcg&c~-&5dJd&$cZ&i hJdcJc&gJc~L& ~D&        ~T&    4~S&    L~A&~P&~~bcd  '9__}}_&
$b9_d}_&c9R_d}_&d9T
&|_ 0HHHHMT
' &TTTTM |_ 490,T
&|_         /-.9$MM9=_d}_'~jj0L0J&ePݽT
&~':'6'<'8'>'E_s}_&eUݾe $.jLj~jJj~jj~jj~9=_d}_'~jj0L0J&eUݽT
&~'%'!'''#')'0ePݾe<jLj~jJj~jj~jj~9jGGGGk RWjM474l Sj6m X9bcd
$b9_d}_&c9R_d}_&d9T
&|_ 0HHHHMT
' &TTTTM |_ 490,T
&|_         /-.9$MM9=_d}_'~jj0L0J&ePݽT
&~':'6'<'8'>'E_s}_&eUݾe $.jLj~jJj~jj~jj~9=_d}_'~jj0L0J&eUݽT
&~'%'!'''#')'0ePݾe<jLj~jJj~jj~jj~9jGGGGk RWjM474l Sj6m X9bcd
'9eݎ]$`^<]<0'z`&]` $.0'z`& $ז90&94 59GGGG09#9A%{%99^ݎ9b06Ld9@c994GGGG050:%94'5"99*
** 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  W
'9eݎ]$`^<]<0'z`&]` $.0'z`& $ז90&94 59GGGG09#9A%{%99^ݎ9b06Ld9@c994GGGG050:%94'5"99*
** 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  W
AITRDY
       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
        B
EQ  WAITRDY
        RTS
*
* WAIT FOR DATA REQUEST
*
WAITDRQ LDA  CF_STATUS
        BITA #DRQ
        BEQ  WAITDRQ
        RTS
*
        END

Assembler release DWC_2.0 version 2.11
May 6, 2004 (c) Motorola (free ware)
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 equat       es
0037                         *
0038 0080                    BSY        EQU $80
0039 0040                    DRDY       EQU $40
0040 0008                    DRQ        EQU $08
0041 0001                    ERR        EQU $01
0042 DE00                 
AITRDY
       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
        B
EQ  WAITRDY
        RTS
*
* WAIT FOR DATA REQUEST
*
WAITDRQ LDA  CF_STATUS
        BITA #DRQ
        BEQ  WAITDRQ
        RTS
*
        END

Assembler release DWC_2.0 version 2.11
May 6, 2004 (c) Motorola (free ware)
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 equat       es
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             ; CLEA!R 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
0#180                         *
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                      BE$Q  WAITDRQ
0186 DEB6 39                         RTS
0187                         *
0188                                 END
0189                         
Program + Init Data = 183 bytes
Error count = 0
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA
S123DE401EF7E045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC
S11ADEA0B6E047858026F9B6E047854027F239B6E047850827F939AF
S9030000FC
*********************************************
*
* 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 >OU
          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             ; CLEA!R 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
0#180                         *
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                      BE$Q  WAITDRQ
0186 DEB6 39                         RTS
0187                         *
0188                                 END
0189                         
Program + Init Data = 183 bytes
Error count = 0
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA
S123DE401EF7E045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC
S11ADEA0B6E047858026F9B6E047854027F239B6E047850827F939AF
S9030000FC
*********************************************
*
* 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 >OU
TCH+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
 BL       S 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
TCH+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
 BL       S 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 #'S-$40
 NOP
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5]
 CMPA #'Q-$40
 NOP
 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 ZCE9E
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 AND
CC #$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 Z!D1E4
 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 GE# TCMD

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 >ERR%"TYP
 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 #DNRM'$SG
 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
**
** 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
,*
** 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
DRI-VSL 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 TR.ACK (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 V/ERIFY 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 ADDR0ESS 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 MULTIPL1E 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 NSTRUCTI2ON
*
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
*
    3   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
*
**4  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 5

 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 #'S-$40
 NOP
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5]
 CMPA #'Q-$40
 NOP
 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 ZCE9E
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 AND
CC #$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 Z!D1E4
 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 GE# TCMD

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 >ERR%"TYP
 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 #DNRM'$SG
 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
**
** 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
,*
** 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
DRI-VSL 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 TR.ACK (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 V/ERIFY 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 ADDR0ESS 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 MULTIPL1E 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 NSTRUCTI2ON
*
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
*
    3   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
*
**4  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 5
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/6DRIVE (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+
       DEC7B
       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
       BI8
TA  #$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
       RTS9   
*
** 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-SI:DED ?
       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
SEE;K3  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 REGIS<TER 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 UP>DATE 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
*
** S?EEK 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   #$A00
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
       BANDCC  #$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   
*C
** 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      CHEDCK 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 VAELUE
*       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 DIRECFTORY ?
       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 DGRIVE 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
Z0000 EQU $0000
Z0005 EQU $0005
Z0044 EQU $0044
Z00A0 EQU $00A0
ZC07F EQU $C07F
LINBUF EQU $C080
ZC0FF EQU $C0FF
 END
J*
** 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 RKMB 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
ZLD451 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 >ZCCMFC
 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 NJSR >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 TOABLE
*
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 14P
 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 
Q
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 >R        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
 CS
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/6DRIVE (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+
       DEC7B
       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
       BI8
TA  #$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
       RTS9   
*
** 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-SI:DED ?
       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
SEE;K3  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 REGIS<TER 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 UP>DATE 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
*
** S?EEK 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   #$A00
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
       BANDCC  #$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   
*C
** 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      CHEDCK 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 VAELUE
*       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 DIRECFTORY ?
       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 DGRIVE 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
Z0000 EQU $0000
Z0005 EQU $0005
Z0044 EQU $0044
Z00A0 EQU $00A0
ZC07F EQU $C07F
LINBUF EQU $C080
ZC0FF EQU $C0FF
 END
J*
** 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 RKMB 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
ZLD451 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 >ZCCMFC
 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 NJSR >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 TOABLE
*
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 14P
 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 
Q
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 >R        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
 CS
MPA ,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 #$01T
 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 U$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 
V
*
** 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 

ZDW60C 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
ZXD63E 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 Y$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 >CURFCBZ
 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 ZD6[EF
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 ZD6C\F
 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 

ZD7]14 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
 ST^D $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 >WR_SECT
 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
 CaLR $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 
b*
** 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 LDXc >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
 LEAXd $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
 SeTA $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 ZfD8D3
 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
 BNEg 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 hLDA $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+i 
 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
j!*
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
 k"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 #l#$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
 m$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
 JSn%R >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 
*
o&** 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 p'

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

ZDq(ADD 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
*
**
r)*
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 >ZD89s*2
 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 RTSt+ 
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 
 Bu,NE 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
 RTv-S 

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
 LDXw. >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 ZDC31x/
 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 

ZDy0C43 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 $11z1,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 #${203
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 
|3 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 ,}4X
 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 ~5>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
 PS6HS 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
Z7DD9C 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 $803,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

*
** 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
 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 
MPA ,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 #$01T
 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 U$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 
V
*
** 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 

ZDW60C 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
ZXD63E 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 Y$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 >CURFCBZ
 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 ZD6[EF
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 ZD6C\F
 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 

ZD7]14 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
 ST^D $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 >WR_SECT
 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
 CaLR $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 
b*
** 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 LDXc >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
 LEAXd $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
 SeTA $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 ZfD8D3
 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
 BNEg 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 hLDA $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+i 
 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
j!*
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
 k"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 #l#$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
 m$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
 JSn%R >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 
*
o&** 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 p'

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

ZDq(ADD 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
*
**
r)*
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 >ZD89s*2
 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 RTSt+ 
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 
 Bu,NE 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
 RTv-S 

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
 LDXw. >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 ZDC31x/
 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 

ZDy0C43 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 $11z1,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 #${203
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 
|3 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 ,}4X
 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 ~5>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
 PS6HS 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
Z7DD9C 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 $803,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

*
** 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
 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
SYNCLO  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

*
** 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 n
       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
SYNCLO  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

*
** 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 n
umber
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 i
nput 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 m$asks
        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 D%ISK 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 L&DA 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 Driv)e 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 comman.d
        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
        JS/R     SCHAR
        BCC     NRD_DNR          
*
        PULS    A               send sector
        JSR     SCHAR
        BCC     NRD_DNR          
*
* transfer 256 bytes
        CLRB                    
NREAD1  JSR     RCHAR           read byte
      0  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     N1READ1          
*
* 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 2              
        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_DN3R 
        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  
 4       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 ch5ecksum
        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     SCHAR6
        BCC     NRD_DNR           
*
        PULS    A               send track
        JSR     SCHAR
        BCC     NRD_DNR          
*
        PULS    A               send sector
        JSR     SCHAR
        BCC     NRD_DNR          
*
* transfer 7256 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
  8      BCC     NWRITE2         
        INC     CHKSUM
NWRITE2 DECB         
        BNE     NWRITE1          
*
* compare checksums
        LDA     CHKSUM
        JSR     SCHAR           send checksum msb
        BCC     NRD_DNR
        LDA     CHKSUM+91
        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 la;st 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 controlA)
* 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 B(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
 C       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.
*
DDISFOS  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    LDEA 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
     F   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 G0,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
        CMPAH #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
      I  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  RJEADSC
        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
   K     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 Lnumber
        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 #01M 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
    N    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 goesO 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
*
        LDXP #$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
Q        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
     R   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       S 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 juTmps
*
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
UULMES1  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 MAVPIN
*
        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
      W  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
    X    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.
      Y  PULS B,PC
*
LRHEX   JSR  INTER
        BVS  LRHEX
        SUBA #$30                   Remove ascii bias.
        BMI  LRHEX
        CMPA #$09                   Number?
        BLE  LRHEX1                 Yes.
        CMPA #$11                   Keep Ztesting.
        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 OUT]PUT
*
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 ti`me.
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
        LaDB  #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   => erbrors
*
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 - LOcOK 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 OUTTERd
        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
*
XeSTBLK  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-ZFfLAG 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 Ngo 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 h     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  #ACKi
        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 LBjSR 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  'Foundk 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 clount 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 lomop 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, nnow 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  UPoBYTE  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+1p 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  q#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
        SrTX  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  sSYNCREG+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  UP   tBIT
        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 
umber
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 i
nput 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 m$asks
        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 D%ISK 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 L&DA 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 Driv)e 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 comman.d
        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
        JS/R     SCHAR
        BCC     NRD_DNR          
*
        PULS    A               send sector
        JSR     SCHAR
        BCC     NRD_DNR          
*
* transfer 256 bytes
        CLRB                    
NREAD1  JSR     RCHAR           read byte
      0  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     N1READ1          
*
* 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 2              
        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_DN3R 
        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  
 4       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 ch5ecksum
        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     SCHAR6
        BCC     NRD_DNR           
*
        PULS    A               send track
        JSR     SCHAR
        BCC     NRD_DNR          
*
        PULS    A               send sector
        JSR     SCHAR
        BCC     NRD_DNR          
*
* transfer 7256 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
  8      BCC     NWRITE2         
        INC     CHKSUM
NWRITE2 DECB         
        BNE     NWRITE1          
*
* compare checksums
        LDA     CHKSUM
        JSR     SCHAR           send checksum msb
        BCC     NRD_DNR
        LDA     CHKSUM+91
        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 la;st 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 controlA)
* 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 B(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
 C       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.
*
DDISFOS  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    LDEA 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
     F   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 G0,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
        CMPAH #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
      I  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  RJEADSC
        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
   K     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 Lnumber
        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 #01M 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
    N    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 goesO 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
*
        LDXP #$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
Q        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
     R   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       S 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 juTmps
*
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
UULMES1  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 MAVPIN
*
        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
      W  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
    X    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.
      Y  PULS B,PC
*
LRHEX   JSR  INTER
        BVS  LRHEX
        SUBA #$30                   Remove ascii bias.
        BMI  LRHEX
        CMPA #$09                   Number?
        BLE  LRHEX1                 Yes.
        CMPA #$11                   Keep Ztesting.
        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 OUT]PUT
*
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 ti`me.
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
        LaDB  #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   => erbrors
*
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 - LOcOK 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 OUTTERd
        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
*
XeSTBLK  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-ZFfLAG 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 Ngo 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 h     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  #ACKi
        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 LBjSR 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  'Foundk 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 clount 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 lomop 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, nnow 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  UPoBYTE  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+1p 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  q#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
        SrTX  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  sSYNCREG+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  UP   tBIT
        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 
uPRNT 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  JMPEXTv    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    wPRINT 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'   FORMATx 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
*
** 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
*               *
**************************
* 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.
READ  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.
WRITE  JMP  [WRIVEC]
*
* Verify sector routine.
* Entry: no parameters.
* Exit:  (B) = Error condition (Z)=1 if no error.
VERIFY  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.
RST  BSR  DRV 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.
DRV  PSHS  X,Y
  LDB  3,X  Get driver type.
  STB  DRIVE
  LDX  #DDSTAB
  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.
QUICK  JMP  [QUIVEC]
*
* Init (cold start).
* Entry: no parameters.
* Exit: no change.
DINIT  CLRA
DINIT1  STA  DRIVE  Init each valid drive in turn.
  LDX  #DRIVE-3
  BSR  DRV
  BCS  DINIT2
  JSR  [INIVEC]
DINIT2  LDA  DRIVE
  INCA
  CMPA         #4
  BNE  DINIT1
  RTS
*
* Warm start.
* Entry: no parameters.
* Exit: no change.
WARM  JMP  [WARVEC]
*
* Seek track.
* Entry: (A) = Track number.
*        (B) = Sector number.
* Exit:  (B) = Error condition, (Z)=1 if no error.
SEEK  JMP  [SEEVEC]
*
** 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
*
*
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 LAS T UPDATE: 22/12/2006
* Disk driver for RAM Disk.
*
* 14 SECTORS PER TRACK
* 16 * N TRACKS PER DISK
*
* ROM DISK OCCUPIES $10000 - $1E000 and $20000 - $2E000
* RAM DISK OCCUPIES $30000 - $3E000 ... $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
DRVR#DY 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   $30  DRIVE 1 
       FCB   $30  DRIVE 2 
       FCB   $30  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 '
uPRNT 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  JMPEXTv    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    wPRINT 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'   FORMATx 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
*
** 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
*               *
**************************
* 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.
READ  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.
WRITE  JMP  [WRIVEC]
*
* Verify sector routine.
* Entry: no parameters.
* Exit:  (B) = Error condition (Z)=1 if no error.
VERIFY  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.
RST  BSR  DRV 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.
DRV  PSHS  X,Y
  LDB  3,X  Get driver type.
  STB  DRIVE
  LDX  #DDSTAB
  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.
QUICK  JMP  [QUIVEC]
*
* Init (cold start).
* Entry: no parameters.
* Exit: no change.
DINIT  CLRA
DINIT1  STA  DRIVE  Init each valid drive in turn.
  LDX  #DRIVE-3
  BSR  DRV
  BCS  DINIT2
  JSR  [INIVEC]
DINIT2  LDA  DRIVE
  INCA
  CMPA         #4
  BNE  DINIT1
  RTS
*
* Warm start.
* Entry: no parameters.
* Exit: no change.
WARM  JMP  [WARVEC]
*
* Seek track.
* Entry: (A) = Track number.
*        (B) = Sector number.
* Exit:  (B) = Error condition, (Z)=1 if no error.
SEEK  JMP  [SEEVEC]
*
** 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
*
*
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 LAS T UPDATE: 22/12/2006
* Disk driver for RAM Disk.
*
* 14 SECTORS PER TRACK
* 16 * N TRACKS PER DISK
*
* ROM DISK OCCUPIES $10000 - $1E000 and $20000 - $2E000
* RAM DISK OCCUPIES $30000 - $3E000 ... $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
DRVR#DY 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   $30  DRIVE 1 
       FCB   $30  DRIVE 2 
       FCB   $30  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   DAT)REG+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     ; Se-ctor 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
*
** 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

2*
** 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 FC3B $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
4 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 ZC7579
*
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
 6LDA #$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
8*
** 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 *
M9ONTH 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 FC:B $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
< 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-monex.txt"
 END COLDS
>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                    MAONEXT  EQU  $F000  EXTENDED COMMANDS
0010                         *MONEXT  EQU  $1000  EXTENDED COMMANDS
0011                         *
0012                         ***************************************************
0013                         *   SYBS09BUG VARIABLE SPACE
0014                         ***************************************************
0015                         * 
0016 DFC0                    STACK   EQU  MONRAM+0  TOP OF INTERNAL STACK / USER VECTOR 
0017 DFC2                   C 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 D 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 SUPERVISORE 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             F         BPTBL   EQU  MONRAM+35 BREAKPOINT TABLE BASE ADDR 
0028                         **************************************************
0029                         *   VDU BYTES                                    *
0030                         *****G
 #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   DAT)REG+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     ; Se-ctor 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
*
** 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

2*
** 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 FC3B $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
4 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 ZC7579
*
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
 6LDA #$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
8*
** 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 *
M9ONTH 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 FC:B $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
< 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-monex.txt"
 END COLDS
>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                    MAONEXT  EQU  $F000  EXTENDED COMMANDS
0010                         *MONEXT  EQU  $1000  EXTENDED COMMANDS
0011                         *
0012                         ***************************************************
0013                         *   SYBS09BUG VARIABLE SPACE
0014                         ***************************************************
0015                         * 
0016 DFC0                    STACK   EQU  MONRAM+0  TOP OF INTERNAL STACK / USER VECTOR 
0017 DFC2                   C 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 D 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 SUPERVISORE 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             F         BPTBL   EQU  MONRAM+35 BREAKPOINT TABLE BASE ADDR 
0028                         **************************************************
0029                         *   VDU BYTES                                    *
0030                         *****G
*********************************************
0031                         *
0032                         **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
0033 DFFB                    COLADX  EQU  MONRAM+59 CURSOR COLUMN
0034 DFFC                    HROWADX  EQU  MONRAM+60 CURSOR ROW
0035                         **************************************************
0036                         *
0037 DFFD                    NEWROW  EQU  MONRAM+61 NEW ROW TEMP FOR ESCAPE
0038 DFFE                    ESICFLG  EQU  MONRAM+62 ESCAPE SEQUENCE ACTIVE
0039                         * 
0040                         ***************************************************
0041                         *   SERIAL PORT                                   *
0042          J
               ***************************************************
0043                         *
0044 E000                    ACIAS   EQU  MONIO+$00   CONTROL PORT 
0045                         * 
0046                         *************************K**************************
0047                         *   PS/2 KEYBOARD PORT                            *
0048                         ***************************************************
0049                         *
0050 E020                    PS2LKBD  EQU  MONIO+$20   PS/2 KEYBOARD PORT 
0051                         * 
0052                         ***************************************************
0053                         *   ADM3A DISPLAY DRIVER VARIABLES                *
0054            M             ***************************************************
0055                         *
0056                         ** VIDEO DISPLAY DEFINITIONS
0057                         *
0058 E030                    VDU     EQU  MONIO+$30
0059 0000      N              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
O0063 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                    P     * 
0068                         ***************************************************
0069                         * Serial PROM register
0070                         ***************************************************
0071                         *Q
0072                         ** CONFIGURATION PROM DEFINITIONS
0073                         *
0074 E0C0                    PROMREG EQU MONIO+$C0
0075 0001                    PCLKHI  EQU $01     Toggle PROM Clock High
0076 0000                    PCLKLRO  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 WordS
0080 FF00                    SYNCLO  EQU $FF00   Synch Pattern Low Word
0081                         *
0082                         * 
0083                         ***************************************************
0084                         * DynaTmic Address Translation Registers
0085                         ***************************************************
0086                         *
0087                         ** DAT Table
0088                         *
0089 FFF0                    IC11U    EQU  $FFF0  DAT RAM CHIP 
0090                         *
0091                         ***************************************************
0092                         *   START OF ROM                                  *
0093                         V***************************************************
0094                         *
0095 F800                    MONITV EQU MONROM+0  FDB MONITOR 
0096 F802                    NXTCMV EQU MONROM+2  FDB NEXTCMD 
0097 F804                    INCHV  EQU MONWROM+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 FXDB 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                Y          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 $CZ07F
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 J\MP 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 F] CB $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                 ZC71^!E 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 ZC73`#F
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 a$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               b%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 c&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      d'         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 [TOFVEe(C]
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    f)        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 C7g*94 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 ZCh+71D
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 C7ADi, 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          j-     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                         *k.
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 C7Dl/4 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                m0         *
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           n1 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 o2              BRA ZC7F6
0130                         *
0131 C800 7E CC E4           ZC800 JMP POUT
0132 C810                    ZC810 EQU $C810
0133 C838                    ZC838 EQU $C838
0004                          END
0000                         p3 INCLUDE "f9-sfcb.txt"
0001                         *
0002                         ** SYSTEM FILE CONTROL BLOCK
0003                         *
0004 C840                     ORG $C840
0005 C840 FF                 FCB FCB $FF
0006 C841 00                q4  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              r5    FCB $00
0005                          END
0000                          INCLUDE "f9-init.txt"
0001                         *
0002                         ** FLEX INITIATION
0003                         *
0004 CA00                     ORG $CA00
0005s6 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
t70011 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
u80017 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 >ZCDv94E+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 0Bw:               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 2x;B            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   y<            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 z=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            L}@DX #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~A
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 CBABE 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               C          
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               ANDCDC #$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"
       E   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                   F       END
0000                          INCLUDE "f9-var.txt"
0001                         *
0002                         ** TTYSET PARAMETERS
0003                         *
0004 CC00                     ORG $CC00
0005 CC00 08                 BSPCHR FCGB $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               H  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       I          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      J           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
K0029 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                L 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 00M                 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
004N6 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                    ZCC43O 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
P0056 CC4B                    ZCC4B EQU $CC4B
0057 CC4C                    ZCC4C EQU $CC4C
0058 CC4D                    ZCC4D EQU $CC4D
0007                          END
0000                          INCLUDE "f9-data.txt"
0001                         *
Q0002                         ** 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 "???R"
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             S     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 CC82T 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                      U   *
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
0028V 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 6W4               FDB 100
0035 CCA6 00 0A               FDB 10
0008                          END
0000                          INCLUDE "f9-cli.txt"
0001                         *********************************************
0002                         *
X0003                         * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
0004                         *
0005                         *********************************************
0006 CD00                     ORG $CD00
0007                         *
Y0008                         ** 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 >ZINCH
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 7[E 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 >O]UTDC1
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 CD^4B 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
004_1                         *
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 a           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 31b            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      c         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            JdSR >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 eLOOP
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 fCDBE 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 2g7 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  h         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
0102i                         *
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 CDjF3 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 CEk05 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     l          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 mZCE2A
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
0133n 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 oBD 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 CE40p 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 Eq2               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 LDXr #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
0s164 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 CE73t 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     u          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            JSRv >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]
0189w CE99 81 13               CMPA #'S-$40
0190 CE9B 12                  NOP
0191 CE9C 26 5C               BNE ZCEFA
0192 CE9E 7F CC 1A           ZCE9E CLR >CURLIN
0193 CEA1 AD 9F D3 E5        ZCEA1 JSR [ZD3E5]
0194 CEA5 81 11               CMPA #'Q-$40
01x95 CEA7 12                  NOP
0196 CEA8 27 50               BEQ ZCEFA
0197 CEAA 81 03               CMPA #$03 CTRL C
0198 CEAC 26 F3               BNE ZCEA1
0199 CEAE 7F CC 11            CLR >LASTRM
0200 CEB1 6E 9F CC 16         JMP [ESCVEC]
0201    y                     *
0202                         ** PRINT CR, LINEFEED
0203                         *
0204 CEB5 7D CC 21           PCRLF1 TST >SIOFLG
0205 CEB8 26 27               BNE ZCEE1
0206 CEBA 8D D4               BSR ZCE90
0207 CEBC B6 CC 03 z           LDA >DEPCNT
0208 CEBF 27 20               BEQ ZCEE1
0209 CEC1 B1 CC 1A            CMPA >CURLIN
0210 CEC4 22 18               BHI ZCEDE
0211 CEC6 7F CC 1A            CLR >CURLIN
0212 CEC9 7D CC 09            TST >PAUSE
0213 CECC 27 02        {       BEQ ZCED0
0214 CECE 8D CE               BSR ZCE9E
0215 CED0 34 04              ZCED0 PSHS B
0216 CED2 F6 CC 08            LDB >EJTCNT
0217 CED5 27 05               BEQ ZCEDC
0218 CED7 8D 08              ZCED7 BSR ZCEE1
0219 CED9 5A              |    DECB 
0220 CEDA 26 FB               BNE ZCED7
0221 CEDC 35 04              ZCEDC PULS B
0222 CEDE 7C CC 1A           ZCEDE INC >CURLIN
0223 CEE1 86 0D              ZCEE1 LDA #$0D
0224 CEE3 8D 5C               BSR PUTCH1
0225 CEE5 86 0A             }  LDA #$0A
0226 CEE7 8D 58               BSR PUTCH1
0227 CEE9 34 04               PSHS B
0228 CEEB F6 CC 05            LDB >NULCNT
0229 CEEE 27 06               BEQ ZCEF6
0230 CEF0 4F                 ZCEF0 CLRA 
0231 CEF1 8D 4E               BSR PUTCH1~
0232 CEF3 5A                  DECB 
0233 CEF4 26 FA               BNE ZCEF0
0234 CEF6 35 04              ZCEF6 PULS B
0235 CEF8 1C FE              ZCEF8 ANDCC #$FE
0236 CEFA 39                 ZCEFA RTS 
0237                         *
0238                         ** GET A CHARACTER HONOURING TTYSET
0239                         *
0240 CEFB 7D CC 23           GETCH1 TST >INPSWT
0241 CEFE 26 1A               BNE ZCF1A
0242 CF00 7D CC 26            TST >FIPADR
0243 CF03 27 10               BEQ ZCF15
0244 CF05 8D 1A               BSR ZCF21
0245 CF07 7D CC 2F            TST >FIEFLG
0246 CF0A 27 11               BEQ ZCF1D
0247 CF0C 7D CC 24            TST >FOPADR
0248 CF0F 27 0C               BEQ ZCF1D
0249 CF11 8D 53               BSR ZCF66
0250 CF13 20 08               BRA ZCF1D
0251 CF15 BD CD 09           ZCF15 JSR >INCH
0252 CF18 20 03               BRA ZCF1D
0253                         
0254 CF1A BD CD 0C           ZCF1A JSR >INCH2
0255 CF1D 7F CC 1A           ZCF1D CLR >CURLIN
0256 CF20 39                  RTS 
0257                         
0258 CF21 BF CC 47           ZCF21 STX >ZCC47
0259 CF24 BE CC 26            LDX >FIPADR
0260 CF27 20 06               BRA ZCF2F
0261                         
0262 CF29 BF CC 47           ZCF29 STX >ZCC47
0263 CF2C BE CC 24            LDX >FOPADR
0264 CF2F BD D4 06           ZCF2F JSR >FMS
0265 CF32 26 04               BNE ZCF38
0266 CF34 BE CC 47            LDX >ZCC47
0267 CF37 39                  RTS 
0268                         
0269 CF38 7F CC 24           ZCF38 CLR >FOPADR
0270 CF3B BD D2 7F            JSR >RPTER1
0271 CF3E 7E CD 03            JMP >WARMS
0272                         *
0273                         ** OUTPUT CHARACTER HONOURING TTYSET
0274                         *
0275 CF41 7D CC 21           PUTCH1 TST >SIOFLG
0276 CF44 26 20               BNE ZCF66
0277 CF46 81 1F               CMPA #$1F
0278 CF48 22 05               BHI ZCF4F
0279 CF4A 7F CC 29            CLR >CURCOL
0280 CF4D 20 17               BRA ZCF66
0281                         
0282 CF4F 7C CC 29           ZCF4F INC >CURCOL
0283 CF52 34 02               PSHS A
0284 CF54 B6 CC 04            LDA >WIDCNT
0285 CF57 27 0B               BEQ ZCF64
0286 CF59 B1 CC 29            CMPA >CURCOL
0287 CF5C 24 06               BCC ZCF64
0288 CF5E BD CE B5            JSR >PCRLF1
0289 CF61 7C CC 29            INC >CURCOL
0290 CF64 35 02              ZCF64 PULS A
0291 CF66 34 02              ZCF66 PSHS A
0292 CF68 7D CC 22            TST >OUTSWT
0293 CF6B 26 13               BNE ZCF80
0294 CF6D 7D CC 24            TST >FOPADR
0295 CF70 27 04               BEQ ZCF76
0296 CF72 8D B5               BSR ZCF29
0297 CF74 20 0D               BRA ZCF83
0298                         
0299 CF76 7D CC 26           ZCF76 TST >FIPADR
0300 CF79 26 08               BNE ZCF83
0301 CF7B BD CD 0F            JSR >OUTCH
0302 CF7E 20 03               BRA ZCF83
0303 CF80 BD CD 12           ZCF80 JSR >OUTCH2
0304 CF83 35 02              ZCF83 PULS A
0305 CF85 39                  RTS 
0306                         
0307 CF86 7F CC 4A           OUTDC1 CLR >ZCC4A
0308 CF89 F7 CC 1D            STB >TRNFLG
0309 CF8C 86 04               LDA #$04
0310 CF8E B7 CC 4D            STA >ZCC4D
0311 CF91 EC 84               LDD ,X
0312 CF93 8E CC A0            LDX #DECTBL
0313 CF96 8D 0B              ZCF96 BSR ZCFA3
0314 CF98 30 02               LEAX $02,X
0315 CF9A 7A CC 4D            DEC >ZCC4D
0316 CF9D 26 F7               BNE ZCF96
0317 CF9F 1F 98               TFR B,A
0318 CFA1 20 3D               BRA OUTHXR
0319                         
0320 CFA3 7F CC 4B           ZCFA3 CLR >ZCC4B
0321 CFA6 10 A3 84           ZCFA6 CMPD ,X
0322 CFA9 25 07               BCS ZCFB2
0323 CFAB A3 84               SUBD ,X
0324 CFAD 7C CC 4B            INC >ZCC4B
0325 CFB0 20 F4               BRA ZCFA6
0326                         
0327 CFB2 34 02              ZCFB2 PSHS A
0328 CFB4 B6 CC 4B            LDA >ZCC4B
0329 CFB7 26 10               BNE ZCFC9
0330 CFB9 7D CC 4A            TST >ZCC4A
0331 CFBC 26 0B               BNE ZCFC9
0332 CFBE 7D CC 1D            TST >TRNFLG
0333 CFC1 27 0B               BEQ ZCFCE
0334 CFC3 86 20               LDA #$20
0335 CFC5 8D 23               BSR ZCFEA
0336 CFC7 20 05               BRA ZCFCE
0337                         
0338 CFC9 7C CC 4A           ZCFC9 INC >ZCC4A
0339 CFCC 8D 12               BSR OUTHXR
0340 CFCE 35 82              ZCFCE PULS PC,A
0341                         *
0342                         ** DISPLAY HEX ADDRESS
0343                         *
0344 CFD0 8D 02              OUTAD1 BSR OUTHX1
0345 CFD2 30 01               LEAX $01,X
0346                         *
0347                         ** OUPUT HEX BYTE
0348                         *
0349 CFD4 A6 84              OUTHX1 LDA ,X
0350 CFD6 8D 04               BSR OUTHXL
0351 CFD8 A6 84               LDA ,X
0352 CFDA 20 04               BRA OUTHXR
0353                         
0354 CFDC 44                 OUTHXL LSRA
0355 CFDD 44                  LSRA 
0356 CFDE 44                  LSRA 
0357 CFDF 44                  LSRA 
0358 CFE0 84 0F              OUTHXR ANDA #$0F
0359 CFE2 8B 30               ADDA #$30
0360 CFE4 81 39               CMPA #$39
0361 CFE6 23 02               BLS ZCFEA
0362 CFE8 8B 07               ADDA #$07
0363 CFEA 7E CF 41           ZCFEA JMP >PUTCH1
0364                         *
0365                         ** CLASSIFY CHARACTER ALHA/NUMERIC
0366                         *
0367 CFED 81 30              CLASS1 CMPA #'0
0368 CFEF 25 14               BCS ZD005
0369 CFF1 81 39               CMPA #'9
0370 CFF3 23 16               BLS ZD00B
0371 CFF5 81 41               CMPA #'A
0372 CFF7 25 0C               BCS ZD005
0373 CFF9 81 5A               CMPA #'Z
0374 CFFB 23 0E               BLS ZD00B
0375 CFFD 81 61               CMPA #'a $61
0376 CFFF 25 04               BCS ZD005
0377 D001 81 7A               CMPA #'z $7A
0378 D003 23 06               BLS ZD00B
0379 D005 1A 01              ZD005 ORCC #$01
0380 D007 B7 CC 11            STA >LASTRM
0381 D00A 39                  RTS 
0382 D00B 1C FE              ZD00B ANDCC #$FE
0383 D00D 39                  RTS 
0384                         *
0385                         ** GET NEXT CHARACTER FROM FILE
0386                         *
0387 D00E 34 10              NXTCH1 PSHS X
0388 D010 BE CC 14            LDX >LINPTR
0389 D013 B6 CC 18            LDA >CURCHR
0390 D016 B7 CC 19            STA >PRVCHR
0391 D019 A6 80              ZD019 LDA ,X+
0392 D01B B7 CC 18            STA >CURCHR
0393 D01E 81 0D               CMPA #$0D
0394 D020 27 10               BEQ ZD032
0395 D022 B1 CC 02            CMPA >EOLCHR
0396 D025 27 0B               BEQ ZD032
0397 D027 BF CC 14            STX >LINPTR
0398 D02A 81 20               CMPA #$20
0399 D02C 26 04               BNE ZD032
0400 D02E A1 84               CMPA ,X
0401 D030 27 E7               BEQ ZD019
0402 D032 8D B9              ZD032 BSR CLASS1
0403 D034 35 90               PULS PC,X
0404                         *
0405                         ** PARSE FILE SPEC. IN LINE BUFFER
0406                         *
0407 D036 86 15              GETFL1 LDA #$15
0408 D038 A7 01               STA $01,X
0409 D03A 86 FF               LDA #$FF
0410 D03C A7 03               STA $03,X
0411 D03E 6F 04               CLR $04,X
0412 D040 6F 0C               CLR $0C,X
0413 D042 BD D0 D4            JSR >ZD0D4
0414 D045 86 08               LDA #$08
0415 D047 B7 CC 4B            STA >ZCC4B
0416 D04A 8D 34               BSR ZD080
0417 D04C 25 2E               BCS ZD07C
0418 D04E 26 0F               BNE ZD05F
0419 D050 8D 2E               BSR ZD080
0420 D052 25 28               BCS ZD07C
0421 D054 26 09               BNE ZD05F
0422 D056 BC CC 3F            CMPX >ZCC3F
0423 D059 27 6C               BEQ ZD0C7
0424 D05B 8D 23               BSR ZD080
0425 D05D 23 68               BLS ZD0C7
0426 D05F BE CC 3F           ZD05F LDX >ZCC3F
0427 D062 6D 04               TST $04,X
0428 D064 27 61               BEQ ZD0C7
0429 D066 6D 03               TST $03,X
0430 D068 2A 0F               BPL ZD079
0431 D06A 7D CC 0D            TST >ZCC0D
0432 D06D 27 05               BEQ ZD074
0433 D06F B6 CC 0B            LDA >SYSDRV
0434 D072 20 03               BRA ZD077
0435                         
0436 D074 B6 CC 0C           ZD074 LDA >WRKDRV
0437 D077 A7 03              ZD077 STA $03,X
0438 D079 7F CC 0D           ZD079 CLR >ZCC0D
0439 D07C BE CC 3F           ZD07C LDX >ZCC3F
0440 D07F 39                  RTS 
0441                         
0442 D080 8D 8C              ZD080 BSR NXTCH1
0443 D082 25 43               BCS ZD0C7
0444 D084 81 39               CMPA #$39
0445 D086 22 15               BHI ZD09D
0446 D088 BE CC 3F            LDX >ZCC3F
0447 D08B 6D 03               TST $03,X
0448 D08D 2A 38               BPL ZD0C7
0449 D08F 84 03               ANDA #$03
0450 D091 A7 03               STA $03,X
0451 D093 BD D0 0E            JSR >NXTCH1
0452 D096 24 2F               BCC ZD0C7
0453 D098 81 2E              ZD098 CMPA #$2E
0454 D09A 1C FE               ANDCC #$FE
0455 D09C 39                  RTS 
0456                         
0457 D09D F6 CC 4B           ZD09D LDB >ZCC4B
0458 D0A0 2B 25               BMI ZD0C7
0459 D0A2 34 04               PSHS B
0460 D0A4 C0 05               SUBB #$05
0461 D0A6 F7 CC 4B            STB >ZCC4B
0462 D0A9 35 04               PULS B
0463 D0AB B1 CC 49           ZD0AB CMPA >MAPUP
0464 D0AE 25 02               BCS ZD0B2
0465 D0B0 80 20               SUBA #$20
0466 D0B2 A7 04              ZD0B2 STA $04,X
0467 D0B4 30 01               LEAX $01,X
0468 D0B6 5A                  DECB 
0469 D0B7 BD D0 0E            JSR >NXTCH1
0470 D0BA 24 08               BCC ZD0C4
0471 D0BC 81 2D               CMPA #$2D
0472 D0BE 27 04               BEQ ZD0C4
0473 D0C0 81 5F               CMPA #$5F
0474 D0C2 26 06               BNE ZD0CA
0475 D0C4 5D                 ZD0C4 TSTB 
0476 D0C5 26 E4               BNE ZD0AB
0477 D0C7 1A 01              ZD0C7 ORCC #$01
0478 D0C9 39                  RTS 
0479                         
0480 D0CA 5D                 ZD0CA TSTB 
0481 D0CB 27 CB               BEQ ZD098
0482 D0CD 6F 04               CLR $04,X
0483 D0CF 30 01               LEAX $01,X
0484 D0D1 5A                  DECB 
0485 D0D2 20 F6               BRA ZD0CA
0486                         
0487 D0D4 BF CC 3F           ZD0D4 STX >ZCC3F
0488 D0D7 BE CC 14            LDX >LINPTR
0489 D0DA A6 84              ZD0DA LDA ,X
0490 D0DC 81 20               CMPA #$20
0491 D0DE 26 04               BNE ZD0E4
0492 D0E0 30 01               LEAX $01,X
0493 D0E2 20 F6               BRA ZD0DA
0494 D0E4 BF CC 14           ZD0E4 STX >LINPTR
0495 D0E7 BE CC 3F            LDX >ZCC3F
0496 D0EA 39                  RTS 
0497                         *
0498                         ** DEFAULT FILE EXTENSION
0499                         *
0500 D0EB 34 30              SETEX1 PSHS Y,X
0501 D0ED E6 0C               LDB $0C,X
0502 D0EF 26 18               BNE ZD109
0503 D0F1 10 8E D1 0B         LDY #EXTTBL
0504 D0F5 81 0B               CMPA #$0B
0505 D0F7 22 10               BHI ZD109
0506 D0F9 C6 03               LDB #$03
0507 D0FB 3D                  MUL 
0508 D0FC 31 A5               LEAY B,Y
0509 D0FE C6 03               LDB #$03
0510 D100 A6 A0              ZD100 LDA ,Y+
0511 D102 A7 0C               STA $0C,X
0512 D104 30 01               LEAX $01,X
0513 D106 5A                  DECB 
0514 D107 26 F7               BNE ZD100
0515 D109 35 B0              ZD109 PULS PC,Y,X
0516                         *
0517                         ** STANDARD FILE NAME EXTTENSIONS
0518                         *
0519 D10B 42 49 4E           EXTTBL FCC "BIN"
0520 D10E 54 58 54            FCC "TXT"
0521 D111 43 4D 44            FCC "CMD"
0522 D114 42 41 53            FCC "BAS"
0523 D117 53 59 53            FCC "SYS"
0524 D11A 42 41 4B            FCC "BAK"
0525 D11D 53 43 52            FCC "SCR"
0526 D120 44 41 54            FCC "DAT"
0527 D123 42 41 43            FCC "BAC"
0528 D126 44 49 52            FCC "DIR"
0529 D129 50 52 54            FCC "PRT"
0530 D12C 4F 55 54            FCC "OUT"
0531                         *
0532                         ** READ A HEX ADDRESS FROM THE LINE BUFFER
0533                         *
0534 D12F BD D2 1E           GETHX1 JSR >ZD21E
0535 D132 BD D0 0E           ZD132 JSR >NXTCH1
0536 D135 25 22               BCS ZD159
0537 D137 8D 26               BSR ZD15F
0538 D139 25 18               BCS ZD153
0539 D13B 34 04               PSHS B
0540 D13D C6 04               LDB #$04
0541 D13F 78 CC 1C           ZD13F ASL >LODOFF+1
0542 D142 79 CC 1B            ROL >LODOFF
0543 D145 5A                  DECB 
0544 D146 26 F7               BNE ZD13F
0545 D148 35 04               PULS B
0546 D14A BB CC 1C            ADDA >LODOFF+1
0547 D14D B7 CC 1C            STA >LODOFF+1
0548 D150 5C                  INCB 
0549 D151 20 DF               BRA ZD132
0550                         
0551 D153 BD D0 0E           ZD153 JSR >NXTCH1
0552 D156 24 FB               BCC ZD153
0553 D158 39                  RTS 
0554                         
0555 D159 BE CC 1B           ZD159 LDX >LODOFF
0556 D15C 1C FE               ANDCC #$FE
0557 D15E 39                  RTS 
0558                         
0559 D15F 80 47              ZD15F SUBA #$47
0560 D161 2A 0F               BPL ZD172
0561 D163 8B 06               ADDA #$06
0562 D165 2A 04               BPL ZD16B
0563 D167 8B 07               ADDA #$07
0564 D169 2A 07               BPL ZD172
0565 D16B 8B 0A              ZD16B ADDA #$0A
0566 D16D 2B 03               BMI ZD172
0567 D16F 1C FE               ANDCC #$FE
0568 D171 39                  RTS 
0569                         
0570 D172 1A 01              ZD172 ORCC #$01
0571 D174 39                  RTS 
0572                         
0573 D175 BD D2 1E           INDEC1 JSR >ZD21E
0574 D178 BD D0 0E           ZD178 JSR >NXTCH1
0575 D17B 25 DC               BCS ZD159
0576 D17D 81 39               CMPA #$39
0577 D17F 22 D2               BHI ZD153
0578 D181 84 0F               ANDA #$0F
0579 D183 34 04               PSHS B
0580 D185 34 02               PSHS A
0581 D187 FC CC 1B            LDD >LODOFF
0582 D18A 58                  ASLB 
0583 D18B 49                  ROLA 
0584 D18C 58                  ASLB 
0585 D18D 49                  ROLA 
0586 D18E 58                  ASLB 
0587 D18F 49                  ROLA 
0588 D190 F3 CC 1B            ADDD >LODOFF
0589 D193 F3 CC 1B            ADDD >LODOFF
0590 D196 EB E0               ADDB ,S+
0591 D198 89 00               ADCA #$00
0592 D19A FD CC 1B            STD >LODOFF
0593 D19D 35 04               PULS B
0594 D19F 5C                  INCB 
0595 D1A0 20 D6               BRA ZD178
0596                         *
0597                         ** LOAD BINARY FILE
0598                         *
0599 D1A2 7F CC 1D           LOAD1 CLR >TRNFLG
0600 D1A5 8D 3D              ZD1A5 BSR ZD1E4
0601 D1A7 81 02               CMPA #$02
0602 D1A9 27 15               BEQ ZD1C0
0603 D1AB 81 16               CMPA #$16
0604 D1AD 26 F6               BNE ZD1A5
0605 D1AF 8D 33               BSR ZD1E4
0606 D1B1 B7 CC 1E            STA >TRNVEC
0607 D1B4 8D 2E               BSR ZD1E4
0608 D1B6 B7 CC 1F            STA >TRNVEC+1
0609 D1B9 86 01               LDA #$01
0610 D1BB B7 CC 1D            STA >TRNFLG
0611 D1BE 20 E5               BRA ZD1A5
0612                         
0613 D1C0 8D 22              ZD1C0 BSR ZD1E4
0614 D1C2 1F 89               TFR A,B
0615 D1C4 8D 1E               BSR ZD1E4
0616 D1C6 1E 89               EXG A,B
0617 D1C8 F3 CC 1B            ADDD >LODOFF
0618 D1CB FD CC 3D            STD >ZCC3D
0619 D1CE 8D 14               BSR ZD1E4
0620 D1D0 1F 89               TFR A,B
0621 D1D2 4D                  TSTA 
0622 D1D3 27 D0               BEQ ZD1A5
0623 D1D5 8D 0D              ZD1D5 BSR ZD1E4
0624 D1D7 BE CC 3D            LDX >ZCC3D
0625 D1DA A7 80               STA ,X+
0626 D1DC BF CC 3D            STX >ZCC3D
0627 D1DF 5A                  DECB 
0628 D1E0 26 F3               BNE ZD1D5
0629 D1E2 20 C1               BRA ZD1A5
0630                         
0631 D1E4 8E C8 40           ZD1E4 LDX #FCB
0632 D1E7 BD D4 06            JSR >FMS
0633 D1EA 27 11               BEQ ZD1FD
0634 D1EC A6 01               LDA $01,X
0635 D1EE 81 08               CMPA #$08
0636 D1F0 26 0E               BNE ZD200
0637 D1F2 32 62               LEAS $02,S
0638 D1F4 86 04              ZD1F4 LDA #$04
0639 D1F6 A7 84               STA ,X
0640 D1F8 BD D4 06            JSR >FMS
0641 D1FB 26 0D               BNE ZD20A
0642 D1FD 1C FE              ZD1FD ANDCC #$FE
0643 D1FF 39                  RTS 
0644                         
0645 D200 B7 CC 20           ZD200 STA >ERRTYP
0646 D203 81 04               CMPA #$04
0647 D205 26 03               BNE ZD20A
0648 D207 1A 01               ORCC #$01
0649 D209 39                  RTS 
0650                         
0651 D20A 8D 73              ZD20A BSR RPTER1
0652 D20C 7E CD E4            JMP >ZCDE4
0653                         *
0654                         ** 'GET' - LOAD BINARY FILE
0655                         *
0656 D20F 86 00              GETCMD LDA #$00
0657 D211 8D 35               BSR ZD248
0658 D213 25 0F               BCS ZD224
0659 D215 8D 07               BSR ZD21E
0660 D217 7C CC 4C            INC >ZCC4C
0661 D21A 8D 86               BSR LOAD1
0662 D21C 20 F1               BRA GETCMD
0663                         
0664 D21E 4F                 ZD21E CLRA 
0665 D21F 5F                  CLRB 
0666 D220 FD CC 1B            STD >LODOFF
0667 D223 39                  RTS 
0668                         
0669 D224 F6 CC 4C           ZD224 LDB >ZCC4C
0670 D227 10 27 FB AE         LBEQ ZCDD9
0671 D22B 7E CD 03            JMP >WARMS
0672                         
0673 D22E 86 02              ZD22E LDA #$02
0674 D230 8D 22               BSR ZD254
0675 D232 8D EA               BSR ZD21E
0676 D234 BD D1 A2            JSR >LOAD1
0677 D237 F6 CC 1D            LDB >TRNFLG
0678 D23A 27 04               BEQ ZD240
0679 D23C 6E 9F CC 1E         JMP [TRNVEC]
0680                         
0681 D240 8E CC 5C           ZD240 LDX #NTRMSG
0682 D243 86 81               LDA #$81
0683 D245 7E CD DE            JMP >ZCDDE
0684                         
0685 D248 34 02              ZD248 PSHS A
0686 D24A 8E C8 40            LDX #FCB
0687 D24D BD D0 36            JSR >GETFL1
0688 D250 35 02               PULS A
0689 D252 25 1A               BCS ZD26E
0690 D254 8E C8 40           ZD254 LDX #FCB
0691 D257 BD D0 EB            JSR >SETEX1
0692 D25A 8E C8 40            LDX #FCB
0693 D25D 86 01               LDA #$01
0694 D25F A7 84               STA ,X
0695 D261 BD D1 E4            JSR >ZD1E4
0696 D264 10 25 00 BB         LBCS ZD323
0697 D268 86 FF               LDA #$FF
0698 D26A A7 88 3B            STA $3B,X
0699 D26D 39                  RTS 
0700                         
0701 D26E B6 CC 11           ZD26E LDA >LASTRM
0702 D271 81 0D               CMPA #$0D
0703 D273 27 07               BEQ ZD27C
0704 D275 B1 CC 02            CMPA >EOLCHR
0705 D278 10 26 FB 5D         LBNE ZCDD9
0706 D27C 1A 01              ZD27C ORCC #$01
0707 D27E 39                  RTS 
0708                         
0709 D27F 34 30              RPTER1 PSHS Y,X
0710 D281 A6 01               LDA $01,X
0711 D283 B7 CC 20            STA >ERRTYP
0712 D286 27 63               BEQ ZD2EB
0713 D288 BD CD EA            JSR >RSTIO1
0714 D28B 10 BE CC 2D         LDY >ERRVEC
0715 D28F 26 08                    BNE ZD299
0716 D291 81 10               CMPA #$10
0717 D293 27 58               BEQ ZD2ED
0718 D295 10 8E D3 61         LDY #ZD361
0719 D299 8E C8 40           ZD299 LDX #FCB
0720 D29C 6D 02               TST $02,X
0721 D29E 27 09               
*********************************************
0031                         *
0032                         **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
0033 DFFB                    COLADX  EQU  MONRAM+59 CURSOR COLUMN
0034 DFFC                    HROWADX  EQU  MONRAM+60 CURSOR ROW
0035                         **************************************************
0036                         *
0037 DFFD                    NEWROW  EQU  MONRAM+61 NEW ROW TEMP FOR ESCAPE
0038 DFFE                    ESICFLG  EQU  MONRAM+62 ESCAPE SEQUENCE ACTIVE
0039                         * 
0040                         ***************************************************
0041                         *   SERIAL PORT                                   *
0042          J
               ***************************************************
0043                         *
0044 E000                    ACIAS   EQU  MONIO+$00   CONTROL PORT 
0045                         * 
0046                         *************************K**************************
0047                         *   PS/2 KEYBOARD PORT                            *
0048                         ***************************************************
0049                         *
0050 E020                    PS2LKBD  EQU  MONIO+$20   PS/2 KEYBOARD PORT 
0051                         * 
0052                         ***************************************************
0053                         *   ADM3A DISPLAY DRIVER VARIABLES                *
0054            M             ***************************************************
0055                         *
0056                         ** VIDEO DISPLAY DEFINITIONS
0057                         *
0058 E030                    VDU     EQU  MONIO+$30
0059 0000      N              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
O0063 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                    P     * 
0068                         ***************************************************
0069                         * Serial PROM register
0070                         ***************************************************
0071                         *Q
0072                         ** CONFIGURATION PROM DEFINITIONS
0073                         *
0074 E0C0                    PROMREG EQU MONIO+$C0
0075 0001                    PCLKHI  EQU $01     Toggle PROM Clock High
0076 0000                    PCLKLRO  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 WordS
0080 FF00                    SYNCLO  EQU $FF00   Synch Pattern Low Word
0081                         *
0082                         * 
0083                         ***************************************************
0084                         * DynaTmic Address Translation Registers
0085                         ***************************************************
0086                         *
0087                         ** DAT Table
0088                         *
0089 FFF0                    IC11U    EQU  $FFF0  DAT RAM CHIP 
0090                         *
0091                         ***************************************************
0092                         *   START OF ROM                                  *
0093                         V***************************************************
0094                         *
0095 F800                    MONITV EQU MONROM+0  FDB MONITOR 
0096 F802                    NXTCMV EQU MONROM+2  FDB NEXTCMD 
0097 F804                    INCHV  EQU MONWROM+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 FXDB 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                Y          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 $CZ07F
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 J\MP 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 F] CB $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                 ZC71^!E 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 ZC73`#F
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 a$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               b%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 c&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      d'         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 [TOFVEe(C]
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    f)        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 C7g*94 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 ZCh+71D
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 C7ADi, 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          j-     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                         *k.
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 C7Dl/4 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                m0         *
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           n1 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 o2              BRA ZC7F6
0130                         *
0131 C800 7E CC E4           ZC800 JMP POUT
0132 C810                    ZC810 EQU $C810
0133 C838                    ZC838 EQU $C838
0004                          END
0000                         p3 INCLUDE "f9-sfcb.txt"
0001                         *
0002                         ** SYSTEM FILE CONTROL BLOCK
0003                         *
0004 C840                     ORG $C840
0005 C840 FF                 FCB FCB $FF
0006 C841 00                q4  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              r5    FCB $00
0005                          END
0000                          INCLUDE "f9-init.txt"
0001                         *
0002                         ** FLEX INITIATION
0003                         *
0004 CA00                     ORG $CA00
0005s6 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
t70011 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
u80017 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 >ZCDv94E+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 0Bw:               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 2x;B            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   y<            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 z=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            L}@DX #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~A
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 CBABE 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               C          
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               ANDCDC #$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"
       E   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                   F       END
0000                          INCLUDE "f9-var.txt"
0001                         *
0002                         ** TTYSET PARAMETERS
0003                         *
0004 CC00                     ORG $CC00
0005 CC00 08                 BSPCHR FCGB $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               H  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       I          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      J           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
K0029 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                L 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 00M                 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
004N6 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                    ZCC43O 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
P0056 CC4B                    ZCC4B EQU $CC4B
0057 CC4C                    ZCC4C EQU $CC4C
0058 CC4D                    ZCC4D EQU $CC4D
0007                          END
0000                          INCLUDE "f9-data.txt"
0001                         *
Q0002                         ** 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 "???R"
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             S     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 CC82T 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                      U   *
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
0028V 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 6W4               FDB 100
0035 CCA6 00 0A               FDB 10
0008                          END
0000                          INCLUDE "f9-cli.txt"
0001                         *********************************************
0002                         *
X0003                         * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
0004                         *
0005                         *********************************************
0006 CD00                     ORG $CD00
0007                         *
Y0008                         ** 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 >ZINCH
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 7[E 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 >O]UTDC1
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 CD^4B 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
004_1                         *
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 a           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 31b            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      c         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            JdSR >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 eLOOP
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 fCDBE 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 2g7 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  h         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
0102i                         *
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 CDjF3 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 CEk05 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     l          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 mZCE2A
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
0133n 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 oBD 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 CE40p 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 Eq2               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 LDXr #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
0s164 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 CE73t 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     u          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            JSRv >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]
0189w CE99 81 13               CMPA #'S-$40
0190 CE9B 12                  NOP
0191 CE9C 26 5C               BNE ZCEFA
0192 CE9E 7F CC 1A           ZCE9E CLR >CURLIN
0193 CEA1 AD 9F D3 E5        ZCEA1 JSR [ZD3E5]
0194 CEA5 81 11               CMPA #'Q-$40
01x95 CEA7 12                  NOP
0196 CEA8 27 50               BEQ ZCEFA
0197 CEAA 81 03               CMPA #$03 CTRL C
0198 CEAC 26 F3               BNE ZCEA1
0199 CEAE 7F CC 11            CLR >LASTRM
0200 CEB1 6E 9F CC 16         JMP [ESCVEC]
0201    y                     *
0202                         ** PRINT CR, LINEFEED
0203                         *
0204 CEB5 7D CC 21           PCRLF1 TST >SIOFLG
0205 CEB8 26 27               BNE ZCEE1
0206 CEBA 8D D4               BSR ZCE90
0207 CEBC B6 CC 03 z           LDA >DEPCNT
0208 CEBF 27 20               BEQ ZCEE1
0209 CEC1 B1 CC 1A            CMPA >CURLIN
0210 CEC4 22 18               BHI ZCEDE
0211 CEC6 7F CC 1A            CLR >CURLIN
0212 CEC9 7D CC 09            TST >PAUSE
0213 CECC 27 02        {       BEQ ZCED0
0214 CECE 8D CE               BSR ZCE9E
0215 CED0 34 04              ZCED0 PSHS B
0216 CED2 F6 CC 08            LDB >EJTCNT
0217 CED5 27 05               BEQ ZCEDC
0218 CED7 8D 08              ZCED7 BSR ZCEE1
0219 CED9 5A              |    DECB 
0220 CEDA 26 FB               BNE ZCED7
0221 CEDC 35 04              ZCEDC PULS B
0222 CEDE 7C CC 1A           ZCEDE INC >CURLIN
0223 CEE1 86 0D              ZCEE1 LDA #$0D
0224 CEE3 8D 5C               BSR PUTCH1
0225 CEE5 86 0A             }  LDA #$0A
0226 CEE7 8D 58               BSR PUTCH1
0227 CEE9 34 04               PSHS B
0228 CEEB F6 CC 05            LDB >NULCNT
0229 CEEE 27 06               BEQ ZCEF6
0230 CEF0 4F                 ZCEF0 CLRA 
0231 CEF1 8D 4E               BSR PUTCH1~
0232 CEF3 5A                  DECB 
0233 CEF4 26 FA               BNE ZCEF0
0234 CEF6 35 04              ZCEF6 PULS B
0235 CEF8 1C FE              ZCEF8 ANDCC #$FE
0236 CEFA 39                 ZCEFA RTS 
0237                         *
0238                         ** GET A CHARACTER HONOURING TTYSET
0239                         *
0240 CEFB 7D CC 23           GETCH1 TST >INPSWT
0241 CEFE 26 1A               BNE ZCF1A
0242 CF00 7D CC 26            TST >FIPADR
0243 CF03 27 10               BEQ ZCF15
0244 CF05 8D 1A               BSR ZCF21
0245 CF07 7D CC 2F            TST >FIEFLG
0246 CF0A 27 11               BEQ ZCF1D
0247 CF0C 7D CC 24            TST >FOPADR
0248 CF0F 27 0C               BEQ ZCF1D
0249 CF11 8D 53               BSR ZCF66
0250 CF13 20 08               BRA ZCF1D
0251 CF15 BD CD 09           ZCF15 JSR >INCH
0252 CF18 20 03               BRA ZCF1D
0253                         
0254 CF1A BD CD 0C           ZCF1A JSR >INCH2
0255 CF1D 7F CC 1A           ZCF1D CLR >CURLIN
0256 CF20 39                  RTS 
0257                         
0258 CF21 BF CC 47           ZCF21 STX >ZCC47
0259 CF24 BE CC 26            LDX >FIPADR
0260 CF27 20 06               BRA ZCF2F
0261                         
0262 CF29 BF CC 47           ZCF29 STX >ZCC47
0263 CF2C BE CC 24            LDX >FOPADR
0264 CF2F BD D4 06           ZCF2F JSR >FMS
0265 CF32 26 04               BNE ZCF38
0266 CF34 BE CC 47            LDX >ZCC47
0267 CF37 39                  RTS 
0268                         
0269 CF38 7F CC 24           ZCF38 CLR >FOPADR
0270 CF3B BD D2 7F            JSR >RPTER1
0271 CF3E 7E CD 03            JMP >WARMS
0272                         *
0273                         ** OUTPUT CHARACTER HONOURING TTYSET
0274                         *
0275 CF41 7D CC 21           PUTCH1 TST >SIOFLG
0276 CF44 26 20               BNE ZCF66
0277 CF46 81 1F               CMPA #$1F
0278 CF48 22 05               BHI ZCF4F
0279 CF4A 7F CC 29            CLR >CURCOL
0280 CF4D 20 17               BRA ZCF66
0281                         
0282 CF4F 7C CC 29           ZCF4F INC >CURCOL
0283 CF52 34 02               PSHS A
0284 CF54 B6 CC 04            LDA >WIDCNT
0285 CF57 27 0B               BEQ ZCF64
0286 CF59 B1 CC 29            CMPA >CURCOL
0287 CF5C 24 06               BCC ZCF64
0288 CF5E BD CE B5            JSR >PCRLF1
0289 CF61 7C CC 29            INC >CURCOL
0290 CF64 35 02              ZCF64 PULS A
0291 CF66 34 02              ZCF66 PSHS A
0292 CF68 7D CC 22            TST >OUTSWT
0293 CF6B 26 13               BNE ZCF80
0294 CF6D 7D CC 24            TST >FOPADR
0295 CF70 27 04               BEQ ZCF76
0296 CF72 8D B5               BSR ZCF29
0297 CF74 20 0D               BRA ZCF83
0298                         
0299 CF76 7D CC 26           ZCF76 TST >FIPADR
0300 CF79 26 08               BNE ZCF83
0301 CF7B BD CD 0F            JSR >OUTCH
0302 CF7E 20 03               BRA ZCF83
0303 CF80 BD CD 12           ZCF80 JSR >OUTCH2
0304 CF83 35 02              ZCF83 PULS A
0305 CF85 39                  RTS 
0306                         
0307 CF86 7F CC 4A           OUTDC1 CLR >ZCC4A
0308 CF89 F7 CC 1D            STB >TRNFLG
0309 CF8C 86 04               LDA #$04
0310 CF8E B7 CC 4D            STA >ZCC4D
0311 CF91 EC 84               LDD ,X
0312 CF93 8E CC A0            LDX #DECTBL
0313 CF96 8D 0B              ZCF96 BSR ZCFA3
0314 CF98 30 02               LEAX $02,X
0315 CF9A 7A CC 4D            DEC >ZCC4D
0316 CF9D 26 F7               BNE ZCF96
0317 CF9F 1F 98               TFR B,A
0318 CFA1 20 3D               BRA OUTHXR
0319                         
0320 CFA3 7F CC 4B           ZCFA3 CLR >ZCC4B
0321 CFA6 10 A3 84           ZCFA6 CMPD ,X
0322 CFA9 25 07               BCS ZCFB2
0323 CFAB A3 84               SUBD ,X
0324 CFAD 7C CC 4B            INC >ZCC4B
0325 CFB0 20 F4               BRA ZCFA6
0326                         
0327 CFB2 34 02              ZCFB2 PSHS A
0328 CFB4 B6 CC 4B            LDA >ZCC4B
0329 CFB7 26 10               BNE ZCFC9
0330 CFB9 7D CC 4A            TST >ZCC4A
0331 CFBC 26 0B               BNE ZCFC9
0332 CFBE 7D CC 1D            TST >TRNFLG
0333 CFC1 27 0B               BEQ ZCFCE
0334 CFC3 86 20               LDA #$20
0335 CFC5 8D 23               BSR ZCFEA
0336 CFC7 20 05               BRA ZCFCE
0337                         
0338 CFC9 7C CC 4A           ZCFC9 INC >ZCC4A
0339 CFCC 8D 12               BSR OUTHXR
0340 CFCE 35 82              ZCFCE PULS PC,A
0341                         *
0342                         ** DISPLAY HEX ADDRESS
0343                         *
0344 CFD0 8D 02              OUTAD1 BSR OUTHX1
0345 CFD2 30 01               LEAX $01,X
0346                         *
0347                         ** OUPUT HEX BYTE
0348                         *
0349 CFD4 A6 84              OUTHX1 LDA ,X
0350 CFD6 8D 04               BSR OUTHXL
0351 CFD8 A6 84               LDA ,X
0352 CFDA 20 04               BRA OUTHXR
0353                         
0354 CFDC 44                 OUTHXL LSRA
0355 CFDD 44                  LSRA 
0356 CFDE 44                  LSRA 
0357 CFDF 44                  LSRA 
0358 CFE0 84 0F              OUTHXR ANDA #$0F
0359 CFE2 8B 30               ADDA #$30
0360 CFE4 81 39               CMPA #$39
0361 CFE6 23 02               BLS ZCFEA
0362 CFE8 8B 07               ADDA #$07
0363 CFEA 7E CF 41           ZCFEA JMP >PUTCH1
0364                         *
0365                         ** CLASSIFY CHARACTER ALHA/NUMERIC
0366                         *
0367 CFED 81 30              CLASS1 CMPA #'0
0368 CFEF 25 14               BCS ZD005
0369 CFF1 81 39               CMPA #'9
0370 CFF3 23 16               BLS ZD00B
0371 CFF5 81 41               CMPA #'A
0372 CFF7 25 0C               BCS ZD005
0373 CFF9 81 5A               CMPA #'Z
0374 CFFB 23 0E               BLS ZD00B
0375 CFFD 81 61               CMPA #'a $61
0376 CFFF 25 04               BCS ZD005
0377 D001 81 7A               CMPA #'z $7A
0378 D003 23 06               BLS ZD00B
0379 D005 1A 01              ZD005 ORCC #$01
0380 D007 B7 CC 11            STA >LASTRM
0381 D00A 39                  RTS 
0382 D00B 1C FE              ZD00B ANDCC #$FE
0383 D00D 39                  RTS 
0384                         *
0385                         ** GET NEXT CHARACTER FROM FILE
0386                         *
0387 D00E 34 10              NXTCH1 PSHS X
0388 D010 BE CC 14            LDX >LINPTR
0389 D013 B6 CC 18            LDA >CURCHR
0390 D016 B7 CC 19            STA >PRVCHR
0391 D019 A6 80              ZD019 LDA ,X+
0392 D01B B7 CC 18            STA >CURCHR
0393 D01E 81 0D               CMPA #$0D
0394 D020 27 10               BEQ ZD032
0395 D022 B1 CC 02            CMPA >EOLCHR
0396 D025 27 0B               BEQ ZD032
0397 D027 BF CC 14            STX >LINPTR
0398 D02A 81 20               CMPA #$20
0399 D02C 26 04               BNE ZD032
0400 D02E A1 84               CMPA ,X
0401 D030 27 E7               BEQ ZD019
0402 D032 8D B9              ZD032 BSR CLASS1
0403 D034 35 90               PULS PC,X
0404                         *
0405                         ** PARSE FILE SPEC. IN LINE BUFFER
0406                         *
0407 D036 86 15              GETFL1 LDA #$15
0408 D038 A7 01               STA $01,X
0409 D03A 86 FF               LDA #$FF
0410 D03C A7 03               STA $03,X
0411 D03E 6F 04               CLR $04,X
0412 D040 6F 0C               CLR $0C,X
0413 D042 BD D0 D4            JSR >ZD0D4
0414 D045 86 08               LDA #$08
0415 D047 B7 CC 4B            STA >ZCC4B
0416 D04A 8D 34               BSR ZD080
0417 D04C 25 2E               BCS ZD07C
0418 D04E 26 0F               BNE ZD05F
0419 D050 8D 2E               BSR ZD080
0420 D052 25 28               BCS ZD07C
0421 D054 26 09               BNE ZD05F
0422 D056 BC CC 3F            CMPX >ZCC3F
0423 D059 27 6C               BEQ ZD0C7
0424 D05B 8D 23               BSR ZD080
0425 D05D 23 68               BLS ZD0C7
0426 D05F BE CC 3F           ZD05F LDX >ZCC3F
0427 D062 6D 04               TST $04,X
0428 D064 27 61               BEQ ZD0C7
0429 D066 6D 03               TST $03,X
0430 D068 2A 0F               BPL ZD079
0431 D06A 7D CC 0D            TST >ZCC0D
0432 D06D 27 05               BEQ ZD074
0433 D06F B6 CC 0B            LDA >SYSDRV
0434 D072 20 03               BRA ZD077
0435                         
0436 D074 B6 CC 0C           ZD074 LDA >WRKDRV
0437 D077 A7 03              ZD077 STA $03,X
0438 D079 7F CC 0D           ZD079 CLR >ZCC0D
0439 D07C BE CC 3F           ZD07C LDX >ZCC3F
0440 D07F 39                  RTS 
0441                         
0442 D080 8D 8C              ZD080 BSR NXTCH1
0443 D082 25 43               BCS ZD0C7
0444 D084 81 39               CMPA #$39
0445 D086 22 15               BHI ZD09D
0446 D088 BE CC 3F            LDX >ZCC3F
0447 D08B 6D 03               TST $03,X
0448 D08D 2A 38               BPL ZD0C7
0449 D08F 84 03               ANDA #$03
0450 D091 A7 03               STA $03,X
0451 D093 BD D0 0E            JSR >NXTCH1
0452 D096 24 2F               BCC ZD0C7
0453 D098 81 2E              ZD098 CMPA #$2E
0454 D09A 1C FE               ANDCC #$FE
0455 D09C 39                  RTS 
0456                         
0457 D09D F6 CC 4B           ZD09D LDB >ZCC4B
0458 D0A0 2B 25               BMI ZD0C7
0459 D0A2 34 04               PSHS B
0460 D0A4 C0 05               SUBB #$05
0461 D0A6 F7 CC 4B            STB >ZCC4B
0462 D0A9 35 04               PULS B
0463 D0AB B1 CC 49           ZD0AB CMPA >MAPUP
0464 D0AE 25 02               BCS ZD0B2
0465 D0B0 80 20               SUBA #$20
0466 D0B2 A7 04              ZD0B2 STA $04,X
0467 D0B4 30 01               LEAX $01,X
0468 D0B6 5A                  DECB 
0469 D0B7 BD D0 0E            JSR >NXTCH1
0470 D0BA 24 08               BCC ZD0C4
0471 D0BC 81 2D               CMPA #$2D
0472 D0BE 27 04               BEQ ZD0C4
0473 D0C0 81 5F               CMPA #$5F
0474 D0C2 26 06               BNE ZD0CA
0475 D0C4 5D                 ZD0C4 TSTB 
0476 D0C5 26 E4               BNE ZD0AB
0477 D0C7 1A 01              ZD0C7 ORCC #$01
0478 D0C9 39                  RTS 
0479                         
0480 D0CA 5D                 ZD0CA TSTB 
0481 D0CB 27 CB               BEQ ZD098
0482 D0CD 6F 04               CLR $04,X
0483 D0CF 30 01               LEAX $01,X
0484 D0D1 5A                  DECB 
0485 D0D2 20 F6               BRA ZD0CA
0486                         
0487 D0D4 BF CC 3F           ZD0D4 STX >ZCC3F
0488 D0D7 BE CC 14            LDX >LINPTR
0489 D0DA A6 84              ZD0DA LDA ,X
0490 D0DC 81 20               CMPA #$20
0491 D0DE 26 04               BNE ZD0E4
0492 D0E0 30 01               LEAX $01,X
0493 D0E2 20 F6               BRA ZD0DA
0494 D0E4 BF CC 14           ZD0E4 STX >LINPTR
0495 D0E7 BE CC 3F            LDX >ZCC3F
0496 D0EA 39                  RTS 
0497                         *
0498                         ** DEFAULT FILE EXTENSION
0499                         *
0500 D0EB 34 30              SETEX1 PSHS Y,X
0501 D0ED E6 0C               LDB $0C,X
0502 D0EF 26 18               BNE ZD109
0503 D0F1 10 8E D1 0B         LDY #EXTTBL
0504 D0F5 81 0B               CMPA #$0B
0505 D0F7 22 10               BHI ZD109
0506 D0F9 C6 03               LDB #$03
0507 D0FB 3D                  MUL 
0508 D0FC 31 A5               LEAY B,Y
0509 D0FE C6 03               LDB #$03
0510 D100 A6 A0              ZD100 LDA ,Y+
0511 D102 A7 0C               STA $0C,X
0512 D104 30 01               LEAX $01,X
0513 D106 5A                  DECB 
0514 D107 26 F7               BNE ZD100
0515 D109 35 B0              ZD109 PULS PC,Y,X
0516                         *
0517                         ** STANDARD FILE NAME EXTTENSIONS
0518                         *
0519 D10B 42 49 4E           EXTTBL FCC "BIN"
0520 D10E 54 58 54            FCC "TXT"
0521 D111 43 4D 44            FCC "CMD"
0522 D114 42 41 53            FCC "BAS"
0523 D117 53 59 53            FCC "SYS"
0524 D11A 42 41 4B            FCC "BAK"
0525 D11D 53 43 52            FCC "SCR"
0526 D120 44 41 54            FCC "DAT"
0527 D123 42 41 43            FCC "BAC"
0528 D126 44 49 52            FCC "DIR"
0529 D129 50 52 54            FCC "PRT"
0530 D12C 4F 55 54            FCC "OUT"
0531                         *
0532                         ** READ A HEX ADDRESS FROM THE LINE BUFFER
0533                         *
0534 D12F BD D2 1E           GETHX1 JSR >ZD21E
0535 D132 BD D0 0E           ZD132 JSR >NXTCH1
0536 D135 25 22               BCS ZD159
0537 D137 8D 26               BSR ZD15F
0538 D139 25 18               BCS ZD153
0539 D13B 34 04               PSHS B
0540 D13D C6 04               LDB #$04
0541 D13F 78 CC 1C           ZD13F ASL >LODOFF+1
0542 D142 79 CC 1B            ROL >LODOFF
0543 D145 5A                  DECB 
0544 D146 26 F7               BNE ZD13F
0545 D148 35 04               PULS B
0546 D14A BB CC 1C            ADDA >LODOFF+1
0547 D14D B7 CC 1C            STA >LODOFF+1
0548 D150 5C                  INCB 
0549 D151 20 DF               BRA ZD132
0550                         
0551 D153 BD D0 0E           ZD153 JSR >NXTCH1
0552 D156 24 FB               BCC ZD153
0553 D158 39                  RTS 
0554                         
0555 D159 BE CC 1B           ZD159 LDX >LODOFF
0556 D15C 1C FE               ANDCC #$FE
0557 D15E 39                  RTS 
0558                         
0559 D15F 80 47              ZD15F SUBA #$47
0560 D161 2A 0F               BPL ZD172
0561 D163 8B 06               ADDA #$06
0562 D165 2A 04               BPL ZD16B
0563 D167 8B 07               ADDA #$07
0564 D169 2A 07               BPL ZD172
0565 D16B 8B 0A              ZD16B ADDA #$0A
0566 D16D 2B 03               BMI ZD172
0567 D16F 1C FE               ANDCC #$FE
0568 D171 39                  RTS 
0569                         
0570 D172 1A 01              ZD172 ORCC #$01
0571 D174 39                  RTS 
0572                         
0573 D175 BD D2 1E           INDEC1 JSR >ZD21E
0574 D178 BD D0 0E           ZD178 JSR >NXTCH1
0575 D17B 25 DC               BCS ZD159
0576 D17D 81 39               CMPA #$39
0577 D17F 22 D2               BHI ZD153
0578 D181 84 0F               ANDA #$0F
0579 D183 34 04               PSHS B
0580 D185 34 02               PSHS A
0581 D187 FC CC 1B            LDD >LODOFF
0582 D18A 58                  ASLB 
0583 D18B 49                  ROLA 
0584 D18C 58                  ASLB 
0585 D18D 49                  ROLA 
0586 D18E 58                  ASLB 
0587 D18F 49                  ROLA 
0588 D190 F3 CC 1B            ADDD >LODOFF
0589 D193 F3 CC 1B            ADDD >LODOFF
0590 D196 EB E0               ADDB ,S+
0591 D198 89 00               ADCA #$00
0592 D19A FD CC 1B            STD >LODOFF
0593 D19D 35 04               PULS B
0594 D19F 5C                  INCB 
0595 D1A0 20 D6               BRA ZD178
0596                         *
0597                         ** LOAD BINARY FILE
0598                         *
0599 D1A2 7F CC 1D           LOAD1 CLR >TRNFLG
0600 D1A5 8D 3D              ZD1A5 BSR ZD1E4
0601 D1A7 81 02               CMPA #$02
0602 D1A9 27 15               BEQ ZD1C0
0603 D1AB 81 16               CMPA #$16
0604 D1AD 26 F6               BNE ZD1A5
0605 D1AF 8D 33               BSR ZD1E4
0606 D1B1 B7 CC 1E            STA >TRNVEC
0607 D1B4 8D 2E               BSR ZD1E4
0608 D1B6 B7 CC 1F            STA >TRNVEC+1
0609 D1B9 86 01               LDA #$01
0610 D1BB B7 CC 1D            STA >TRNFLG
0611 D1BE 20 E5               BRA ZD1A5
0612                         
0613 D1C0 8D 22              ZD1C0 BSR ZD1E4
0614 D1C2 1F 89               TFR A,B
0615 D1C4 8D 1E               BSR ZD1E4
0616 D1C6 1E 89               EXG A,B
0617 D1C8 F3 CC 1B            ADDD >LODOFF
0618 D1CB FD CC 3D            STD >ZCC3D
0619 D1CE 8D 14               BSR ZD1E4
0620 D1D0 1F 89               TFR A,B
0621 D1D2 4D                  TSTA 
0622 D1D3 27 D0               BEQ ZD1A5
0623 D1D5 8D 0D              ZD1D5 BSR ZD1E4
0624 D1D7 BE CC 3D            LDX >ZCC3D
0625 D1DA A7 80               STA ,X+
0626 D1DC BF CC 3D            STX >ZCC3D
0627 D1DF 5A                  DECB 
0628 D1E0 26 F3               BNE ZD1D5
0629 D1E2 20 C1               BRA ZD1A5
0630                         
0631 D1E4 8E C8 40           ZD1E4 LDX #FCB
0632 D1E7 BD D4 06            JSR >FMS
0633 D1EA 27 11               BEQ ZD1FD
0634 D1EC A6 01               LDA $01,X
0635 D1EE 81 08               CMPA #$08
0636 D1F0 26 0E               BNE ZD200
0637 D1F2 32 62               LEAS $02,S
0638 D1F4 86 04              ZD1F4 LDA #$04
0639 D1F6 A7 84               STA ,X
0640 D1F8 BD D4 06            JSR >FMS
0641 D1FB 26 0D               BNE ZD20A
0642 D1FD 1C FE              ZD1FD ANDCC #$FE
0643 D1FF 39                  RTS 
0644                         
0645 D200 B7 CC 20           ZD200 STA >ERRTYP
0646 D203 81 04               CMPA #$04
0647 D205 26 03               BNE ZD20A
0648 D207 1A 01               ORCC #$01
0649 D209 39                  RTS 
0650                         
0651 D20A 8D 73              ZD20A BSR RPTER1
0652 D20C 7E CD E4            JMP >ZCDE4
0653                         *
0654                         ** 'GET' - LOAD BINARY FILE
0655                         *
0656 D20F 86 00              GETCMD LDA #$00
0657 D211 8D 35               BSR ZD248
0658 D213 25 0F               BCS ZD224
0659 D215 8D 07               BSR ZD21E
0660 D217 7C CC 4C            INC >ZCC4C
0661 D21A 8D 86               BSR LOAD1
0662 D21C 20 F1               BRA GETCMD
0663                         
0664 D21E 4F                 ZD21E CLRA 
0665 D21F 5F                  CLRB 
0666 D220 FD CC 1B            STD >LODOFF
0667 D223 39                  RTS 
0668                         
0669 D224 F6 CC 4C           ZD224 LDB >ZCC4C
0670 D227 10 27 FB AE         LBEQ ZCDD9
0671 D22B 7E CD 03            JMP >WARMS
0672                         
0673 D22E 86 02              ZD22E LDA #$02
0674 D230 8D 22               BSR ZD254
0675 D232 8D EA               BSR ZD21E
0676 D234 BD D1 A2            JSR >LOAD1
0677 D237 F6 CC 1D            LDB >TRNFLG
0678 D23A 27 04               BEQ ZD240
0679 D23C 6E 9F CC 1E         JMP [TRNVEC]
0680                         
0681 D240 8E CC 5C           ZD240 LDX #NTRMSG
0682 D243 86 81               LDA #$81
0683 D245 7E CD DE            JMP >ZCDDE
0684                         
0685 D248 34 02              ZD248 PSHS A
0686 D24A 8E C8 40            LDX #FCB
0687 D24D BD D0 36            JSR >GETFL1
0688 D250 35 02               PULS A
0689 D252 25 1A               BCS ZD26E
0690 D254 8E C8 40           ZD254 LDX #FCB
0691 D257 BD D0 EB            JSR >SETEX1
0692 D25A 8E C8 40            LDX #FCB
0693 D25D 86 01               LDA #$01
0694 D25F A7 84               STA ,X
0695 D261 BD D1 E4            JSR >ZD1E4
0696 D264 10 25 00 BB         LBCS ZD323
0697 D268 86 FF               LDA #$FF
0698 D26A A7 88 3B            STA $3B,X
0699 D26D 39                  RTS 
0700                         
0701 D26E B6 CC 11           ZD26E LDA >LASTRM
0702 D271 81 0D               CMPA #$0D
0703 D273 27 07               BEQ ZD27C
0704 D275 B1 CC 02            CMPA >EOLCHR
0705 D278 10 26 FB 5D         LBNE ZCDD9
0706 D27C 1A 01              ZD27C ORCC #$01
0707 D27E 39                  RTS 
0708                         
0709 D27F 34 30              RPTER1 PSHS Y,X
0710 D281 A6 01               LDA $01,X
0711 D283 B7 CC 20            STA >ERRTYP
0712 D286 27 63               BEQ ZD2EB
0713 D288 BD CD EA            JSR >RSTIO1
0714 D28B 10 BE CC 2D         LDY >ERRVEC
0715 D28F 26 08                    BNE ZD299
0716 D291 81 10               CMPA #$10
0717 D293 27 58               BEQ ZD2ED
0718 D295 10 8E D3 61         LDY #ZD361
0719 D299 8E C8 40           ZD299 LDX #FCB
0720 D29C 6D 02               TST $02,X
0721 D29E 27 09               
BEQ ZD2A9
0722 D2A0 86 04               LDA #$04
0723 D2A2 A7 84               STA ,X
0724 D2A4 BD D4 06            JSR >FMS
0725 D2A7 26 2E               BNE ZD2D7
0726 D2A9 8E C8 38           ZD2A9 LDX #ZC838
0727 D2AC C6 0B               LDB #$0B
0728 D2AE 8D 6E               BSR ZD31E
0729 D2B0 8E C8 40            LDX #FCB
0730 D2B3 B6 CC 0B            LDA >SYSDRV
0731 D2B6 A7 03               STA $03,X
0732 D2B8 86 01               LDA #$01
0733 D2BA A7 84               STA ,X
0734 D2BC BD D4 06            JSR >FMS
0735 D2BF 26 16               BNE ZD2D7
0736 D2C1 B6 CC 20            LDA >ERRTYP
0737 D2C4 4A                  DECA 
0738 D2C5 47                  ASRA 
0739 D2C6 47                  ASRA 
0740 D2C7 4C                  INCA 
0741
 D2C8 6F 88 20            CLR $20,X
0742 D2CB A7 88 21            STA $21,X
0743 D2CE 86 15               LDA #$15
0744 D2D0 A7 84               STA ,X
0745 D2D2 BD D4 06            JSR >FMS
0746 D2D5 27 1E               BEQ ZD2F5
0747 D2D7 8E CC 75           ZD2D7 LDX #DERMSG
0748 D2DA BD CE 81            JSR >PSTRG1
0749 D2DD BE CC 3F            LDX >ZCC3F
0750 D2E0 B6 CC 20            LDA >ERRTYP
0751 D2E3 A7 01               STA $01,X
0752 D2E5 6F 84               CLR ,X
0753 D2E7 5F                  CLRB 
0754 D2E8 BD CF 86            JSR >OUTDC1
0755 D2EB 35 B0              ZD2EB PULS PC,Y,X
0756                         
0757 D2ED 8E CC 82           ZD2ED LDX #DNRMSG
0758 D2F0 BD CE 81            JSR >PSTRG1
0759 D2F3 20 F6               BRA ZD2EB
0760                         
0761 D2F5 BD CE B5           ZD2F5 JSR >PCRLF1
0762 D2F8 8E C8 40            LDX #FCB
0763 D2FB B6 CC 20            LDA >ERRTYP
0764 D2FE 4A                  DECA 
0765 D2FF 84 03               ANDA #$03
0766 D301 C6 3F               LDB #$3F
0767 D303 3D                  MUL 
0768 D304 CB 04               ADDB #$04
0769 D306 E7 88 22            STB $22,X
0770 D309 BD D4 06           ZD309 JSR >FMS
0771 D30C 26 C9               BNE ZD2D7
0772 D30E BD CF 41            JSR >PUTCH1
0773 D311 81 0D               CMPA #$0D
0774 D313 26 F4               BNE ZD309
0775 D315 86 04               LDA #$04
0776 D317 A7 84               STA ,X
0777 D319 BD D4 06            JSR >FMS
0778 D31C 20 CD               BRA ZD2EB
0779 D31E 34 30              ZD31E PSHS Y,X
0780 D320 7E D1 00            JMP >ZD100
0781                         
0782 D323 8E CC 6B           ZD323 LDX #NFDMSG NOT FOUND
0783 D326 7E CD E1            JMP >ZCDE1
0784                         *
0785                         ** CALL FLEX AS A SUBROUTINE
0786                         *
0787 D329 35 06              DOCMD1 PULS B,A
0788 D32B FD CC 43            STD >ZCC43
0789 D32E 10 FF CC 45        ZD32E STS >ZCC45
0790 D332 7F CC 20            CLR >ERRTYP
0791 D335 7C CC 28            INC >CMDFLG
0792 D338 7E CD B8            JMP >ZCDB8
0793 D33B 7F CC 28           ZD33B CLR >CMDFLG
0794 D33E 10 FE CC 45         LDS >ZCC45
0795 D342 F6 CC 20            LDB >ERRTYP
0796 D345 6E 9F CC 43         JMP [ZCC43]
0797                         *
0798                         ** ADD ACCB TO IX
0799                         *
0800 D349 3A                 ADDBX1 ABX
0801 D34A 39                  RTS
0802                         
0803 D34B 7D CC FC           ZD34B TST >ZCCFC
0804 D34E 26 04               BNE ZD354
0805 D350 6E 9F D3 F3         JMP [MONVEC]
0806                         
0807 D354 8E C8 40           ZD354 LDX #FCB
0808 D357 86 1B               LDA #$1B
0809 D359 A7 01               STA $01,X
0810 D35B BD D2 7F            JSR >RPTER1
0811 D35E 7E CD 67            JMP >WARM1
0812                         
0813 D361 45 52 52 4F 52 53  ZD361 FCC /ERRORS/
0814 D367 00 00               FCB $00,$00
0815 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 [M"ONROM+$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 F%DB   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 INITIAT&ION
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                         **
0-027                         *
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         0      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 ZD415C
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                 2        *
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              ZD3483 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/4BYTE
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 D45 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            6      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 C71 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  8          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 9              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 D;4DA 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 1=7
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                         A
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 1BC            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                       C  
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 D          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             E  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 A6F 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                       G          
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+
01H
BEQ ZD2A9
0722 D2A0 86 04               LDA #$04
0723 D2A2 A7 84               STA ,X
0724 D2A4 BD D4 06            JSR >FMS
0725 D2A7 26 2E               BNE ZD2D7
0726 D2A9 8E C8 38           ZD2A9 LDX #ZC838
0727 D2AC C6 0B               LDB #$0B
0728 D2AE 8D 6E               BSR ZD31E
0729 D2B0 8E C8 40            LDX #FCB
0730 D2B3 B6 CC 0B            LDA >SYSDRV
0731 D2B6 A7 03               STA $03,X
0732 D2B8 86 01               LDA #$01
0733 D2BA A7 84               STA ,X
0734 D2BC BD D4 06            JSR >FMS
0735 D2BF 26 16               BNE ZD2D7
0736 D2C1 B6 CC 20            LDA >ERRTYP
0737 D2C4 4A                  DECA 
0738 D2C5 47                  ASRA 
0739 D2C6 47                  ASRA 
0740 D2C7 4C                  INCA 
0741
 D2C8 6F 88 20            CLR $20,X
0742 D2CB A7 88 21            STA $21,X
0743 D2CE 86 15               LDA #$15
0744 D2D0 A7 84               STA ,X
0745 D2D2 BD D4 06            JSR >FMS
0746 D2D5 27 1E               BEQ ZD2F5
0747 D2D7 8E CC 75           ZD2D7 LDX #DERMSG
0748 D2DA BD CE 81            JSR >PSTRG1
0749 D2DD BE CC 3F            LDX >ZCC3F
0750 D2E0 B6 CC 20            LDA >ERRTYP
0751 D2E3 A7 01               STA $01,X
0752 D2E5 6F 84               CLR ,X
0753 D2E7 5F                  CLRB 
0754 D2E8 BD CF 86            JSR >OUTDC1
0755 D2EB 35 B0              ZD2EB PULS PC,Y,X
0756                         
0757 D2ED 8E CC 82           ZD2ED LDX #DNRMSG
0758 D2F0 BD CE 81            JSR >PSTRG1
0759 D2F3 20 F6               BRA ZD2EB
0760                         
0761 D2F5 BD CE B5           ZD2F5 JSR >PCRLF1
0762 D2F8 8E C8 40            LDX #FCB
0763 D2FB B6 CC 20            LDA >ERRTYP
0764 D2FE 4A                  DECA 
0765 D2FF 84 03               ANDA #$03
0766 D301 C6 3F               LDB #$3F
0767 D303 3D                  MUL 
0768 D304 CB 04               ADDB #$04
0769 D306 E7 88 22            STB $22,X
0770 D309 BD D4 06           ZD309 JSR >FMS
0771 D30C 26 C9               BNE ZD2D7
0772 D30E BD CF 41            JSR >PUTCH1
0773 D311 81 0D               CMPA #$0D
0774 D313 26 F4               BNE ZD309
0775 D315 86 04               LDA #$04
0776 D317 A7 84               STA ,X
0777 D319 BD D4 06            JSR >FMS
0778 D31C 20 CD               BRA ZD2EB
0779 D31E 34 30              ZD31E PSHS Y,X
0780 D320 7E D1 00            JMP >ZD100
0781                         
0782 D323 8E CC 6B           ZD323 LDX #NFDMSG NOT FOUND
0783 D326 7E CD E1            JMP >ZCDE1
0784                         *
0785                         ** CALL FLEX AS A SUBROUTINE
0786                         *
0787 D329 35 06              DOCMD1 PULS B,A
0788 D32B FD CC 43            STD >ZCC43
0789 D32E 10 FF CC 45        ZD32E STS >ZCC45
0790 D332 7F CC 20            CLR >ERRTYP
0791 D335 7C CC 28            INC >CMDFLG
0792 D338 7E CD B8            JMP >ZCDB8
0793 D33B 7F CC 28           ZD33B CLR >CMDFLG
0794 D33E 10 FE CC 45         LDS >ZCC45
0795 D342 F6 CC 20            LDB >ERRTYP
0796 D345 6E 9F CC 43         JMP [ZCC43]
0797                         *
0798                         ** ADD ACCB TO IX
0799                         *
0800 D349 3A                 ADDBX1 ABX
0801 D34A 39                  RTS
0802                         
0803 D34B 7D CC FC           ZD34B TST >ZCCFC
0804 D34E 26 04               BNE ZD354
0805 D350 6E 9F D3 F3         JMP [MONVEC]
0806                         
0807 D354 8E C8 40           ZD354 LDX #FCB
0808 D357 86 1B               LDA #$1B
0809 D359 A7 01               STA $01,X
0810 D35B BD D2 7F            JSR >RPTER1
0811 D35E 7E CD 67            JMP >WARM1
0812                         
0813 D361 45 52 52 4F 52 53  ZD361 FCC /ERRORS/
0814 D367 00 00               FCB $00,$00
0815 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 [M"ONROM+$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 F%DB   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 INITIAT&ION
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                         **
0-027                         *
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         0      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 ZD415C
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                 2        *
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              ZD3483 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/4BYTE
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 D45 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            6      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 C71 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  8          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 9              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 D;4DA 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 1=7
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                         A
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 1BC            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                       C  
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 D          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             E  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 A6F 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                       G          
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+
01H
96 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                      I   ** 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     J       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 
02K
15 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                         ** LPUT 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            M   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
N0234 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       O        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
0247P 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       Q        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 R>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 D5SE1 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           T    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 DU5F4 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              V   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 D6W0B 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         X   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            SYTA $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 DZ636 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              Z[D63E 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 >CUR\FCB
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
0]330 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 ZD6`"85
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 F7a# 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               b$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 c%                        *
0370 D699 1C FE              RESV2 ANDCC #$FE
0371 D69B 39                  RTS 
0372 D69C 1A 01              ZD69C ORCC #$01
0373 D69E 39                  RTS 
0374                         *
0375                         ** WRd&ITE 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           ZD6A9e' 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 >Vf(ERIFY
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 D6g)C7 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                         
h*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 D6DCi+ 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           j,    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       k-       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
04l.27 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        m/       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                 ZD713n0 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 D72o12 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        p2   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                 Zq3D73D 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 r427               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            s5CLR $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
04t678 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       u7       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                    v8     
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 D7w98C 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                  Rx:TS 
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          y;               
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           zZDC43
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            LD|>D $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            INCA $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
B0554 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    C                     *
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            SDTX >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               EPULS 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                  F       ** 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           G    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              ZD85H2 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 #$I18
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 D87J1 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    K       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     L       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 DM892 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 D8A2N 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 23O 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       P     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               QBLS 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
06R54 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 SD8EA 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     T          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 ZUD905
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 VEC 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           ZD9W17 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 >ZDX41B
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
06Y98 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 1Z0               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               B[CS 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
07^30 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               BC`S 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
a0749 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 Db9A8 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 0c4               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 $d22,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  e            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                         
f0781 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
078g7 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       h        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                         
0800i 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
080j6 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 3k4            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         l   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 #$mFE
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 2n0            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       o     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               LDAp #$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 DA7q9 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                  rRTS 
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 DAs8D 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                  t       
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,uX
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 DvAB3 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  w             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 xZDAD3
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
090y1 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 1z7            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 JS|R >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               B~ITA #$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         
96 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                      I   ** 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     J       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 
02K
15 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                         ** LPUT 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            M   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
N0234 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       O        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
0247P 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       Q        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 R>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 D5SE1 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           T    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 DU5F4 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              V   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 D6W0B 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         X   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            SYTA $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 DZ636 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              Z[D63E 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 >CUR\FCB
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
0]330 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 ZD6`"85
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 F7a# 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               b$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 c%                        *
0370 D699 1C FE              RESV2 ANDCC #$FE
0371 D69B 39                  RTS 
0372 D69C 1A 01              ZD69C ORCC #$01
0373 D69E 39                  RTS 
0374                         *
0375                         ** WRd&ITE 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           ZD6A9e' 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 >Vf(ERIFY
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 D6g)C7 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                         
h*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 D6DCi+ 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           j,    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       k-       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
04l.27 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        m/       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                 ZD713n0 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 D72o12 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        p2   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                 Zq3D73D 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 r427               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            s5CLR $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
04t678 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       u7       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                    v8     
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 D7w98C 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                  Rx:TS 
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          y;               
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           zZDC43
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            LD|>D $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            INCA $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
B0554 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    C                     *
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            SDTX >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               EPULS 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                  F       ** 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           G    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              ZD85H2 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 #$I18
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 D87J1 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    K       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     L       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 DM892 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 D8A2N 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 23O 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       P     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               QBLS 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
06R54 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 SD8EA 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     T          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 ZUD905
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 VEC 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           ZD9W17 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 >ZDX41B
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
06Y98 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 1Z0               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               B[CS 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
07^30 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               BC`S 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
a0749 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 Db9A8 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 0c4               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 $d22,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  e            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                         
f0781 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
078g7 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       h        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                         
0800i 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
080j6 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 3k4            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         l   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 #$mFE
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 2n0            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       o     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               LDAp #$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 DA7q9 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                  rRTS 
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 DAs8D 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                  t       
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,uX
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 DvAB3 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  w             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 xZDAD3
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
090y1 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 1z7            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 JS|R >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               B~ITA #$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  DTYPROM 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                         * D!ummy 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 F05'F 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]
0)244                         *
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 erro*r.
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
02,57 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 F09.0 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          0               * 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                        1 * 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            2             * 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 3turn.
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  DRV4NUM
0295 F0B9 4C                         INCA
0296 F0BA 81 04                      CMPA  #4
0297 F0BC 26 EA                      BNE  DINIT1
0298 F0BE 39                         RTS
0299                         *
0300                         * Warm sta5rt.
0301                         * Entry: no parameters.
0302                         * Exit: no change.
0303 F0BF 6E 9F DE 42        DWARM    JMP  [WARVEC]
0304                         *
0305                         * Seek track.
0306                 6        * 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                     7    *
0311                         *
0312                         *****************************************************
0313                         * ROMdisk drivers                                   *
0314                         * ---------------   8                                *
0315                         * Drivers to support a ROMdisk in the external RAM  *
0316                         * of the SYS09. The ROMdisk base address is $10000   *
0317                         **********************9*******************************
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                   L?DA   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           A           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
03B56 F107 39                         RTS
0357                         *
0358                         * Seek track and sector
0359                         * A holds track number (0-32)
0360                         * B holds sector number (1-14)
0361      C                   *
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 D39                         RTS
0367                         *
0368                         * MARK DISK READ ONLY
0369                         *
0370 F113 C6 40              EDUMMY  LDB  #$40
0371 F115 5D                         TSTB
0372 F116 1A 01    E                  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 1F7 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 buGffer 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        H                    *
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 5I
        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  DTYPROM 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                         * D!ummy 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 F05'F 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]
0)244                         *
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 erro*r.
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
02,57 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 F09.0 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          0               * 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                        1 * 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            2             * 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 3turn.
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  DRV4NUM
0295 F0B9 4C                         INCA
0296 F0BA 81 04                      CMPA  #4
0297 F0BC 26 EA                      BNE  DINIT1
0298 F0BE 39                         RTS
0299                         *
0300                         * Warm sta5rt.
0301                         * Entry: no parameters.
0302                         * Exit: no change.
0303 F0BF 6E 9F DE 42        DWARM    JMP  [WARVEC]
0304                         *
0305                         * Seek track.
0306                 6        * 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                     7    *
0311                         *
0312                         *****************************************************
0313                         * ROMdisk drivers                                   *
0314                         * ---------------   8                                *
0315                         * Drivers to support a ROMdisk in the external RAM  *
0316                         * of the SYS09. The ROMdisk base address is $10000   *
0317                         **********************9*******************************
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                   L?DA   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           A           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
03B56 F107 39                         RTS
0357                         *
0358                         * Seek track and sector
0359                         * A holds track number (0-32)
0360                         * B holds sector number (1-14)
0361      C                   *
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 D39                         RTS
0367                         *
0368                         * MARK DISK READ ONLY
0369                         *
0370 F113 C6 40              EDUMMY  LDB  #$40
0371 F115 5D                         TSTB
0372 F116 1A 01    E                  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 1F7 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 buGffer 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        H                    *
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 5I
A                         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                     J    *
0398                         * check for marker bytes $AA55 in first bytes of first track/sector
0399                         *
0400                         *ECHECK  CLRA 
0401                         *        LDB  #1
0402                        K *        LDX  #BUFFER
0403                         *        BSR  EREAD
0404                         *        LDD  BUFFER
0405                         *        CMPD  #$AA55
0406                         *        BNE  EERR
0407                         * L
       LBRA  DDUMMY
0408                         *EERR    LDB  #$80 not ready bit set
0409                         *        TSTB
0410                         *        ORCC  #$01
0411                         *        RTS
0412 F13F 5F                 ECHMECK 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
0N419 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        O              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  EWPOK
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+ moveQ 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
0R436                         *
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 0S,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 3T5 F0                      PULS X,Y,U,PC
0448                         *
0449                         *
0450                         *****************************************************
0451                         * FlexNet drivers                     U              *
0452                         * ---------------                                   *
0453                         * Drivers to support a remote connection via the    *
0454                         * serial port using the FlexNet protocol Vas defined *
0455                         * in FLEXNet_421B                                   *
0456                         *****************************************************
0457                         *
0458                         *
0459       W                  * 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
0X464 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               Y       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             Z         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                         *
04\82                         * 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           ge`!t 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          a"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
0506b# 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           c$              *
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
d%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_Ee&ND STB     CHKSUM          used by VERIFY
0520 F1E7 5D                         TSTB                    
0521 F1E8 39                         RTS
0522                         *
0523                         *
0524                         * write sector tf'o 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  g(   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 timeouh)t, 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           
0538i*                         *
0539 F202 35 02                      PULS    A               send track
0540 F204 BD F2 85                   JSR     SCHAR
0541 F207 24 CE                      BCC     NRD_DNR          
0542                         *
0543 F20j+9 35 02                      PULS    A               send sector
0544 F20B BD F2 85                   JSR     SCHAR
0545 F20E 24 C7                      BCC     NRD_DNR          
0546                         *
0547                         * transfer 25k,6 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        l- 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  m.                 INC     CHKSUM
0556 F223 5A                 NWRITE2 DECB         
0557 F224 26 EB                      BNE     NWRITE1          
0558                         *
0559                         * compare checksums
0560 F226 B6 DE 21        n/           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                   JSRo0     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     Np1RD_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         q2           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        r3   NWR_END STB     CHKSUM          used by VERIFY
0578 F247 5D                         TSTB                    
0579 F248 39                         RTS
0580                         *
0581                         *
0582                         *   veris4fy 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                t5         *
0588                         *
0589                         *   quck check and check drive ready
0590                         *
0591 F24E 86 51              NCHECK  LDA     #'Q             quick check command
0592 F250 BD F2 85              u6     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     v7                 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   w8                 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 x9   #$01            check needs carry set as well
0605                         *
0606 F265 5D                 NCK_END TSTB
0607 F266 39                         RTS
0608                         *
0609                         *
0610                       y:  * 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 timeouz;t.
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       del{              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                      PSAHS    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           SCHARB2  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                      CLEAY    -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    AD
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 stiEll 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 F46 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 G         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 H6A                   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          dIriver 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 8EJ 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 #DRVNUMK-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            L             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         M          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,XN
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                      INCO 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 DEP 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          Q         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 freRe 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  S                 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        T           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 UBD 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
V0739 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              W        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 52X 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  #$4953Y
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
07Z59 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                         *
077^9 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                         *    comamand goes here.        *
0795                         ********************************
0796                         *
0797                         * Boot FLEX from the FPGA's internal pre-loaded scratch RAM
0798                         *
0799 F3ED 08 0b8              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,$c04
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 #dCONTAB 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                        e *
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              f     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          g    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 h82                      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 iF444 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 j       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                   JMPk 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 F4l64 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 F4m6E 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 n39                 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 4Do 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 0Dp 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
086q9 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 r 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  s                    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  t                 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               u       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 vF4 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  LRHEwX                  Get hex digit.
0901 F4F1 48                         ASLA
0902 F4F2 48                         ASLA                           Shift to msb.
0903 F4F3 48                         ASLA
0904 F4F4 48                         ASLA
0905 F4F5 x1F 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+               y     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       z            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
    S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F882
A                         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                     J    *
0398                         * check for marker bytes $AA55 in first bytes of first track/sector
0399                         *
0400                         *ECHECK  CLRA 
0401                         *        LDB  #1
0402                        K *        LDX  #BUFFER
0403                         *        BSR  EREAD
0404                         *        LDD  BUFFER
0405                         *        CMPD  #$AA55
0406                         *        BNE  EERR
0407                         * L
       LBRA  DDUMMY
0408                         *EERR    LDB  #$80 not ready bit set
0409                         *        TSTB
0410                         *        ORCC  #$01
0411                         *        RTS
0412 F13F 5F                 ECHMECK 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
0N419 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        O              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  EWPOK
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+ moveQ 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
0R436                         *
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 0S,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 3T5 F0                      PULS X,Y,U,PC
0448                         *
0449                         *
0450                         *****************************************************
0451                         * FlexNet drivers                     U              *
0452                         * ---------------                                   *
0453                         * Drivers to support a remote connection via the    *
0454                         * serial port using the FlexNet protocol Vas defined *
0455                         * in FLEXNet_421B                                   *
0456                         *****************************************************
0457                         *
0458                         *
0459       W                  * 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
0X464 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               Y       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             Z         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                         *
04\82                         * 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           ge`!t 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          a"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
0506b# 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           c$              *
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
d%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_Ee&ND STB     CHKSUM          used by VERIFY
0520 F1E7 5D                         TSTB                    
0521 F1E8 39                         RTS
0522                         *
0523                         *
0524                         * write sector tf'o 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  g(   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 timeouh)t, 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           
0538i*                         *
0539 F202 35 02                      PULS    A               send track
0540 F204 BD F2 85                   JSR     SCHAR
0541 F207 24 CE                      BCC     NRD_DNR          
0542                         *
0543 F20j+9 35 02                      PULS    A               send sector
0544 F20B BD F2 85                   JSR     SCHAR
0545 F20E 24 C7                      BCC     NRD_DNR          
0546                         *
0547                         * transfer 25k,6 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        l- 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  m.                 INC     CHKSUM
0556 F223 5A                 NWRITE2 DECB         
0557 F224 26 EB                      BNE     NWRITE1          
0558                         *
0559                         * compare checksums
0560 F226 B6 DE 21        n/           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                   JSRo0     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     Np1RD_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         q2           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        r3   NWR_END STB     CHKSUM          used by VERIFY
0578 F247 5D                         TSTB                    
0579 F248 39                         RTS
0580                         *
0581                         *
0582                         *   veris4fy 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                t5         *
0588                         *
0589                         *   quck check and check drive ready
0590                         *
0591 F24E 86 51              NCHECK  LDA     #'Q             quick check command
0592 F250 BD F2 85              u6     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     v7                 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   w8                 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 x9   #$01            check needs carry set as well
0605                         *
0606 F265 5D                 NCK_END TSTB
0607 F266 39                         RTS
0608                         *
0609                         *
0610                       y:  * 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 timeouz;t.
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       del{              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                      PSAHS    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           SCHARB2  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                      CLEAY    -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    AD
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 stiEll 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 F46 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 G         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 H6A                   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          dIriver 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 8EJ 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 #DRVNUMK-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            L             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         M          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,XN
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                      INCO 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 DEP 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          Q         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 freRe 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  S                 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        T           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 UBD 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
V0739 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              W        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 52X 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  #$4953Y
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
07Z59 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                         *
077^9 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                         *    comamand goes here.        *
0795                         ********************************
0796                         *
0797                         * Boot FLEX from the FPGA's internal pre-loaded scratch RAM
0798                         *
0799 F3ED 08 0b8              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,$c04
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 #dCONTAB 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                        e *
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              f     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          g    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 h82                      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 iF444 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 j       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                   JMPk 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 F4l64 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 F4m6E 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 n39                 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 4Do 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 0Dp 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
086q9 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 r 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  s                    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  t                 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               u       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 vF4 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  LRHEwX                  Get hex digit.
0901 F4F1 48                         ASLA
0902 F4F2 48                         ASLA                           Shift to msb.
0903 F4F3 48                         ASLA
0904 F4F4 48                         ASLA
0905 F4F5 x1F 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+               y     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       z            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
    S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F882
26F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A78081
0D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD       40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A1
26F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A78081
0D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD       40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A1
8026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5811312265C7FCCD5
S123CEA01AAD9FD3E58111122750810326F37FCC116E9FCC167DCC2126278DD4B6CC032789
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC
04270BB1CC292406BDCEEE
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
S123D4254947485420284329203 139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC!6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6"DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A788243#00137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076$A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A788%2235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
&S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098'D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817( EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7)!D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD*"60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C+#8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439,$BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60-%A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD9.&1725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F24/'06BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253180(1022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A27241)BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BE2*D40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD623+0252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S124,3DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BE5-D40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A835022746.C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A7/70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF0A37EF0A77EF0BF7EF0C3000067
S115DE2000000000000000000000000102031040FFFF98
S123F000F7BDF119F141F13FF13FF13FF13FF13FF80052F052F052F119F141F13FF13FF13F7A
S123F020F13FF13FF052F052F052F052F052F052F052F052F052F052F052F052F052F17AA7
S123F040F1E9F249F24EF24EF24EF24EF052F052F0525F5D1CFE396E9FDE326E9FDE346E18
S123F0609FDE368D072701396E9FDE383430E603F7DE1E8EDE2AA68581FF2608353091C60FD8
S123F0805D1A0139C6143D8EF002308B108EDE32C614A680A7A05A26F935306E9FDE3A6E03
S123F0A09FDE3C6E9FDE3E4FB7DE1E8EDE1B8DBC2504AD9FDE40B6DE1E4C810426EA396ECB
S123F0C09FDE426E9FDE441FA8B7DE221A50CEDE2AF6DE1EE6C5CEDE2EB6DE1FABC584F072
S123F0E0A7E2B6DE2080:201880F840FABE0B7FFF0B6DE1F840F8B005F1F03398600880FB794
S123F100FFF0B6DE221F8A39B7DE1FF7DE201CFE1A0439C6405D1A0139347017FFEA17FFD9
S123F120A6108EDE465FA6C0A7A05A26F917FFCB108EDE465FA6A0A7805A26F95F35F05F13
S123F14039347017FFC2CEDE2AF6DE1EE6C5C1012707C10;30270316FFBA108EDE465FA68092
S123F160A7A05A26F917FF5F108EDE465FA6A0A7C05A26F917FF845F35F0340434027FDE26
S123F180217FDE228673BDF285244CB6DE1EBDF28524443502BDF285243D3502BDF2852485
S123F1A0365FBDF2672430A780BBDE22B7DE2224037CDE215A26EBBDF267241B3402BDF26C<4
S123F1C06724141F89350210B3DE21260E8606BDF28524035F200DC61020098615BDF28576
S123F1E024F5C609F7DE215D39340434027FDE217FDE228672BDF28524DDB6DE1EBDF28519
S123F20024D53502BDF28524CE3502BDF28524C75FA680BDF28524BFBBDE22B7DE22240309
S123F2207CDE215A26EBB6DE21=5BDF28524A9B6DE22BDF28524A1BDF267249C810626035F9A
S123F2402002C60AF7DE215D39F6DE215D398651BDF285240CBDF2672407810626035F20F6
S123F26004C6101A015D3934308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0BE
S123F280B6E00135B0343034028E03E8108E04E2B6E0004747250>6C313F26F5301F26ED35E0
S123F2A00235B03502B7E00135B00A0D466F726D6174696E672052414D6469736B2E2E2EBC
S123F2C020040A0D0452616D6469736B206E6F7420616C6C6F63617465642120048EF2AA77
S123F2E0BDF46A8EDE2A5FA6858101270C5CC10426F58EF2C2BDF46A39F7DE1E8EDE1BBD11
S123F?7300F06C8EDE464F5FA7805A26FB7FDE1F8601B7DE208EDE46B6DE1FA784B6DE204C43
S123F320810F26046C848601A701B6DE1FF6DE20BDF05B7CDE20B6DE20810F26D78601B748
S123F340DE207CDE1FB6DE1F81C026C88EDE4686BFC60EBDF0578EDE466F846F0186BFC661
S123F3600EBDF05B8EDE464FC60EBDF0@8578EDE466F846F014FC60EBDF05B8EDE464FC60390
S123F380BDF0578EDE466F846F01CC5241ED8810CC4D44ED8812CC4953ED8814CC4B20ED73
S123F3A08816CC0001ED881BCC0101ED881D86BFC60EED881FED8826CC0A72ED8821860141
S123F3C0A788238607A788248607A788254FC603BDF05B8EDE464FC601BA9DF0578EDE4686F2
S123F3E0AAA7848655A7014FC6017EF05B0808426F6F74696E6720696E7465726E616C2053
S123F400464C45582E2E2E2E0D0A048EF3EDBDF46A8ED3E5108EF434ECA1ED818CD3FD26D4
S123F420F78EDE00108EF44CECA1ED818CDE1E26F77ECD00F476F482DFC2DFC8F482F48288
S123F440F48B:2F47EF482F47AF46EF4727EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF093
S123F460A37EF0A77EF0BF7EF0C36E9FF80C6E9FF80A6E9FF8066E9FF8046E9FF8086E9F24
S123F480F8003953657269616C20524F4D204469736B2075706C6F6164202E2E2E0D0A04B4
S123F4A0524F4D204469736B204C6F61646564C;0D0A048EF483BDF46A8600B7DE1E4FC601BC
S123F4C0B7DE1FF7DE2017FBFE5FBDF4EDA7C05A26F817FC26B6DE1FF6DE205CC10F26E081
S123F4E0C6014C813026D98EF4A07EF46A34048D0E484848481F898D063404ABE03584BDE0
S123F500F52829FB80302BF781092F0A81112BEF81162EEB800739B6E00085013D<98603B760
S123F520E0008611B7E000398610B7DE277FDE287FDE29B6E000850126088578270A8DDD41
S123F54020E6B6E0011C02397ADE2926E67ADE2826E17ADE2726DC4F1A02393402B6E000AE
S123F56085022608857827F58DB320F13502B7E001390D0A586D6F64656D20524F4D20446D
S123F58069736B205E=5706C6F6164040D0A55706C6F616420436F6D706C657465040D0A5552
S123F5A0706C6F6164204572726F72048EF57217FEB88601B7DE238EF61ABFDE258600B76B
S123F5C0DE1E4FC601B7DE1FF7DE2017FAF95F17002B2520A7C05A26F617FB1FB6DE1FF6C5
S123F5E0DE205CC10F26DEC6014C813026D78EF58B7EF>F46A17FB048EF59D16FE6D3410BE75
S123F600DE2517FF23280A861517FF4F8EF61A20F1AD8426EDBFDE253590810126068EF6CC
S123F6203A1CFA3981042608860617FF2E1A0539811826031A05391CFA39B1DE2326068E8D
S123F640F6501CFA39861517FF118EF61A1CFA3943B1DE2326EF7FDE218680B7DE248EFG?697
S123F660641CFA393402BBDE21B7DE2135027ADE2426038EF67B1CFE1A0439B1DE21260704
S123F6807CDE238606200D34041F305AC4801F033504861517FEC48EF61A1CFA3908084CF3
S123F6A06F616420524F4D206469736B2066726F6D20636F6E6669672050524F4D2E0446F9
S123F6C06F756E642053594H@E432C206C6F6164696E6720646174612E2E2E0A0D04524F4D9C
S123F6E0204469736B204C6F616465642E0A0D04524F4D204469736B204E6F7420466F7575
S123F7006E642E0A0D048EF69DBDF46A8D5A108E00208E00008D6C8D7C2715301F8C000042
S123F72026F3311F108C000026EB8EF6F07EF46A8EF6BFBDF4IA6A4FB7DE1EC601B7DE1FF78D
S123F740DE2017F9825F8D67A7C05A26F917F9ABB6DE1FF6DE205CC10F26E1C6014C813089
S123F76026DA8EF6DD7EF46A8602B7E0C08600B7E0C08E0000301F8C000026F9BFDF46BF61
S123F780DF48398601B7E0C08600B7E0C0B6E0C04478DF493979DF4879DF4779DF46CCFF2F
S1B23F7A00010B3DF482607CCAA5510B3DF46393404C6088DCE5A26FBB6DF49358417FCB20A
S123F7C0847F1F89862017FCA5C1602F02C0208EF7E5E180270D30028CF7F426F58EF7F4AE
S120F7E016FC876E9442F40B4CF4B246F2DD50F70658F5AC57484154203F0A0D0431
S9030000FC
K 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"
 INCL
8026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5811312265C7FCCD5
S123CEA01AAD9FD3E58111122750810326F37FCC116E9FCC167DCC2126278DD4B6CC032789
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC
04270BB1CC292406BDCEEE
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
S123D4254947485420284329203 139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC!6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6"DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A788243#00137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076$A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A788%2235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
&S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098'D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817( EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7)!D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD*"60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C+#8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439,$BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60-%A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD9.&1725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F24/'06BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253180(1022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A27241)BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BE2*D40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD623+0252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S124,3DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BE5-D40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A835022746.C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A7/70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF0A37EF0A77EF0BF7EF0C3000067
S115DE2000000000000000000000000102031040FFFF98
S123F000F7BDF119F141F13FF13FF13FF13FF13FF80052F052F052F119F141F13FF13FF13F7A
S123F020F13FF13FF052F052F052F052F052F052F052F052F052F052F052F052F052F17AA7
S123F040F1E9F249F24EF24EF24EF24EF052F052F0525F5D1CFE396E9FDE326E9FDE346E18
S123F0609FDE368D072701396E9FDE383430E603F7DE1E8EDE2AA68581FF2608353091C60FD8
S123F0805D1A0139C6143D8EF002308B108EDE32C614A680A7A05A26F935306E9FDE3A6E03
S123F0A09FDE3C6E9FDE3E4FB7DE1E8EDE1B8DBC2504AD9FDE40B6DE1E4C810426EA396ECB
S123F0C09FDE426E9FDE441FA8B7DE221A50CEDE2AF6DE1EE6C5CEDE2EB6DE1FABC584F072
S123F0E0A7E2B6DE2080:201880F840FABE0B7FFF0B6DE1F840F8B005F1F03398600880FB794
S123F100FFF0B6DE221F8A39B7DE1FF7DE201CFE1A0439C6405D1A0139347017FFEA17FFD9
S123F120A6108EDE465FA6C0A7A05A26F917FFCB108EDE465FA6A0A7805A26F95F35F05F13
S123F14039347017FFC2CEDE2AF6DE1EE6C5C1012707C10;30270316FFBA108EDE465FA68092
S123F160A7A05A26F917FF5F108EDE465FA6A0A7C05A26F917FF845F35F0340434027FDE26
S123F180217FDE228673BDF285244CB6DE1EBDF28524443502BDF285243D3502BDF2852485
S123F1A0365FBDF2672430A780BBDE22B7DE2224037CDE215A26EBBDF267241B3402BDF26C<4
S123F1C06724141F89350210B3DE21260E8606BDF28524035F200DC61020098615BDF28576
S123F1E024F5C609F7DE215D39340434027FDE217FDE228672BDF28524DDB6DE1EBDF28519
S123F20024D53502BDF28524CE3502BDF28524C75FA680BDF28524BFBBDE22B7DE22240309
S123F2207CDE215A26EBB6DE21=5BDF28524A9B6DE22BDF28524A1BDF267249C810626035F9A
S123F2402002C60AF7DE215D39F6DE215D398651BDF285240CBDF2672407810626035F20F6
S123F26004C6101A015D3934308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0BE
S123F280B6E00135B0343034028E03E8108E04E2B6E0004747250>6C313F26F5301F26ED35E0
S123F2A00235B03502B7E00135B00A0D466F726D6174696E672052414D6469736B2E2E2EBC
S123F2C020040A0D0452616D6469736B206E6F7420616C6C6F63617465642120048EF2AA77
S123F2E0BDF46A8EDE2A5FA6858101270C5CC10426F58EF2C2BDF46A39F7DE1E8EDE1BBD11
S123F?7300F06C8EDE464F5FA7805A26FB7FDE1F8601B7DE208EDE46B6DE1FA784B6DE204C43
S123F320810F26046C848601A701B6DE1FF6DE20BDF05B7CDE20B6DE20810F26D78601B748
S123F340DE207CDE1FB6DE1F81C026C88EDE4686BFC60EBDF0578EDE466F846F0186BFC661
S123F3600EBDF05B8EDE464FC60EBDF0@8578EDE466F846F014FC60EBDF05B8EDE464FC60390
S123F380BDF0578EDE466F846F01CC5241ED8810CC4D44ED8812CC4953ED8814CC4B20ED73
S123F3A08816CC0001ED881BCC0101ED881D86BFC60EED881FED8826CC0A72ED8821860141
S123F3C0A788238607A788248607A788254FC603BDF05B8EDE464FC601BA9DF0578EDE4686F2
S123F3E0AAA7848655A7014FC6017EF05B0808426F6F74696E6720696E7465726E616C2053
S123F400464C45582E2E2E2E0D0A048EF3EDBDF46A8ED3E5108EF434ECA1ED818CD3FD26D4
S123F420F78EDE00108EF44CECA1ED818CDE1E26F77ECD00F476F482DFC2DFC8F482F48288
S123F440F48B:2F47EF482F47AF46EF4727EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF093
S123F460A37EF0A77EF0BF7EF0C36E9FF80C6E9FF80A6E9FF8066E9FF8046E9FF8086E9F24
S123F480F8003953657269616C20524F4D204469736B2075706C6F6164202E2E2E0D0A04B4
S123F4A0524F4D204469736B204C6F61646564C;0D0A048EF483BDF46A8600B7DE1E4FC601BC
S123F4C0B7DE1FF7DE2017FBFE5FBDF4EDA7C05A26F817FC26B6DE1FF6DE205CC10F26E081
S123F4E0C6014C813026D98EF4A07EF46A34048D0E484848481F898D063404ABE03584BDE0
S123F500F52829FB80302BF781092F0A81112BEF81162EEB800739B6E00085013D<98603B760
S123F520E0008611B7E000398610B7DE277FDE287FDE29B6E000850126088578270A8DDD41
S123F54020E6B6E0011C02397ADE2926E67ADE2826E17ADE2726DC4F1A02393402B6E000AE
S123F56085022608857827F58DB320F13502B7E001390D0A586D6F64656D20524F4D20446D
S123F58069736B205E=5706C6F6164040D0A55706C6F616420436F6D706C657465040D0A5552
S123F5A0706C6F6164204572726F72048EF57217FEB88601B7DE238EF61ABFDE258600B76B
S123F5C0DE1E4FC601B7DE1FF7DE2017FAF95F17002B2520A7C05A26F617FB1FB6DE1FF6C5
S123F5E0DE205CC10F26DEC6014C813026D78EF58B7EF>F46A17FB048EF59D16FE6D3410BE75
S123F600DE2517FF23280A861517FF4F8EF61A20F1AD8426EDBFDE253590810126068EF6CC
S123F6203A1CFA3981042608860617FF2E1A0539811826031A05391CFA39B1DE2326068E8D
S123F640F6501CFA39861517FF118EF61A1CFA3943B1DE2326EF7FDE218680B7DE248EFG?697
S123F660641CFA393402BBDE21B7DE2135027ADE2426038EF67B1CFE1A0439B1DE21260704
S123F6807CDE238606200D34041F305AC4801F033504861517FEC48EF61A1CFA3908084CF3
S123F6A06F616420524F4D206469736B2066726F6D20636F6E6669672050524F4D2E0446F9
S123F6C06F756E642053594H@E432C206C6F6164696E6720646174612E2E2E0A0D04524F4D9C
S123F6E0204469736B204C6F616465642E0A0D04524F4D204469736B204E6F7420466F7575
S123F7006E642E0A0D048EF69DBDF46A8D5A108E00208E00008D6C8D7C2715301F8C000042
S123F72026F3311F108C000026EB8EF6F07EF46A8EF6BFBDF4IA6A4FB7DE1EC601B7DE1FF78D
S123F740DE2017F9825F8D67A7C05A26F917F9ABB6DE1FF6DE205CC10F26E1C6014C813089
S123F76026DA8EF6DD7EF46A8602B7E0C08600B7E0C08E0000301F8C000026F9BFDF46BF61
S123F780DF48398601B7E0C08600B7E0C0B6E0C04478DF493979DF4879DF4779DF46CCFF2F
S1B23F7A00010B3DF482607CCAA5510B3DF46393404C6088DCE5A26FBB6DF49358417FCB20A
S123F7C0847F1F89862017FCA5C1602F02C0208EF7E5E180270D30028CF7F426F58EF7F4AE
S120F7E016FC876E9442F40B4CF4B246F2DD50F70658F5AC57484154203F0A0D0431
S9030000FC
K 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"
 INCL
sUDE "f9-cfdsk.txt"
 END COLDS
MAssembler 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                                                             N         page   2
0002                         * 
0003                         ***************************************************
0004                         *   MEMORY MAP EQUATES                            *
0005                         ***********O****************************************
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                    PMONEXT  EQU  $F000  EXTENDED COMMANDS
0010                         *
0011                         ***************************************************
0012                         *   SYS09BUG VARIABLE SPACE
0013                         ****************Q***********************************
0014                         * 
0015 DFC0                    STACK   EQU  MONRAM+0  TOP OF INTERNAL STACK / USER VECTOR 
0016 DFC2                    SWI3    EQU  MONRAM+2  SOFTWARE INTERRUPT VECTOR #3 
0017 DFC4    R                SWI2    EQU  MONRAM+4  SOFTWARE INTERRUPT VECTOR #2 
0018 DFC6                    FIRQ    EQU  MONRAM+6  FAST INTERRUPT VECTOR 
0019 DFC8                    IRQ     EQU  MONRAM+8  INTERRUPT VECTOR 
0020 DFCA                    SWI     ESQU  MONRAM+10 SOFTWARE INTERRUPT VECTOR 
0021 DFCC                    SVCVO   EQU  MONRAM+12 SUPERVISOR CALL VECTOR ORGIN 
0022 DFCE                    SVCVL   EQU  MONRAM+14 SUPERVISOR CALL VECTOR LIMIT 
0023 DFD0                    LRARAM  EQU  MONRATM+16 LRA ADDRESSES 
0024 DFE0                    CPORT   EQU  MONRAM+32 RE-VECTORABLE CONTROL PORT 
0025 DFE2                    ECHO    EQU  MONRAM+34 ECHO FLAG 
0026 DFE3                    BPTBL   EQU  MONRAM+35 BREAKPOINT TABLE BASE ADDR 
0027     U                          **************************************************
0028                         *   VDU BYTES                                    *
0029                         **************************************************
0030                 V
sUDE "f9-cfdsk.txt"
 END COLDS
MAssembler 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                                                             N         page   2
0002                         * 
0003                         ***************************************************
0004                         *   MEMORY MAP EQUATES                            *
0005                         ***********O****************************************
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                    PMONEXT  EQU  $F000  EXTENDED COMMANDS
0010                         *
0011                         ***************************************************
0012                         *   SYS09BUG VARIABLE SPACE
0013                         ****************Q***********************************
0014                         * 
0015 DFC0                    STACK   EQU  MONRAM+0  TOP OF INTERNAL STACK / USER VECTOR 
0016 DFC2                    SWI3    EQU  MONRAM+2  SOFTWARE INTERRUPT VECTOR #3 
0017 DFC4    R                SWI2    EQU  MONRAM+4  SOFTWARE INTERRUPT VECTOR #2 
0018 DFC6                    FIRQ    EQU  MONRAM+6  FAST INTERRUPT VECTOR 
0019 DFC8                    IRQ     EQU  MONRAM+8  INTERRUPT VECTOR 
0020 DFCA                    SWI     ESQU  MONRAM+10 SOFTWARE INTERRUPT VECTOR 
0021 DFCC                    SVCVO   EQU  MONRAM+12 SUPERVISOR CALL VECTOR ORGIN 
0022 DFCE                    SVCVL   EQU  MONRAM+14 SUPERVISOR CALL VECTOR LIMIT 
0023 DFD0                    LRARAM  EQU  MONRATM+16 LRA ADDRESSES 
0024 DFE0                    CPORT   EQU  MONRAM+32 RE-VECTORABLE CONTROL PORT 
0025 DFE2                    ECHO    EQU  MONRAM+34 ECHO FLAG 
0026 DFE3                    BPTBL   EQU  MONRAM+35 BREAKPOINT TABLE BASE ADDR 
0027     U                          **************************************************
0028                         *   VDU BYTES                                    *
0029                         **************************************************
0030                 V
        *
0031                         **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
0032 DFFB                    COLADX  EQU  MONRAM+59 CURSOR COLUMN
0033 DFFC                    ROWADX  EQU  MONRAM+60 CURSOR ROW
0034                         ****W**********************************************
0035                         *
0036 DFFD                    NEWROW  EQU  MONRAM+61 NEW ROW TEMP FOR ESCAPE
0037 DFFE                    ESCFLG  EQU  MONRAM+62 ESCAPE SEQUENCE ACTIVE
0038                   X      * 
0039                         ***************************************************
0040                         *   SERIAL PORT                                   *
0041                         ***************************************************
Y
0042                         *
0043 E000                    ACIAS   EQU  MONIO+$00   CONTROL PORT 
0044                         * 
0045                         ***************************************************
0046                         *   PS/2 KEZYBOARD PORT                            *
0047                         ***************************************************
0048                         *
0049 E020                    PS2KBD  EQU  MONIO+$20   PS/2 KEYBOARD PORT 
0050                     [    * 
0051                         ***************************************************
0052                         *   ADM3A DISPLAY DRIVER VARIABLES                *
0053                         ***************************************************
00\54                         *
0055                         ** VIDEO DISPLAY DEFINITIONS
0056                         *
0057 E030                    VDU     EQU  MONIO+$30
0058 0000                    VDUCHR  EQU  0        CHARACTER REGISTER
0059 0001   ]                 VDUATT  EQU  1        ATTRIBUTE REGISTER
0060 0002                    VDUCOL  EQU  2        CURSOR COLUMN
0061 0003                    VDUROW  EQU  3        CURSOR ROW
0062 0004                    VDUOFF  EQU  4        ROW OFFSET
0063 ^                        *
0064 0050                    LINLEN  EQU  80       LENGTH OF A LINE
0065 0019                    NUMLIN  EQU  25       NUMBER OF LINES
0066                         * 
0067                         ******************************_*********************
0068                         * Serial PROM register
0069                         ***************************************************
0070                         *
0071                         ** CONFIGURATION PROM DEFINITIONS
007`2                         *
0073 E0C0                    PROMREG EQU MONIO+$C0
0074 0001                    PCLKHI  EQU $01     Toggle PROM Clock High
0075 0000                    PCLKLO  EQU $00     Toggle PROM Clock Low
0076 0002                    PaRSTHI  EQU $02     Toggle PROM Reset High
0077 0000                    PRSTLO  EQU $00     Toggle PROM Reset Low
0078 AA55                    SYNCHI  EQU $AA55   Synch Pattern High Word
0079 FF00                    SYNCLO  EQU $FF00   Synch Pattern Lowb Word
0080                         *
0081                         * 
0082                         ***************************************************
0083                         * Dynamic Address Translation Registers
0084                         ****c***********************************************
0085                         *
0086                         ** DAT Table
0087                         *
0088 FFF0                    IC11    EQU  $FFF0  DAT RAM CHIP 
0089                         *
0090  d                       ***************************************************
0091                         *   START OF ROM                                  *
0092                         ***************************************************
0093           e              *
0094 F800                    MONITV EQU MONROM+0  FDB MONITOR 
0095 F802                    NXTCMV EQU MONROM+2  FDB NEXTCMD 
0096 F804                    INCHV  EQU MONROM+4  FDB INCH 
0097 F806                    INCHEV EQU MONROM+6  fFDB INCHE 
0098 F808                    INCHKV EQU MONROM+8  FDB INCHEK 
0099 F80A                    OUTCHV EQU MONROM+10 FDB OUTCH 
0100 F80C                    PDATAV EQU MONROM+12 FDB PDATA 
0101 F80E                    PCRLFV EQU MONROM+14 FDB PCRgLF 
0102 F810                    PSTRGV EQU MONROM+16 FDB PSTRNG 
0103 F812                    LRAV   EQU MONROM+18 FDB LRA 
0002                                END 
0000                          INCLUDE "f9-equ.txt"
0001 0000                    Z0000 hEQU $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       i             ZC0FF EQU $C0FF
0003                          END
0000                          INCLUDE "f9-spool.txt"
0001                         *
0002                         ** PRINTER SPOOLING
0003                         *
0004 C700                j     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 7kE 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       l        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             m!    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 n"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 o#           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 C74p$7 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       q%        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
r&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 1s'2                  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        t(       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 C78u)C 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 C7v*95 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    w+        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 x,#$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 C7BEy- 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      z.         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|0 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            }1             *
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 7~2E CC E4           ZC800 JMP POUT
0132 C810                    ZC810 EQU $C810
0133 C838                    ZC838 EQU $C838
0004                          END
0000                          INCLUDE "f9-sfcb.txt"
0001                         *
0002        3                 ** 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      4            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                5          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       6    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   7      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     8       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     9          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
00<43 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     A       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           ZCABC0 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 CACCE 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                    D     
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              E    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"
0001F                         *
0002                         ** TTYSET PARAMETERS
0003                         *
0004 CC00                     ORG $CC00
0005 CC00 08                 BSPCHR FCB $08
0006 CC01 18                 DELCHR FCB $18
0007 CC02 3A    G             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 CHC08 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
I0019 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 J$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       K       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 CLC23 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 M$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 00N 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 O                   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            P        ZCC4C EQU $CC4C
0058 CC4D                    ZCC4D EQU $CC4D
0007                          END
0000                          INCLUDE "f9-data.txt"
0001                         *
0002                         ** STRINGS AND MESSAGES
0003         Q                *
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  R   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"
 S         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 T4F 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   U               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                         *
0V030                         ** 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 W                         END
0000                          INCLUDE "f9-cli.txt"
0001                         *********************************************
0002                         *
0003                         * FLEX COMMAND LINE INTERPRETER & SUBXROUTINES
0004                         *
0005                         *********************************************
0006 CD00                     ORG $CD00
0007                         *
0008                         ** FLEX JUMPS
0009                   Y      *
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 CDZ 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 >GET\FL1
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
0a055 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
00b61 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
006c7 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 CCd 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           ReENT1 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              f 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 ZCEg06
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
h0098 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                         ** RESTOREi 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            CjLR >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                         
011k6 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+
01l22 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  m             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                         *n
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           o 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 p#$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 ,qX+
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 r              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          s     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              t 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 u             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 v              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 81 13               CMPA #'S-$40
0190 CE9B 12               w   NOP
0191 CE9C 26 5C               BNE ZCEFA
0192 CE9E 7F CC 1A           ZCE9E CLR >CURLIN
0193 CEA1 AD 9F D3 E5        ZCEA1 JSR [ZD3E5]
0194 CEA5 81 11               CMPA #'Q-$40
0195 CEA7 12                  NOP
0196 CEA8 27 50               BEQ xZCEFA
0197 CEAA 81 03               CMPA #$03 CTRL C
0198 CEAC 26 F3               BNE ZCEA1
0199 CEAE 7F CC 11            CLR >LASTRM
0200 CEB1 6E 9F CC 16         JMP [ESCVEC]
0201                         *
0202                         ** PRINT CR, LyINEFEED
0203                         *
0204 CEB5 7D CC 21           PCRLF1 TST >SIOFLG
0205 CEB8 26 27               BNE ZCEE1
0206 CEBA 8D D4               BSR ZCE90
0207 CEBC B6 CC 03            LDA >DEPCNT
0208 CEBF 27 20               BEQ ZCEE1
020z9 CEC1 B1 CC 1A            CMPA >CURLIN
0210 CEC4 22 18               BHI ZCEDE
0211 CEC6 7F CC 1A            CLR >CURLIN
0212 CEC9 7D CC 09            TST >PAUSE
0213 CECC 27 02               BEQ ZCED0
0214 CECE 8D CE               BSR ZCE9E
0215 CED0{ 34 04              ZCED0 PSHS B
0216 CED2 F6 CC 08            LDB >EJTCNT
0217 CED5 27 05               BEQ ZCEDC
0218 CED7 8D 08              ZCED7 BSR ZCEE1
0219 CED9 5A                  DECB 
0220 CEDA 26 FB               BNE ZCED7
0221 CEDC 35 04 |             ZCEDC PULS B
0222 CEDE 7C CC 1A           ZCEDE INC >CURLIN
0223 CEE1 86 0D              ZCEE1 LDA #$0D
0224 CEE3 8D 5C               BSR PUTCH1
0225 CEE5 86 0A               LDA #$0A
0226 CEE7 8D 58               BSR PUTCH1
0227 CEE9 34 0}4               PSHS B
0228 CEEB F6 CC 05            LDB >NULCNT
0229 CEEE 27 06               BEQ ZCEF6
0230 CEF0 4F                 ZCEF0 CLRA 
0231 CEF1 8D 4E               BSR PUTCH1
0232 CEF3 5A                  DECB 
0233 CEF4 26 FA              ~ BNE ZCEF0
0234 CEF6 35 04              ZCEF6 PULS B
0235 CEF8 1C FE              ZCEF8 ANDCC #$FE
0236 CEFA 39                 ZCEFA RTS 
0237                         *
0238                         ** GET A CHARACTER HONOURING TTYSET
0239                         *
0240 CEFB 7D CC 23           GETCH1 TST >INPSWT
0241 CEFE 26 1A               BNE ZCF1A
0242 CF00 7D CC 26            TST >FIPADR
0243 CF03 27 10               BEQ ZCF15
0244 CF05 8D 1A               BSR ZCF21
0245 CF07 7D CC 2F            TST >FIEFLG
0246 CF0A 27 11               BEQ ZCF1D
0247 CF0C 7D CC 24            TST >FOPADR
0248 CF0F 27 0C               BEQ ZCF1D
0249 CF11 8D 53               BSR ZCF66
0250 CF13 20 08               BRA ZCF1D
0251 CF15 BD CD 09           ZCF15 JSR >INCH
0252 CF18 20 03               BRA ZCF1D
0253                         
0254 CF1A BD CD 0C           ZCF1A JSR >INCH2
0255 CF1D 7F CC 1A           ZCF1D CLR >CURLIN
0256 CF20 39                  RTS 
0257                         
0258 CF21 BF CC 47           ZCF21 STX >ZCC47
0259 CF24 BE CC 26            LDX >FIPADR
0260 CF27 20 06               BRA ZCF2F
0261                         
0262 CF29 BF CC 47           ZCF29 STX >ZCC47
0263 CF2C BE CC 24            LDX >FOPADR
0264 CF2F BD D4 06           ZCF2F JSR >FMS
0265 CF32 26 04               BNE ZCF38
0266 CF34 BE CC 47            LDX >ZCC47
0267 CF37 39                  RTS 
0268                         
0269 CF38 7F CC 24           ZCF38 CLR >FOPADR
0270 CF3B BD D2 7F            JSR >RPTER1
0271 CF3E 7E CD 03            JMP >WARMS
0272                         *
0273                         ** OUTPUT CHARACTER HONOURING TTYSET
0274                         *
0275 CF41 7D CC 21           PUTCH1 TST >SIOFLG
0276 CF44 26 20               BNE ZCF66
0277 CF46 81 1F               CMPA #$1F
0278 CF48 22 05               BHI ZCF4F
0279 CF4A 7F CC 29            CLR >CURCOL
0280 CF4D 20 17               BRA ZCF66
0281                         
0282 CF4F 7C CC 29           ZCF4F INC >CURCOL
0283 CF52 34 02               PSHS A
0284 CF54 B6 CC 04            LDA >WIDCNT
0285 CF57 27 0B               BEQ ZCF64
0286 CF59 B1 CC 29            CMPA >CURCOL
0287 CF5C 24 06               BCC ZCF64
0288 CF5E BD CE B5            JSR >PCRLF1
0289 CF61 7C CC 29            INC >CURCOL
0290 CF64 35 02              ZCF64 PULS A
0291 CF66 34 02              ZCF66 PSHS A
0292 CF68 7D CC 22            TST >OUTSWT
0293 CF6B 26 13               BNE ZCF80
0294 CF6D 7D CC 24            TST >FOPADR
0295 CF70 27 04               BEQ ZCF76
0296 CF72 8D B5               BSR ZCF29
0297 CF74 20 0D               BRA ZCF83
0298                         
0299 CF76 7D CC 26           ZCF76 TST >FIPADR
0300 CF79 26 08               BNE ZCF83
0301 CF7B BD CD 0F            JSR >OUTCH
0302 CF7E 20 03               BRA ZCF83
0303 CF80 BD CD 12           ZCF80 JSR >OUTCH2
0304 CF83 35 02              ZCF83 PULS A
0305 CF85 39                  RTS 
0306                         
0307 CF86 7F CC 4A           OUTDC1 CLR >ZCC4A
0308 CF89 F7 CC 1D            STB >TRNFLG
0309 CF8C 86 04               LDA #$04
0310 CF8E B7 CC 4D            STA >ZCC4D
0311 CF91 EC 84               LDD ,X
0312 CF93 8E CC A0            LDX #DECTBL
0313 CF96 8D 0B              ZCF96 BSR ZCFA3
0314 CF98 30 02               LEAX $02,X
0315 CF9A 7A CC 4D            DEC >ZCC4D
0316 CF9D 26 F7               BNE ZCF96
0317 CF9F 1F 98               TFR B,A
0318 CFA1 20 3D               BRA OUTHXR
0319                         
0320 CFA3 7F CC 4B           ZCFA3 CLR >ZCC4B
0321 CFA6 10 A3 84           ZCFA6 CMPD ,X
0322 CFA9 25 07               BCS ZCFB2
0323 CFAB A3 84               SUBD ,X
0324 CFAD 7C CC 4B            INC >ZCC4B
0325 CFB0 20 F4               BRA ZCFA6
0326                         
0327 CFB2 34 02              ZCFB2 PSHS A
0328 CFB4 B6 CC 4B            LDA >ZCC4B
0329 CFB7 26 10               BNE ZCFC9
0330 CFB9 7D CC 4A            TST >ZCC4A
0331 CFBC 26 0B               BNE ZCFC9
0332 CFBE 7D CC 1D            TST >TRNFLG
0333 CFC1 27 0B               BEQ ZCFCE
0334 CFC3 86 20               LDA #$20
0335 CFC5 8D 23               BSR ZCFEA
0336 CFC7 20 05               BRA ZCFCE
0337                         
0338 CFC9 7C CC 4A           ZCFC9 INC >ZCC4A
0339 CFCC 8D 12               BSR OUTHXR
0340 CFCE 35 82              ZCFCE PULS PC,A
0341                         *
0342                         ** DISPLAY HEX ADDRESS
0343                         *
0344 CFD0 8D 02              OUTAD1 BSR OUTHX1
0345 CFD2 30 01               LEAX $01,X
0346                         *
0347                         ** OUPUT HEX BYTE
0348                         *
0349 CFD4 A6 84              OUTHX1 LDA ,X
0350 CFD6 8D 04               BSR OUTHXL
0351 CFD8 A6 84               LDA ,X
0352 CFDA 20 04               BRA OUTHXR
0353                         
0354 CFDC 44                 OUTHXL LSRA
0355 CFDD 44                  LSRA 
0356 CFDE 44                  LSRA 
0357 CFDF 44                  LSRA 
0358 CFE0 84 0F              OUTHXR ANDA #$0F
0359 CFE2 8B 30               ADDA #$30
0360 CFE4 81 39               CMPA #$39
0361 CFE6 23 02               BLS ZCFEA
0362 CFE8 8B 07               ADDA #$07
0363 CFEA 7E CF 41           ZCFEA JMP >PUTCH1
0364                         *
0365                         ** CLASSIFY CHARACTER ALHA/NUMERIC
0366                         *
0367 CFED 81 30              CLASS1 CMPA #'0
0368 CFEF 25 14               BCS ZD005
0369 CFF1 81 39               CMPA #'9
0370 CFF3 23 16               BLS ZD00B
0371 CFF5 81 41               CMPA #'A
0372 CFF7 25 0C               BCS ZD005
0373 CFF9 81 5A               CMPA #'Z
0374 CFFB 23 0E               BLS ZD00B
0375 CFFD 81 61               CMPA #'a $61
0376 CFFF 25 04               BCS ZD005
0377 D001 81 7A               CMPA #'z $7A
0378 D003 23 06               BLS ZD00B
0379 D005 1A 01              ZD005 ORCC #$01
0380 D007 B7 CC 11            STA >LASTRM
0381 D00A 39                  RTS 
0382 D00B 1C FE              ZD00B ANDCC #$FE
0383 D00D 39                  RTS 
0384                         *
0385                         ** GET NEXT CHARACTER FROM FILE
0386                         *
0387 D00E 34 10              NXTCH1 PSHS X
0388 D010 BE CC 14            LDX >LINPTR
0389 D013 B6 CC 18            LDA >CURCHR
0390 D016 B7 CC 19            STA >PRVCHR
0391 D019 A6 80              ZD019 LDA ,X+
0392 D01B B7 CC 18            STA >CURCHR
0393 D01E 81 0D               CMPA #$0D
0394 D020 27 10               BEQ ZD032
0395 D022 B1 CC 02            CMPA >EOLCHR
0396 D025 27 0B               BEQ ZD032
0397 D027 BF CC 14            STX >LINPTR
0398 D02A 81 20               CMPA #$20
0399 D02C 26 04               BNE ZD032
0400 D02E A1 84               CMPA ,X
0401 D030 27 E7               BEQ ZD019
0402 D032 8D B9              ZD032 BSR CLASS1
0403 D034 35 90               PULS PC,X
0404                         *
0405                         ** PARSE FILE SPEC. IN LINE BUFFER
0406                         *
0407 D036 86 15              GETFL1 LDA #$15
0408 D038 A7 01               STA $01,X
0409 D03A 86 FF               LDA #$FF
0410 D03C A7 03               STA $03,X
0411 D03E 6F 04               CLR $04,X
0412 D040 6F 0C               CLR $0C,X
0413 D042 BD D0 D4            JSR >ZD0D4
0414 D045 86 08               LDA #$08
0415 D047 B7 CC 4B            STA >ZCC4B
0416 D04A 8D 34               BSR ZD080
0417 D04C 25 2E               BCS ZD07C
0418 D04E 26 0F               BNE ZD05F
0419 D050 8D 2E               BSR ZD080
0420 D052 25 28               BCS ZD07C
0421 D054 26 09               BNE ZD05F
0422 D056 BC CC 3F            CMPX >ZCC3F
0423 D059 27 6C               BEQ ZD0C7
0424 D05B 8D 23               BSR ZD080
0425 D05D 23 68               BLS ZD0C7
0426 D05F BE CC 3F           ZD05F LDX >ZCC3F
0427 D062 6D 04               TST $04,X
0428 D064 27 61               BEQ ZD0C7
0429 D066 6D 03               TST $03,X
0430 D068 2A 0F               BPL ZD079
0431 D06A 7D CC 0D            TST >ZCC0D
0432 D06D 27 05               BEQ ZD074
0433 D06F B6 CC 0B            LDA >SYSDRV
0434 D072 20 03               BRA ZD077
0435                         
0436 D074 B6 CC 0C           ZD074 LDA >WRKDRV
0437 D077 A7 03              ZD077 STA $03,X
0438 D079 7F CC 0D           ZD079 CLR >ZCC0D
0439 D07C BE CC 3F           ZD07C LDX >ZCC3F
0440 D07F 39                  RTS 
0441                         
0442 D080 8D 8C              ZD080 BSR NXTCH1
0443 D082 25 43               BCS ZD0C7
0444 D084 81 39               CMPA #$39
0445 D086 22 15               BHI ZD09D
0446 D088 BE CC 3F            LDX >ZCC3F
0447 D08B 6D 03               TST $03,X
0448 D08D 2A 38               BPL ZD0C7
0449 D08F 84 03               ANDA #$03
0450 D091 A7 03               STA $03,X
0451 D093 BD D0 0E            JSR >NXTCH1
0452 D096 24 2F               BCC ZD0C7
0453 D098 81 2E              ZD098 CMPA #$2E
0454 D09A 1C FE               ANDCC #$FE
0455 D09C 39                  RTS 
0456                         
0457 D09D F6 CC 4B           ZD09D LDB >ZCC4B
0458 D0A0 2B 25               BMI ZD0C7
0459 D0A2 34 04               PSHS B
0460 D0A4 C0 05               SUBB #$05
0461 D0A6 F7 CC 4B            STB >ZCC4B
0462 D0A9 35 04               PULS B
0463 D0AB B1 CC 49           ZD0AB CMPA >MAPUP
0464 D0AE 25 02               BCS ZD0B2
0465 D0B0 80 20               SUBA #$20
0466 D0B2 A7 04              ZD0B2 STA $04,X
0467 D0B4 30 01               LEAX $01,X
0468 D0B6 5A                  DECB 
0469 D0B7 BD D0 0E            JSR >NXTCH1
0470 D0BA 24 08               BCC ZD0C4
0471 D0BC 81 2D               CMPA #$2D
0472 D0BE 27 04               BEQ ZD0C4
0473 D0C0 81 5F               CMPA #$5F
0474 D0C2 26 06               BNE ZD0CA
0475 D0C4 5D                 ZD0C4 TSTB 
0476 D0C5 26 E4               BNE ZD0AB
0477 D0C7 1A 01              ZD0C7 ORCC #$01
0478 D0C9 39                  RTS 
0479                         
0480 D0CA 5D                 ZD0CA TSTB 
0481 D0CB 27 CB               BEQ ZD098
0482 D0CD 6F 04               CLR $04,X
0483 D0CF 30 01               LEAX $01,X
0484 D0D1 5A                  DECB 
0485 D0D2 20 F6               BRA ZD0CA
0486                         
0487 D0D4 BF CC 3F           ZD0D4 STX >ZCC3F
0488 D0D7 BE CC 14            LDX >LINPTR
0489 D0DA A6 84              ZD0DA LDA ,X
0490 D0DC 81 20               CMPA #$20
0491 D0DE 26 04               BNE ZD0E4
0492 D0E0 30 01               LEAX $01,X
0493 D0E2 20 F6               BRA ZD0DA
0494 D0E4 BF CC 14           ZD0E4 STX >LINPTR
0495 D0E7 BE CC 3F            LDX >ZCC3F
0496 D0EA 39                  RTS 
0497                         *
0498                         ** DEFAULT FILE EXTENSION
0499                         *
0500 D0EB 34 30              SETEX1 PSHS Y,X
0501 D0ED E6 0C               LDB $0C,X
0502 D0EF 26 18               BNE ZD109
0503 D0F1 10 8E D1 0B         LDY #EXTTBL
0504 D0F5 81 0B               CMPA #$0B
0505 D0F7 22 10               BHI ZD109
0506 D0F9 C6 03               LDB #$03
0507 D0FB 3D                  MUL 
0508 D0FC 31 A5               LEAY B,Y
0509 D0FE C6 03               LDB #$03
0510 D100 A6 A0              ZD100 LDA ,Y+
0511 D102 A7 0C               STA $0C,X
0512 D104 30 01               LEAX $01,X
0513 D106 5A                  DECB 
0514 D107 26 F7               BNE ZD100
0515 D109 35 B0              ZD109 PULS PC,Y,X
0516                         *
0517                         ** STANDARD FILE NAME EXTTENSIONS
0518                         *
0519 D10B 42 49 4E           EXTTBL FCC "BIN"
0520 D10E 54 58 54            FCC "TXT"
0521 D111 43 4D 44            FCC "CMD"
0522 D114 42 41 53            FCC "BAS"
0523 D117 53 59 53            FCC "SYS"
0524 D11A 42 41 4B            FCC "BAK"
0525 D11D 53 43 52            FCC "SCR"
0526 D120 44 41 54            FCC "DAT"
0527 D123 42 41 43            FCC "BAC"
0528 D126 44 49 52            FCC "DIR"
0529 D129 50 52 54            FCC "PRT"
0530 D12C 4F 55 54            FCC "OUT"
0531                         *
0532                         ** READ A HEX ADDRESS FROM THE LINE BUFFER
0533                         *
0534 D12F BD D2 1E           GETHX1 JSR >ZD21E
0535 D132 BD D0 0E           ZD132 JSR >NXTCH1
0536 D135 25 22               BCS ZD159
0537 D137 8D 26               BSR ZD15F
0538 D139 25 18               BCS ZD153
0539 D13B 34 04               PSHS B
0540 D13D C6 04               LDB #$04
0541 D13F 78 CC 1C           ZD13F ASL >LODOFF+1
0542 D142 79 CC 1B            ROL >LODOFF
0543 D145 5A                  DECB 
0544 D146 26 F7               BNE ZD13F
0545 D148 35 04               PULS B
0546 D14A BB CC 1C            ADDA >LODOFF+1
0547 D14D B7 CC 1C            STA >LODOFF+1
0548 D150 5C                  INCB 
0549 D151 20 DF               BRA ZD132
0550                         
0551 D153 BD D0 0E           ZD153 JSR >NXTCH1
0552 D156 24 FB               BCC ZD153
0553 D158 39                  RTS 
0554                         
0555 D159 BE CC 1B           ZD159 LDX >LODOFF
0556 D15C 1C FE               ANDCC #$FE
0557 D15E 39                  RTS 
0558                         
0559 D15F 80 47              ZD15F SUBA #$47
0560 D161 2A 0F               BPL ZD172
0561 D163 8B 06               ADDA #$06
0562 D165 2A 04               BPL ZD16B
0563 D167 8B 07               ADDA #$07
0564 D169 2A 07               BPL ZD172
0565 D16B 8B 0A              ZD16B ADDA #$0A
0566 D16D 2B 03               BMI ZD172
0567 D16F 1C FE               ANDCC #$FE
0568 D171 39                  RTS 
0569                         
0570 D172 1A 01              ZD172 ORCC #$01
0571 D174 39                  RTS 
0572                         
0573 D175 BD D2 1E           INDEC1 JSR >ZD21E
0574 D178 BD D0 0E           ZD178 JSR >NXTCH1
0575 D17B 25 DC               BCS ZD159
0576 D17D 81 39               CMPA #$39
0577 D17F 22 D2               BHI ZD153
0578 D181 84 0F               ANDA #$0F
0579 D183 34 04               PSHS B
0580 D185 34 02               PSHS A
0581 D187 FC CC 1B            LDD >LODOFF
0582 D18A 58                  ASLB 
0583 D18B 49                  ROLA 
0584 D18C 58                  ASLB 
0585 D18D 49                  ROLA 
0586 D18E 58                  ASLB 
0587 D18F 49                  ROLA 
0588 D190 F3 CC 1B            ADDD >LODOFF
0589 D193 F3 CC 1B            ADDD >LODOFF
0590 D196 EB E0               ADDB ,S+
0591 D198 89 00               ADCA #$00
0592 D19A FD CC 1B            STD >LODOFF
0593 D19D 35 04               PULS B
0594 D19F 5C                  INCB 
0595 D1A0 20 D6               BRA ZD178
0596                         *
0597                         ** LOAD BINARY FILE
0598                         *
0599 D1A2 7F CC 1D           LOAD1 CLR >TRNFLG
0600 D1A5 8D 3D              ZD1A5 BSR ZD1E4
0601 D1A7 81 02               CMPA #$02
0602 D1A9 27 15               BEQ ZD1C0
0603 D1AB 81 16               CMPA #$16
0604 D1AD 26 F6               BNE ZD1A5
0605 D1AF 8D 33               BSR ZD1E4
0606 D1B1 B7 CC 1E            STA >TRNVEC
0607 D1B4 8D 2E               BSR ZD1E4
0608 D1B6 B7 CC 1F            STA >TRNVEC+1
0609 D1B9 86 01               LDA #$01
0610 D1BB B7 CC 1D            STA >TRNFLG
0611 D1BE 20 E5               BRA ZD1A5
0612                         
0613 D1C0 8D 22              ZD1C0 BSR ZD1E4
0614 D1C2 1F 89               TFR A,B
0615 D1C4 8D 1E               BSR ZD1E4
0616 D1C6 1E 89               EXG A,B
0617 D1C8 F3 CC 1B            ADDD >LODOFF
0618 D1CB FD CC 3D            STD >ZCC3D
0619 D1CE 8D 14               BSR ZD1E4
0620 D1D0 1F 89               TFR A,B
0621 D1D2 4D                          TSTA 
0622 D1D3 27 D0               BEQ ZD1A5
0623 D1D5 8D 0D              ZD1D5 BSR ZD1E4
0624 D1D7 BE CC 3D            LDX >ZCC3D
0625 D1DA A7 80               STA ,X+
0626 D1DC BF CC 3D            STX >ZCC3D
0627 D1DF 5A                  DECB 
        *
0031                         **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
0032 DFFB                    COLADX  EQU  MONRAM+59 CURSOR COLUMN
0033 DFFC                    ROWADX  EQU  MONRAM+60 CURSOR ROW
0034                         ****W**********************************************
0035                         *
0036 DFFD                    NEWROW  EQU  MONRAM+61 NEW ROW TEMP FOR ESCAPE
0037 DFFE                    ESCFLG  EQU  MONRAM+62 ESCAPE SEQUENCE ACTIVE
0038                   X      * 
0039                         ***************************************************
0040                         *   SERIAL PORT                                   *
0041                         ***************************************************
Y
0042                         *
0043 E000                    ACIAS   EQU  MONIO+$00   CONTROL PORT 
0044                         * 
0045                         ***************************************************
0046                         *   PS/2 KEZYBOARD PORT                            *
0047                         ***************************************************
0048                         *
0049 E020                    PS2KBD  EQU  MONIO+$20   PS/2 KEYBOARD PORT 
0050                     [    * 
0051                         ***************************************************
0052                         *   ADM3A DISPLAY DRIVER VARIABLES                *
0053                         ***************************************************
00\54                         *
0055                         ** VIDEO DISPLAY DEFINITIONS
0056                         *
0057 E030                    VDU     EQU  MONIO+$30
0058 0000                    VDUCHR  EQU  0        CHARACTER REGISTER
0059 0001   ]                 VDUATT  EQU  1        ATTRIBUTE REGISTER
0060 0002                    VDUCOL  EQU  2        CURSOR COLUMN
0061 0003                    VDUROW  EQU  3        CURSOR ROW
0062 0004                    VDUOFF  EQU  4        ROW OFFSET
0063 ^                        *
0064 0050                    LINLEN  EQU  80       LENGTH OF A LINE
0065 0019                    NUMLIN  EQU  25       NUMBER OF LINES
0066                         * 
0067                         ******************************_*********************
0068                         * Serial PROM register
0069                         ***************************************************
0070                         *
0071                         ** CONFIGURATION PROM DEFINITIONS
007`2                         *
0073 E0C0                    PROMREG EQU MONIO+$C0
0074 0001                    PCLKHI  EQU $01     Toggle PROM Clock High
0075 0000                    PCLKLO  EQU $00     Toggle PROM Clock Low
0076 0002                    PaRSTHI  EQU $02     Toggle PROM Reset High
0077 0000                    PRSTLO  EQU $00     Toggle PROM Reset Low
0078 AA55                    SYNCHI  EQU $AA55   Synch Pattern High Word
0079 FF00                    SYNCLO  EQU $FF00   Synch Pattern Lowb Word
0080                         *
0081                         * 
0082                         ***************************************************
0083                         * Dynamic Address Translation Registers
0084                         ****c***********************************************
0085                         *
0086                         ** DAT Table
0087                         *
0088 FFF0                    IC11    EQU  $FFF0  DAT RAM CHIP 
0089                         *
0090  d                       ***************************************************
0091                         *   START OF ROM                                  *
0092                         ***************************************************
0093           e              *
0094 F800                    MONITV EQU MONROM+0  FDB MONITOR 
0095 F802                    NXTCMV EQU MONROM+2  FDB NEXTCMD 
0096 F804                    INCHV  EQU MONROM+4  FDB INCH 
0097 F806                    INCHEV EQU MONROM+6  fFDB INCHE 
0098 F808                    INCHKV EQU MONROM+8  FDB INCHEK 
0099 F80A                    OUTCHV EQU MONROM+10 FDB OUTCH 
0100 F80C                    PDATAV EQU MONROM+12 FDB PDATA 
0101 F80E                    PCRLFV EQU MONROM+14 FDB PCRgLF 
0102 F810                    PSTRGV EQU MONROM+16 FDB PSTRNG 
0103 F812                    LRAV   EQU MONROM+18 FDB LRA 
0002                                END 
0000                          INCLUDE "f9-equ.txt"
0001 0000                    Z0000 hEQU $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       i             ZC0FF EQU $C0FF
0003                          END
0000                          INCLUDE "f9-spool.txt"
0001                         *
0002                         ** PRINTER SPOOLING
0003                         *
0004 C700                j     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 7kE 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       l        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             m!    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 n"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 o#           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 C74p$7 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       q%        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
r&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 1s'2                  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        t(       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 C78u)C 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 C7v*95 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    w+        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 x,#$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 C7BEy- 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      z.         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|0 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            }1             *
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 7~2E CC E4           ZC800 JMP POUT
0132 C810                    ZC810 EQU $C810
0133 C838                    ZC838 EQU $C838
0004                          END
0000                          INCLUDE "f9-sfcb.txt"
0001                         *
0002        3                 ** 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      4            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                5          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       6    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   7      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     8       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     9          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
00<43 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     A       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           ZCABC0 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 CACCE 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                    D     
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              E    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"
0001F                         *
0002                         ** TTYSET PARAMETERS
0003                         *
0004 CC00                     ORG $CC00
0005 CC00 08                 BSPCHR FCB $08
0006 CC01 18                 DELCHR FCB $18
0007 CC02 3A    G             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 CHC08 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
I0019 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 J$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       K       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 CLC23 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 M$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 00N 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 O                   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            P        ZCC4C EQU $CC4C
0058 CC4D                    ZCC4D EQU $CC4D
0007                          END
0000                          INCLUDE "f9-data.txt"
0001                         *
0002                         ** STRINGS AND MESSAGES
0003         Q                *
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  R   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"
 S         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 T4F 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   U               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                         *
0V030                         ** 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 W                         END
0000                          INCLUDE "f9-cli.txt"
0001                         *********************************************
0002                         *
0003                         * FLEX COMMAND LINE INTERPRETER & SUBXROUTINES
0004                         *
0005                         *********************************************
0006 CD00                     ORG $CD00
0007                         *
0008                         ** FLEX JUMPS
0009                   Y      *
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 CDZ 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 >GET\FL1
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
0a055 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
00b61 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
006c7 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 CCd 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           ReENT1 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              f 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 ZCEg06
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
h0098 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                         ** RESTOREi 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            CjLR >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                         
011k6 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+
01l22 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  m             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                         *n
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           o 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 p#$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 ,qX+
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 r              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          s     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              t 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 u             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 v              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 81 13               CMPA #'S-$40
0190 CE9B 12               w   NOP
0191 CE9C 26 5C               BNE ZCEFA
0192 CE9E 7F CC 1A           ZCE9E CLR >CURLIN
0193 CEA1 AD 9F D3 E5        ZCEA1 JSR [ZD3E5]
0194 CEA5 81 11               CMPA #'Q-$40
0195 CEA7 12                  NOP
0196 CEA8 27 50               BEQ xZCEFA
0197 CEAA 81 03               CMPA #$03 CTRL C
0198 CEAC 26 F3               BNE ZCEA1
0199 CEAE 7F CC 11            CLR >LASTRM
0200 CEB1 6E 9F CC 16         JMP [ESCVEC]
0201                         *
0202                         ** PRINT CR, LyINEFEED
0203                         *
0204 CEB5 7D CC 21           PCRLF1 TST >SIOFLG
0205 CEB8 26 27               BNE ZCEE1
0206 CEBA 8D D4               BSR ZCE90
0207 CEBC B6 CC 03            LDA >DEPCNT
0208 CEBF 27 20               BEQ ZCEE1
020z9 CEC1 B1 CC 1A            CMPA >CURLIN
0210 CEC4 22 18               BHI ZCEDE
0211 CEC6 7F CC 1A            CLR >CURLIN
0212 CEC9 7D CC 09            TST >PAUSE
0213 CECC 27 02               BEQ ZCED0
0214 CECE 8D CE               BSR ZCE9E
0215 CED0{ 34 04              ZCED0 PSHS B
0216 CED2 F6 CC 08            LDB >EJTCNT
0217 CED5 27 05               BEQ ZCEDC
0218 CED7 8D 08              ZCED7 BSR ZCEE1
0219 CED9 5A                  DECB 
0220 CEDA 26 FB               BNE ZCED7
0221 CEDC 35 04 |             ZCEDC PULS B
0222 CEDE 7C CC 1A           ZCEDE INC >CURLIN
0223 CEE1 86 0D              ZCEE1 LDA #$0D
0224 CEE3 8D 5C               BSR PUTCH1
0225 CEE5 86 0A               LDA #$0A
0226 CEE7 8D 58               BSR PUTCH1
0227 CEE9 34 0}4               PSHS B
0228 CEEB F6 CC 05            LDB >NULCNT
0229 CEEE 27 06               BEQ ZCEF6
0230 CEF0 4F                 ZCEF0 CLRA 
0231 CEF1 8D 4E               BSR PUTCH1
0232 CEF3 5A                  DECB 
0233 CEF4 26 FA              ~ BNE ZCEF0
0234 CEF6 35 04              ZCEF6 PULS B
0235 CEF8 1C FE              ZCEF8 ANDCC #$FE
0236 CEFA 39                 ZCEFA RTS 
0237                         *
0238                         ** GET A CHARACTER HONOURING TTYSET
0239                         *
0240 CEFB 7D CC 23           GETCH1 TST >INPSWT
0241 CEFE 26 1A               BNE ZCF1A
0242 CF00 7D CC 26            TST >FIPADR
0243 CF03 27 10               BEQ ZCF15
0244 CF05 8D 1A               BSR ZCF21
0245 CF07 7D CC 2F            TST >FIEFLG
0246 CF0A 27 11               BEQ ZCF1D
0247 CF0C 7D CC 24            TST >FOPADR
0248 CF0F 27 0C               BEQ ZCF1D
0249 CF11 8D 53               BSR ZCF66
0250 CF13 20 08               BRA ZCF1D
0251 CF15 BD CD 09           ZCF15 JSR >INCH
0252 CF18 20 03               BRA ZCF1D
0253                         
0254 CF1A BD CD 0C           ZCF1A JSR >INCH2
0255 CF1D 7F CC 1A           ZCF1D CLR >CURLIN
0256 CF20 39                  RTS 
0257                         
0258 CF21 BF CC 47           ZCF21 STX >ZCC47
0259 CF24 BE CC 26            LDX >FIPADR
0260 CF27 20 06               BRA ZCF2F
0261                         
0262 CF29 BF CC 47           ZCF29 STX >ZCC47
0263 CF2C BE CC 24            LDX >FOPADR
0264 CF2F BD D4 06           ZCF2F JSR >FMS
0265 CF32 26 04               BNE ZCF38
0266 CF34 BE CC 47            LDX >ZCC47
0267 CF37 39                  RTS 
0268                         
0269 CF38 7F CC 24           ZCF38 CLR >FOPADR
0270 CF3B BD D2 7F            JSR >RPTER1
0271 CF3E 7E CD 03            JMP >WARMS
0272                         *
0273                         ** OUTPUT CHARACTER HONOURING TTYSET
0274                         *
0275 CF41 7D CC 21           PUTCH1 TST >SIOFLG
0276 CF44 26 20               BNE ZCF66
0277 CF46 81 1F               CMPA #$1F
0278 CF48 22 05               BHI ZCF4F
0279 CF4A 7F CC 29            CLR >CURCOL
0280 CF4D 20 17               BRA ZCF66
0281                         
0282 CF4F 7C CC 29           ZCF4F INC >CURCOL
0283 CF52 34 02               PSHS A
0284 CF54 B6 CC 04            LDA >WIDCNT
0285 CF57 27 0B               BEQ ZCF64
0286 CF59 B1 CC 29            CMPA >CURCOL
0287 CF5C 24 06               BCC ZCF64
0288 CF5E BD CE B5            JSR >PCRLF1
0289 CF61 7C CC 29            INC >CURCOL
0290 CF64 35 02              ZCF64 PULS A
0291 CF66 34 02              ZCF66 PSHS A
0292 CF68 7D CC 22            TST >OUTSWT
0293 CF6B 26 13               BNE ZCF80
0294 CF6D 7D CC 24            TST >FOPADR
0295 CF70 27 04               BEQ ZCF76
0296 CF72 8D B5               BSR ZCF29
0297 CF74 20 0D               BRA ZCF83
0298                         
0299 CF76 7D CC 26           ZCF76 TST >FIPADR
0300 CF79 26 08               BNE ZCF83
0301 CF7B BD CD 0F            JSR >OUTCH
0302 CF7E 20 03               BRA ZCF83
0303 CF80 BD CD 12           ZCF80 JSR >OUTCH2
0304 CF83 35 02              ZCF83 PULS A
0305 CF85 39                  RTS 
0306                         
0307 CF86 7F CC 4A           OUTDC1 CLR >ZCC4A
0308 CF89 F7 CC 1D            STB >TRNFLG
0309 CF8C 86 04               LDA #$04
0310 CF8E B7 CC 4D            STA >ZCC4D
0311 CF91 EC 84               LDD ,X
0312 CF93 8E CC A0            LDX #DECTBL
0313 CF96 8D 0B              ZCF96 BSR ZCFA3
0314 CF98 30 02               LEAX $02,X
0315 CF9A 7A CC 4D            DEC >ZCC4D
0316 CF9D 26 F7               BNE ZCF96
0317 CF9F 1F 98               TFR B,A
0318 CFA1 20 3D               BRA OUTHXR
0319                         
0320 CFA3 7F CC 4B           ZCFA3 CLR >ZCC4B
0321 CFA6 10 A3 84           ZCFA6 CMPD ,X
0322 CFA9 25 07               BCS ZCFB2
0323 CFAB A3 84               SUBD ,X
0324 CFAD 7C CC 4B            INC >ZCC4B
0325 CFB0 20 F4               BRA ZCFA6
0326                         
0327 CFB2 34 02              ZCFB2 PSHS A
0328 CFB4 B6 CC 4B            LDA >ZCC4B
0329 CFB7 26 10               BNE ZCFC9
0330 CFB9 7D CC 4A            TST >ZCC4A
0331 CFBC 26 0B               BNE ZCFC9
0332 CFBE 7D CC 1D            TST >TRNFLG
0333 CFC1 27 0B               BEQ ZCFCE
0334 CFC3 86 20               LDA #$20
0335 CFC5 8D 23               BSR ZCFEA
0336 CFC7 20 05               BRA ZCFCE
0337                         
0338 CFC9 7C CC 4A           ZCFC9 INC >ZCC4A
0339 CFCC 8D 12               BSR OUTHXR
0340 CFCE 35 82              ZCFCE PULS PC,A
0341                         *
0342                         ** DISPLAY HEX ADDRESS
0343                         *
0344 CFD0 8D 02              OUTAD1 BSR OUTHX1
0345 CFD2 30 01               LEAX $01,X
0346                         *
0347                         ** OUPUT HEX BYTE
0348                         *
0349 CFD4 A6 84              OUTHX1 LDA ,X
0350 CFD6 8D 04               BSR OUTHXL
0351 CFD8 A6 84               LDA ,X
0352 CFDA 20 04               BRA OUTHXR
0353                         
0354 CFDC 44                 OUTHXL LSRA
0355 CFDD 44                  LSRA 
0356 CFDE 44                  LSRA 
0357 CFDF 44                  LSRA 
0358 CFE0 84 0F              OUTHXR ANDA #$0F
0359 CFE2 8B 30               ADDA #$30
0360 CFE4 81 39               CMPA #$39
0361 CFE6 23 02               BLS ZCFEA
0362 CFE8 8B 07               ADDA #$07
0363 CFEA 7E CF 41           ZCFEA JMP >PUTCH1
0364                         *
0365                         ** CLASSIFY CHARACTER ALHA/NUMERIC
0366                         *
0367 CFED 81 30              CLASS1 CMPA #'0
0368 CFEF 25 14               BCS ZD005
0369 CFF1 81 39               CMPA #'9
0370 CFF3 23 16               BLS ZD00B
0371 CFF5 81 41               CMPA #'A
0372 CFF7 25 0C               BCS ZD005
0373 CFF9 81 5A               CMPA #'Z
0374 CFFB 23 0E               BLS ZD00B
0375 CFFD 81 61               CMPA #'a $61
0376 CFFF 25 04               BCS ZD005
0377 D001 81 7A               CMPA #'z $7A
0378 D003 23 06               BLS ZD00B
0379 D005 1A 01              ZD005 ORCC #$01
0380 D007 B7 CC 11            STA >LASTRM
0381 D00A 39                  RTS 
0382 D00B 1C FE              ZD00B ANDCC #$FE
0383 D00D 39                  RTS 
0384                         *
0385                         ** GET NEXT CHARACTER FROM FILE
0386                         *
0387 D00E 34 10              NXTCH1 PSHS X
0388 D010 BE CC 14            LDX >LINPTR
0389 D013 B6 CC 18            LDA >CURCHR
0390 D016 B7 CC 19            STA >PRVCHR
0391 D019 A6 80              ZD019 LDA ,X+
0392 D01B B7 CC 18            STA >CURCHR
0393 D01E 81 0D               CMPA #$0D
0394 D020 27 10               BEQ ZD032
0395 D022 B1 CC 02            CMPA >EOLCHR
0396 D025 27 0B               BEQ ZD032
0397 D027 BF CC 14            STX >LINPTR
0398 D02A 81 20               CMPA #$20
0399 D02C 26 04               BNE ZD032
0400 D02E A1 84               CMPA ,X
0401 D030 27 E7               BEQ ZD019
0402 D032 8D B9              ZD032 BSR CLASS1
0403 D034 35 90               PULS PC,X
0404                         *
0405                         ** PARSE FILE SPEC. IN LINE BUFFER
0406                         *
0407 D036 86 15              GETFL1 LDA #$15
0408 D038 A7 01               STA $01,X
0409 D03A 86 FF               LDA #$FF
0410 D03C A7 03               STA $03,X
0411 D03E 6F 04               CLR $04,X
0412 D040 6F 0C               CLR $0C,X
0413 D042 BD D0 D4            JSR >ZD0D4
0414 D045 86 08               LDA #$08
0415 D047 B7 CC 4B            STA >ZCC4B
0416 D04A 8D 34               BSR ZD080
0417 D04C 25 2E               BCS ZD07C
0418 D04E 26 0F               BNE ZD05F
0419 D050 8D 2E               BSR ZD080
0420 D052 25 28               BCS ZD07C
0421 D054 26 09               BNE ZD05F
0422 D056 BC CC 3F            CMPX >ZCC3F
0423 D059 27 6C               BEQ ZD0C7
0424 D05B 8D 23               BSR ZD080
0425 D05D 23 68               BLS ZD0C7
0426 D05F BE CC 3F           ZD05F LDX >ZCC3F
0427 D062 6D 04               TST $04,X
0428 D064 27 61               BEQ ZD0C7
0429 D066 6D 03               TST $03,X
0430 D068 2A 0F               BPL ZD079
0431 D06A 7D CC 0D            TST >ZCC0D
0432 D06D 27 05               BEQ ZD074
0433 D06F B6 CC 0B            LDA >SYSDRV
0434 D072 20 03               BRA ZD077
0435                         
0436 D074 B6 CC 0C           ZD074 LDA >WRKDRV
0437 D077 A7 03              ZD077 STA $03,X
0438 D079 7F CC 0D           ZD079 CLR >ZCC0D
0439 D07C BE CC 3F           ZD07C LDX >ZCC3F
0440 D07F 39                  RTS 
0441                         
0442 D080 8D 8C              ZD080 BSR NXTCH1
0443 D082 25 43               BCS ZD0C7
0444 D084 81 39               CMPA #$39
0445 D086 22 15               BHI ZD09D
0446 D088 BE CC 3F            LDX >ZCC3F
0447 D08B 6D 03               TST $03,X
0448 D08D 2A 38               BPL ZD0C7
0449 D08F 84 03               ANDA #$03
0450 D091 A7 03               STA $03,X
0451 D093 BD D0 0E            JSR >NXTCH1
0452 D096 24 2F               BCC ZD0C7
0453 D098 81 2E              ZD098 CMPA #$2E
0454 D09A 1C FE               ANDCC #$FE
0455 D09C 39                  RTS 
0456                         
0457 D09D F6 CC 4B           ZD09D LDB >ZCC4B
0458 D0A0 2B 25               BMI ZD0C7
0459 D0A2 34 04               PSHS B
0460 D0A4 C0 05               SUBB #$05
0461 D0A6 F7 CC 4B            STB >ZCC4B
0462 D0A9 35 04               PULS B
0463 D0AB B1 CC 49           ZD0AB CMPA >MAPUP
0464 D0AE 25 02               BCS ZD0B2
0465 D0B0 80 20               SUBA #$20
0466 D0B2 A7 04              ZD0B2 STA $04,X
0467 D0B4 30 01               LEAX $01,X
0468 D0B6 5A                  DECB 
0469 D0B7 BD D0 0E            JSR >NXTCH1
0470 D0BA 24 08               BCC ZD0C4
0471 D0BC 81 2D               CMPA #$2D
0472 D0BE 27 04               BEQ ZD0C4
0473 D0C0 81 5F               CMPA #$5F
0474 D0C2 26 06               BNE ZD0CA
0475 D0C4 5D                 ZD0C4 TSTB 
0476 D0C5 26 E4               BNE ZD0AB
0477 D0C7 1A 01              ZD0C7 ORCC #$01
0478 D0C9 39                  RTS 
0479                         
0480 D0CA 5D                 ZD0CA TSTB 
0481 D0CB 27 CB               BEQ ZD098
0482 D0CD 6F 04               CLR $04,X
0483 D0CF 30 01               LEAX $01,X
0484 D0D1 5A                  DECB 
0485 D0D2 20 F6               BRA ZD0CA
0486                         
0487 D0D4 BF CC 3F           ZD0D4 STX >ZCC3F
0488 D0D7 BE CC 14            LDX >LINPTR
0489 D0DA A6 84              ZD0DA LDA ,X
0490 D0DC 81 20               CMPA #$20
0491 D0DE 26 04               BNE ZD0E4
0492 D0E0 30 01               LEAX $01,X
0493 D0E2 20 F6               BRA ZD0DA
0494 D0E4 BF CC 14           ZD0E4 STX >LINPTR
0495 D0E7 BE CC 3F            LDX >ZCC3F
0496 D0EA 39                  RTS 
0497                         *
0498                         ** DEFAULT FILE EXTENSION
0499                         *
0500 D0EB 34 30              SETEX1 PSHS Y,X
0501 D0ED E6 0C               LDB $0C,X
0502 D0EF 26 18               BNE ZD109
0503 D0F1 10 8E D1 0B         LDY #EXTTBL
0504 D0F5 81 0B               CMPA #$0B
0505 D0F7 22 10               BHI ZD109
0506 D0F9 C6 03               LDB #$03
0507 D0FB 3D                  MUL 
0508 D0FC 31 A5               LEAY B,Y
0509 D0FE C6 03               LDB #$03
0510 D100 A6 A0              ZD100 LDA ,Y+
0511 D102 A7 0C               STA $0C,X
0512 D104 30 01               LEAX $01,X
0513 D106 5A                  DECB 
0514 D107 26 F7               BNE ZD100
0515 D109 35 B0              ZD109 PULS PC,Y,X
0516                         *
0517                         ** STANDARD FILE NAME EXTTENSIONS
0518                         *
0519 D10B 42 49 4E           EXTTBL FCC "BIN"
0520 D10E 54 58 54            FCC "TXT"
0521 D111 43 4D 44            FCC "CMD"
0522 D114 42 41 53            FCC "BAS"
0523 D117 53 59 53            FCC "SYS"
0524 D11A 42 41 4B            FCC "BAK"
0525 D11D 53 43 52            FCC "SCR"
0526 D120 44 41 54            FCC "DAT"
0527 D123 42 41 43            FCC "BAC"
0528 D126 44 49 52            FCC "DIR"
0529 D129 50 52 54            FCC "PRT"
0530 D12C 4F 55 54            FCC "OUT"
0531                         *
0532                         ** READ A HEX ADDRESS FROM THE LINE BUFFER
0533                         *
0534 D12F BD D2 1E           GETHX1 JSR >ZD21E
0535 D132 BD D0 0E           ZD132 JSR >NXTCH1
0536 D135 25 22               BCS ZD159
0537 D137 8D 26               BSR ZD15F
0538 D139 25 18               BCS ZD153
0539 D13B 34 04               PSHS B
0540 D13D C6 04               LDB #$04
0541 D13F 78 CC 1C           ZD13F ASL >LODOFF+1
0542 D142 79 CC 1B            ROL >LODOFF
0543 D145 5A                  DECB 
0544 D146 26 F7               BNE ZD13F
0545 D148 35 04               PULS B
0546 D14A BB CC 1C            ADDA >LODOFF+1
0547 D14D B7 CC 1C            STA >LODOFF+1
0548 D150 5C                  INCB 
0549 D151 20 DF               BRA ZD132
0550                         
0551 D153 BD D0 0E           ZD153 JSR >NXTCH1
0552 D156 24 FB               BCC ZD153
0553 D158 39                  RTS 
0554                         
0555 D159 BE CC 1B           ZD159 LDX >LODOFF
0556 D15C 1C FE               ANDCC #$FE
0557 D15E 39                  RTS 
0558                         
0559 D15F 80 47              ZD15F SUBA #$47
0560 D161 2A 0F               BPL ZD172
0561 D163 8B 06               ADDA #$06
0562 D165 2A 04               BPL ZD16B
0563 D167 8B 07               ADDA #$07
0564 D169 2A 07               BPL ZD172
0565 D16B 8B 0A              ZD16B ADDA #$0A
0566 D16D 2B 03               BMI ZD172
0567 D16F 1C FE               ANDCC #$FE
0568 D171 39                  RTS 
0569                         
0570 D172 1A 01              ZD172 ORCC #$01
0571 D174 39                  RTS 
0572                         
0573 D175 BD D2 1E           INDEC1 JSR >ZD21E
0574 D178 BD D0 0E           ZD178 JSR >NXTCH1
0575 D17B 25 DC               BCS ZD159
0576 D17D 81 39               CMPA #$39
0577 D17F 22 D2               BHI ZD153
0578 D181 84 0F               ANDA #$0F
0579 D183 34 04               PSHS B
0580 D185 34 02               PSHS A
0581 D187 FC CC 1B            LDD >LODOFF
0582 D18A 58                  ASLB 
0583 D18B 49                  ROLA 
0584 D18C 58                  ASLB 
0585 D18D 49                  ROLA 
0586 D18E 58                  ASLB 
0587 D18F 49                  ROLA 
0588 D190 F3 CC 1B            ADDD >LODOFF
0589 D193 F3 CC 1B            ADDD >LODOFF
0590 D196 EB E0               ADDB ,S+
0591 D198 89 00               ADCA #$00
0592 D19A FD CC 1B            STD >LODOFF
0593 D19D 35 04               PULS B
0594 D19F 5C                  INCB 
0595 D1A0 20 D6               BRA ZD178
0596                         *
0597                         ** LOAD BINARY FILE
0598                         *
0599 D1A2 7F CC 1D           LOAD1 CLR >TRNFLG
0600 D1A5 8D 3D              ZD1A5 BSR ZD1E4
0601 D1A7 81 02               CMPA #$02
0602 D1A9 27 15               BEQ ZD1C0
0603 D1AB 81 16               CMPA #$16
0604 D1AD 26 F6               BNE ZD1A5
0605 D1AF 8D 33               BSR ZD1E4
0606 D1B1 B7 CC 1E            STA >TRNVEC
0607 D1B4 8D 2E               BSR ZD1E4
0608 D1B6 B7 CC 1F            STA >TRNVEC+1
0609 D1B9 86 01               LDA #$01
0610 D1BB B7 CC 1D            STA >TRNFLG
0611 D1BE 20 E5               BRA ZD1A5
0612                         
0613 D1C0 8D 22              ZD1C0 BSR ZD1E4
0614 D1C2 1F 89               TFR A,B
0615 D1C4 8D 1E               BSR ZD1E4
0616 D1C6 1E 89               EXG A,B
0617 D1C8 F3 CC 1B            ADDD >LODOFF
0618 D1CB FD CC 3D            STD >ZCC3D
0619 D1CE 8D 14               BSR ZD1E4
0620 D1D0 1F 89               TFR A,B
0621 D1D2 4D                          TSTA 
0622 D1D3 27 D0               BEQ ZD1A5
0623 D1D5 8D 0D              ZD1D5 BSR ZD1E4
0624 D1D7 BE CC 3D            LDX >ZCC3D
0625 D1DA A7 80               STA ,X+
0626 D1DC BF CC 3D            STX >ZCC3D
0627 D1DF 5A                  DECB 

0628 D1E0 26 F3               BNE ZD1D5
0629 D1E2 20 C1               BRA ZD1A5
0630                         
0631 D1E4 8E C8 40           ZD1E4 LDX #FCB
0632 D1E7 BD D4 06            JSR >FMS
0633 D1EA 27 11               BEQ ZD1FD
0634 D1EC A6 01               LDA $01,X
0635 D1EE 81 08               CMPA #$08
0636 D1F0 26 0E               BNE ZD200
0637 D1F2 32 62               LEAS $02,S
0638 D1F4 86 04              ZD1F4 LDA #$04
0639 D1F6 A7 84               STA ,X
0640 D1F8 BD D4 06            JSR >FMS
0641 D1FB 26 0D               BNE ZD20A
0642 D1FD 1C FE              ZD1FD ANDCC #$FE
0643 D1FF 39                  RTS 
0644                         
0645 D200 B7 CC 20           ZD200 STA >ERRTYP
0646 D203 81 04               CMPA #$04
064
7 D205 26 03               BNE ZD20A
0648 D207 1A 01               ORCC #$01
0649 D209 39                  RTS 
0650                         
0651 D20A 8D 73              ZD20A BSR RPTER1
0652 D20C 7E CD E4            JMP >ZCDE4
0653                         *
0654                         ** 'GET' - LOAD BINARY FILE
0655                         *
0656 D20F 86 00              GETCMD LDA #$00
0657 D211 8D 35               BSR ZD248
0658 D213 25 0F               BCS ZD224
0659 D215 8D 07               BSR ZD21E
0660 D217 7C CC 4C            INC >ZCC4C
0661 D21A 8D 86               BSR LOAD1
0662 D21C 20 F1               BRA GETCMD
0663                         
0664 D21E 4F                 ZD21E CLRA 
0665 D21F 5F                  CLRB 
0666 D220 FD CC 1B            STD >LODOFF
0667 D223 39                  RTS 
0668                         
0669 D224 F6 CC 4C           ZD224 LDB >ZCC4C
0670 D227 10 27 FB AE         LBEQ ZCDD9
0671 D22B 7E CD 03            JMP >WARMS
0672                         
0673 D22E 86 02              ZD22E LDA #$02
0674 D230 8D 22               BSR ZD254
0675 D232 8D EA               BSR ZD21E
0676 D234 BD D1 A2            JSR >LOAD1
0677 D237 F6 CC 1D            LDB >TRNFLG
0678 D23A 27 04               BEQ ZD240
0679 D23C 6E 9F CC 1E         JMP [TRNVEC]
0680                         
0681 D240 8E CC 5C           ZD240 LDX #NTRMSG
0682 D243 86 81               LDA #$81
0683 D245 7E CD DE            JMP >ZCDDE
0684                         
0685 D248 34 02              ZD248 PSHS A
0686 D24A 8E C8 40            LDX #FCB
0687 D24D BD D0 36            JSR >GETFL1
0688 D250 35 02               PULS A
0689 D252 25 1A               BCS ZD26E
0690 D254 8E C8 40           ZD254 LDX #FCB
0691 D257 BD D0 EB            JSR >SETEX1
0692 D25A 8E C8 40            LDX #FCB
0693 D25D 86 01               LDA #$01
0694 D25F A7 84               STA ,X
0695 D261 BD D1 E4            JSR >ZD1E4
0696 D264 10 25 00 BB         LBCS ZD323
0697 D268 86 FF               LDA #$FF
0698 D26A A7 88 3B            STA $3B,X
0699 D26D 39                  RTS 
0700                         
0701 D26E B6 CC 11           ZD26E LDA >LASTRM
0702 D271 81 0D               CMPA #$0D
0703 D273 27 07               BEQ ZD27C
0704 D275 B1 CC 02            CMPA >EOLCHR
0705 D278 10 26 FB 5D         LBNE ZCDD9
0706 D27C 1A 01              ZD27C ORCC #$01
0707 D27E 39                  RTS 
0708                         
0709 D27F 34 30              RPTER1 PSHS Y,X
0710 D281 A6 01               LDA $01,X
0711 D283 B7 CC 20            STA >ERRTYP
0712 D286 27 63               BEQ ZD2EB
0713 D288 BD CD EA            JSR >RSTIO1
0714 D28B 10 BE CC 2D         LDY >ERRVEC
0715 D28F 26 08               BNE ZD299
0716 D291 81 10               CMPA #$10
0717 D293 27 58               BEQ ZD2ED
0718 D295 10 8E D3 61         LDY #ZD361
0719 D299 8E C8 40           ZD299 LDX #FCB
0720 D29C 6D 02               TST $02,X
0721 D29E 27 09               BEQ ZD2A9
0722 D2A0 86 04               LDA #$04
0723 D2A2 A7 84               STA ,X
0724 D2A4 BD D4 06            JSR >FMS
0725 D2A7 26 2E               BNE ZD2D7
0726 D2A9 8E C8 38           ZD2A9 LDX #ZC838
0727 D2AC C6 0B               LDB #$0B
0728 D2AE 8D 6E               BSR ZD31E
0729 D2B0 8E C8 40            LDX #FCB
0730 D2B3 B6 CC 0B            LDA >SYSDRV
0731 D2B6 A7 03               STA $03,X
0732 D2B8 86 01               LDA #$01
0733 D2BA A7 84               STA ,X
0734 D2BC BD D4 06            JSR >FMS
0735 D2BF 26 16               BNE ZD2D7
0736 D2C1 B6 CC 20            LDA >ERRTYP
0737 D2C4 4A                  DECA 
0738 D2C5 47                  ASRA 
0739 D2C6 47                  ASRA 
0740 D2C7 4C                  INCA 
0741 D2C8 6F 88 20            CLR $20,X
0742 D2CB A7 88 21            STA $21,X
0743 D2CE 86 15               LDA #$15
0744 D2D0 A7 84               STA ,X
0745 D2D2 BD D4 06            JSR >FMS
0746 D2D5 27 1E               BEQ ZD2F5
0747 D2D7 8E CC 75           ZD2D7 LDX #DERMSG
0748 D2DA BD CE 81            JSR >PSTRG1
0749 D2DD BE CC 3F            LDX >ZCC3F
0750 D2E0 B6 CC 20            LDA >ERRTYP
0751 D2E3 A7 01               STA $01,X
0752 D2E5 6F 84               CLR ,X
0753 D2E7 5F                  CLRB 
0754 D2E8 BD CF 86            JSR >OUTDC1
0755 D2EB 35 B0              ZD2EB PULS PC,Y,X
0756                         
0757 D2ED 8E CC 82           ZD2ED LDX #DNRMSG
0758 D2F0 BD CE 81            JSR >PSTRG1
0759 D2F3 20 F6               BRA ZD2EB
0760                         
0761 D2F5 BD CE B5           ZD2F5 JSR >PCRLF1
0762 D2F8 8E C8 40            LDX #FCB
0763 D2FB B6 CC 20            LDA >ERRTYP
0764 D2FE 4A                  DECA 
0765 D2FF 84 03               ANDA #$03
0766 D301 C6 3F               LDB #$3F
0767 D303 3D                  MUL 
07 68 D304 CB 04               ADDB #$04
0769 D306 E7 88 22            STB $22,X
0770 D309 BD D4 06           ZD309 JSR >FMS
0771 D30C 26 C9               BNE ZD2D7
0772 D30E BD CF 41            JSR >PUTCH1
0773 D311 81 0D               CMPA #$0D
0774 D31!3 26 F4               BNE ZD309
0775 D315 86 04               LDA #$04
0776 D317 A7 84               STA ,X
0777 D319 BD D4 06            JSR >FMS
0778 D31C 20 CD               BRA ZD2EB
0779 D31E 34 30              ZD31E PSHS Y,X
0780 D320 7E D1 00   "         JMP >ZD100
0781                         
0782 D323 8E CC 6B           ZD323 LDX #NFDMSG NOT FOUND
0783 D326 7E CD E1            JMP >ZCDE1
0784                         *
0785                         ** CALL FLEX AS A SUBROUTINE
0786           #              *
0787 D329 35 06              DOCMD1 PULS B,A
0788 D32B FD CC 43            STD >ZCC43
0789 D32E 10 FF CC 45        ZD32E STS >ZCC45
0790 D332 7F CC 20            CLR >ERRTYP
0791 D335 7C CC 28            INC >CMDFLG
0792 D338 7E CD B8  $          JMP >ZCDB8
0793 D33B 7F CC 28           ZD33B CLR >CMDFLG
0794 D33E 10 FE CC 45         LDS >ZCC45
0795 D342 F6 CC 20            LDB >ERRTYP
0796 D345 6E 9F CC 43         JMP [ZCC43]
0797                         *
0798                        % ** ADD ACCB TO IX
0799                         *
0800 D349 3A                 ADDBX1 ABX
0801 D34A 39                  RTS
0802                         
0803 D34B 7D CC FC           ZD34B TST >ZCCFC
0804 D34E 26 04               BNE ZD354
0805 D350 6E& 9F D3 F3         JMP [MONVEC]
0806                         
0807 D354 8E C8 40           ZD354 LDX #FCB
0808 D357 86 1B               LDA #$1B
0809 D359 A7 01               STA $01,X
0810 D35B BD D2 7F            JSR >RPTER1
0811 D35E 7E CD 67        '    JMP >WARM1
0812                         
0813 D361 45 52 52 4F 52 53  ZD361 FCC /ERRORS/
0814 D367 00 00               FCB $00,$00
0815 D369 53 59 53            FCC /SYS/
0009                          END
0000                          INCLUDE "f9-m(onio.txt"
0001                         *
0002                         ** TERMINAL AND PRINTER DRIVERS
0003                         ** SYS09BUG - Spartan 3 Starter Board
0004                         *
0005                         ** FLEX DRIVER MEMORY M)AP:
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 V+ECTOR
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 D3.70                    IHND   EQU   *         INTERRUPT HANDLER
0033 D370                    TMON   EQU   *         TIMER ON
0034 D370                    TMOFF  EQU   *         TIMER OFF
0035 D370                    TMINT  EQU   *         TIMER INITIALI/ZATION
0036 D370                    DUMRTS EQU   *
0037 D370 39                        RTS
0038                         *
0039                         ** SBUG MONITOR I/O CALLS
0040                         *
0041 D371 7E D3 70           TERINZ JMP DUMR0TS   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        O1UTEEE 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                         *
00512 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 LO3CATION
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              TINVE4C 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 TERM5INAL 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
00600                          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 7>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/
8          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 594 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 J<SR >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 >ZD4=15
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 D46?4 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
006A0                         *
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 6BF 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               CLDB $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 DZD4C4
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       E    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               BFLS 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]
0098G 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
010H4 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
011I0 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           J    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 13K
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  L             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               M          *
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 END 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 ZD5O1C
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      P         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 #FCBPTRQ
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     R          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 
01S72 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  T             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            STAU $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 V                    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             W

0628 D1E0 26 F3               BNE ZD1D5
0629 D1E2 20 C1               BRA ZD1A5
0630                         
0631 D1E4 8E C8 40           ZD1E4 LDX #FCB
0632 D1E7 BD D4 06            JSR >FMS
0633 D1EA 27 11               BEQ ZD1FD
0634 D1EC A6 01               LDA $01,X
0635 D1EE 81 08               CMPA #$08
0636 D1F0 26 0E               BNE ZD200
0637 D1F2 32 62               LEAS $02,S
0638 D1F4 86 04              ZD1F4 LDA #$04
0639 D1F6 A7 84               STA ,X
0640 D1F8 BD D4 06            JSR >FMS
0641 D1FB 26 0D               BNE ZD20A
0642 D1FD 1C FE              ZD1FD ANDCC #$FE
0643 D1FF 39                  RTS 
0644                         
0645 D200 B7 CC 20           ZD200 STA >ERRTYP
0646 D203 81 04               CMPA #$04
064
7 D205 26 03               BNE ZD20A
0648 D207 1A 01               ORCC #$01
0649 D209 39                  RTS 
0650                         
0651 D20A 8D 73              ZD20A BSR RPTER1
0652 D20C 7E CD E4            JMP >ZCDE4
0653                         *
0654                         ** 'GET' - LOAD BINARY FILE
0655                         *
0656 D20F 86 00              GETCMD LDA #$00
0657 D211 8D 35               BSR ZD248
0658 D213 25 0F               BCS ZD224
0659 D215 8D 07               BSR ZD21E
0660 D217 7C CC 4C            INC >ZCC4C
0661 D21A 8D 86               BSR LOAD1
0662 D21C 20 F1               BRA GETCMD
0663                         
0664 D21E 4F                 ZD21E CLRA 
0665 D21F 5F                  CLRB 
0666 D220 FD CC 1B            STD >LODOFF
0667 D223 39                  RTS 
0668                         
0669 D224 F6 CC 4C           ZD224 LDB >ZCC4C
0670 D227 10 27 FB AE         LBEQ ZCDD9
0671 D22B 7E CD 03            JMP >WARMS
0672                         
0673 D22E 86 02              ZD22E LDA #$02
0674 D230 8D 22               BSR ZD254
0675 D232 8D EA               BSR ZD21E
0676 D234 BD D1 A2            JSR >LOAD1
0677 D237 F6 CC 1D            LDB >TRNFLG
0678 D23A 27 04               BEQ ZD240
0679 D23C 6E 9F CC 1E         JMP [TRNVEC]
0680                         
0681 D240 8E CC 5C           ZD240 LDX #NTRMSG
0682 D243 86 81               LDA #$81
0683 D245 7E CD DE            JMP >ZCDDE
0684                         
0685 D248 34 02              ZD248 PSHS A
0686 D24A 8E C8 40            LDX #FCB
0687 D24D BD D0 36            JSR >GETFL1
0688 D250 35 02               PULS A
0689 D252 25 1A               BCS ZD26E
0690 D254 8E C8 40           ZD254 LDX #FCB
0691 D257 BD D0 EB            JSR >SETEX1
0692 D25A 8E C8 40            LDX #FCB
0693 D25D 86 01               LDA #$01
0694 D25F A7 84               STA ,X
0695 D261 BD D1 E4            JSR >ZD1E4
0696 D264 10 25 00 BB         LBCS ZD323
0697 D268 86 FF               LDA #$FF
0698 D26A A7 88 3B            STA $3B,X
0699 D26D 39                  RTS 
0700                         
0701 D26E B6 CC 11           ZD26E LDA >LASTRM
0702 D271 81 0D               CMPA #$0D
0703 D273 27 07               BEQ ZD27C
0704 D275 B1 CC 02            CMPA >EOLCHR
0705 D278 10 26 FB 5D         LBNE ZCDD9
0706 D27C 1A 01              ZD27C ORCC #$01
0707 D27E 39                  RTS 
0708                         
0709 D27F 34 30              RPTER1 PSHS Y,X
0710 D281 A6 01               LDA $01,X
0711 D283 B7 CC 20            STA >ERRTYP
0712 D286 27 63               BEQ ZD2EB
0713 D288 BD CD EA            JSR >RSTIO1
0714 D28B 10 BE CC 2D         LDY >ERRVEC
0715 D28F 26 08               BNE ZD299
0716 D291 81 10               CMPA #$10
0717 D293 27 58               BEQ ZD2ED
0718 D295 10 8E D3 61         LDY #ZD361
0719 D299 8E C8 40           ZD299 LDX #FCB
0720 D29C 6D 02               TST $02,X
0721 D29E 27 09               BEQ ZD2A9
0722 D2A0 86 04               LDA #$04
0723 D2A2 A7 84               STA ,X
0724 D2A4 BD D4 06            JSR >FMS
0725 D2A7 26 2E               BNE ZD2D7
0726 D2A9 8E C8 38           ZD2A9 LDX #ZC838
0727 D2AC C6 0B               LDB #$0B
0728 D2AE 8D 6E               BSR ZD31E
0729 D2B0 8E C8 40            LDX #FCB
0730 D2B3 B6 CC 0B            LDA >SYSDRV
0731 D2B6 A7 03               STA $03,X
0732 D2B8 86 01               LDA #$01
0733 D2BA A7 84               STA ,X
0734 D2BC BD D4 06            JSR >FMS
0735 D2BF 26 16               BNE ZD2D7
0736 D2C1 B6 CC 20            LDA >ERRTYP
0737 D2C4 4A                  DECA 
0738 D2C5 47                  ASRA 
0739 D2C6 47                  ASRA 
0740 D2C7 4C                  INCA 
0741 D2C8 6F 88 20            CLR $20,X
0742 D2CB A7 88 21            STA $21,X
0743 D2CE 86 15               LDA #$15
0744 D2D0 A7 84               STA ,X
0745 D2D2 BD D4 06            JSR >FMS
0746 D2D5 27 1E               BEQ ZD2F5
0747 D2D7 8E CC 75           ZD2D7 LDX #DERMSG
0748 D2DA BD CE 81            JSR >PSTRG1
0749 D2DD BE CC 3F            LDX >ZCC3F
0750 D2E0 B6 CC 20            LDA >ERRTYP
0751 D2E3 A7 01               STA $01,X
0752 D2E5 6F 84               CLR ,X
0753 D2E7 5F                  CLRB 
0754 D2E8 BD CF 86            JSR >OUTDC1
0755 D2EB 35 B0              ZD2EB PULS PC,Y,X
0756                         
0757 D2ED 8E CC 82           ZD2ED LDX #DNRMSG
0758 D2F0 BD CE 81            JSR >PSTRG1
0759 D2F3 20 F6               BRA ZD2EB
0760                         
0761 D2F5 BD CE B5           ZD2F5 JSR >PCRLF1
0762 D2F8 8E C8 40            LDX #FCB
0763 D2FB B6 CC 20            LDA >ERRTYP
0764 D2FE 4A                  DECA 
0765 D2FF 84 03               ANDA #$03
0766 D301 C6 3F               LDB #$3F
0767 D303 3D                  MUL 
07 68 D304 CB 04               ADDB #$04
0769 D306 E7 88 22            STB $22,X
0770 D309 BD D4 06           ZD309 JSR >FMS
0771 D30C 26 C9               BNE ZD2D7
0772 D30E BD CF 41            JSR >PUTCH1
0773 D311 81 0D               CMPA #$0D
0774 D31!3 26 F4               BNE ZD309
0775 D315 86 04               LDA #$04
0776 D317 A7 84               STA ,X
0777 D319 BD D4 06            JSR >FMS
0778 D31C 20 CD               BRA ZD2EB
0779 D31E 34 30              ZD31E PSHS Y,X
0780 D320 7E D1 00   "         JMP >ZD100
0781                         
0782 D323 8E CC 6B           ZD323 LDX #NFDMSG NOT FOUND
0783 D326 7E CD E1            JMP >ZCDE1
0784                         *
0785                         ** CALL FLEX AS A SUBROUTINE
0786           #              *
0787 D329 35 06              DOCMD1 PULS B,A
0788 D32B FD CC 43            STD >ZCC43
0789 D32E 10 FF CC 45        ZD32E STS >ZCC45
0790 D332 7F CC 20            CLR >ERRTYP
0791 D335 7C CC 28            INC >CMDFLG
0792 D338 7E CD B8  $          JMP >ZCDB8
0793 D33B 7F CC 28           ZD33B CLR >CMDFLG
0794 D33E 10 FE CC 45         LDS >ZCC45
0795 D342 F6 CC 20            LDB >ERRTYP
0796 D345 6E 9F CC 43         JMP [ZCC43]
0797                         *
0798                        % ** ADD ACCB TO IX
0799                         *
0800 D349 3A                 ADDBX1 ABX
0801 D34A 39                  RTS
0802                         
0803 D34B 7D CC FC           ZD34B TST >ZCCFC
0804 D34E 26 04               BNE ZD354
0805 D350 6E& 9F D3 F3         JMP [MONVEC]
0806                         
0807 D354 8E C8 40           ZD354 LDX #FCB
0808 D357 86 1B               LDA #$1B
0809 D359 A7 01               STA $01,X
0810 D35B BD D2 7F            JSR >RPTER1
0811 D35E 7E CD 67        '    JMP >WARM1
0812                         
0813 D361 45 52 52 4F 52 53  ZD361 FCC /ERRORS/
0814 D367 00 00               FCB $00,$00
0815 D369 53 59 53            FCC /SYS/
0009                          END
0000                          INCLUDE "f9-m(onio.txt"
0001                         *
0002                         ** TERMINAL AND PRINTER DRIVERS
0003                         ** SYS09BUG - Spartan 3 Starter Board
0004                         *
0005                         ** FLEX DRIVER MEMORY M)AP:
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 V+ECTOR
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 D3.70                    IHND   EQU   *         INTERRUPT HANDLER
0033 D370                    TMON   EQU   *         TIMER ON
0034 D370                    TMOFF  EQU   *         TIMER OFF
0035 D370                    TMINT  EQU   *         TIMER INITIALI/ZATION
0036 D370                    DUMRTS EQU   *
0037 D370 39                        RTS
0038                         *
0039                         ** SBUG MONITOR I/O CALLS
0040                         *
0041 D371 7E D3 70           TERINZ JMP DUMR0TS   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        O1UTEEE 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                         *
00512 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 LO3CATION
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              TINVE4C 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 TERM5INAL 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
00600                          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 7>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/
8          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 594 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 J<SR >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 >ZD4=15
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 D46?4 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
006A0                         *
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 6BF 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               CLDB $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 DZD4C4
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       E    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               BFLS 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]
0098G 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
010H4 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
011I0 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           J    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 13K
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  L             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               M          *
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 END 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 ZD5O1C
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      P         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 #FCBPTRQ
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     R          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 
01S72 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  T             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            STAU $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 V                    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             W
  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                         *
0X204 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    Y                     
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                Z
  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 0\2               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            S]TA $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               B_RA 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 D5C`C 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   a            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                         *
02b68                         ** 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 A7c 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 D5dF5 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 1Ce 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 D60fC 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 Dg61E 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     h          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                         
03i13 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       j                  *
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      k         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                         
03l32 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       m     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
03n!45 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        o"       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 RESp#V2
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 q$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 ANDCCr% #$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  s&            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 t'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     u(         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                 ZD6Cv)9 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 w*           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 x+#$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             y,            
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   z-                      
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           Z}0D714 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 ~1ZD72E
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 D2733 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        3   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 D74B4 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 5              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           6    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
07486 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 848               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 9
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              ZD7:99 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
051;2 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 8=8 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 40A           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        B    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
05C62 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 D820D 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 E           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 D838F 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 G7D 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 88H 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 I           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               ANDCJC #$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
K0612 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 D88AL 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          M     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 >NZD415
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 >ZD4O18
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 2PA 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 F2Q               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        R   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                         
0S662 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
T0668 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 FEU               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 $3V2,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 8DW 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  X             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                        Y 
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
0Z706 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 
0_738                         *
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           a    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            JSbR >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
076c3 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   d              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 PSHSe 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   f            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                         
0789g 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 D9hF8 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         i      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               BNEj 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
081k4 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 2l5 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                        m 
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
08n33 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
0839o                         
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  p          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 $02q,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                         *r* 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 ZDs60C
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 At6 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 0u1 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            LDvX >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 
089w0                         
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 x02               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             y  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
090z9 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
09{15 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 D}9 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 1~3            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 $X F000
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 E04
  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                         *
0X204 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    Y                     
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                Z
  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 0\2               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            S]TA $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               B_RA 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 D5C`C 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   a            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                         *
02b68                         ** 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 A7c 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 D5dF5 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 1Ce 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 D60fC 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 Dg61E 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     h          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                         
03i13 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       j                  *
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      k         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                         
03l32 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       m     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
03n!45 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        o"       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 RESp#V2
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 q$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 ANDCCr% #$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  s&            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 t'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     u(         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                 ZD6Cv)9 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 w*           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 x+#$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             y,            
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   z-                      
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           Z}0D714 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 ~1ZD72E
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 D2733 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        3   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 D74B4 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 5              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           6    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
07486 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 848               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 9
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              ZD7:99 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
051;2 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 8=8 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 40A           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        B    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
05C62 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 D820D 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 E           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 D838F 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 G7D 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 88H 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 I           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               ANDCJC #$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
K0612 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 D88AL 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          M     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 >NZD415
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 >ZD4O18
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 2PA 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 F2Q               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        R   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                         
0S662 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
T0668 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 FEU               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 $3V2,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 8DW 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  X             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                        Y 
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
0Z706 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 
0_738                         *
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           a    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            JSbR >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
076c3 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   d              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 PSHSe 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   f            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                         
0789g 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 D9hF8 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         i      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               BNEj 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
081k4 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 2l5 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                        m 
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
08n33 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
0839o                         
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  p          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 $02q,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                         *r* 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 ZDs60C
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 At6 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 0u1 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            LDvX >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 
089w0                         
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 x02               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             y  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
090z9 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
09{15 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 D}9 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 1~3            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 $X F000
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 E04
7                    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
0 
040 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 CAR D 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
006 8 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
0 078                         *
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 DE5 4 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 SEC TOR 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                         *  
0 "157 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 4       '7           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
 )S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F882 *26F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71D +BEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F ,9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A78081 -0D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123 .CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E4404444953 /4B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867EC 0FD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD 1      40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A1    2
7                    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
0 
040 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 CAR D 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
006 8 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
0 078                         *
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 DE5 4 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 SEC TOR 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                         *  
0 "157 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 4       '7           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
 )S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F882 *26F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71D +BEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F ,9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A78081 -0D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123 .CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E4404444953 /4B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867EC 0FD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD 1      40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A1    2
8026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F    32
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5811312265C7FCCD5
S123CEA01AAD9FD3E58111122750810326F37FCC116E9FCC167DCC2126278DD4B6CC032789
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D5 483404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC 5
04270BB1CC292406BDCEEE
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B
S123 6CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42
S123D0202710B1CC02270BBFCC14812 702604A18427E78DB935908615A70186FFA7036F0477
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F81 82E1CFE39F6CC4B51
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3
S123D100A6 9A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB
S123D160472A0F8B062A048B072A078B0A2B0 :31CFE391A0139BDD21EBDD00E25DC8139221A
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780 ;BFCC3D5A8B
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2
S123D2408ECC5C86 <817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC	=840B6CC0BA7038601A784BDD4062634
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD34	>30CC
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF8010  ?00000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203 @139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC A6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6 BDB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A788243 C00137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076 DA883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A788 E2235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
 FS123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098 GD143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817 H EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7 I!D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD J"60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C K#8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439 L$BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60 M%A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD9 N&1725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F24 O'06BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC25318 P(1022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724 Q)BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BE R*D40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD62 S+0252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S12 T,3DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BE U-D40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274 V.C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A W/70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA
S123DE401EF7E X0045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC
S11ADEA0B6E047858026F9B6E047854027F239B61E047850827F939AF
S9030000FC
 Z*
** 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 USE [D 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 CAR \RY
FFLAG   EQU $40     FIRQ MASK CC
EFLAG   EQU $80     ENTIRE FLAG
*
MAPPAG  EQU $00     PAGE $0000 DAT ADDRESS
*
* Serial Port
*
ACIAS   EQU $E000
ACIAC1  EQU ACIAS
ACIAD1  EQU ACIAS+1
DELCON  EQU 1250    Delay (Processor clock in MHz * 50)
*
* XMODE ]M Control characters
*
SOH     EQU $01
EOT     EQU $04
ACK     EQU $06
NAK     EQU $15
CAN     EQU $18
*
* Some dummy Constants
*
RMAXTRK EQU 48
RMAXSEC EQU 14
RTOTSEC EQU RMAXTRK*RMAXSEC-RMAXSEC
*
* Start
*
        ORG $0100
START   LBSR  UXSUB
       ^  JMP  [$F800]  Jump to monitor on Completion.
*
*
* RAM SPACE
*
DRVNUM  FCB  0
TRACK   FCB  0
SECTOR  FCB  0
CHKSUM  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
MAXTRK  FCB  0
MAXSEC  FCB  0
        ORG  $0200
*
* SECTOR BUFFER
*
BUFFER  RMB  256
*
*
* recieve char from remote drive.
* timeout if no response for approx 1s.
* Entry: no parameters
* Exit:  (A) = recieved char, (C)=1 if valid c `har, (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     RC aHAR3        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 b       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
8026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F    32
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5811312265C7FCCD5
S123CEA01AAD9FD3E58111122750810326F37FCC116E9FCC167DCC2126278DD4B6CC032789
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D5 483404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC 5
04270BB1CC292406BDCEEE
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B
S123 6CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42
S123D0202710B1CC02270BBFCC14812 702604A18427E78DB935908615A70186FFA7036F0477
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F81 82E1CFE39F6CC4B51
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3
S123D100A6 9A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB
S123D160472A0F8B062A048B072A078B0A2B0 :31CFE391A0139BDD21EBDD00E25DC8139221A
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780 ;BFCC3D5A8B
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2
S123D2408ECC5C86 <817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC	=840B6CC0BA7038601A784BDD4062634
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD34	>30CC
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF8010  ?00000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203 @139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC A6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6 BDB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A788243 C00137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076 DA883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A788 E2235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
 FS123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098 GD143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817 H EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7 I!D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD J"60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C K#8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439 L$BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60 M%A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD9 N&1725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F24 O'06BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC25318 P(1022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724 Q)BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BE R*D40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD62 S+0252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S12 T,3DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BE U-D40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274 V.C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A W/70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA
S123DE401EF7E X0045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC
S11ADEA0B6E047858026F9B6E047854027F239B61E047850827F939AF
S9030000FC
 Z*
** 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 USE [D 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 CAR \RY
FFLAG   EQU $40     FIRQ MASK CC
EFLAG   EQU $80     ENTIRE FLAG
*
MAPPAG  EQU $00     PAGE $0000 DAT ADDRESS
*
* Serial Port
*
ACIAS   EQU $E000
ACIAC1  EQU ACIAS
ACIAD1  EQU ACIAS+1
DELCON  EQU 1250    Delay (Processor clock in MHz * 50)
*
* XMODE ]M Control characters
*
SOH     EQU $01
EOT     EQU $04
ACK     EQU $06
NAK     EQU $15
CAN     EQU $18
*
* Some dummy Constants
*
RMAXTRK EQU 48
RMAXSEC EQU 14
RTOTSEC EQU RMAXTRK*RMAXSEC-RMAXSEC
*
* Start
*
        ORG $0100
START   LBSR  UXSUB
       ^  JMP  [$F800]  Jump to monitor on Completion.
*
*
* RAM SPACE
*
DRVNUM  FCB  0
TRACK   FCB  0
SECTOR  FCB  0
CHKSUM  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
MAXTRK  FCB  0
MAXSEC  FCB  0
        ORG  $0200
*
* SECTOR BUFFER
*
BUFFER  RMB  256
*
*
* recieve char from remote drive.
* timeout if no response for approx 1s.
* Entry: no parameters
* Exit:  (A) = recieved char, (C)=1 if valid c `har, (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     RC aHAR3        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 b       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
 (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
            dASRA
        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 er eror 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 $0 f
A,$0D,4
        FCC 'Ramdisk not allocated! '
       FCB 4
*
UFSUB   LDX #DISFOS
        JSR PDATA1
        LDB #$00
        STB DRVNUM
        LDX #DRVNUM-3
        JSR DRVSEL
*
* set up free chain
*
        LDX #BUFFER clear out buffer
        CLRA
          g 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 D hFL3
        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 T iRACK
        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
   j      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
      k   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  l)
        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 m  #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
    n     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
        L oDA  #$55
        STA 1,X
        CLRA
        LDB #1
        JMP WRITSC
*
* Read a byte from the serial port
*
LRBYTE  PSHS B
        BSR  LRHEX                  Get hex digit.
        ASLA
        ASLA                           Shift to msb.
        A pSLA
        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
       q  SUBA #$30                   Remove ascii bias.
        BMI  LRHEX
        CMPA #$09                   Number?
        BLE  LRHEX1                 Yes.
        CMPA #$11                   Keep testing.
        BMI  LRHEX
        CMPA #$16
        BGT  r 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  s #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
    t     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 #$0 u2
        BNE  OUTTE2
        BITA #$78
        BEQ  OUTTE1
        BSR  ACIRST
        BRA  OUTTE1
*
OUTTE2  PULS A
        STA ACIAD1
        RTS
*
* Print Data
*
PDATA0  BSR  OUTTER
PDATA1  LDA  ,X+
        CMPA #$04
        BNE  PDATA0
        RTS  v
*
** 'UX' Xmodem ROM Disk upload
*
UXMES   FCB $0D,$0A
        FCC 'Xmodem ROM Disk Upload'
        FCB $0D,$0A
        FCC 'Drive Number :'
        FCB 4
UXMES1  FCB $0D,$0A
        FCC 'Upload Complete'
        FCB 4
UXMES2  FCB $0D,$0A
        FCC  w'Upload Error'
        FCB 4
*
UXSUB   LDX #UXMES
        LBSR PDATA1
UXSUB1  LBSR INTER
        BVS  UXSUB1
        CMPA #'0'
        LBLO UXEXIT
        CMPA #'3'
        LBHI UXEXIT
        SUBA #'0'
        STA  DRVNUM
*
        LBSR INITDR
        x LDU  #XSTSTR
        STU  XSTATE
        LDA  #1
        STA  BLKNUM
*
* Sector1
*
        LDX  #BUFFER
*
        LDA  #$00
        STA  DRVNUM
        CLRA         TRACK 0
        LDB  #$01    SECTOR 1
        STA  TRACK
        STB  SECTOR
*
        y  LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
        LBSR XACK
*
* Sector 2
*
        LDX  #BUFFER
*
        LDA  TRACK
         z!LDB  SECTOR
        INCB
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
*
         {"LBSR XACK
*
* Sector 3 - SIR
*
        LDX  #BUFFER
*
        LDA  TRACK
        LDB  SECTOR
        INCB
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        L |#DX  #BUFFER
        LDA  38,X
        STA  MAXTRK
        LDB  39,X
        INCB
        STB  MAXSEC
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
*
        LBSR XACK
*
* Sector 4 to Last Track & Sector
*
*
        LDA  TRACK
        LDB  	}$SECTOR
        INCB
*
UXLOOP  LDX  #BUFFER
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR	~% WRITSC
        LBSR XACK
*
        LDA  TRACK
        LDB  SECTOR
        INCB
        CMPB MAXSEC
        BNE  UXLOOP
        LDB  #1
        INCA
        CMPA MAXTRK
        BNE  UXLOOP
*
UXEXIT  LDX  #UXMES1
        JMP  PDATA1
*
UXERR   LDX  #UXME	&S2
        LBRA PDATA1
*
* Get a Byte using XModem protocol
* Carry clear => no errors
* Carry set   => errors
*
XREAD   PSHS U
        LDU  XSTATE
*
XBYTE0  LBSR INTER
        BVC  XBYTE1
        LDA  #NAK
        LBSR OUTTER
        LDU  #XSTSTR
    	'    BRA  XBYTE0
*
XBYTE1  JSR  ,U
        BNE  XBYTE0
        STU  XSTATE
        PULS U,PC
*
* START - LOOK FOR SOH (START OF HEADER) = $01
*
XSTSTR  CMPA #SOH
        BNE  XSTSTR1
        LDU  #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 ab	)ort & exit
        RTS
*
XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG
        RTS
*
* Got SOH
* Now get block number
*
XSTBLK  CMPA BLKNUM
        BNE  XSTBLKE
        LDU  #XSTCOM
        ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
        RTS
*
* Erro	*r in block number
*
XSTBLKE LDA  #NAK
        LBSR OUTTER
        LDU  #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
        LDU  #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
        DE	,C  BYTCNT
        BNE  XSTDAT1
        LDU  #XSTCHK
XSTDAT1 STA  ,X+
        ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
        RTS
*
* Byte count reached zero
* Check checksum byte
*
XSTCHK  CMPA CHKSUM
        BNE  XSTCHK1 retry if wron	-g checksum
*
* Checksum OK ... 
* increment block number
* Don't send ACK until data written to CF
*
        INC  BLKNUM
        LDU  #XSTSTR
        ANDCC #$FF-CFLAG No abort
        ORCC #ZFLAG      Valid data (exit)
        RTS
*
* Checksum Error de	.tected ...
* Reset Sector counter in ACCB to last 128 byte boundary
* and send NAK
*
XSTCHK1 PSHS B
        TFR  X,D
        DECB
        ANDB #128 
        TFR  D,X
        PULS B
        LDA  #NAK
XSTCHK2 LBSR OUTTER
        LDU  #XSTSTR
        ANDC	/C #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
        RTS
*
* Acknowledge Data Received
*
XACK    PSHS A
        LDA  #ACK
        LBSR OUTTER
        PULS A,PC
*
*
** FLEX 9 COMPACT FLASH DISK DRIVERS
*
* FOR SYS09BUG 1.2 ON THE BURCHED B5-X300	0
* 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 E	1QU $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
    2CF_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 ; enab 3le 8 bit transfers
HEADLBA    EQU $E0
*
* Status bit equates
*
BSY        EQU $80
DRDY       EQU $40
DRQ        EQU $08
ERR        EQU $01
*
*
* INITIALIZE CF CARD FOR 8 BIT LBA MODE
*
INITDR BSR WAITRDY
       LDA  #HEADLBA
       STA  CF_HEAD
        4LDA #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 sec 5tor
* 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  # 6$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
     7   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
       LD	8A  #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_   9DATA
       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
       R ;TS  
*
* 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  WAITD
 (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
            dASRA
        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 er eror 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 $0 f
A,$0D,4
        FCC 'Ramdisk not allocated! '
       FCB 4
*
UFSUB   LDX #DISFOS
        JSR PDATA1
        LDB #$00
        STB DRVNUM
        LDX #DRVNUM-3
        JSR DRVSEL
*
* set up free chain
*
        LDX #BUFFER clear out buffer
        CLRA
          g 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 D hFL3
        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 T iRACK
        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
   j      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
      k   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  l)
        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 m  #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
    n     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
        L oDA  #$55
        STA 1,X
        CLRA
        LDB #1
        JMP WRITSC
*
* Read a byte from the serial port
*
LRBYTE  PSHS B
        BSR  LRHEX                  Get hex digit.
        ASLA
        ASLA                           Shift to msb.
        A pSLA
        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
       q  SUBA #$30                   Remove ascii bias.
        BMI  LRHEX
        CMPA #$09                   Number?
        BLE  LRHEX1                 Yes.
        CMPA #$11                   Keep testing.
        BMI  LRHEX
        CMPA #$16
        BGT  r 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  s #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
    t     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 #$0 u2
        BNE  OUTTE2
        BITA #$78
        BEQ  OUTTE1
        BSR  ACIRST
        BRA  OUTTE1
*
OUTTE2  PULS A
        STA ACIAD1
        RTS
*
* Print Data
*
PDATA0  BSR  OUTTER
PDATA1  LDA  ,X+
        CMPA #$04
        BNE  PDATA0
        RTS  v
*
** 'UX' Xmodem ROM Disk upload
*
UXMES   FCB $0D,$0A
        FCC 'Xmodem ROM Disk Upload'
        FCB $0D,$0A
        FCC 'Drive Number :'
        FCB 4
UXMES1  FCB $0D,$0A
        FCC 'Upload Complete'
        FCB 4
UXMES2  FCB $0D,$0A
        FCC  w'Upload Error'
        FCB 4
*
UXSUB   LDX #UXMES
        LBSR PDATA1
UXSUB1  LBSR INTER
        BVS  UXSUB1
        CMPA #'0'
        LBLO UXEXIT
        CMPA #'3'
        LBHI UXEXIT
        SUBA #'0'
        STA  DRVNUM
*
        LBSR INITDR
        x LDU  #XSTSTR
        STU  XSTATE
        LDA  #1
        STA  BLKNUM
*
* Sector1
*
        LDX  #BUFFER
*
        LDA  #$00
        STA  DRVNUM
        CLRA         TRACK 0
        LDB  #$01    SECTOR 1
        STA  TRACK
        STB  SECTOR
*
        y  LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
        LBSR XACK
*
* Sector 2
*
        LDX  #BUFFER
*
        LDA  TRACK
         z!LDB  SECTOR
        INCB
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
*
         {"LBSR XACK
*
* Sector 3 - SIR
*
        LDX  #BUFFER
*
        LDA  TRACK
        LDB  SECTOR
        INCB
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        L |#DX  #BUFFER
        LDA  38,X
        STA  MAXTRK
        LDB  39,X
        INCB
        STB  MAXSEC
        LDA  TRACK
        LDB  SECTOR
        LBSR WRITSC
*
        LBSR XACK
*
* Sector 4 to Last Track & Sector
*
*
        LDA  TRACK
        LDB  	}$SECTOR
        INCB
*
UXLOOP  LDX  #BUFFER
        STA  TRACK
        STB  SECTOR
*
        LBSR XREAD
        LBCS UXERR
        LBSR XACK
        LBSR XREAD
        LBCS UXERR
*
        LDX  #BUFFER
        LDA  TRACK
        LDB  SECTOR
        LBSR	~% WRITSC
        LBSR XACK
*
        LDA  TRACK
        LDB  SECTOR
        INCB
        CMPB MAXSEC
        BNE  UXLOOP
        LDB  #1
        INCA
        CMPA MAXTRK
        BNE  UXLOOP
*
UXEXIT  LDX  #UXMES1
        JMP  PDATA1
*
UXERR   LDX  #UXME	&S2
        LBRA PDATA1
*
* Get a Byte using XModem protocol
* Carry clear => no errors
* Carry set   => errors
*
XREAD   PSHS U
        LDU  XSTATE
*
XBYTE0  LBSR INTER
        BVC  XBYTE1
        LDA  #NAK
        LBSR OUTTER
        LDU  #XSTSTR
    	'    BRA  XBYTE0
*
XBYTE1  JSR  ,U
        BNE  XBYTE0
        STU  XSTATE
        PULS U,PC
*
* START - LOOK FOR SOH (START OF HEADER) = $01
*
XSTSTR  CMPA #SOH
        BNE  XSTSTR1
        LDU  #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 ab	)ort & exit
        RTS
*
XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG
        RTS
*
* Got SOH
* Now get block number
*
XSTBLK  CMPA BLKNUM
        BNE  XSTBLKE
        LDU  #XSTCOM
        ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
        RTS
*
* Erro	*r in block number
*
XSTBLKE LDA  #NAK
        LBSR OUTTER
        LDU  #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
        LDU  #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
        DE	,C  BYTCNT
        BNE  XSTDAT1
        LDU  #XSTCHK
XSTDAT1 STA  ,X+
        ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
        RTS
*
* Byte count reached zero
* Check checksum byte
*
XSTCHK  CMPA CHKSUM
        BNE  XSTCHK1 retry if wron	-g checksum
*
* Checksum OK ... 
* increment block number
* Don't send ACK until data written to CF
*
        INC  BLKNUM
        LDU  #XSTSTR
        ANDCC #$FF-CFLAG No abort
        ORCC #ZFLAG      Valid data (exit)
        RTS
*
* Checksum Error de	.tected ...
* Reset Sector counter in ACCB to last 128 byte boundary
* and send NAK
*
XSTCHK1 PSHS B
        TFR  X,D
        DECB
        ANDB #128 
        TFR  D,X
        PULS B
        LDA  #NAK
XSTCHK2 LBSR OUTTER
        LDU  #XSTSTR
        ANDC	/C #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
        RTS
*
* Acknowledge Data Received
*
XACK    PSHS A
        LDA  #ACK
        LBSR OUTTER
        PULS A,PC
*
*
** FLEX 9 COMPACT FLASH DISK DRIVERS
*
* FOR SYS09BUG 1.2 ON THE BURCHED B5-X300	0
* 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 E	1QU $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
    2CF_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 ; enab 3le 8 bit transfers
HEADLBA    EQU $E0
*
* Status bit equates
*
BSY        EQU $80
DRDY       EQU $40
DRQ        EQU $08
ERR        EQU $01
*
*
* INITIALIZE CF CARD FOR 8 BIT LBA MODE
*
INITDR BSR WAITRDY
       LDA  #HEADLBA
       STA  CF_HEAD
        4LDA #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 sec 5tor
* 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  # 6$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
     7   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
       LD	8A  #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_   9DATA
       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
       R ;TS  
*
* 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  WAITD
MAXSEC
0044                         *
0045                         * Start
0046                         *
0047 0100                            ORG $0100
0048 0100 17 04 47           START   LBSR  UXSUB
0049 0103 6E 9F F8 00                JMP  [$F800]      Jump to monitor on Completion.
0050                         *
0051                         *
0052                         * RAM SPACE
0053                         *
0054 0107 00                 DRVNUM  FCB  0
0055 0108 00                 TRACK   FCB   0
0056 0109 00                 SECTOR  FCB  0
0057 010A 00                 CHKSUM  FCB  0
0058 010B 00                 BLKNUM  FCB  0 Xmodem block number
0059 010C 00                 BYTCNT  FCB  0 Xmodem byte count
0060 010D 00 00              XSTATE  
 FDB  0 Xmodem State Vector
0061 010F 00 00 00           DELCNT  FCB  $00,$00,$00 Xmodem Poll timer
0062 0112 00                 MAXTRK  FCB  0
0063 0113 00                 MAXSEC  FCB  0
0064 0200                            ORG  $0200
0065                          *
0066                         * SECTOR BUFFER
0067                         *
0068 0200                    BUFFER  RMB  256
0069                         *
0070                         *
0071                         * recieve char from remo te drive.
0072                         * timeout if no response for approx 1s.
0073                         * Entry: no parameters
0074                         * Exit:  (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout.
0075                          *
0076 0300 34 30              RCHAR   PSHS    X,Y
0077                         *
0078 0302 8E 03 E8                   LDX     #1000         1000x inner loop
0079 0305 10 8E 04 E2        RCHAR1  LDY     #DELCON       delay constant for inner loop  (approx 1ms).
0080 0309 B6 E0 00           RCHAR2  LDA     ACIAC1        test for recieved char
0081 030C 47                         ASRA
0082 030D 25 0A                      BCS     RCHAR3        get character
0083 030F 31 3F                      LEA Y    -1,Y          else, continue to count delay
0084 0311 26 F6                      BNE     RCHAR2
0085 0313 30 1F                      LEAX    -1,X
0086 0315 26 EE                      BNE     RCHAR1
0087 0317 35 B0                      PULS    X,Y, PC        return with error if timed out
0088                         *
0089 0319 B6 E0 01           RCHAR3  LDA     ACIAD1        return data (carry bit still set)
0090 031C 35 B0                      PULS    X,Y,PC
0091                         *
0092                          *
0093                         * transmit char to remote drive.
0094                         * timeout if no response for approx 1s. (allows for use of hardware flow control)
0095                         * Entry: (A) = char to  transmit
0096                         * Exit:  (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout.
0097                         *
0098 031E 34 30              SCHAR   PSHS    X,Y
0099 0320 34 02                      PSHS    A
0100                          *
0101 0322 8E 03 E8                   LDX     #1000         1000x inner loop
0102 0325 10 8E 04 E2        SCHAR1  LDY     #DELCON       delay constant for inner loop (approx 1ms).
0103 0329 B6 E0 00           SCHAR2  LDA     ACIAC1        t est for space in transmit FIFO
0104 032C 47                         ASRA
0105 032D 47                         ASRA
0106 032E 25 0C                      BCS     SCHAR3        send character
0107 0330 31 3F                      LEAY    -1,Y          else , continue to count delay
0108 0332 26 F5                      BNE     SCHAR2
0109 0334 30 1F                      LEAX    -1,X
0110 0336 26 ED                      BNE     SCHAR1
0111 0338 35 02                      PULS    A
0112 033A 35 B0                       PULS    X,Y,PC        return with error if timed out
0113                         *
0114 033C 35 02              SCHAR3  PULS    A
0115 033E B7 E0 01                   STA     ACIAD1        send data (carry bit still set)
0116 0341 35 B0                       PULS    X,Y,PC
0117                         *
0118                         ** 'UF' Format RAMdisc to FLEX standard.
0119                         *
0120 0343 0A 0D              DISFOS  FCB $0A,$0D 
0121 0345 46 6F 72 6D 61 74           FCC 'Formating RAMdisk... '
          69 6E 67 20 52 41
          4D 64 69 73 6B 2E
          2E 2E 20
0122 035A 04                         FCB 4
0123 035B 0A 0D 04           MESS6   FCB $0A,$0D,4
0124 035E 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
0125 0375 04                   FCB 4
0126                         *
0127 0376 8E 03 43           UFSUB   LDX #DISFOS
0128 0379 BD 04 F9                   JSR P        DATA1
0129 037C C6 00                      LDB #$00
0130 037E F7 01 07                   STB DRVNUM
0131 0381 8E 01 04                   LDX #DRVNUM-3
0132 0384 BD 07 80                   JSR DRVSEL
0133                         *
0134                          * set up free chain
0135                         *
0136 0387 8E 02 00                   LDX #BUFFER clear out buffer
0137 038A 4F                         CLRA
0138 038B 5F                         CLRB
0139 038C A7 80              DFL1    STA 0,X +
0140 038E 5A                         DECB
0141 038F 26 FB                      BNE DFL1
0142                         *
0143 0391 7F 01 08                   CLR TRACK
0144 0394 86 01                      LDA #1
0145 0396 B7 01 09                   STA   SECTOR
0146 0399 8E 02 00           DFL2    LDX #BUFFER
0147 039C B6 01 08                   LDA TRACK
0148 039F A7 84                      STA 0,X
0149 03A1 B6 01 09                   LDA SECTOR
0150 03A4 4C                         INCA
0151 03A5 81  !0F                      CMPA #RMAXSEC+1 last sector on track?
0152 03A7 26 04                      BNE DFL3
0153 03A9 6C 84                      INC 0,X
0154 03AB 86 01                      LDA #1
0155 03AD A7 01              DFL3    STA 1,X
0156 03AF  "B6 01 08                   LDA TRACK
0157 03B2 F6 01 09                   LDB SECTOR
0158 03B5 BD 07 5C                   JSR WRITSC
0159 03B8 7C 01 09                   INC SECTOR
0160 03BB B6 01 09                   LDA SECTOR
0161 03BE 81 0F         #              CMPA #RMAXSEC+1
0162 03C0 26 D7                      BNE DFL2
0163 03C2 86 01                      LDA #1
0164 03C4 B7 01 09                   STA  SECTOR
0165 03C7 7C 01 08                   INC TRACK
0166 03CA B6 01 08                   $ LDA TRACK
0167 03CD 81 30                      CMPA #RMAXTRK
0168 03CF 26 C8                      BNE DFL2
0169                         * break free chain at last track/sector
0170 03D1 8E 02 00                   LDX  #BUFFER
0171 03D4 86 2F           %            LDA  #RMAXTRK-1
0172 03D6 C6 0E                      LDB  #RMAXSEC
0173 03D8 BD 07 3B                   JSR  READSC
0174 03DB 8E 02 00                   LDX  #BUFFER
0175 03DE 6F 84                      CLR  0,X
0176 03E0 6F 01              &         CLR  1,X
0177 03E2 86 2F                      LDA  #RMAXTRK-1
0178 03E4 C6 0E                      LDB  #RMAXSEC
0179 03E6 BD 07 5C                   JSR  WRITSC 
0180                         * set up sector structure, SIR, directory etc
0181 	'03E9 8E 02 00                   LDX  #BUFFER
0182 03EC 4F                         CLRA
0183 03ED C6 0E                      LDB  #RMAXSEC
0184 03EF BD 07 3B                   JSR  READSC
0185 03F2 8E 02 00                   LDX  #BUFFER
0186 03F5 6F 84	(                      CLR  0,X break end of directory chain
0187 03F7 6F 01                      CLR  1,X
0188 03F9 4F                         CLRA
0189 03FA C6 0E                      LDB  #RMAXSEC
0190 03FC BD 07 5C                   JSR  WRITSC
0191	)                         *
0192 03FF 8E 02 00                   LDX  #BUFFER
0193 0402 4F                         CLRA
0194 0403 C6 03                      LDB  #3 set up SIR
0195 0405 BD 07 3B                   JSR  READSC
0196 0408 8E 02 00          	*         LDX  #BUFFER
0197 040B 6F 84                      CLR  0,X break forward link
0198 040D 6F 01                      CLR  1,X
0199 040F CC 52 41                   LDD  #$5241 set volume name (RAMDISK )
0200 0412 ED 88 10                   STD  1	+6,X
0201 0415 CC 4D 44                   LDD  #$4D44
0202 0418 ED 88 12                   STD  18,X
0203 041B CC 49 53                   LDD  #$4953
0204 041E ED 88 14                   STD  20,X
0205 0421 CC 4B 20                   LDD  #$4B20
0206 04	,24 ED 88 16                   STD  22,X
0207 0427 CC 00 01                   LDD  #1 volume number
0208 042A ED 88 1B                   STD  27,X
0209 042D CC 01 01                   LDD  #$0101 first trk/sec  01-01
0210 0430 ED 88 1D                  	- STD  29,X
0211 0433 86 2F                      LDA  #RMAXTRK-1
0212 0435 C6 0E                      LDB  #RMAXSEC
0213 0437 ED 88 1F                   STD  31,X
0214 043A ED 88 26                   STD  38,X
0215 043D CC 02 92                   LDD  #	.RTOTSEC total DATA sectors (2912-14)
0216 0440 ED 88 21                   STD  33,X
0217                         *
0218 0443 86 01                      LDA #01 month   set default creation date (SYS09's birthday!)
0219 0445 A7 88 23                   S	/TA 35,X
0220 0448 86 07                      LDA #07 day
0221 044A A7 88 24                   STA 36,X
0222 044D 86 07                      LDA #07 year
0223 044F A7 88 25                   STA 37,X
0224                         *
0225 0452 4F          	0       RF3     CLRA
0226 0453 C6 03                      LDB  #3
0227 0455 BD 07 5C                   JSR  WRITSC
0228                         *
0229 0458 8E 02 00                   LDX #BUFFER
0230 045B 4F                         CLRA
0231 045C C6 01 	1                     LDB #1
0232 045E BD 07 3B                   JSR READSC
0233 0461 8E 02 00                   LDX #BUFFER
0234 0464 86 AA                      LDA #$AA set the init flag
0235 0466 A7 84                      STA 0,X
0236 0468 86 55   	2                   LDA  #$55
0237 046A A7 01                      STA 1,X
0238 046C 4F                         CLRA
0239 046D C6 01                      LDB #1
0240 046F 7E 07 5C                   JMP WRITSC
0241                         *
0242         	3                * Read a byte from the serial port
0243                         *
0244 0472 34 04              LRBYTE  PSHS B
0245 0474 8D 0E                      BSR  LRHEX                  Get hex digit.
0246 0476 48                         ASLA
0247	4 0477 48                         ASLA                           Shift to msb.
0248 0478 48                         ASLA
0249 0479 48                         ASLA
0250 047A 1F 89                      TFR  A,B                    Save in B.
0251 047C 8D 0	56                      BSR  LRHEX                  Get next digit.
0252 047E 34 04                      PSHS B
0253 0480 AB E0                      ADDA 0,S+                    Add together bytes.
0254 0482 35 84                      PULS B,PC
0255    	6                     *
0256 0484 BD 04 AD           LRHEX   JSR  INTER
0257 0487 29 FB                      BVS  LRHEX
0258 0489 80 30                      SUBA #$30                   Remove ascii bias.
0259 048B 2B F7                      BMI  LRHEX
0	7260 048D 81 09                      CMPA #$09                   Number?
0261 048F 2F 0A                      BLE  LRHEX1                 Yes.
0262 0491 81 11                      CMPA #$11                   Keep testing.
0263 0493 2B EF                	8      BMI  LRHEX
0264 0495 81 16                      CMPA #$16
0265 0497 2E EB                      BGT  LRHEX
0266 0499 80 07                      SUBA #$07
0267 049B 39                 LRHEX1  RTS
0268                         *
0269                 	9        * ACIA INPUT TEST
0270                         *
0271 049C B6 E0 00           INTEST  LDA ACIAC1
0272 049F 85 01                      BITA #$01
0273 04A1 39                         RTS
0274                         *
0275                        	: * RESET ACIA
0276                         *
0277 04A2 86 03              ACIRST  LDA #$03 master reset
0278 04A4 B7 E0 00                   STA  ACIAC1
0279 04A7 86 11                      LDA #$11
0280 04A9 B7 E0 00                   STA ACIAC1
0281 	;04AC 39                         RTS
0282                         *
0283                         * ACIA INPUT
0284                         *
0285 04AD 86 10              INTER   LDA  #16
0286 04AF B7 01 0F                   STA  DELCNT+0
0287 04B2 7F 01 < 10                   CLR  DELCNT+1
0288 04B5 7F 01 11                   CLR  DELCNT+2
0289 04B8 B6 E0 00           INTER0  LDA  ACIAC1
0290 04BB 85 01                      BITA #$01
0291 04BD 26 08                      BNE  INTER1
0292 04BF 85 78     	=                 BITA #$78
0293 04C1 27 0A                      BEQ  INTER2
0294 04C3 8D DD                      BSR  ACIRST
0295 04C5 20 E6                      BRA  INTER
0296                         *
0297 04C7 B6 E0 01           INTER1  LDA  ACIAD1	>
0298 04CA 1C 02                      ANDCC #VFLAG
0299 04CC 39                         RTS
0300                         *
0301 04CD 7A 01 11           INTER2  DEC  DELCNT+2
0302 04D0 26 E6                      BNE  INTER0
0303 04D2 7A 01 10             ?        DEC  DELCNT+1
0304 04D5 26 E1                      BNE  INTER0
0305 04D7 7A 01 0F                   DEC  DELCNT+0
0306 04DA 26 DC                      BNE  INTER0
0307 04DC 4F                         CLRA
0308 04DD 1A 02                      OR @CC #VFLAG
0309 04DF 39                         RTS
0310                         *
0311                         * ACIA OUTPUT
0312                         *
0313 04E0 34 02              OUTTER  PSHS A
0314                         *
0315 04E2 B6 E0 00    A        OUTTE1  LDA ACIAC1
0316 04E5 85 02                      BITA #$02
0317 04E7 26 08                      BNE  OUTTE2
0318 04E9 85 78                      BITA #$78
0319 04EB 27 F5                      BEQ  OUTTE1
0320 04ED 8D B3                   B    BSR  ACIRST
0321 04EF 20 F1                      BRA  OUTTE1
0322                         *
0323 04F1 35 02              OUTTE2  PULS A
0324 04F3 B7 E0 01                   STA ACIAD1
0325 04F6 39                         RTS
0326                    C      *
0327                         * Print Data
0328                         *
0329 04F7 8D E7              PDATA0  BSR  OUTTER
0330 04F9 A6 80              PDATA1  LDA  ,X+
0331 04FB 81 04                      CMPA #$04
0332 04FD 26 F8               D        BNE  PDATA0
0333 04FF 39                         RTS 
0334                         *
0335                         ** 'UX' Xmodem ROM Disk upload
0336                         *
0337 0500 0D 0A              UXMES   FCB $0D,$0A
0338 0502 58 6D 6F  E64 65 6D          FCC 'Xmodem ROM Disk Upload'
          20 52 4F 4D 20 44
          69 73 6B 20 55 70
          6C 6F 61 64
0339 0518 0D 0A                      FCB $0D,$0A
0340 051A 44 72 69 76 65 20          FCC 'Drive Number :'
          4E 75 6D 6 F2 65 72
          20 3A
0341 0528 04                         FCB 4
0342 0529 0D 0A              UXMES1  FCB $0D,$0A
0343 052B 55 70 6C 6F 61 64          FCC 'Upload Complete'
          20 43 6F 6D 70 6C
          65 74 65
0344 053A 04                   G       FCB 4
0345 053B 0D 0A              UXMES2  FCB $0D,$0A
0346 053D 55 70 6C 6F 61 64          FCC 'Upload Error'
          20 45 72 72 6F 72
0347 0549 04                         FCB 4
0348                         *
0349 054A 8E 05 00           UXS HUB   LDX #UXMES
0350 054D 17 FF A9                   LBSR PDATA1
0351 0550 17 FF 5A           UXSUB1  LBSR INTER
0352 0553 29 FB                      BVS  UXSUB1
0353 0555 81 30                      CMPA #'0'
0354 0557 10 25 00 FB                LBLO U IXEXIT
0355 055B 81 33                      CMPA #'3'
0356 055D 10 22 00 F5                LBHI UXEXIT
0357 0561 80 30                      SUBA #'0'
0358 0563 B7 01 07                   STA  DRVNUM
0359                         *
0360 0566 17 01 A6      J              LBSR INITDR
0361 0569 CE 06 7F                   LDU  #XSTSTR
0362 056C FF 01 0D                   STU  XSTATE
0363 056F 86 01                      LDA  #1
0364 0571 B7 01 0B                   STA  BLKNUM
0365                         *
03 K66                         * Sector1
0367                         *
0368 0574 8E 02 00                   LDX  #BUFFER
0369                         *
0370 0577 86 00                      LDA  #$00
0371 0579 B7 01 07                   STA  DRVNUM
0372 05 L7C 4F                         CLRA         TRACK 0
0373 057D C6 01                      LDB  #$01    SECTOR 1
0374 057F B7 01 08                   STA  TRACK
0375 0582 F7 01 09                   STB  SECTOR
0376                         *
0377 0585 17 0 M0 DA                   LBSR XREAD
0378 0588 10 25 00 D0                LBCS UXERR
0379 058C 17 01 77                   LBSR XACK
0380 058F 17 00 D0                   LBSR XREAD
0381 0592 10 25 00 C6                LBCS UXERR
0382                        N  *
0383 0596 8E 02 00                   LDX  #BUFFER
0384 0599 B6 01 08                   LDA  TRACK
0385 059C F6 01 09                   LDB  SECTOR
0386 059F 17 01 BA                   LBSR WRITSC
0387 05A2 17 01 61                   LBSR XACK
0388  O                        *
0389                         * Sector 2
0390                         *
0391 05A5 8E 02 00                   LDX  #BUFFER
0392                         *
0393 05A8 B6 01 08                   LDA  TRACK
0394 05AB F6 01 09         P           LDB  SECTOR
0395 05AE 5C                         INCB
0396 05AF B7 01 08                   STA  TRACK
0397 05B2 F7 01 09                   STB  SECTOR
0398                         *
0399 05B5 17 00 AA                   LBSR XREAD
0400 05B8 1 Q0 25 00 A0                LBCS UXERR
0401 05BC 17 01 47                   LBSR XACK
0402 05BF 17 00 A0                   LBSR XREAD
0403 05C2 10 25 00 96                LBCS UXERR
0404                         *
0405 05C6 8E 02 00                   LDX  R #BUFFER
0406 05C9 B6 01 08                   LDA  TRACK
0407 05CC F6 01 09                   LDB  SECTOR
0408 05CF 17 01 8A                   LBSR WRITSC
0409                         *
0410 05D2 17 01 31                   LBSR XACK
0411                S          *
0412                         * Sector 3 - SIR
0413                         *
0414 05D5 8E 02 00                   LDX  #BUFFER
0415                         *
0416 05D8 B6 01 08                   LDA  TRACK
0417 05DB F6 01 09                 T   LDB  SECTOR
0418 05DE 5C                         INCB
0419 05DF B7 01 08                   STA  TRACK
0420 05E2 F7 01 09                   STB  SECTOR
0421                         *
0422 05E5 17 00 7A                   LBSR XREAD
0423 05E8 10 25 00  U70                LBCS UXERR
0424 05EC 17 01 17                   LBSR XACK
0425 05EF 17 00 70                   LBSR XREAD
0426 05F2 10 25 00 66                LBCS UXERR
0427                         *
0428 05F6 8E 02 00                   LDX  #BUFFER V
0429 05F9 A6 88 26                   LDA  38,X
0430 05FC B7 01 12                   STA  MAXTRK
0431 05FF E6 88 27                   LDB  39,X
0432 0602 5C                         INCB
0433 0603 F7 01 13                   STB  MAXSEC
0434 0606 B6 01 0 W8                   LDA  TRACK
0435 0609 F6 01 09                   LDB  SECTOR
0436 060C 17 01 4D                   LBSR WRITSC
0437                         *
0438 060F 17 00 F4                   LBSR XACK
0439                         *
0440           X               * Sector 4 to Last Track & Sector
0441                         *
0442                         *
0443 0612 B6 01 08                   LDA  TRACK
0444 0615 F6 01 09                   LDB  SECTOR
0445 0618 5C                         INCB
04 Y46                         *
0447 0619 8E 02 00           UXLOOP  LDX  #BUFFER
0448 061C B7 01 08                   STA  TRACK
0449 061F F7 01 09                   STB  SECTOR
0450                         *
0451 0622 17 00 3D                   LBSR XRE ZAD
0452 0625 10 25 00 33                LBCS UXERR
0453 0629 17 00 DA                   LBSR XACK
0454 062C 17 00 33                   LBSR XREAD
0455 062F 10 25 00 29                LBCS UXERR
0456                         *
0457 0633 8E 02 00          [          LDX  #BUFFER
0458 0636 B6 01 08                   LDA  TRACK
0459 0639 F6 01 09                   LDB  SECTOR
0460 063C 17 01 1D                   LBSR WRITSC
0461 063F 17 00 C4                   LBSR XACK
0462                         *
0463  \0642 B6 01 08                   LDA  TRACK
0464 0645 F6 01 09                   LDB  SECTOR
0465 0648 5C                         INCB
0466 0649 F1 01 13                   CMPB MAXSEC
0467 064C 26 CB                      BNE  UXLOOP
0468 064E C6 01      ]                 LDB  #1
0469 0650 4C                         INCA
0470 0651 B1 01 12                   CMPA MAXTRK
0471 0654 26 C3                      BNE  UXLOOP
0472                         *
0473 0656 8E 05 29           UXEXIT  LDX  #UXMES1
0474 0 ^659 7E 04 F9                   JMP  PDATA1
0475                         *
0476 065C 8E 05 3B           UXERR   LDX  #UXMES2
0477 065F 16 FE 97                   LBRA PDATA1
0478                         *
0479                         * Get a Byte using  _XModem protocol
0480                         * Carry clear => no errors
0481                         * Carry set   => errors
0482                         *
0483 0662 34 40              XREAD   PSHS U
0484 0664 FE 01 0D                   LDU  XSTATE
048 `5                         *
0486 0667 17 FE 43           XBYTE0  LBSR INTER
0487 066A 28 0A                      BVC  XBYTE1
0488 066C 86 15                      LDA  #NAK
0489 066E 17 FE 6F                   LBSR OUTTER
0490 0671 CE 06 7F              a      LDU  #XSTSTR
0491 0674 20 F1                      BRA  XBYTE0
0492                         *
0493 0676 AD C4              XBYTE1  JSR  ,U
0494 0678 26 ED                      BNE  XBYTE0
0495 067A FF 01 0D                   STU  XSTATE
0496 067D  b35 C0                      PULS U,PC
0497                         *
0498                         * START - LOOK FOR SOH (START OF HEADER) = $01
0499                         *
0500 067F 81 01              XSTSTR  CMPA #SOH
0501 0681 26 06                c       BNE  XSTSTR1
0502 0683 CE 06 9F                   LDU  #XSTBLK
0503 0686 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
0504 0688 39                         RTS
0505                         *
0506 0689 81 04  d             XSTSTR1 CMPA #EOT
0507 068B 26 08                      BNE  XSTSTR2
0508 068D 86 06                      LDA  #ACK
0509 068F 17 FE 4E                   LBSR OUTTER
0510 0692 1A 05                      ORCC  #CFLAG+ZFLAG  Set (c)=1 abort &  eexit
0511 0694 39                         RTS
0512                         *
0513 0695 81 18              XSTSTR2 CMPA #CAN
0514 0697 26 03                      BNE  XSTSTR3 
0515 0699 1A 05                      ORCC  #CFLAG+ZFLAG  Set (c)=1 abort & ex fit
0516 069B 39                         RTS
0517                         *
0518 069C 1C FA              XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG
0519 069E 39                         RTS
0520                         *
0521                         * Got SOH
0522   g                       * Now get block number
0523                         *
0524 069F B1 01 0B           XSTBLK  CMPA BLKNUM
0525 06A2 26 06                      BNE  XSTBLKE
0526 06A4 CE 06 B5                   LDU  #XSTCOM
0527 06A7 1C FA            h           ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0528 06A9 39                         RTS
0529                         *
0530                         * Error in block number
0531                         *
0532 06AA 86 15              i XSTBLKE LDA  #NAK
0533 06AC 17 FE 31                   LBSR OUTTER
0534 06AF CE 06 7F                   LDU  #XSTSTR
0535 06B2 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0536 06B4 39                         RTS j
0537                         *
0538                         * Get complement of block number
0539                         *
0540 06B5 43                 XSTCOM  COMA
0541 06B6 B1 01 0B                   CMPA BLKNUM
0542 06B9 26 EF
MAXSEC
0044                         *
0045                         * Start
0046                         *
0047 0100                            ORG $0100
0048 0100 17 04 47           START   LBSR  UXSUB
0049 0103 6E 9F F8 00                JMP  [$F800]      Jump to monitor on Completion.
0050                         *
0051                         *
0052                         * RAM SPACE
0053                         *
0054 0107 00                 DRVNUM  FCB  0
0055 0108 00                 TRACK   FCB   0
0056 0109 00                 SECTOR  FCB  0
0057 010A 00                 CHKSUM  FCB  0
0058 010B 00                 BLKNUM  FCB  0 Xmodem block number
0059 010C 00                 BYTCNT  FCB  0 Xmodem byte count
0060 010D 00 00              XSTATE  
 FDB  0 Xmodem State Vector
0061 010F 00 00 00           DELCNT  FCB  $00,$00,$00 Xmodem Poll timer
0062 0112 00                 MAXTRK  FCB  0
0063 0113 00                 MAXSEC  FCB  0
0064 0200                            ORG  $0200
0065                          *
0066                         * SECTOR BUFFER
0067                         *
0068 0200                    BUFFER  RMB  256
0069                         *
0070                         *
0071                         * recieve char from remo te drive.
0072                         * timeout if no response for approx 1s.
0073                         * Entry: no parameters
0074                         * Exit:  (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout.
0075                          *
0076 0300 34 30              RCHAR   PSHS    X,Y
0077                         *
0078 0302 8E 03 E8                   LDX     #1000         1000x inner loop
0079 0305 10 8E 04 E2        RCHAR1  LDY     #DELCON       delay constant for inner loop  (approx 1ms).
0080 0309 B6 E0 00           RCHAR2  LDA     ACIAC1        test for recieved char
0081 030C 47                         ASRA
0082 030D 25 0A                      BCS     RCHAR3        get character
0083 030F 31 3F                      LEA Y    -1,Y          else, continue to count delay
0084 0311 26 F6                      BNE     RCHAR2
0085 0313 30 1F                      LEAX    -1,X
0086 0315 26 EE                      BNE     RCHAR1
0087 0317 35 B0                      PULS    X,Y, PC        return with error if timed out
0088                         *
0089 0319 B6 E0 01           RCHAR3  LDA     ACIAD1        return data (carry bit still set)
0090 031C 35 B0                      PULS    X,Y,PC
0091                         *
0092                          *
0093                         * transmit char to remote drive.
0094                         * timeout if no response for approx 1s. (allows for use of hardware flow control)
0095                         * Entry: (A) = char to  transmit
0096                         * Exit:  (A) = recieved char, (C)=1 if valid char, (C)=0 if timeout.
0097                         *
0098 031E 34 30              SCHAR   PSHS    X,Y
0099 0320 34 02                      PSHS    A
0100                          *
0101 0322 8E 03 E8                   LDX     #1000         1000x inner loop
0102 0325 10 8E 04 E2        SCHAR1  LDY     #DELCON       delay constant for inner loop (approx 1ms).
0103 0329 B6 E0 00           SCHAR2  LDA     ACIAC1        t est for space in transmit FIFO
0104 032C 47                         ASRA
0105 032D 47                         ASRA
0106 032E 25 0C                      BCS     SCHAR3        send character
0107 0330 31 3F                      LEAY    -1,Y          else , continue to count delay
0108 0332 26 F5                      BNE     SCHAR2
0109 0334 30 1F                      LEAX    -1,X
0110 0336 26 ED                      BNE     SCHAR1
0111 0338 35 02                      PULS    A
0112 033A 35 B0                       PULS    X,Y,PC        return with error if timed out
0113                         *
0114 033C 35 02              SCHAR3  PULS    A
0115 033E B7 E0 01                   STA     ACIAD1        send data (carry bit still set)
0116 0341 35 B0                       PULS    X,Y,PC
0117                         *
0118                         ** 'UF' Format RAMdisc to FLEX standard.
0119                         *
0120 0343 0A 0D              DISFOS  FCB $0A,$0D 
0121 0345 46 6F 72 6D 61 74           FCC 'Formating RAMdisk... '
          69 6E 67 20 52 41
          4D 64 69 73 6B 2E
          2E 2E 20
0122 035A 04                         FCB 4
0123 035B 0A 0D 04           MESS6   FCB $0A,$0D,4
0124 035E 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
0125 0375 04                   FCB 4
0126                         *
0127 0376 8E 03 43           UFSUB   LDX #DISFOS
0128 0379 BD 04 F9                   JSR P        DATA1
0129 037C C6 00                      LDB #$00
0130 037E F7 01 07                   STB DRVNUM
0131 0381 8E 01 04                   LDX #DRVNUM-3
0132 0384 BD 07 80                   JSR DRVSEL
0133                         *
0134                          * set up free chain
0135                         *
0136 0387 8E 02 00                   LDX #BUFFER clear out buffer
0137 038A 4F                         CLRA
0138 038B 5F                         CLRB
0139 038C A7 80              DFL1    STA 0,X +
0140 038E 5A                         DECB
0141 038F 26 FB                      BNE DFL1
0142                         *
0143 0391 7F 01 08                   CLR TRACK
0144 0394 86 01                      LDA #1
0145 0396 B7 01 09                   STA   SECTOR
0146 0399 8E 02 00           DFL2    LDX #BUFFER
0147 039C B6 01 08                   LDA TRACK
0148 039F A7 84                      STA 0,X
0149 03A1 B6 01 09                   LDA SECTOR
0150 03A4 4C                         INCA
0151 03A5 81  !0F                      CMPA #RMAXSEC+1 last sector on track?
0152 03A7 26 04                      BNE DFL3
0153 03A9 6C 84                      INC 0,X
0154 03AB 86 01                      LDA #1
0155 03AD A7 01              DFL3    STA 1,X
0156 03AF  "B6 01 08                   LDA TRACK
0157 03B2 F6 01 09                   LDB SECTOR
0158 03B5 BD 07 5C                   JSR WRITSC
0159 03B8 7C 01 09                   INC SECTOR
0160 03BB B6 01 09                   LDA SECTOR
0161 03BE 81 0F         #              CMPA #RMAXSEC+1
0162 03C0 26 D7                      BNE DFL2
0163 03C2 86 01                      LDA #1
0164 03C4 B7 01 09                   STA  SECTOR
0165 03C7 7C 01 08                   INC TRACK
0166 03CA B6 01 08                   $ LDA TRACK
0167 03CD 81 30                      CMPA #RMAXTRK
0168 03CF 26 C8                      BNE DFL2
0169                         * break free chain at last track/sector
0170 03D1 8E 02 00                   LDX  #BUFFER
0171 03D4 86 2F           %            LDA  #RMAXTRK-1
0172 03D6 C6 0E                      LDB  #RMAXSEC
0173 03D8 BD 07 3B                   JSR  READSC
0174 03DB 8E 02 00                   LDX  #BUFFER
0175 03DE 6F 84                      CLR  0,X
0176 03E0 6F 01              &         CLR  1,X
0177 03E2 86 2F                      LDA  #RMAXTRK-1
0178 03E4 C6 0E                      LDB  #RMAXSEC
0179 03E6 BD 07 5C                   JSR  WRITSC 
0180                         * set up sector structure, SIR, directory etc
0181 	'03E9 8E 02 00                   LDX  #BUFFER
0182 03EC 4F                         CLRA
0183 03ED C6 0E                      LDB  #RMAXSEC
0184 03EF BD 07 3B                   JSR  READSC
0185 03F2 8E 02 00                   LDX  #BUFFER
0186 03F5 6F 84	(                      CLR  0,X break end of directory chain
0187 03F7 6F 01                      CLR  1,X
0188 03F9 4F                         CLRA
0189 03FA C6 0E                      LDB  #RMAXSEC
0190 03FC BD 07 5C                   JSR  WRITSC
0191	)                         *
0192 03FF 8E 02 00                   LDX  #BUFFER
0193 0402 4F                         CLRA
0194 0403 C6 03                      LDB  #3 set up SIR
0195 0405 BD 07 3B                   JSR  READSC
0196 0408 8E 02 00          	*         LDX  #BUFFER
0197 040B 6F 84                      CLR  0,X break forward link
0198 040D 6F 01                      CLR  1,X
0199 040F CC 52 41                   LDD  #$5241 set volume name (RAMDISK )
0200 0412 ED 88 10                   STD  1	+6,X
0201 0415 CC 4D 44                   LDD  #$4D44
0202 0418 ED 88 12                   STD  18,X
0203 041B CC 49 53                   LDD  #$4953
0204 041E ED 88 14                   STD  20,X
0205 0421 CC 4B 20                   LDD  #$4B20
0206 04	,24 ED 88 16                   STD  22,X
0207 0427 CC 00 01                   LDD  #1 volume number
0208 042A ED 88 1B                   STD  27,X
0209 042D CC 01 01                   LDD  #$0101 first trk/sec  01-01
0210 0430 ED 88 1D                  	- STD  29,X
0211 0433 86 2F                      LDA  #RMAXTRK-1
0212 0435 C6 0E                      LDB  #RMAXSEC
0213 0437 ED 88 1F                   STD  31,X
0214 043A ED 88 26                   STD  38,X
0215 043D CC 02 92                   LDD  #	.RTOTSEC total DATA sectors (2912-14)
0216 0440 ED 88 21                   STD  33,X
0217                         *
0218 0443 86 01                      LDA #01 month   set default creation date (SYS09's birthday!)
0219 0445 A7 88 23                   S	/TA 35,X
0220 0448 86 07                      LDA #07 day
0221 044A A7 88 24                   STA 36,X
0222 044D 86 07                      LDA #07 year
0223 044F A7 88 25                   STA 37,X
0224                         *
0225 0452 4F          	0       RF3     CLRA
0226 0453 C6 03                      LDB  #3
0227 0455 BD 07 5C                   JSR  WRITSC
0228                         *
0229 0458 8E 02 00                   LDX #BUFFER
0230 045B 4F                         CLRA
0231 045C C6 01 	1                     LDB #1
0232 045E BD 07 3B                   JSR READSC
0233 0461 8E 02 00                   LDX #BUFFER
0234 0464 86 AA                      LDA #$AA set the init flag
0235 0466 A7 84                      STA 0,X
0236 0468 86 55   	2                   LDA  #$55
0237 046A A7 01                      STA 1,X
0238 046C 4F                         CLRA
0239 046D C6 01                      LDB #1
0240 046F 7E 07 5C                   JMP WRITSC
0241                         *
0242         	3                * Read a byte from the serial port
0243                         *
0244 0472 34 04              LRBYTE  PSHS B
0245 0474 8D 0E                      BSR  LRHEX                  Get hex digit.
0246 0476 48                         ASLA
0247	4 0477 48                         ASLA                           Shift to msb.
0248 0478 48                         ASLA
0249 0479 48                         ASLA
0250 047A 1F 89                      TFR  A,B                    Save in B.
0251 047C 8D 0	56                      BSR  LRHEX                  Get next digit.
0252 047E 34 04                      PSHS B
0253 0480 AB E0                      ADDA 0,S+                    Add together bytes.
0254 0482 35 84                      PULS B,PC
0255    	6                     *
0256 0484 BD 04 AD           LRHEX   JSR  INTER
0257 0487 29 FB                      BVS  LRHEX
0258 0489 80 30                      SUBA #$30                   Remove ascii bias.
0259 048B 2B F7                      BMI  LRHEX
0	7260 048D 81 09                      CMPA #$09                   Number?
0261 048F 2F 0A                      BLE  LRHEX1                 Yes.
0262 0491 81 11                      CMPA #$11                   Keep testing.
0263 0493 2B EF                	8      BMI  LRHEX
0264 0495 81 16                      CMPA #$16
0265 0497 2E EB                      BGT  LRHEX
0266 0499 80 07                      SUBA #$07
0267 049B 39                 LRHEX1  RTS
0268                         *
0269                 	9        * ACIA INPUT TEST
0270                         *
0271 049C B6 E0 00           INTEST  LDA ACIAC1
0272 049F 85 01                      BITA #$01
0273 04A1 39                         RTS
0274                         *
0275                        	: * RESET ACIA
0276                         *
0277 04A2 86 03              ACIRST  LDA #$03 master reset
0278 04A4 B7 E0 00                   STA  ACIAC1
0279 04A7 86 11                      LDA #$11
0280 04A9 B7 E0 00                   STA ACIAC1
0281 	;04AC 39                         RTS
0282                         *
0283                         * ACIA INPUT
0284                         *
0285 04AD 86 10              INTER   LDA  #16
0286 04AF B7 01 0F                   STA  DELCNT+0
0287 04B2 7F 01 < 10                   CLR  DELCNT+1
0288 04B5 7F 01 11                   CLR  DELCNT+2
0289 04B8 B6 E0 00           INTER0  LDA  ACIAC1
0290 04BB 85 01                      BITA #$01
0291 04BD 26 08                      BNE  INTER1
0292 04BF 85 78     	=                 BITA #$78
0293 04C1 27 0A                      BEQ  INTER2
0294 04C3 8D DD                      BSR  ACIRST
0295 04C5 20 E6                      BRA  INTER
0296                         *
0297 04C7 B6 E0 01           INTER1  LDA  ACIAD1	>
0298 04CA 1C 02                      ANDCC #VFLAG
0299 04CC 39                         RTS
0300                         *
0301 04CD 7A 01 11           INTER2  DEC  DELCNT+2
0302 04D0 26 E6                      BNE  INTER0
0303 04D2 7A 01 10             ?        DEC  DELCNT+1
0304 04D5 26 E1                      BNE  INTER0
0305 04D7 7A 01 0F                   DEC  DELCNT+0
0306 04DA 26 DC                      BNE  INTER0
0307 04DC 4F                         CLRA
0308 04DD 1A 02                      OR @CC #VFLAG
0309 04DF 39                         RTS
0310                         *
0311                         * ACIA OUTPUT
0312                         *
0313 04E0 34 02              OUTTER  PSHS A
0314                         *
0315 04E2 B6 E0 00    A        OUTTE1  LDA ACIAC1
0316 04E5 85 02                      BITA #$02
0317 04E7 26 08                      BNE  OUTTE2
0318 04E9 85 78                      BITA #$78
0319 04EB 27 F5                      BEQ  OUTTE1
0320 04ED 8D B3                   B    BSR  ACIRST
0321 04EF 20 F1                      BRA  OUTTE1
0322                         *
0323 04F1 35 02              OUTTE2  PULS A
0324 04F3 B7 E0 01                   STA ACIAD1
0325 04F6 39                         RTS
0326                    C      *
0327                         * Print Data
0328                         *
0329 04F7 8D E7              PDATA0  BSR  OUTTER
0330 04F9 A6 80              PDATA1  LDA  ,X+
0331 04FB 81 04                      CMPA #$04
0332 04FD 26 F8               D        BNE  PDATA0
0333 04FF 39                         RTS 
0334                         *
0335                         ** 'UX' Xmodem ROM Disk upload
0336                         *
0337 0500 0D 0A              UXMES   FCB $0D,$0A
0338 0502 58 6D 6F  E64 65 6D          FCC 'Xmodem ROM Disk Upload'
          20 52 4F 4D 20 44
          69 73 6B 20 55 70
          6C 6F 61 64
0339 0518 0D 0A                      FCB $0D,$0A
0340 051A 44 72 69 76 65 20          FCC 'Drive Number :'
          4E 75 6D 6 F2 65 72
          20 3A
0341 0528 04                         FCB 4
0342 0529 0D 0A              UXMES1  FCB $0D,$0A
0343 052B 55 70 6C 6F 61 64          FCC 'Upload Complete'
          20 43 6F 6D 70 6C
          65 74 65
0344 053A 04                   G       FCB 4
0345 053B 0D 0A              UXMES2  FCB $0D,$0A
0346 053D 55 70 6C 6F 61 64          FCC 'Upload Error'
          20 45 72 72 6F 72
0347 0549 04                         FCB 4
0348                         *
0349 054A 8E 05 00           UXS HUB   LDX #UXMES
0350 054D 17 FF A9                   LBSR PDATA1
0351 0550 17 FF 5A           UXSUB1  LBSR INTER
0352 0553 29 FB                      BVS  UXSUB1
0353 0555 81 30                      CMPA #'0'
0354 0557 10 25 00 FB                LBLO U IXEXIT
0355 055B 81 33                      CMPA #'3'
0356 055D 10 22 00 F5                LBHI UXEXIT
0357 0561 80 30                      SUBA #'0'
0358 0563 B7 01 07                   STA  DRVNUM
0359                         *
0360 0566 17 01 A6      J              LBSR INITDR
0361 0569 CE 06 7F                   LDU  #XSTSTR
0362 056C FF 01 0D                   STU  XSTATE
0363 056F 86 01                      LDA  #1
0364 0571 B7 01 0B                   STA  BLKNUM
0365                         *
03 K66                         * Sector1
0367                         *
0368 0574 8E 02 00                   LDX  #BUFFER
0369                         *
0370 0577 86 00                      LDA  #$00
0371 0579 B7 01 07                   STA  DRVNUM
0372 05 L7C 4F                         CLRA         TRACK 0
0373 057D C6 01                      LDB  #$01    SECTOR 1
0374 057F B7 01 08                   STA  TRACK
0375 0582 F7 01 09                   STB  SECTOR
0376                         *
0377 0585 17 0 M0 DA                   LBSR XREAD
0378 0588 10 25 00 D0                LBCS UXERR
0379 058C 17 01 77                   LBSR XACK
0380 058F 17 00 D0                   LBSR XREAD
0381 0592 10 25 00 C6                LBCS UXERR
0382                        N  *
0383 0596 8E 02 00                   LDX  #BUFFER
0384 0599 B6 01 08                   LDA  TRACK
0385 059C F6 01 09                   LDB  SECTOR
0386 059F 17 01 BA                   LBSR WRITSC
0387 05A2 17 01 61                   LBSR XACK
0388  O                        *
0389                         * Sector 2
0390                         *
0391 05A5 8E 02 00                   LDX  #BUFFER
0392                         *
0393 05A8 B6 01 08                   LDA  TRACK
0394 05AB F6 01 09         P           LDB  SECTOR
0395 05AE 5C                         INCB
0396 05AF B7 01 08                   STA  TRACK
0397 05B2 F7 01 09                   STB  SECTOR
0398                         *
0399 05B5 17 00 AA                   LBSR XREAD
0400 05B8 1 Q0 25 00 A0                LBCS UXERR
0401 05BC 17 01 47                   LBSR XACK
0402 05BF 17 00 A0                   LBSR XREAD
0403 05C2 10 25 00 96                LBCS UXERR
0404                         *
0405 05C6 8E 02 00                   LDX  R #BUFFER
0406 05C9 B6 01 08                   LDA  TRACK
0407 05CC F6 01 09                   LDB  SECTOR
0408 05CF 17 01 8A                   LBSR WRITSC
0409                         *
0410 05D2 17 01 31                   LBSR XACK
0411                S          *
0412                         * Sector 3 - SIR
0413                         *
0414 05D5 8E 02 00                   LDX  #BUFFER
0415                         *
0416 05D8 B6 01 08                   LDA  TRACK
0417 05DB F6 01 09                 T   LDB  SECTOR
0418 05DE 5C                         INCB
0419 05DF B7 01 08                   STA  TRACK
0420 05E2 F7 01 09                   STB  SECTOR
0421                         *
0422 05E5 17 00 7A                   LBSR XREAD
0423 05E8 10 25 00  U70                LBCS UXERR
0424 05EC 17 01 17                   LBSR XACK
0425 05EF 17 00 70                   LBSR XREAD
0426 05F2 10 25 00 66                LBCS UXERR
0427                         *
0428 05F6 8E 02 00                   LDX  #BUFFER V
0429 05F9 A6 88 26                   LDA  38,X
0430 05FC B7 01 12                   STA  MAXTRK
0431 05FF E6 88 27                   LDB  39,X
0432 0602 5C                         INCB
0433 0603 F7 01 13                   STB  MAXSEC
0434 0606 B6 01 0 W8                   LDA  TRACK
0435 0609 F6 01 09                   LDB  SECTOR
0436 060C 17 01 4D                   LBSR WRITSC
0437                         *
0438 060F 17 00 F4                   LBSR XACK
0439                         *
0440           X               * Sector 4 to Last Track & Sector
0441                         *
0442                         *
0443 0612 B6 01 08                   LDA  TRACK
0444 0615 F6 01 09                   LDB  SECTOR
0445 0618 5C                         INCB
04 Y46                         *
0447 0619 8E 02 00           UXLOOP  LDX  #BUFFER
0448 061C B7 01 08                   STA  TRACK
0449 061F F7 01 09                   STB  SECTOR
0450                         *
0451 0622 17 00 3D                   LBSR XRE ZAD
0452 0625 10 25 00 33                LBCS UXERR
0453 0629 17 00 DA                   LBSR XACK
0454 062C 17 00 33                   LBSR XREAD
0455 062F 10 25 00 29                LBCS UXERR
0456                         *
0457 0633 8E 02 00          [          LDX  #BUFFER
0458 0636 B6 01 08                   LDA  TRACK
0459 0639 F6 01 09                   LDB  SECTOR
0460 063C 17 01 1D                   LBSR WRITSC
0461 063F 17 00 C4                   LBSR XACK
0462                         *
0463  \0642 B6 01 08                   LDA  TRACK
0464 0645 F6 01 09                   LDB  SECTOR
0465 0648 5C                         INCB
0466 0649 F1 01 13                   CMPB MAXSEC
0467 064C 26 CB                      BNE  UXLOOP
0468 064E C6 01      ]                 LDB  #1
0469 0650 4C                         INCA
0470 0651 B1 01 12                   CMPA MAXTRK
0471 0654 26 C3                      BNE  UXLOOP
0472                         *
0473 0656 8E 05 29           UXEXIT  LDX  #UXMES1
0474 0 ^659 7E 04 F9                   JMP  PDATA1
0475                         *
0476 065C 8E 05 3B           UXERR   LDX  #UXMES2
0477 065F 16 FE 97                   LBRA PDATA1
0478                         *
0479                         * Get a Byte using  _XModem protocol
0480                         * Carry clear => no errors
0481                         * Carry set   => errors
0482                         *
0483 0662 34 40              XREAD   PSHS U
0484 0664 FE 01 0D                   LDU  XSTATE
048 `5                         *
0486 0667 17 FE 43           XBYTE0  LBSR INTER
0487 066A 28 0A                      BVC  XBYTE1
0488 066C 86 15                      LDA  #NAK
0489 066E 17 FE 6F                   LBSR OUTTER
0490 0671 CE 06 7F              a      LDU  #XSTSTR
0491 0674 20 F1                      BRA  XBYTE0
0492                         *
0493 0676 AD C4              XBYTE1  JSR  ,U
0494 0678 26 ED                      BNE  XBYTE0
0495 067A FF 01 0D                   STU  XSTATE
0496 067D  b35 C0                      PULS U,PC
0497                         *
0498                         * START - LOOK FOR SOH (START OF HEADER) = $01
0499                         *
0500 067F 81 01              XSTSTR  CMPA #SOH
0501 0681 26 06                c       BNE  XSTSTR1
0502 0683 CE 06 9F                   LDU  #XSTBLK
0503 0686 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
0504 0688 39                         RTS
0505                         *
0506 0689 81 04  d             XSTSTR1 CMPA #EOT
0507 068B 26 08                      BNE  XSTSTR2
0508 068D 86 06                      LDA  #ACK
0509 068F 17 FE 4E                   LBSR OUTTER
0510 0692 1A 05                      ORCC  #CFLAG+ZFLAG  Set (c)=1 abort &  eexit
0511 0694 39                         RTS
0512                         *
0513 0695 81 18              XSTSTR2 CMPA #CAN
0514 0697 26 03                      BNE  XSTSTR3 
0515 0699 1A 05                      ORCC  #CFLAG+ZFLAG  Set (c)=1 abort & ex fit
0516 069B 39                         RTS
0517                         *
0518 069C 1C FA              XSTSTR3 ANDCC #$FF-CFLAG-ZFLAG
0519 069E 39                         RTS
0520                         *
0521                         * Got SOH
0522   g                       * Now get block number
0523                         *
0524 069F B1 01 0B           XSTBLK  CMPA BLKNUM
0525 06A2 26 06                      BNE  XSTBLKE
0526 06A4 CE 06 B5                   LDU  #XSTCOM
0527 06A7 1C FA            h           ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0528 06A9 39                         RTS
0529                         *
0530                         * Error in block number
0531                         *
0532 06AA 86 15              i XSTBLKE LDA  #NAK
0533 06AC 17 FE 31                   LBSR OUTTER
0534 06AF CE 06 7F                   LDU  #XSTSTR
0535 06B2 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0536 06B4 39                         RTS j
0537                         *
0538                         * Get complement of block number
0539                         *
0540 06B5 43                 XSTCOM  COMA
0541 06B6 B1 01 0B                   CMPA BLKNUM
0542 06B9 26 EF
k BNE  XSTBLKE
0543 06BB 7F 01 0A                   CLR  CHKSUM
0544 06BE 86 80                      LDA  #128
0545 06C0 B7 01 0C                   STA  BYTCNT
0546 06C3 CE 06 C9                   LDU  #XSTDAT
0547 06C6 1C FA                      ANDCC
k BNE  XSTBLKE
0543 06BB 7F 01 0A                   CLR  CHKSUM
0544 06BE 86 80                      LDA  #128
0545 06C0 B7 01 0C                   STA  BYTCNT
0546 06C3 CE 06 C9                   LDU  #XSTDAT
0547 06C6 1C FA                      ANDCC
l#$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0548 06C8 39                         RTS
0549                         *
0550                         * Get data bytes
0551                         *
0552 06C9 34 02              XSTDAT  PSHS A
0553 06C
l#$FF-CFLAG-ZFLAG No abort, No valid data (no exit)
0548 06C8 39                         RTS
0549                         *
0550                         * Get data bytes
0551                         *
0552 06C9 34 02              XSTDAT  PSHS A
0553 06C
mB BB 01 0A                   ADDA CHKSUM
0554 06CE B7 01 0A                   STA  CHKSUM
0555 06D1 35 02                      PULS A
0556 06D3 7A 01 0C                   DEC  BYTCNT
0557 06D6 26 03                      BNE  XSTDAT1
0558 06D8 CE 06 E0
mB BB 01 0A                   ADDA CHKSUM
0554 06CE B7 01 0A                   STA  CHKSUM
0555 06D1 35 02                      PULS A
0556 06D3 7A 01 0C                   DEC  BYTCNT
0557 06D6 26 03                      BNE  XSTDAT1
0558 06D8 CE 06 E0
n                  LDU  #XSTCHK
0559 06DB A7 80              XSTDAT1 STA  ,X+
0560 06DD 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
0561 06DF 39                         RTS
0562                         *
0563
n                  LDU  #XSTCHK
0559 06DB A7 80              XSTDAT1 STA  ,X+
0560 06DD 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data (no exit)
0561 06DF 39                         RTS
0562                         *
0563
o                    * Byte count reached zero
0564                         * Check checksum byte
0565                         *
0566 06E0 B1 01 0A           XSTCHK  CMPA CHKSUM
0567 06E3 26 0B                      BNE  XSTCHK1 retry if wrong checksum
0
o                    * Byte count reached zero
0564                         * Check checksum byte
0565                         *
0566 06E0 B1 01 0A           XSTCHK  CMPA CHKSUM
0567 06E3 26 0B                      BNE  XSTCHK1 retry if wrong checksum
0
p568                         *
0569                         * Checksum OK ... 
0570                         * increment block number
0571                         * Don't send ACK until data written to CF
0572                         *
0573 06E5 7C 01 0B
p568                         *
0569                         * Checksum OK ... 
0570                         * increment block number
0571                         * Don't send ACK until data written to CF
0572                         *
0573 06E5 7C 01 0B
q                   INC  BLKNUM
0574 06E8 CE 06 7F                   LDU  #XSTSTR
0575 06EB 1C FE                      ANDCC #$FF-CFLAG No abort
0576 06ED 1A 04                      ORCC #ZFLAG      Valid data (exit)
0577 06EF 39
q                   INC  BLKNUM
0574 06E8 CE 06 7F                   LDU  #XSTSTR
0575 06EB 1C FE                      ANDCC #$FF-CFLAG No abort
0576 06ED 1A 04                      ORCC #ZFLAG      Valid data (exit)
0577 06EF 39
r RTS
0578                         *
0579                         * Checksum Error detected ...
0580                         * Reset Sector counter in ACCB to last 128 byte boundary
0581                         * and send NAK
0582
r RTS
0578                         *
0579                         * Checksum Error detected ...
0580                         * Reset Sector counter in ACCB to last 128 byte boundary
0581                         * and send NAK
0582
        s  *
0583 06F0 34 04              XSTCHK1 PSHS B
0584 06F2 1F 10                      TFR  X,D
0585 06F4 5A                         DECB
0586 06F5 C4 80                      ANDB #128 
0587 06F7 1F 01                      TFR  D,X
0588 06F9 35 04
        s  *
0583 06F0 34 04              XSTCHK1 PSHS B
0584 06F2 1F 10                      TFR  X,D
0585 06F4 5A                         DECB
0586 06F5 C4 80                      ANDB #128 
0587 06F7 1F 01                      TFR  D,X
0588 06F9 35 04
t               PULS B
0589 06FB 86 15                      LDA  #NAK
0590 06FD 17 FD E0           XSTCHK2 LBSR OUTTER
0591 0700 CE 06 7F                   LDU  #XSTSTR
0592 0703 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data
t               PULS B
0589 06FB 86 15                      LDA  #NAK
0590 06FD 17 FD E0           XSTCHK2 LBSR OUTTER
0591 0700 CE 06 7F                   LDU  #XSTSTR
0592 0703 1C FA                      ANDCC #$FF-CFLAG-ZFLAG No abort, no valid data
u(no exit)
0593 0705 39                         RTS
0594                         *
0595                         * Acknowledge Data Received
0596                         *
0597 0706 34 02              XACK    PSHS A
0598 0708 86 06                      L
u(no exit)
0593 0705 39                         RTS
0594                         *
0595                         * Acknowledge Data Received
0596                         *
0597 0706 34 02              XACK    PSHS A
0598 0708 86 06                      L
vDA  #ACK
0599 070A 17 FD D3                   LBSR OUTTER
0600 070D 35 82                      PULS A,PC
0601                         *
0602                         *
0603                         ** FLEX 9 COMPACT FLASH DISK DRIVERS
0604
vDA  #ACK
0599 070A 17 FD D3                   LBSR OUTTER
0600 070D 35 82                      PULS A,PC
0601                         *
0602                         *
0603                         ** FLEX 9 COMPACT FLASH DISK DRIVERS
0604

w          *
0605                         * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
0606                         * WITH I/O MAPPED AT $XE000
0607                         * AND ROM MAPPED AT $XF000
0608                         * THE BURCHED B5-X300 HAS 2

w          *
0605                         * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
0606                         * WITH I/O MAPPED AT $XE000
0607                         * AND ROM MAPPED AT $XF000
0608                         * THE BURCHED B5-X300 HAS 2
x56KBYTES OF SRAM
0609                         * THE FIRST 64K IS USED BY FLEX,
0610                         * THE SECOND 192K MAY BE USED AS A RAM DISK
0611                         *
0612                         *
0613 0010                    IMASK  EQ
x56KBYTES OF SRAM
0609                         * THE FIRST 64K IS USED BY FLEX,
0610                         * THE SECOND 192K MAY BE USED AS A RAM DISK
0611                         *
0612                         *
0613 0010                    IMASK  EQ
yU $10     IRQ MASK CC
0614 0040                    FMASK  EQU $40     FIRQ MASK CC
0615 FFF0                    DATREG EQU $FFF0   DAT REGISTERS
0616                         *
0617 E040                    CF_BASE    EQU $E040
0618 E040
yU $10     IRQ MASK CC
0614 0040                    FMASK  EQU $40     FIRQ MASK CC
0615 FFF0                    DATREG EQU $FFF0   DAT REGISTERS
0616                         *
0617 E040                    CF_BASE    EQU $E040
0618 E040
z   CF_DATA    EQU CF_BASE+0
0619 E041                    CF_ERROR   EQU CF_BASE+1 ; read error
0620 E041                    CF_FEATURE EQU CF_BASE+1 ; write feature
0621 E042                    CF_SECCNT  EQU CF_BASE+2
0622 E043                    CF_S
z   CF_DATA    EQU CF_BASE+0
0619 E041                    CF_ERROR   EQU CF_BASE+1 ; read error
0620 E041                    CF_FEATURE EQU CF_BASE+1 ; write feature
0621 E042                    CF_SECCNT  EQU CF_BASE+2
0622 E043                    CF_S
{ECNUM  EQU CF_BASE+3
0623 E044                    CF_CYLLO   EQU CF_BASE+4
0624 E045                    CF_CYLHI   EQU CF_BASE+5
0625 E046                    CF_HEAD    EQU CF_BASE+6
0626 E047                    CF_STATUS  EQU CF_BASE+7 ; read status
0
{ECNUM  EQU CF_BASE+3
0623 E044                    CF_CYLLO   EQU CF_BASE+4
0624 E045                    CF_CYLHI   EQU CF_BASE+5
0625 E046                    CF_HEAD    EQU CF_BASE+6
0626 E047                    CF_STATUS  EQU CF_BASE+7 ; read status
0
|627 E047                    CF_COMAND  EQU CF_BASE+7 ; write command
0628                         *
0629                         * Command Equates
0630                         *
0631 0020                    CMDREAD    EQU $20 ; Read Single sector
0632
|627 E047                    CF_COMAND  EQU CF_BASE+7 ; write command
0628                         *
0629                         * Command Equates
0630                         *
0631 0020                    CMDREAD    EQU $20 ; Read Single sector
0632
}0030                    CMDWRITE   EQU $30 ; Write Single sector
0633 00EF                    CMDFEATURE EQU $EF
0634 0001                    FEAT8BIT   EQU $01 ; enable 8 bit transfers
0635 00E0                    HEADLBA    EQU $E0
0636
}0030                    CMDWRITE   EQU $30 ; Write Single sector
0633 00EF                    CMDFEATURE EQU $EF
0634 0001                    FEAT8BIT   EQU $01 ; enable 8 bit transfers
0635 00E0                    HEADLBA    EQU $E0
0636
~           *
0637                         * Status bit equates
0638                         *
0639 0080                    BSY        EQU $80
0640 0040                    DRDY       EQU $40
0641 0008                    DRQ        EQU $08
0642 0001
~           *
0637                         * Status bit equates
0638                         *
0639 0080                    BSY        EQU $80
0640 0040                    DRDY       EQU $40
0641 0008                    DRQ        EQU $08
0642 0001
               ERR        EQU $01
0643                         *
0644                         *
0645                         * INITIALIZE CF CARD FOR 8 BIT LBA MODE
0646                         *
0647 070F 8D 7F              INITDR BSR WAITRDY
0648 071
               ERR        EQU $01
0643                         *
0644                         *
0645                         * INITIALIZE CF CARD FOR 8 BIT LBA MODE
0646                         *
0647 070F 8D 7F              INITDR BSR WAITRDY
0648 071
1 86 E0                     LDA  #HEADLBA
0649 0713 B7 E0 46                  STA  CF_HEAD
0650 0716 86 01                     LDA #FEAT8BIT
0651 0718 B7 E0 41                  STA CF_FEATURE
0652 071B 86 EF                     LDA #CMDFEATURE
0653 071
1 86 E0                     LDA  #HEADLBA
0649 0713 B7 E0 46                  STA  CF_HEAD
0650 0716 86 01                     LDA #FEAT8BIT
0651 0718 B7 E0 41                  STA CF_FEATURE
0652 071B 86 EF                     LDA #CMDFEATURE
0653 071
D B7 E0 47                  STA CF_COMAND
0654 0720 20 6E                     BRA WAITRDY
0655                         *  
0656                         * RESTORE DISK DRIVER (SEEK TRACK 00)
0657                         *  
0658 0722 8D 5C
D B7 E0 47                  STA CF_COMAND
0654 0720 20 6E                     BRA WAITRDY
0655                         *  
0656                         * RESTORE DISK DRIVER (SEEK TRACK 00)
0657                         *  
0658 0722 8D 5C
RESTR1 BSR   DRVSEL
0659 0724 4F                        CLRA           ; Track 0
0660 0725 C6 01                     LDB   #$01     ; Sector 1
0661                         *
0662                         * Seek track and sector
0663
RESTR1 BSR   DRVSEL
0659 0724 4F                        CLRA           ; Track 0
0660 0725 C6 01                     LDB   #$01     ; Sector 1
0661                         *
0662                         * Seek track and sector
0663
    * A holds track number (0 - ??)
0664                         * B holds sector number (1 - ??)
0665                         * Sector numbers starts from 1
0666                         * subtract 1 to start from sector 0 on CF
0667
    * A holds track number (0 - ??)
0664                         * B holds sector number (1 - ??)
0665                         * Sector numbers starts from 1
0666                         * subtract 1 to start from sector 0 on CF
0667
      *
0668 0727 5A                 SEEKTS DECB
0669 0728 F7 E0 43                  STB  CF_SECNUM
0670 072B B7 E0 44                  STA  CF_CYLLO
0671 072E F6 01 07                  LDB  DRVNUM
0672 0731 F7 E0 45                  STB  CF_CYLHI
0673
      *
0668 0727 5A                 SEEKTS DECB
0669 0728 F7 E0 43                  STB  CF_SECNUM
0670 072B B7 E0 44                  STA  CF_CYLLO
0671 072E F6 01 07                  LDB  DRVNUM
0672 0731 F7 E0 45                  STB  CF_CYLHI
0673
 0734 C6 01                     LDB  #$01
0674 0736 F7 E0 42                  STB  CF_SECCNT
0675 0739 5F                        CLRB
0676 073A 39                 WARMD1 RTS
0677                         *
0678                         * READ SECTORS FRO
 0734 C6 01                     LDB  #$01
0674 0736 F7 E0 42                  STB  CF_SECCNT
0675 0739 5F                        CLRB
0676 073A 39                 WARMD1 RTS
0677                         *
0678                         * READ SECTORS FRO
M CF
0679                         *
0680                         *
0681 073B 8D EA              READSC BSR  SEEKTS
0682 073D 86 20                     LDA  #CMDREAD ; IDE READ MULTIPLE
0683 073F B7 E0 47                  STA  CF_COMAND
0684 0742 8D 4C
M CF
0679                         *
0680                         *
0681 073B 8D EA              READSC BSR  SEEKTS
0682 073D 86 20                     LDA  #CMDREAD ; IDE READ MULTIPLE
0683 073F B7 E0 47                  STA  CF_COMAND
0684 0742 8D 4C
                    BSR  WAITRDY
0685                         *
0686                         * READ LOOP
0687                         *
0688 0744 5F                        CLRB
0689 0745 8D 58              RDLP1  BSR  WAITDRQ
0690 0747 B6 E0 40
                    BSR  WAITRDY
0685                         *
0686                         * READ LOOP
0687                         *
0688 0744 5F                        CLRB
0689 0745 8D 58              RDLP1  BSR  WAITDRQ
0690 0747 B6 E0 40
          LDA  CF_DATA
0691 074A A7 80                     STA  ,X+
0692 074C 5A                        DECB
0693 074D 26 F6                     BNE  RDLP1
0694                         *
0695 074F 5F                        CLRB
0696 0750 8D 4D
          LDA  CF_DATA
0691 074A A7 80                     STA  ,X+
0692 074C 5A                        DECB
0693 074D 26 F6                     BNE  RDLP1
0694                         *
0695 074F 5F                        CLRB
0696 0750 8D 4D
     RDLP2  BSR  WAITDRQ
0697 0752 B6 E0 40                  LDA  CF_DATA
0698 0755 5A                        DECB
0699 0756 26 F8                     BNE  RDLP2
0700                         *
0701 0758 8D 36                     BSR  WAITRDY
0702 075A
     RDLP2  BSR  WAITDRQ
0697 0752 B6 E0 40                  LDA  CF_DATA
0698 0755 5A                        DECB
0699 0756 26 F8                     BNE  RDLP2
0700                         *
0701 0758 8D 36                     BSR  WAITRDY
0702 075A
 5F                        CLRB
0703 075B 39                        RTS
0704                         *  
0705                         * WRITE SECTOR TO CF
0706                         *  
0707 075C 8D C9              WRITSC BSR  SEEKTS   ; SEEK TRACK &
 5F                        CLRB
0703 075B 39                        RTS
0704                         *  
0705                         * WRITE SECTOR TO CF
0706                         *  
0707 075C 8D C9              WRITSC BSR  SEEKTS   ; SEEK TRACK &
!SECTOR
0708 075E 86 30                     LDA  #CMDWRITE; IDE WRITE MULTIPLE
0709 0760 B7 E0 47                  STA  CF_COMAND
0710 0763 8D 2B                     BSR  WAITRDY
0711                         *
0712                         * WRITE LOOP
0
!SECTOR
0708 075E 86 30                     LDA  #CMDWRITE; IDE WRITE MULTIPLE
0709 0760 B7 E0 47                  STA  CF_COMAND
0710 0763 8D 2B                     BSR  WAITRDY
0711                         *
0712                         * WRITE LOOP
0
"713                         *
0714 0765 5F                        CLRB
0715 0766 8D 37              WRTLP1 BSR  WAITDRQ
0716 0768 A6 80                     LDA  ,X+
0717 076A B7 E0 40                  STA  CF_DATA
0718 076D 5A                        DE
"713                         *
0714 0765 5F                        CLRB
0715 0766 8D 37              WRTLP1 BSR  WAITDRQ
0716 0768 A6 80                     LDA  ,X+
0717 076A B7 E0 40                  STA  CF_DATA
0718 076D 5A                        DE
#CB
0719 076E 26 F6                     BNE  WRTLP1
0720                         *
0721 0770 5F                        CLRB
0722 0771 8D 2C              WRTLP2 BSR  WAITDRQ
0723 0773 4F                        CLRA
0724 0774 B7 E0 40                  STA
#CB
0719 076E 26 F6                     BNE  WRTLP1
0720                         *
0721 0770 5F                        CLRB
0722 0771 8D 2C              WRTLP2 BSR  WAITDRQ
0723 0773 4F                        CLRA
0724 0774 B7 E0 40                  STA
$  CF_DATA
0725 0777 5A                        DECB
0726 0778 26 F7                     BNE WRTLP2
0727                         *
0728 077A 8D 14                     BSR  WAITRDY
0729 077C 5F                        CLRB
0730 077D 39
$  CF_DATA
0725 0777 5A                        DECB
0726 0778 26 F7                     BNE WRTLP2
0727                         *
0728 077A 8D 14                     BSR  WAITRDY
0729 077C 5F                        CLRB
0730 077D 39
%   RTS
0731                         *  
0732                         * CHECK FOR BUSY  
0733                         * Doubles as VERIFY
0734                         *  
0735 077E 5F                 BUSY   CLRB            Never busy
0736 077F 39
%   RTS
0731                         *  
0732                         * CHECK FOR BUSY  
0733                         * Doubles as VERIFY
0734                         *  
0735 077E 5F                 BUSY   CLRB            Never busy
0736 077F 39
&                 RTS
0737                         *  
0738                         * DRIVE SELECT DISK DRIVER
0739                         *  
0740 0780 A6 03              DRVSEL LDA   3,X       GET DRIVE # FROM FCB
0741 0782 81 03
&                 RTS
0737                         *  
0738                         * DRIVE SELECT DISK DRIVER
0739                         *  
0740 0780 A6 03              DRVSEL LDA   3,X       GET DRIVE # FROM FCB
0741 0782 81 03
'CMPA  #3  
0742 0784 23 01                     BLS   DRVS2     IF > 3, SET IT TO 0  
0743 0786 4F                        CLRA  
0744 0787 B7 01 07           DRVS2  STA   DRVNUM
0745 078A 5F                        CLRB            ; SET Z, CLEAR C
0746 0
'CMPA  #3  
0742 0784 23 01                     BLS   DRVS2     IF > 3, SET IT TO 0  
0743 0786 4F                        CLRA  
0744 0787 B7 01 07           DRVS2  STA   DRVNUM
0745 078A 5F                        CLRB            ; SET Z, CLEAR C
0746 0
(78B 39                        RTS
0747                         *  
0748                         * CHECK DRIVE READY DISK DRIVER
0749                         *  
0750 078C A6 03              CHKDRV LDA  3,X
0751 078E 5F                        CLRB
(78B 39                        RTS
0747                         *  
0748                         * CHECK DRIVE READY DISK DRIVER
0749                         *  
0750 078C A6 03              CHKDRV LDA  3,X
0751 078E 5F                        CLRB
)       ; CLEAR C, SET Z
0752 078F 39                        RTS  
0753                         *
0754                         * WAIT UNTIL READY
0755                         *
0756 0790 B6 E0 47           WAITRDY LDA  CF_STATUS
0757 0793 85 80
)       ; CLEAR C, SET Z
0752 078F 39                        RTS  
0753                         *
0754                         * WAIT UNTIL READY
0755                         *
0756 0790 B6 E0 47           WAITRDY LDA  CF_STATUS
0757 0793 85 80
*             BITA #BSY
0758 0795 26 F9                      BNE  WAITRDY
0759 0797 B6 E0 47                   LDA  CF_STATUS
0760 079A 85 40                      BITA #DRDY
0761 079C 27 F2                      BEQ  WAITRDY
0762 079E 39
*             BITA #BSY
0758 0795 26 F9                      BNE  WAITRDY
0759 0797 B6 E0 47                   LDA  CF_STATUS
0760 079A 85 40                      BITA #DRDY
0761 079C 27 F2                      BEQ  WAITRDY
0762 079E 39
+        RTS
0763                         *
0764                         * WAIT FOR DATA REQUEST
0765                         *
0766 079F B6 E0 47           WAITDRQ LDA  CF_STATUS
0767 07A2 85 08                      BITA #DRQ
0768 07A4 27 F9                      BEQ  WAITDRQ
0769 07A6 39                         RTS
0770                         *
0771                                END START
Program + Init Data = 1211 bytes
Error count = 0
+        RTS
0763                         *
0764                         * WAIT FOR DATA REQUEST
0765                         *
0766 079F B6 E0 47           WAITDRQ LDA  CF_STATUS
0767 07A2 85 08                      BITA #DRQ
0768 07A4 27 F9                      BEQ  WAITDRQ
0769 07A6 39                         RTS
0770                         *
0771                                END START
Program + Init Data = 1211 bytes
Error count = 0
-S11701001704476E9FF8000000000000000000000000000080
S123030034308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0B6E00135B03430B8
S123032034028E03E8108E04E2B6E0004747250C313F26F5301F26ED350235B03502B7E05A
S12303400135B00A0D466F726D6174696E672052414D6469736
-S11701001704476E9FF8000000000000000000000000000080
S123030034308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0B6E00135B03430B8
S123032034028E03E8108E04E2B6E0004747250C313F26F5301F26ED350235B03502B7E05A
S12303400135B00A0D466F726D6174696E672052414D6469736
.B2E2E2E20040A0D045261CE
S12303606D6469736B206E6F7420616C6C6F63617465642120048E0343BD04F9C600F70196
S1230380078E0104BD07808E02004F5FA7805A26FB7F01088601B701098E0200B60108A7D5
S12303A084B601094C810F26046C848601A701B60108F60109BD075C7C0109B60109810F1B
S12
.B2E2E2E20040A0D045261CE
S12303606D6469736B206E6F7420616C6C6F63617465642120048E0343BD04F9C600F70196
S1230380078E0104BD07808E02004F5FA7805A26FB7F01088601B701098E0200B60108A7D5
S12303A084B601094C810F26046C848601A701B60108F60109BD075C7C0109B60109810F1B
S12
/303C026D78601B701097C0108B60108813026C88E0200862FC60EBD073B8E02006F8456
S12303E06F01862FC60EBD075C8E02004FC60EBD073B8E02006F846F014FC60EBD075C8E6A
S123040002004FC603BD073B8E02006F846F01CC5241ED8810CC4D44ED8812CC4953ED8827
S123042014CC4B20ED8816CC0001ED
/303C026D78601B701097C0108B60108813026C88E0200862FC60EBD073B8E02006F8456
S12303E06F01862FC60EBD075C8E02004FC60EBD073B8E02006F846F014FC60EBD075C8E6A
S123040002004FC603BD073B8E02006F846F01CC5241ED8810CC4D44ED8812CC4953ED8827
S123042014CC4B20ED8816CC0001ED
0881BCC0101ED881D862FC60EED881FED8826CC02920D
S1230440ED88218601A788238607A788248607A788254FC603BD075C8E02004FC601BD07C6
S12304603B8E020086AAA7848655A7014FC6017E075C34048D0E484848481F898D06340472
S1230480ABE03584BD04AD29FB80302BF781092F0A81112BEF81162EE
0881BCC0101ED881D862FC60EED881FED8826CC02920D
S1230440ED88218601A788238607A788248607A788254FC603BD075C8E02004FC601BD07C6
S12304603B8E020086AAA7848655A7014FC6017E075C34048D0E484848481F898D06340472
S1230480ABE03584BD04AD29FB80302BF781092F0A81112BEF81162EE
1B800739B6E00085B6
S12304A001398603B7E0008611B7E000398610B7010F7F01107F0111B6E00085012608852A
S12304C078270A8DDD20E6B6E0011C02397A011126E67A011026E17A010F26DC4F1A0239B7
S12304E03402B6E00085022608857827F58DB320F13502B7E001398DE7A680810426F8398F
S12305000
1B800739B6E00085B6
S12304A001398603B7E0008611B7E000398610B7010F7F01107F0111B6E00085012608852A
S12304C078270A8DDD20E6B6E0011C02397A011126E67A011026E17A010F26DC4F1A0239B7
S12304E03402B6E00085022608857827F58DB320F13502B7E001398DE7A680810426F8398F
S12305000
2D0A586D6F64656D20524F4D204469736B2055706C6F61640D0A447269766520E7
S12305204E756D626572203A040D0A55706C6F616420436F6D706C657465040D0A55706CCF
S12305406F6164204572726F72048E050017FFA917FF5A29FB8130102500FB813310220088
S1230560F58030B701071701A6CE067FFF01
2D0A586D6F64656D20524F4D204469736B2055706C6F61640D0A447269766520E7
S12305204E756D626572203A040D0A55706C6F616420436F6D706C657465040D0A55706CCF
S12305406F6164204572726F72048E050017FFA917FF5A29FB8130102500FB813310220088
S1230560F58030B701071701A6CE067FFF01
30D8601B7010B8E02008600B701074FC601B709
S12305800108F701091700DA102500D01701771700D0102500C68E0200B60108F601091780
S12305A001BA1701618E0200B60108F601095CB70108F701091700AA102500A0170147178B
S12305C000A0102500968E0200B60108F6010917018A1701318E0200B60108F
30D8601B7010B8E02008600B701074FC601B709
S12305800108F701091700DA102500D01701771700D0102500C68E0200B60108F601091780
S12305A001BA1701618E0200B60108F601095CB70108F701091700AA102500A0170147178B
S12305C000A0102500968E0200B60108F6010917018A1701318E0200B60108F
4601095CB710
S12305E00108F7010917007A10250070170117170070102500668E0200A68826B70112E6D2
S123060088275CF70113B60108F6010917014D1700F4B60108F601095C8E0200B70108F72F
S1230620010917003D102500331700DA170033102500298E0200B60108F6010917011D17BC
S123064000C4B60
4601095CB710
S12305E00108F7010917007A10250070170117170070102500668E0200A68826B70112E6D2
S123060088275CF70113B60108F6010917014D1700F4B60108F601095C8E0200B70108F72F
S1230620010917003D102500331700DA170033102500298E0200B60108F6010917011D17BC
S123064000C4B60
5      108F601095CF1011326CBC6014CB1011226C38E05297E04F98E053B16E6
S1230660FE973440FE010D17FE43280A861517FE6FCE067F20F1ADC426EDFF010D35C0814D
S1230680012606CE069F1CFA3981042608860617FE4E1A0539811826031A05391CFA39B153
S12306A0010B2606CE06B51CFA39861517FE31CE06
5      108F601095CF1011326CBC6014CB1011226C38E05297E04F98E053B16E6
S1230660FE973440FE010D17FE43280A861517FE6FCE067F20F1ADC426EDFF010D35C0814D
S1230680012606CE069F1CFA3981042608860617FE4E1A0539811826031A05391CFA39B153
S12306A0010B2606CE06B51CFA39861517FE31CE06
6
6
7F1CFA3943B1010B26EF7F010A8680FE
S12306C0B7010CCE06C91CFA393402BB010AB7010A35027A010C2603CE06E0A7801CFA3997
S12306E0B1010A260B7C010BCE067F1CFE1A043934041F105AC4801F013504861517FDE0D0
S1230700CE067F1CFA393402860617FDD335828D7F86E0B7E0468601B7E04186EFB7E
7F1CFA3943B1010B26EF7F010A8680FE
S12306C0B7010CCE06C91CFA393402BB010AB7010A35027A010C2603CE06E0A7801CFA3997
S12306E0B1010A260B7C010BCE067F1CFE1A043934041F105AC4801F013504861517FDE0D0
S1230700CE067F1CFA393402860617FDD335828D7F86E0B7E0468601B7E04186EFB7E
7047D2
S1230720206E8D5C4FC6015AF7E043B7E044F60107F7E045C601F7E0425F398DEA8620B773
S1230740E0478D4C5F8D58B6E040A7805A26F65F8D4DB6E0405A26F88D365F398DC98630F0
S1230760B7E0478D2B5F8D37A680B7E0405A26F65F8D2C4FB7E0405A26F78D145F395F39C3
S1230780A603810323014FB701075F39A6035F39B6E047858026F9B6E047854027F239B672
S10A07A0E047850827F93941
S9030000FC
7047D2
S1230720206E8D5C4FC6015AF7E043B7E044F60107F7E045C601F7E0425F398DEA8620B773
S1230740E0478D4C5F8D58B6E040A7805A26F65F8D4DB6E0405A26F88D365F398DC98630F0
S1230760B7E0478D2B5F8D37A680B7E0405A26F65F8D2C4FB7E0405A26F78D145F395F39C3
S1230780A603810323014FB701075F39A6035F39B6E047858026F9B6E047854027F239B672
S10A07A0E047850827F93941
S9030000FC
9*******************************************************
*
* Bootstrap FLEX Loader
*
* SBUG1.8 loads the bootstap loader at $C000
* however the Flex adaption manual has the
* bootstrap loader residing at $C100
*
*****************************************
9*******************************************************
*
* Bootstrap FLEX Loader
*
* SBUG1.8 loads the bootstap loader at $C000
* however the Flex adaption manual has the
* bootstrap loader residing at $C100
*
*****************************************
:*************
*
* Equates
*
STACK   EQU $C0FF
SCTBUF  EQU $C300
*
* Start of Utility
*
        ORG $C000
BOOT    BRA LOAD0
        FCB 0,0,0
TRK     FCB 0        File start track
SCT     FCB 0        File start sector
DNS     FCB 0        Density Flag
:*************
*
* Equates
*
STACK   EQU $C0FF
SCTBUF  EQU $C300
*
* Start of Utility
*
        ORG $C000
BOOT    BRA LOAD0
        FCB 0,0,0
TRK     FCB 0        File start track
SCT     FCB 0        File start sector
DNS     FCB 0        Density Flag
;(not used)
TADR    FDB $C000    Transfer address
LADR    FDB 0        Load Address
DRVNUM  FCB 0        Drive number 0
*
LOAD0   LDS  #STACK   Set up stack
        LDD  TRK      Set up start track and sector
        STD  SCTBUF
        LDY  #SCTBUF+256
;(not used)
TADR    FDB $C000    Transfer address
LADR    FDB 0        Load Address
DRVNUM  FCB 0        Drive number 0
*
LOAD0   LDS  #STACK   Set up stack
        LDD  TRK      Set up start track and sector
        STD  SCTBUF
        LDY  #SCTBUF+256
<
*
* Perform actual file load
*
LOAD1   BSR GETCH    Get acharcater
        CMPA #$02    Data record hearder ?
        BEQ  LOAD2   Skip, is so
        CMPA #$16    Xfr address hearder ?
        BNE LOAD1    Loop if neither
*
* Get transfer address
*
<
*
* Perform actual file load
*
LOAD1   BSR GETCH    Get acharcater
        CMPA #$02    Data record hearder ?
        BEQ  LOAD2   Skip, is so
        CMPA #$16    Xfr address hearder ?
        BNE LOAD1    Loop if neither
*
* Get transfer address
*
=       BSR  GETCH
        STA  TADR
        BSR  GETCH
        STA  TADR+1
        BRA  LOAD1
*
* Load data record
*
LOAD2  BSR  GETCH  Get load address
       STA  LADR
       BSR  GETCH
       STA  LADR+1
       BSR  GETCH  Get Bytes count
       TFR
=       BSR  GETCH
        STA  TADR
        BSR  GETCH
        STA  TADR+1
        BRA  LOAD1
*
* Load data record
*
LOAD2  BSR  GETCH  Get load address
       STA  LADR
       BSR  GETCH
       STA  LADR+1
       BSR  GETCH  Get Bytes count
       TFR
>  A,B
       TSTB
       BEQ  LOAD1 Loop if count = 0
       LDX  LADR  Get load address
LOAD3  PSHS B,X
       BSR  GETCH  Get data character
       PULS B,X
       STA  ,X+    Store at load address
       DECB
       BNE  LOAD3  Loop until count = 0
>  A,B
       TSTB
       BEQ  LOAD1 Loop if count = 0
       LDX  LADR  Get load address
LOAD3  PSHS B,X
       BSR  GETCH  Get data character
       PULS B,X
       STA  ,X+    Store at load address
       DECB
       BNE  LOAD3  Loop until count = 0
?       BRA  LOAD1
*
* Get Character routine
* Reads a sector if needed
*
GETCH  CMPY #SCTBUF+256 out of data ?
       BNE  GETCH4      Go read Character if not
GETCH2 LDX  #SCTBUF     Point to buffer
       LDD  0,X         Get forward Link
       BEQ
?       BRA  LOAD1
*
* Get Character routine
* Reads a sector if needed
*
GETCH  CMPY #SCTBUF+256 out of data ?
       BNE  GETCH4      Go read Character if not
GETCH2 LDX  #SCTBUF     Point to buffer
       LDD  0,X         Get forward Link
       BEQ
@ GO          if zero, file is loaded
       BSR  READ        Read next sector
       BNE  BOOT        start over if error
       LDY  #SCTBUF+4   Point past link
GETCH4 LDA  ,Y+         Else, get a character
       RTS
*
* File is loaded, Jump to it
*
@ GO          if zero, file is loaded
       BSR  READ        Read next sector
       BNE  BOOT        start over if error
       LDY  #SCTBUF+4   Point past link
GETCH4 LDA  ,Y+         Else, get a character
       RTS
*
* File is loaded, Jump to it
*
A      GO     JMP  [TADR]      Jump to transfer address

*
** 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 U
A      GO     JMP  [TADR]      Jump to transfer address

*
** 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 U
B
B
SED 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_FEATUR
SED 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_FEATUR
CE 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 Equ
CE 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 Equ
Dates
*
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
Dates
*
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
E
ERR        EQU $01
*  
* RESTORE DISK DRIVER (SEEK TRACK 00)
*  
RESTR1 CLR  DRVNUM
       CLRA           ; Track 0
       LDB  #$01     ; Sector 1
*
* Seek track and sector
* A holds track number (0 - ??)
* B holds sector number (1 - ??)
* Sector numb
E
ERR        EQU $01
*  
* RESTORE DISK DRIVER (SEEK TRACK 00)
*  
RESTR1 CLR  DRVNUM
       CLRA           ; Track 0
       LDB  #$01     ; Sector 1
*
* Seek track and sector
* A holds track number (0 - ??)
* B holds sector number (1 - ??)
* Sector numb
Fers 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
*
*
READ
Fers 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
*
*
READ
G   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
G   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
H LDA  CF_DATA
       DECB
       BNE  RDLP2
*
       BSR  WAITRDY
       CLRB
       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
H LDA  CF_DATA
       DECB
       BNE  RDLP2
*
       BSR  WAITRDY
       CLRB
       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
JAssembler release DWC_2.0 version 2.11
May 6, 2004 (c) Motorola (free ware)
0001                         *******************************************************
0002                         *
0003                         * Bootstrap FLEX Loader
0004
JAssembler release DWC_2.0 version 2.11
May 6, 2004 (c) Motorola (free ware)
0001                         *******************************************************
0002                         *
0003                         * Bootstrap FLEX Loader
0004
K                      *
0005                         * SBUG1.8 loads the bootstap loader at $C000
0006                         * however the Flex adaption manual has the
0007                         * bootstrap loader residing at $C100
0008
K                      *
0005                         * SBUG1.8 loads the bootstap loader at $C000
0006                         * however the Flex adaption manual has the
0007                         * bootstrap loader residing at $C100
0008
L             *
0009                         ******************************************************
0010                         *
0011                         * Equates
0012                         *
0013 C0FF                    STACK   EQU $C0FF
0014
L             *
0009                         ******************************************************
0010                         *
0011                         * Equates
0012                         *
0013 C0FF                    STACK   EQU $C0FF
0014
MC300                    SCTBUF  EQU $C300
0015                         *
0016                         * Start of Utility
0017                         *
0018 C000                            ORG $C000
0019 C000 20 0B              BOOT    BRA LOAD0
0020 C
MC300                    SCTBUF  EQU $C300
0015                         *
0016                         * Start of Utility
0017                         *
0018 C000                            ORG $C000
0019 C000 20 0B              BOOT    BRA LOAD0
0020 C
N002 00 00 00                   FCB 0,0,0
0021 C005 00                 TRK     FCB 0        File start track
0022 C006 00                 SCT     FCB 0        File start sector
0023 C007 00                 DNS     FCB 0        Density Flag (not used)
00
N002 00 00 00                   FCB 0,0,0
0021 C005 00                 TRK     FCB 0        File start track
0022 C006 00                 SCT     FCB 0        File start sector
0023 C007 00                 DNS     FCB 0        Density Flag (not used)
00
O24 C008 C0 00              TADR    FDB $C000    Transfer address
0025 C00A 00 00              LADR    FDB 0        Load Address
0026 C00C 00                 DRVNUM  FCB 0        Drive number 0
0027                         *
0028 C00D 10 CE C0 FF
O24 C008 C0 00              TADR    FDB $C000    Transfer address
0025 C00A 00 00              LADR    FDB 0        Load Address
0026 C00C 00                 DRVNUM  FCB 0        Drive number 0
0027                         *
0028 C00D 10 CE C0 FF
P LOAD0   LDS  #STACK   Set up stack
0029 C011 FC C0 05                   LDD  TRK      Set up start track and sector
0030 C014 FD C3 00                   STD  SCTBUF
0031 C017 10 8E C4 00                LDY  #SCTBUF+256
0032                         *
0
P LOAD0   LDS  #STACK   Set up stack
0029 C011 FC C0 05                   LDD  TRK      Set up start track and sector
0030 C014 FD C3 00                   STD  SCTBUF
0031 C017 10 8E C4 00                LDY  #SCTBUF+256
0032                         *
0
Q033                         * Perform actual file load
0034                         *
0035 C01B 8D 35              LOAD1   BSR GETCH    Get acharcater
0036 C01D 81 02                      CMPA #$02    Data record hearder ?
0037 C01F 27 10
Q033                         * Perform actual file load
0034                         *
0035 C01B 8D 35              LOAD1   BSR GETCH    Get acharcater
0036 C01D 81 02                      CMPA #$02    Data record hearder ?
0037 C01F 27 10
R              BEQ  LOAD2   Skip, is so
0038 C021 81 16                      CMPA #$16    Xfr address hearder ?
0039 C023 26 F6                      BNE LOAD1    Loop if neither
0040                         *
0041                         * Get transfer addres
R              BEQ  LOAD2   Skip, is so
0038 C021 81 16                      CMPA #$16    Xfr address hearder ?
0039 C023 26 F6                      BNE LOAD1    Loop if neither
0040                         *
0041                         * Get transfer addres
S
S
s
0042                         *
0043 C025 8D 2B                      BSR  GETCH
0044 C027 B7 C0 08                   STA  TADR
0045 C02A 8D 26                      BSR  GETCH
0046 C02C B7 C0 09                   STA  TADR+1
0047 C02F 20 EA
s
0042                         *
0043 C025 8D 2B                      BSR  GETCH
0044 C027 B7 C0 08                   STA  TADR
0045 C02A 8D 26                      BSR  GETCH
0046 C02C B7 C0 09                   STA  TADR+1
0047 C02F 20 EA
T          BRA  LOAD1
0048                         *
0049                         * Load data record
0050                         *
0051 C031 8D 1F              LOAD2  BSR  GETCH  Get load address
0052 C033 B7 C0 0A                  STA  LADR
0053 C036
T          BRA  LOAD1
0048                         *
0049                         * Load data record
0050                         *
0051 C031 8D 1F              LOAD2  BSR  GETCH  Get load address
0052 C033 B7 C0 0A                  STA  LADR
0053 C036
U8D 1A                     BSR  GETCH
0054 C038 B7 C0 0B                  STA  LADR+1
0055 C03B 8D 15                     BSR  GETCH  Get Bytes count
0056 C03D 1F 89                     TFR  A,B
0057 C03F 5D                        TSTB
0058 C040 27 D9
U8D 1A                     BSR  GETCH
0054 C038 B7 C0 0B                  STA  LADR+1
0055 C03B 8D 15                     BSR  GETCH  Get Bytes count
0056 C03D 1F 89                     TFR  A,B
0057 C03F 5D                        TSTB
0058 C040 27 D9
V
                   BEQ  LOAD1 Loop if count = 0
0059 C042 BE C0 0A                  LDX  LADR  Get load address
0060 C045 34 14              LOAD3  PSHS B,X
0061 C047 8D 09                     BSR  GETCH  Get data character
0062 C049 35 14
V
                   BEQ  LOAD1 Loop if count = 0
0059 C042 BE C0 0A                  LDX  LADR  Get load address
0060 C045 34 14              LOAD3  PSHS B,X
0061 C047 8D 09                     BSR  GETCH  Get data character
0062 C049 35 14
W        PULS B,X
0063 C04B A7 80                     STA  ,X+    Store at load address
0064 C04D 5A                        DECB
0065 C04E 26 F5                     BNE  LOAD3  Loop until count = 0
0066 C050 20 C9                     BRA  LOAD1
0067
W        PULS B,X
0063 C04B A7 80                     STA  ,X+    Store at load address
0064 C04D 5A                        DECB
0065 C04E 26 F5                     BNE  LOAD3  Loop until count = 0
0066 C050 20 C9                     BRA  LOAD1
0067
X                     *
0068                         * Get Character routine
0069                         * Reads a sector if needed
0070                         *
0071 C052 10 8C C4 00        GETCH  CMPY #SCTBUF+256 out of data ?
0072 C056 26 0F
X                     *
0068                         * Get Character routine
0069                         * Reads a sector if needed
0070                         *
0071 C052 10 8C C4 00        GETCH  CMPY #SCTBUF+256 out of data ?
0072 C056 26 0F
Y              BNE  GETCH4      Go read Character if not
0073 C058 8E C3 00           GETCH2 LDX  #SCTBUF     Point to buffer
0074 C05B EC 84                     LDD  0,X         Get forward Link
0075 C05D 27 0B                     BEQ  GO          if z
Y              BNE  GETCH4      Go read Character if not
0073 C058 8E C3 00           GETCH2 LDX  #SCTBUF     Point to buffer
0074 C05B EC 84                     LDD  0,X         Get forward Link
0075 C05D 27 0B                     BEQ  GO          if z
Zero, file is loaded
0076 C05F 8D 27                     BSR  READ        Read next sector
0077 C061 26 9D                     BNE  BOOT        start over if error
0078 C063 10 8E C3 04               LDY  #SCTBUF+4   Point past link
0079 C067 A6 A0
Zero, file is loaded
0076 C05F 8D 27                     BSR  READ        Read next sector
0077 C061 26 9D                     BNE  BOOT        start over if error
0078 C063 10 8E C3 04               LDY  #SCTBUF+4   Point past link
0079 C067 A6 A0
[         GETCH4 LDA  ,Y+         Else, get a character
0080 C069 39                        RTS
0081                         *
0082                         * File is loaded, Jump to it
0083                         *
0084 C06A 6E 9F C0 08        GO     J
[         GETCH4 LDA  ,Y+         Else, get a character
0080 C069 39                        RTS
0081                         *
0082                         * File is loaded, Jump to it
0083                         *
0084 C06A 6E 9F C0 08        GO     J
\MP  [TADR]      Jump to transfer address
0085                         
0086                         *
0087                         ** FLEX 9 COMPACT FLASH DISK DRIVERS
0088                         *
0089                         * FOR SYS09BUG 1.2 ON TH
\MP  [TADR]      Jump to transfer address
0085                         
0086                         *
0087                         ** FLEX 9 COMPACT FLASH DISK DRIVERS
0088                         *
0089                         * FOR SYS09BUG 1.2 ON TH
]E BURCHED B5-X300
0090                         * WITH I/O MAPPED AT $XE000
0091                         * AND ROM MAPPED AT $XF000
0092                         * THE BURCHED B5-X300 HAS 256KBYTES OF SRAM
0093                         * THE FIRST 64K IS
]E BURCHED B5-X300
0090                         * WITH I/O MAPPED AT $XE000
0091                         * AND ROM MAPPED AT $XF000
0092                         * THE BURCHED B5-X300 HAS 256KBYTES OF SRAM
0093                         * THE FIRST 64K IS
^USED BY FLEX,
0094                         * THE SECOND 192K MAY BE USED AS A RAM DISK
0095                         *
0096                         *
0097 0010                    IMASK  EQU $10     IRQ MASK CC
0098 0040                    FMASK  EQU $40
^USED BY FLEX,
0094                         * THE SECOND 192K MAY BE USED AS A RAM DISK
0095                         *
0096                         *
0097 0010                    IMASK  EQU $10     IRQ MASK CC
0098 0040                    FMASK  EQU $40
_     FIRQ MASK CC
0099 FFF0                    DATREG EQU $FFF0   DAT REGISTERS
0100                         *
0101 E040                    CF_BASE    EQU $E040
0102 E040                    CF_DATA    EQU CF_BASE+0
0103 E041                    CF_ERROR
_     FIRQ MASK CC
0099 FFF0                    DATREG EQU $FFF0   DAT REGISTERS
0100                         *
0101 E040                    CF_BASE    EQU $E040
0102 E040                    CF_DATA    EQU CF_BASE+0
0103 E041                    CF_ERROR
`   EQU CF_BASE+1 ; read error
0104 E041                    CF_FEATURE EQU CF_BASE+1 ; write feature
0105 E042                    CF_SECCNT  EQU CF_BASE+2
0106 E043                    CF_SECNUM  EQU CF_BASE+3
0107 E044                    CF_CYLLO   EQU
`   EQU CF_BASE+1 ; read error
0104 E041                    CF_FEATURE EQU CF_BASE+1 ; write feature
0105 E042                    CF_SECCNT  EQU CF_BASE+2
0106 E043                    CF_SECNUM  EQU CF_BASE+3
0107 E044                    CF_CYLLO   EQU
aCF_BASE+4
0108 E045                    CF_CYLHI   EQU CF_BASE+5
0109 E046                    CF_HEAD    EQU CF_BASE+6
0110 E047                    CF_STATUS  EQU CF_BASE+7 ; read status
0111 E047                    CF_COMAND  EQU CF_BASE+7 ; write comm
aCF_BASE+4
0108 E045                    CF_CYLHI   EQU CF_BASE+5
0109 E046                    CF_HEAD    EQU CF_BASE+6
0110 E047                    CF_STATUS  EQU CF_BASE+7 ; read status
0111 E047                    CF_COMAND  EQU CF_BASE+7 ; write comm
band
0112                         *
0113                         * Command Equates
0114                         *
0115 0020                    CMDREAD    EQU $20 ; Read Single sector
0116 0030                    CMDWRITE   EQU $30 ; Write Single sector
band
0112                         *
0113                         * Command Equates
0114                         *
0115 0020                    CMDREAD    EQU $20 ; Read Single sector
0116 0030                    CMDWRITE   EQU $30 ; Write Single sector
c0117 00EF                    CMDFEATURE EQU $EF
0118 0001                    FEAT8BIT   EQU $01 ; enable 8 bit transfers
0119 00E0                    HEADLBA    EQU $E0
0120                         *
0121                         * Status bit equates
01
c0117 00EF                    CMDFEATURE EQU $EF
0118 0001                    FEAT8BIT   EQU $01 ; enable 8 bit transfers
0119 00E0                    HEADLBA    EQU $E0
0120                         *
0121                         * Status bit equates
01
d22                         *
0123 0080                    BSY        EQU $80
0124 0040                    DRDY       EQU $40
0125 0008                    DRQ        EQU $08
0126 0001                    ERR        EQU $01
0127                         *
d22                         *
0123 0080                    BSY        EQU $80
0124 0040                    DRDY       EQU $40
0125 0008                    DRQ        EQU $08
0126 0001                    ERR        EQU $01
0127                         *
e 
0128                         * RESTORE DISK DRIVER (SEEK TRACK 00)
0129                         *  
0130 C06E 7F C0 0C           RESTR1 CLR  DRVNUM
0131 C071 4F                        CLRA           ; Track 0
0132 C072 C6 01                     LDB
e 
0128                         * RESTORE DISK DRIVER (SEEK TRACK 00)
0129                         *  
0130 C06E 7F C0 0C           RESTR1 CLR  DRVNUM
0131 C071 4F                        CLRA           ; Track 0
0132 C072 C6 01                     LDB
f#$01     ; Sector 1
0133                         *
0134                         * Seek track and sector
0135                         * A holds track number (0 - ??)
0136                         * B holds sector number (1 - ??)
0137
f#$01     ; Sector 1
0133                         *
0134                         * Seek track and sector
0135                         * A holds track number (0 - ??)
0136                         * B holds sector number (1 - ??)
0137
g    * Sector numbers starts from 1
0138                         * subtract 1 to start from sector 0 on CF
0139                         *
0140 C074 5A                 SEEKTS DECB
0141 C075 F7 E0 43                  STB  CF_SECNUM
0142 C078 B7 E0 44
g    * Sector numbers starts from 1
0138                         * subtract 1 to start from sector 0 on CF
0139                         *
0140 C074 5A                 SEEKTS DECB
0141 C075 F7 E0 43                  STB  CF_SECNUM
0142 C078 B7 E0 44
h             STA  CF_CYLLO
0143 C07B F6 C0 0C                  LDB  DRVNUM
0144 C07E F7 E0 45                  STB  CF_CYLHI
0145 C081 C6 01                     LDB  #$01
0146 C083 F7 E0 42                  STB  CF_SECCNT
0147 C086 5F
h             STA  CF_CYLLO
0143 C07B F6 C0 0C                  LDB  DRVNUM
0144 C07E F7 E0 45                  STB  CF_CYLHI
0145 C081 C6 01                     LDB  #$01
0146 C083 F7 E0 42                  STB  CF_SECCNT
0147 C086 5F
i       CLRB
0148 C087 39                 WARMD1 RTS
0149                         *
0150                         * READ SECTORS FROM CF
0151                         *
0152                         *
0153 C088 8D EA              READ   BSR  SEEKTS
0154 C08
i       CLRB
0148 C087 39                 WARMD1 RTS
0149                         *
0150                         * READ SECTORS FROM CF
0151                         *
0152                         *
0153 C088 8D EA              READ   BSR  SEEKTS
0154 C08
j!A 86 20                     LDA  #CMDREAD ; IDE READ MULTIPLE
0155 C08C B7 E0 47                  STA  CF_COMAND
0156 C08F 8D 18                     BSR  WAITRDY
0157                         *
0158                         * READ LOOP
0159
j!A 86 20                     LDA  #CMDREAD ; IDE READ MULTIPLE
0155 C08C B7 E0 47                  STA  CF_COMAND
0156 C08F 8D 18                     BSR  WAITRDY
0157                         *
0158                         * READ LOOP
0159
k"           *
0160 C091 5F                        CLRB
0161 C092 8D 24              RDLP1  BSR  WAITDRQ
0162 C094 B6 E0 40                  LDA  CF_DATA
0163 C097 A7 80                     STA  ,X+
0164 C099 5A                        DECB
0165 C09A 26 F
k"           *
0160 C091 5F                        CLRB
0161 C092 8D 24              RDLP1  BSR  WAITDRQ
0162 C094 B6 E0 40                  LDA  CF_DATA
0163 C097 A7 80                     STA  ,X+
0164 C099 5A                        DECB
0165 C09A 26 F
l#6                     BNE  RDLP1
0166                         *
0167 C09C 5F                        CLRB
0168 C09D 8D 19              RDLP2  BSR  WAITDRQ
0169 C09F B6 E0 40                  LDA  CF_DATA
0170 C0A2 5A                        DECB
0171 C0A
l#6                     BNE  RDLP1
0166                         *
0167 C09C 5F                        CLRB
0168 C09D 8D 19              RDLP2  BSR  WAITDRQ
0169 C09F B6 E0 40                  LDA  CF_DATA
0170 C0A2 5A                        DECB
0171 C0A
m$3 26 F8                     BNE  RDLP2
0172                         *
0173 C0A5 8D 02                     BSR  WAITRDY
0174 C0A7 5F                        CLRB
0175 C0A8 39                        RTS
0176                         *
0177
m$3 26 F8                     BNE  RDLP2
0172                         *
0173 C0A5 8D 02                     BSR  WAITRDY
0174 C0A7 5F                        CLRB
0175 C0A8 39                        RTS
0176                         *
0177
n%        * WAIT UNTIL READY
0178                         *
0179 C0A9 B6 E0 47           WAITRDY LDA  CF_STATUS
0180 C0AC 85 80                      BITA #BSY
0181 C0AE 26 F9                      BNE  WAITRDY
0182 C0B0 B6 E0 47                   LDA  CF_
n%        * WAIT UNTIL READY
0178                         *
0179 C0A9 B6 E0 47           WAITRDY LDA  CF_STATUS
0180 C0AC 85 80                      BITA #BSY
0181 C0AE 26 F9                      BNE  WAITRDY
0182 C0B0 B6 E0 47                   LDA  CF_
o&STATUS
0183 C0B3 85 40                      BITA #DRDY
0184 C0B5 27 F2                      BEQ  WAITRDY
0185 C0B7 39                         RTS
0186                         *
0187                         * WAIT FOR DATA REQUEST
0188
o&STATUS
0183 C0B3 85 40                      BITA #DRDY
0184 C0B5 27 F2                      BEQ  WAITRDY
0185 C0B7 39                         RTS
0186                         *
0187                         * WAIT FOR DATA REQUEST
0188
p'       *
0189 C0B8 B6 E0 47           WAITDRQ LDA  CF_STATUS
0190 C0BB 85 08                      BITA #DRQ
0191 C0BD 27 F9                      BEQ  WAITDRQ
0192 C0BF 39                         RTS
0193                         *
0194                  (               END
Program + Init Data = 192 bytes
Error count = 0
p'       *
0189 C0B8 B6 E0 47           WAITDRQ LDA  CF_STATUS
0190 C0BB 85 08                      BITA #DRQ
0191 C0BD 27 F9                      BEQ  WAITDRQ
0192 C0BF 39                         RTS
0193                         *
0194                  (               END
Program + Init Data = 192 bytes
Error count = 0
rS123C000200B000000000000C00000000010CEC0FFFCC005FDC300108EC4008D3581022745
S123C02010811626F68D2BB7C0088D26B7C00920EA8D1FB7C00A8D1AB7C00B8D151F895DC8
S123C04027D9BEC00A34148D093514A7805A26F520C9108CC400260F8EC300EC84270B8D93
S123C06027269D108EC304A6A0396E9FC0087FC00C4FC6015AF7E043B7E044F6C00CF7E0D0
S123C08045C601F7E0425F398DEA8620B7E0478D185F8D24B6E040A7805A26F65F8D19B601
S123C0A0E0405A26F88D025F39B6E047858026F9B6E047854027F239B6E047850827F93905
S9030000FC

7
rS123C000200B000000000000C00000000010CEC0FFFCC005FDC300108EC4008D3581022745
S123C02010811626F68D2BB7C0088D26B7C00920EA8D1FB7C00A8D1AB7C00B8D151F895DC8
S123C04027D9BEC00A34148D093514A7805A26F520C9108CC400260F8EC300EC84270B8D93
S123C06027269D108EC304A6A0396E9FC0087FC00C4FC6015AF7E043B7E044F6C00CF7E0D0
S123C08045C601F7E0425F398DEA8620B7E0478D185F8D24B6E040A7805A26F65F8D19B601
S123C0A0E0405A26F88D025F39B6E047858026F9B6E047854027F239B6E047850827F93905
S9030000FC

7
u*
*  FLEX SYSTEM DEFINED ENTRY POINTS AND EQUATES
*

LINBUF EQU    $C080  LINE BUFFER
CMDADR     EQU    $C100  UTILITY COMMAND SPACE (1.5 K)
CMDEND   EQU    $C700  UTILITY COMMAND SPACE END
SYSFCB       EQU    $C840  SYSTEM FCB ADDRESS
*
* GLOBAL VALUES SPECIFIED BY
u*
*  FLEX SYSTEM DEFINED ENTRY POINTS AND EQUATES
*

LINBUF EQU    $C080  LINE BUFFER
CMDADR     EQU    $C100  UTILITY COMMAND SPACE (1.5 K)
CMDEND   EQU    $C700  UTILITY COMMAND SPACE END
SYSFCB       EQU    $C840  SYSTEM FCB ADDRESS
*
* GLOBAL VALUES SPECIFIED BY
vTTYSET AND ASN
*
BSPCHR      EQU    $CC00  BACKSPACE CHARACTER
DELCHR     EQU    $CC01  DELETE CHARACTER
EOLCHR        EQU    $CC02  END OF LINE CHARACTER
DEPTH    EQU    $CC03  DEPTH COUNT
WIDTH      EQU    $CC04  WIDTH COUNT
NULLS      EQU    $CC05  NULL COUNT
TABCHR      EQU    $CC06  TAB
vTTYSET AND ASN
*
BSPCHR      EQU    $CC00  BACKSPACE CHARACTER
DELCHR     EQU    $CC01  DELETE CHARACTER
EOLCHR        EQU    $CC02  END OF LINE CHARACTER
DEPTH    EQU    $CC03  DEPTH COUNT
WIDTH      EQU    $CC04  WIDTH COUNT
NULLS      EQU    $CC05  NULL COUNT
TABCHR      EQU    $CC06  TAB
wCHARACTER
BSECHR     EQU    $CC07  BACKSPACE ECHO CHARACTER
PAUSE EQU    $CC09  PAUSE CONTROL BYTE
ESCCHR      EQU    $CC0A  ESCAPE CHARACTER
S_DRN EQU    $CC0B  SYSTEM DRIVE NUMBER
W_DRN      EQU    $CC0C  WORKING DRIVE NUMBER
*
*       FLEX SYSTEM GLOBAL VARIABLES
*
SYSFLG
wCHARACTER
BSECHR     EQU    $CC07  BACKSPACE ECHO CHARACTER
PAUSE EQU    $CC09  PAUSE CONTROL BYTE
ESCCHR      EQU    $CC0A  ESCAPE CHARACTER
S_DRN EQU    $CC0B  SYSTEM DRIVE NUMBER
W_DRN      EQU    $CC0C  WORKING DRIVE NUMBER
*
*       FLEX SYSTEM GLOBAL VARIABLES
*
SYSFLG
xEQU $CC0D  USE SYSTEM DRIVE FLAG
SYSDATE  EQU    $CC0E  DATE REGISTERS
LSTTRM  EQU    $CC11  LAST TERMINATOR CHARACTER
CBUFPT       EQU    $CC14  LINE BUFFER POINTER
ESCRET     EQU    $CC16  ESCAPE RETURN REGISTER
CURCHR  EQU    $CC18  CURRENT NXTCH CHARACTER
PREVCH 
xEQU $CC0D  USE SYSTEM DRIVE FLAG
SYSDATE  EQU    $CC0E  DATE REGISTERS
LSTTRM  EQU    $CC11  LAST TERMINATOR CHARACTER
CBUFPT       EQU    $CC14  LINE BUFFER POINTER
ESCRET     EQU    $CC16  ESCAPE RETURN REGISTER
CURCHR  EQU    $CC18  CURRENT NXTCH CHARACTER
PREVCH 
yEQU  $CC19  PREVIOUS NXTCH CHARACTER
CURLCT        EQU    $CC1A  CURRENT LINE COUNT
LOADAO      EQU    $CC1B  LOADER ADDRESS OFFSET DATA
XFRFLG      EQU    $CC1D  TRANSFER ADDRESS FLAG
XFRADR   EQU    $CC1E  TRANSFER ADDRESS OF LOADED FILE
OUTSWT EQU    $CC22  OUTPUT SWITCH
I
yEQU  $CC19  PREVIOUS NXTCH CHARACTER
CURLCT        EQU    $CC1A  CURRENT LINE COUNT
LOADAO      EQU    $CC1B  LOADER ADDRESS OFFSET DATA
XFRFLG      EQU    $CC1D  TRANSFER ADDRESS FLAG
XFRADR   EQU    $CC1E  TRANSFER ADDRESS OF LOADED FILE
OUTSWT EQU    $CC22  OUTPUT SWITCH
I
zNSWT EQU    $CC23  INPUT SWITCH
DOCMDF    EQU    $CC28  DOCMD ENTRY FLAG
CURCOL        EQU    $CC29  CURRENT OUTPUT COLUMN
MEMEND   EQU    $CC2B  END OF MEMORY ADDRESS
FMSBUSY  EQU    $CC30  FLEX ALREADY BUSY FLAG
CPUTYPE EQU    $CC33  CPU TYPE FLAG
RETADR   EQU    $CC43  D
zNSWT EQU    $CC23  INPUT SWITCH
DOCMDF    EQU    $CC28  DOCMD ENTRY FLAG
CURCOL        EQU    $CC29  CURRENT OUTPUT COLUMN
MEMEND   EQU    $CC2B  END OF MEMORY ADDRESS
FMSBUSY  EQU    $CC30  FLEX ALREADY BUSY FLAG
CPUTYPE EQU    $CC33  CPU TYPE FLAG
RETADR   EQU    $CC43  D
{OCMD RETURN ADDRESS
ULCFLAG  EQU    $CC49  UPPER/LOWER CASE MAP FLAG
PROMPT       EQU    $CC4E  POINTER TO PROMPT STRING
*
*   CPU TYPE FLAG BIT DEFINITIONS
*
CPU_2MHZ       EQU    %10000000      1 => 2 MHz CPU CLOCK RATE
CPU_SLOW     EQU    %01000000      1 => MEMORY STRETCH ACTIV
{OCMD RETURN ADDRESS
ULCFLAG  EQU    $CC49  UPPER/LOWER CASE MAP FLAG
PROMPT       EQU    $CC4E  POINTER TO PROMPT STRING
*
*   CPU TYPE FLAG BIT DEFINITIONS
*
CPU_2MHZ       EQU    %10000000      1 => 2 MHz CPU CLOCK RATE
CPU_SLOW     EQU    %01000000      1 => MEMORY STRETCH ACTIV
|E
CPU_50HZ   EQU    %00100000      1 => 50 Hz POWER LINE FREQUENCY
CPU_RAMF       EQU    %00010000      1 => CPU RAM IS AVAILABLE
CPU_RTCK     EQU    %00001000      1 => 6819 REAL TIME CLOCK AVAILABLE
CPU_IOBX   EQU    %00000100      1 => I/O SET UP LIKE OLD BOX
CPU_TIME  EQU    %0000001
|E
CPU_50HZ   EQU    %00100000      1 => 50 Hz POWER LINE FREQUENCY
CPU_RAMF       EQU    %00010000      1 => CPU RAM IS AVAILABLE
CPU_RTCK     EQU    %00001000      1 => 6819 REAL TIME CLOCK AVAILABLE
CPU_IOBX   EQU    %00000100      1 => I/O SET UP LIKE OLD BOX
CPU_TIME  EQU    %0000001
}      0        1 => 6840 TIMER AVAILABLE
CPU_XMEM     EQU    %00000001      1 => EXTENDED MEMORY IS USED
*
*       PRINTER DRIVER INTERFACE ADDRESSES
*
PT_RAP    EQU    $CC35  PRINTER RESERVED AREA POINTER
PT_LEN   EQU    $CC37  PRINTER RESERVED AREA LENGTH
PT_DEV    EQU    $CC39  PRINTER
}      0        1 => 6840 TIMER AVAILABLE
CPU_XMEM     EQU    %00000001      1 => EXTENDED MEMORY IS USED
*
*       PRINTER DRIVER INTERFACE ADDRESSES
*
PT_RAP    EQU    $CC35  PRINTER RESERVED AREA POINTER
PT_LEN   EQU    $CC37  PRINTER RESERVED AREA LENGTH
PT_DEV    EQU    $CC39  PRINTER
~
~
 DEVICE ADDRESS
PINIT   EQU    $CCC0  PRINTER INITIALIZE VECTOR
PTERM        EQU    $CCD0  PRINTER CLOSE VECTOR
PCHK      EQU    $CCD8  PRINTER READY CHECK VECTOR
POUT        EQU    $CCE4  PRINTER CHARACTER OUTPUT ROUTINE
PRCFLG        EQU    $CCFC  ACTIVE SPOOLING PROCESS FLAG
*
*       F
 DEVICE ADDRESS
PINIT   EQU    $CCC0  PRINTER INITIALIZE VECTOR
PTERM        EQU    $CCD0  PRINTER CLOSE VECTOR
PCHK      EQU    $CCD8  PRINTER READY CHECK VECTOR
POUT        EQU    $CCE4  PRINTER CHARACTER OUTPUT ROUTINE
PRCFLG        EQU    $CCFC  ACTIVE SPOOLING PROCESS FLAG
*
*       F
LEX SYSTEM DEFINED ENTRY VECTORS
*
COLDS     EQU    $CD00  FLEX COLD START ADDRESS
WARMS  EQU    $CD03  FLEX WARM START ADDRESS
RENTER EQU    $CD06  RE-ENTER FLEX PROCESSING
INCH  EQU    $CD09  INPUT CHARACTER (LOW LEVEL)
OUTCH      EQU    $CD0F  OUTPUT CHARACTER (LOW
LEX SYSTEM DEFINED ENTRY VECTORS
*
COLDS     EQU    $CD00  FLEX COLD START ADDRESS
WARMS  EQU    $CD03  FLEX WARM START ADDRESS
RENTER EQU    $CD06  RE-ENTER FLEX PROCESSING
INCH  EQU    $CD09  INPUT CHARACTER (LOW LEVEL)
OUTCH      EQU    $CD0F  OUTPUT CHARACTER (LOW
 LEVEL)
OUTCH2       EQU    $CD12  2NDARY CHAR OUTPUT
GETCHR      EQU    $CD15  INPUT CHARACTER ROUTINE
PUTCHR EQU    $CD18  OUTPUT CHARACTER ROUTINE
INBUFF        EQU    $CD1B  INPUT LINE BUFFER
PSTRNG       EQU    $CD1E  PRINT STRING
CLASS     EQU    $CD21  CLASSIFY CHARACTER
PCRLF       
 LEVEL)
OUTCH2       EQU    $CD12  2NDARY CHAR OUTPUT
GETCHR      EQU    $CD15  INPUT CHARACTER ROUTINE
PUTCHR EQU    $CD18  OUTPUT CHARACTER ROUTINE
INBUFF        EQU    $CD1B  INPUT LINE BUFFER
PSTRNG       EQU    $CD1E  PRINT STRING
CLASS     EQU    $CD21  CLASSIFY CHARACTER
PCRLF       

EQU  $CD24  PRINT CR/LF SEQUENCE
NXTCH     EQU    $CD27  GET NEXT CHARACTER FROM INPUT BUFFER
GETFIL    EQU    $CD2D  SCAN FILE SPEC ADDRESS
LOAD    EQU    $CD30  LOAD FILE ENTRY POINT
SETEXT   EQU    $CD33  SET UP FILE EXTENSION
OUTDEC   EQU    $CD39  OUTPUT DECIMAL NUM

EQU  $CD24  PRINT CR/LF SEQUENCE
NXTCH     EQU    $CD27  GET NEXT CHARACTER FROM INPUT BUFFER
GETFIL    EQU    $CD2D  SCAN FILE SPEC ADDRESS
LOAD    EQU    $CD30  LOAD FILE ENTRY POINT
SETEXT   EQU    $CD33  SET UP FILE EXTENSION
OUTDEC   EQU    $CD39  OUTPUT DECIMAL NUM
BER
OUTHEX   EQU    $CD3C  OUTPUT HEXADECIMAL NUMBER
RPTERR       EQU    $CD3F  I/O ERROR ABORT ROUTINE
GETHEX EQU    $CD42  GET HEXIDECIMAL SPECIFICATION
OUTADR   EQU    $CD45  OUTPUT HEXADECIMAL ADDRESS
INDEC       EQU    $CD48  GET DECIMAL NUMBER
DOCMD       EQU    $CD4B  DOCM
BER
OUTHEX   EQU    $CD3C  OUTPUT HEXADECIMAL NUMBER
RPTERR       EQU    $CD3F  I/O ERROR ABORT ROUTINE
GETHEX EQU    $CD42  GET HEXIDECIMAL SPECIFICATION
OUTADR   EQU    $CD45  OUTPUT HEXADECIMAL ADDRESS
INDEC       EQU    $CD48  GET DECIMAL NUMBER
DOCMD       EQU    $CD4B  DOCM
D ENTRY ADDRESS
STATUS       EQU    $CD4E  CHECK TERMINAL INPUT STATUS
*
*        LOW LEVEL TERMINAL AND INTERRUPT CONTROL ADDRESSES
*
INTAP     EQU    $D3DE  VECTOR FOR INPUT TAP ROUTINE
DUMMY     EQU    $D3E0  DUMMY RTS INSTRUCTION USED BY RM
SETIRQ        EQU    $D3E1  SET IRQ PR
D ENTRY ADDRESS
STATUS       EQU    $CD4E  CHECK TERMINAL INPUT STATUS
*
*        LOW LEVEL TERMINAL AND INTERRUPT CONTROL ADDRESSES
*
INTAP     EQU    $D3DE  VECTOR FOR INPUT TAP ROUTINE
DUMMY     EQU    $D3E0  DUMMY RTS INSTRUCTION USED BY RM
SETIRQ        EQU    $D3E1  SET IRQ PR
OCESS VECTOR
CLRIRQ  EQU    $D3E3  CLEAR IRQ PROCESS VECTOR
TINCH EQU    $D3E5  LOW-LEVEL TERM INPUT WITHOUT ECHO
T_OFF        EQU    $D3ED  TIMER OFF ROUTINE ADDRESS
T_ON EQU    $D3EF  TIMER ON ROUTINE ADDRESS
T_INIT        EQU    $D3F1  TIMER INITIALIZE ROUTINE ADDRESS
OCESS VECTOR
CLRIRQ  EQU    $D3E3  CLEAR IRQ PROCESS VECTOR
TINCH EQU    $D3E5  LOW-LEVEL TERM INPUT WITHOUT ECHO
T_OFF        EQU    $D3ED  TIMER OFF ROUTINE ADDRESS
T_ON EQU    $D3EF  TIMER ON ROUTINE ADDRESS
T_INIT        EQU    $D3F1  TIMER INITIALIZE ROUTINE ADDRESS
TINIT        EQU    $D3F5  LOW-LEVEL TERMINAL INITIALIZE
TCHECK   EQU    $D3F7  LOW-LEVEL TERMINAL CHECK ADDRESS
TOUTCH        EQU    $D3F9  LOW-LEVEL TERMINAL OUTPUT ADDRESS
TINCHE       EQU    $D3FB  LOW-LEVEL TERMINAL INPUT WITH ECHO
*
* FILE MANAGEMENT SYSTEM ENTRY POINTS
TINIT        EQU    $D3F5  LOW-LEVEL TERMINAL INITIALIZE
TCHECK   EQU    $D3F7  LOW-LEVEL TERMINAL CHECK ADDRESS
TOUTCH        EQU    $D3F9  LOW-LEVEL TERMINAL OUTPUT ADDRESS
TINCHE       EQU    $D3FB  LOW-LEVEL TERMINAL INPUT WITH ECHO
*
* FILE MANAGEMENT SYSTEM ENTRY POINTS
*
FMSCLS     EQU    $D403  CLOSE UP ALL FILES ENTRY
FMS   EQU    $D406  FILE MANAGER EXEC CALL
FCBASE  EQU    $D409  FILE CONTROL BLOCK BASE
VERIFY EQU    $D435  FMS VERIFY FLAG
SURTAB EQU    $D436  FMS SURNAME TABLE

FCB EQU    $C840  SYSTEM FILE CONTROL BLOCK
FCB
*
FMSCLS     EQU    $D403  CLOSE UP ALL FILES ENTRY
FMS   EQU    $D406  FILE MANAGER EXEC CALL
FCBASE  EQU    $D409  FILE CONTROL BLOCK BASE
VERIFY EQU    $D435  FMS VERIFY FLAG
SURTAB EQU    $D436  FMS SURNAME TABLE

FCB EQU    $C840  SYSTEM FILE CONTROL BLOCK
FCB
LEN  EQU    256+64 FILE CONTROL BLOCK LENGTH
*
*  DISK DRIVER ENTRY POINTS
*
DREAD       EQU    $DE00  READ SECTOR ROUTINE
DWRITE     EQU    $DE03  WRITE SECTOR ROUTINE
DVERFY    EQU    $DE06  VERIFY ROUTINE
DREST   EQU    $DE09  DRIVE RESTORE ROUTINE
DRIVE    EQU    $DE0C  DRIVE SELECT ROUTINE
DCHECK        EQU    $DE0F  CHECK DRIVE READY
DQUICK       EQU    $DE12  QUICK CHECK DRIVE READY
DSEEK  EQU    $DE1B  DRIVE SEEK-TO-SECTOR ROUTINE
LEN  EQU    256+64 FILE CONTROL BLOCK LENGTH
*
*  DISK DRIVER ENTRY POINTS
*
DREAD       EQU    $DE00  READ SECTOR ROUTINE
DWRITE     EQU    $DE03  WRITE SECTOR ROUTINE
DVERFY    EQU    $DE06  VERIFY ROUTINE
DREST   EQU    $DE09  DRIVE RESTORE ROUTINE
DRIVE    EQU    $DE0C  DRIVE SELECT ROUTINE
DCHECK        EQU    $DE0F  CHECK DRIVE READY
DQUICK       EQU    $DE12  QUICK CHECK DRIVE READY
DSEEK  EQU    $DE1B  DRIVE SEEK-TO-SECTOR ROUTINE
SǝJ4^J0O\\'\4^^^J0O\
SǝJ4^J0O\\'\4^^^J0O\
XLVXXX0Z04
XLVXXX0Z04
V?44N04b2b4
V?44N04b2b4
V?VV&TJX4T. 44TT2bL,-4 4
V?VV&TJX4T. 44TT2bL,-4 4
XTT-T0Z0O4TTJ4\L0O^^'*\JN0^\\\L0O^\JN0
XTT-T0Z0O4TTJ4\L0O^^'*\JN0^\\\L0O^\JN0
J4044~J4044iJ4044TlJ404
J4044~J4044iJ4044TlJ404
4?WJ4044*BJ4044-J4044LexL4
4N40f4L44 4~J40404
4b>
4IJ4V>>'<
4#0
4?WJ4044*BJ4044-J4044LexL4
4N40f4L44 4~J40404
4b>
4IJ4V>>'<
4#0


4.&0
4.&0
4        0
4        0
40
40
4>4N40^4J4^44L4b44Z4';
40
4>4N40^4J4^44L4b44Z4';
40
40\4\yc4\Yc4' 
40\4\yc4\Yc4' 
&80^4"L4J44fL0
&80^4"L4J44fL0
^L0."L40
^L0."L40
F444L4J44$*
40
F444L4J44$*
40
!4>,
!4>,
B40zBBz'i0|40^4^'   0      4'08@0:40       440@0z40BB,
B40zBBz'i0|40^4^'   0      4'08@0:40       440@0z40BB,
B4&l00O+'<,
B4&l00O+'<,
B40BB,
B40BB,
B40BB,
B40BB,
B40BB2b\0$-0*&00O+&ZZ@.Z00O\
B40BB2b\0$-0*&00O+&ZZ@.Z00O\
\a`4\zf4'"\4a4b2b4A4b2b4\\L&0$0F$ -0*r\C&0$0 $-0*L\N&0$0$-0*&\T&0$0ԝ$-0*\S&0$0$-0
\a`4\zf4'"\4a4b2b4A4b2b4\\L&0$0F$ -0*r\C&0$0 $-0*L\N&0$0$-0*&\T&0$0ԝ$-0*\S&0$0$-0
*\E&0$0$-0ĩ*\P&0$0b$-0*\Y&
*\E&0$0$-0ĩ*\P&0$0b$-0*\Y&
z\Q&
z\Q&
f\B&
f\B&
R\U&
R\U&
>\A&
>\A&
*\ c4\c4'04\4eZZq
*\ c4\c4'04\4eZZq
      0$'40z4O0@Z4'0404040440440840
      0$'40z4O0@Z4'0404040440440840
B4䝜@02b0
B4䝜@02b0
B4l䝜@042b040$*0402b
B4l䝜@042b040$*0402b
2b0
2b0
B4䝜@02b0
B4䝜@02b0
B4䝜@040|4B@2b2b0
B4䝜@040|4B@2b2b0
B4䝜@&0B 0    02b0
B4䝜@&0B 0    02b0
B00Ⱥ4J480Ⱥ4040^40\4\'J4^4\4`0
B00Ⱥ4J480Ⱥ4040^40\4\'J4^4\4`0


B0$' *4@0
B0$' *4@0
B0>
'>>' 0     4jzz~~0|0O'~~~/s~0|0O.Z4~0|0OpZ4'/040.44040
B0>
'>>' 0     4jzz~~0|0O'~~~/s~0|0O.Z4~0|0OpZ4'/040.44040
|440404
|440404
~4t'8040|4~4S0404~~45^||00O'||0404~40404~|404(0Ȁ40o44|0Ȁ40|440
~4t'8040|4~4S0404~~45^||00O'||0404~40404~|404(0Ȁ40o44|0Ȁ40|440

Ȁ40O4~40Ȁ4(zz'     0%4E5>'t404444044404!>'     04>'  04>@'      04>'  04>4'Z44'

Ȁ40O4~40Ȁ4(zz'     0%4E5>'t404444044404!>'     04>'  04>@'      04>'  04>4'Z44'
>'40|444o40444T404449&0M4P   0H4D4
4>4'Z4'&04&04&
4      Overflow
>'40|444o40444T404449&0M4P   0H4D4
4>4'Z4'&04&04&
4      Overflow
Pointer errorRange error  Variant errorHeap limit   Stack limit  Ab
orted      : line Try again 
   PASCAL,  pascal  source[ assembly-file][ +options] 
Delete old binary (Y/N)? /bin/pascal.passes/ Pascal Compiler 02/15/81 Source file unknown 
MEILLEGAL OPTION:  sysprefxprefixCompilation errors
asmb .a +slo= >/dev/null >/dev/nullkill .aFile name doesn't end in ".p"!temp1temp2npass1npass2npass3npass4npass5np6809np68000TEMP1TEMPP2
Pointer errorRange error  Variant errorHeap limit   Stack limit  Ab
orted      : line Try again 
   PASCAL,  pascal  source[ assembly-file][ +options] 
Delete old binary (Y/N)? /bin/pascal.passes/ Pascal Compiler 02/15/81 Source file unknown 
MEILLEGAL OPTION:  sysprefxprefixCompilation errors
asmb .a +slo= >/dev/null >/dev/nullkill .aFile name doesn't end in ".p"!temp1temp2npass1npass2npass3npass4npass5np6809np68000TEMP1TEMPP2
&"Wp'   404,
&"Wp'   404,
B0
B0
,
,
B4䝜@02b,
B4䝜@02b,
B4䝜@0J2b,
B4䝜@0J2b,
B4䝜@000!턮000"턮000#
B4䝜@000!턮000"턮000#
턮000$턮000%턮000&턮000'턮000(턮000)턮000*턮000+턮0     00,턮0
턮000$턮000%턮000&턮000'턮000(턮000)턮000*턮000+턮0     00,턮0
00-턮000.턮000/턮0
000턮0001턮0002턮0
00-턮000.턮000/턮0
000턮0001턮0002턮0
003턮00042b
003턮00042b
 L4JB%J00J00LJ004J00J004J00.JXVVVV0Z04
 L4JB%J00J00LJ004J00J004J00.JXVVVV0Z04
X?44N04b2b4
X?44N04b2b4
X?XX&VT
X?XX&VT
T-T0Z0O4TTVTT. 4TT:4=
4@&C4J4G&J,-4      4J4
T-T0Z0O4TTVTT. 4TT:4=
4@&C4J4G&J,-4      4J4
O2,000JX^^.^0004M^^b4J4r'J4\h4J4r'J44Pjo4J4
O2,000JX^^.^0004M^^b4J4r'J4\h4J4r'J44Pjo4J4
r'J4
r'J4
u4L44J4r'L4J4}4N44L44J4r'N4\L4J4z
u4L44J4r'L4J4}4N44L44J4r'N4\L4J4z


4J4^;4J4R^J?4^.^L004^^2b
4J4^;4J4R^J?4^.^L004^^2b
^^J0O\\' \4^^^J0O\
^^J0O\\' \4^^^J0O\
00 4L4`0}4J4P 44X4H0N4_R0R4SF0U4G:0X4;.0[4/"0j4#J4
00 4L4`0}4J4P 44X4H0N4_R0R4SF0U4G:0X4;.0[4/"0j4#J4
EJ40d
EJ40d
䝍
䝍
^V/y^'p0
^V/y^'p0
\Z\&^VZ3\Z40d
\Z\&^VZ3\Z40d
ᝍ
ᝍ
^4^\0
^4^\0
\ZZZV/\Z^4^^'
\ZZZV/\Z^4^^'
0
0
석Z^^LE
석Z^^LE
&J4
&J4
RR4
RR4
      0R0d
      0R0d
4B
4B
0
0
V/0\40
V/0\40
\턮\40d
\턮\40d
4B
4B
^^V.<0Z4\0
^^V.<0Z4\0
Z턮Z^40d
Z턮Z^40d
4B
4B
Z\^^\0
Z\^^\0
lV0P2b2~
lV0P2b2~
47':
47':
40-V0
40-V0
P04NV2b2b80d
P04NV2b2b80d
4
4
ᝊ
ᝊ
'
'
04
04
04
04
JRV0d
JRV0d
4     0ĮL4B
4     0ĮL4B
L0O40004-
L0O40004-

L4J4TT       .jTL0ORRA`4RZf4'

L4J4TT       .jTL0ORRA`4RZf4'
-T0V04R4A4b2b4a4b2b4
-T0V04R4A4b2b4a4b2b4
T0V0RTT0V4J4      ĝ044M044?0441044#0
T0V0RTT0V4J4      ĝ044M044?0441044#0
440440440440440440440
440440440440440440440
440440
440440
44044044{044m044_044Q044C0445044'0440440440440440|44044
44044044{044m044_044Q044C0445044'0440440440440440|44044

044044044044044044q044c044U044G04490~44+0z440v@440r440n440j440f440b4

044044044044044044q044c044U044G04490~44+0z440v@440r440n440j440f440b4
40^440Z440V440R440N440J44u0F4 4g0B4
40^440Z440V440R440N440J44u0F4 4g0B4
4Y0>
44K0:44=064
4/0244!0.440*440&440"440440
4Y0>
44K0:44=064
4/0244!0.440*440&440"440440
440440440440
440440440440
440
44044y044k044]044O044A04 4304!404"404#404$404%404&4
440
44044y044k044]044O044A04 4304!404"404#404$404%404&4
04'4}04(4o04)4a04*4S04+4E04,4704-4)04.404/4
04040414042404340444r'PXX=4
04'4}04(4o04)4a04*4S04+4E04,4704-4)04.404/4
04040414042404340444r'PXX=4
X4nZ9,Z44Z0Z\9,\44\Y0\^9,^44^00^`9,`44`0`p'1`4^4\4Z4 4 &  
X4nZ9,Z44Z0Z\9,\44\Y0\^9,^44^00^`9,`44`0`p'1`4^4\4Z4 4 &  
4$f$ddf4p04$'rqĬr;44^?4^.4U^^2b4K08'4K00'
4$f$ddf4p04$'rqĬr;44^?4^.4U^^2b4K08'4K00'
4K0'040!0!<0؝'
4K0'040!0!<0؝'
jhnlX0`0^0\0Z0$0-1-2-3-4-5-6-7-8-9-0*0$A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y
jhnlX0`0^0\0Z0$0-1-2-3-4-5-6-7-8-9-0*0$A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y
-Z-_-`a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-0ĝ*0ĝ$0$0*0$0$A-B-C-D-E-F-a$-b-c-d-e-f-0*0
-Z-_-`a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-0ĝ*0ĝ$0$0*0$0$A-B-C-D-E-F-a$-b-c-d-e-f-0*0
G$0*\\.$0$0($\4-0*\\0$0$0*0$'-
--(-0t*0$40ZB
G$0*\\.$0$0($\4-0*\\0$0$0*0$'-
--(-0t*0$40ZB
\\.\000\\
o4R.(Ҏ
\\.\000\\
o4R.(Ҏ
9440
9440
4b2b4b2b0$ԝ'.&)&
4b2b4b2b0$ԝ'.&)&
l.&
l.&
n        4K0X'0$ԝ'4qS0X!0؝!x'.0X!0!6404b2b4K00X'؃0$ԝ'EZ4
n        4K0X'0$ԝ'4qS0X!0؝!x'.0X!0!6404b2b4K00X'؃0$ԝ'EZ4
eZ4'&4K0X' p+&     }-&c}0$ԝ'4O.(֎
eZ4'&4K0X' p+&     }-&c}0$ԝ'4O.(֎
9404b2b44b2b      #0$ԝ''#&-أ
9404b2b44b2b      #0$ԝ''#&-أ
4 &6'4J'CS44b]'408404l00!0P',4N&/4i.0P!0!60P'0X!08!l'08!0
4 &6'4J'CS44b]'408404l00!0P',4N&/4i.0P!0!60P'0X!08!l'08!0
'Q'0X!0P!<0'80P!0!0X!
'Q'0X!0P!<0'80P!0!0X!
,m\\9.404b2bZ8F.4A4b2b
,m\\9.404b2bZ8F.4A4b2b
Z4a4b2b
Z4a4b2b
Z^9Z^Xo0$ԝ'X^0$ԝ'40$ԝ'      -G4^44RYTP&4
Z^9Z^Xo0$ԝ'X^0$ԝ'40$ԝ'      -G4^44RYTP&4
2#TTT00DdTZ0t$ԝ'0'&     ZR4ZBR:&Rl '^0$ԝ'F^.#^
2#TTT00DdTZ0t$ԝ'0'&     ZR4ZBR:&Rl '^0$ԝ'F^.#^
94404b2b4b2b^0
94404b2b4b2b^0
$ԝ'4% & :&     4)&     4^/4?4^T004^4Aԝ
(6420.,*(&$"
$ԝ'4% & :&     4)&     4^/4?4^T004^4Aԝ
(6420.,*(&$"
Z'oT.#4I
Z'oT.#4I
T00?T0044T&400O404T4V        XX     &9XV4VV0d
T00?T0044T&400O404T4V        XX     &9XV4VV0d
40Z4B
40Z4B
X4XV0d
X4XV0d
X0+0
X0+0
$ԝ'}0d
$ԝ'}0d
0O40004WV&4P4CV4gTĩV1&..&#4H
&j^ c4-c44
c4'^h)Ch[b֝$
0O40004WV&4P4CV4gTĩV1&..&#4H
&j^ c4-c44
c4'^h)Ch[b֝$
'
'
jgh'V4,
jgh'V4,
B4hfpX0`0^0\0Z
j"Z4
Z4'
&"Z4Z4'&4s+Ej"
B4hfpX0`0^0\0Z
j"Z4
Z4'
&"Z4Z4'&4s+Ej"
 <}Z4
Z4'
&,}Z4Z4'&4n',4N^n9.&^,4)&/44Ke=&44^04
 <}Z4
Z4'
&,}Z4Z4'&4n',4N^n9.&^,4)&/44Ke=&44^04
!g9=&4>&4z!4*4d^=& 4C"4f4dĜd'4~u.&4*&~b*&<V)
!g9=&4>&4z!4*4d^=& 4C"4f4dĜd'4~u.&4*&~b*&<V)
"&b!;
&KZ4b4'&4! (
4
l'/4?l+4-^.4*44^4^4^Uo0$ԝ4^4'
"&b!;
&KZ4b4'&4! (
4
l'/4?l+4-^.4*44^4^4^Uo0$ԝ4^4'
#4,
4^b4 W4L^4</4v14k& 44     ԝ~lOR    !
#4,
4^b4 W4L^4</4v14k& 44     ԝ~lOR    !
$!\jb)~|zxvtrpnlj(
$!\jb)~|zxvtrpnlj(
f \ZXVTRPNLJHFDB@><:86420.,*j'L4`~E04"t\04
f \ZXVTRPNLJHFDB@><:86420.,*j'L4`~E04"t\04
4Н       ****** Pass  Line Endl
4Н       ****** Pass  Line Endl
%ess commentInvalid numberTable overflowInvalid stringIllegal Hexadecimal numberBad character: END      IF       THEN    #8 BEGIN    ELSE     DO       WITH     IN       OF       WHILE    CASE     REPEAT   UNTIL    PROCEDUREVAR
%ess commentInvalid numberTable overflowInvalid stringIllegal Hexadecimal numberBad character: END      IF       THEN    #8 BEGIN    ELSE     DO       WITH     IN       OF       WHILE    CASE     REPEAT   UNTIL    PROCEDUREVAR
& FOR      ARRAY    RECORD   SET      TO       DOWNTO   MOD      OR  #     AND      NOT      DIV      CONST    TYPE     FUNCTION FORWARD  UNIV     PROGRAM  FILE     READ     WRITE    READLN   WRITELN  GET      PUT      RESET
& FOR      ARRAY    RECORD   SET      TO       DOWNTO   MOD      OR  #     AND      NOT      DIV      CONST    TYPE     FUNCTION FORWARD  UNIV     PROGRAM  FILE     READ     WRITE    READLN   WRITELN  GET      PUT      RESET
'   REWRITE  PACKED   $MESSAGE  seek     FALSE    TRUE     INTEGER  BOOLEAN  CHAR     NIL      NEW      ABS      SQR      CHR      CONV     ORD      PRED     SUCC     TRUNC    REAL     ODD      EOF   %   EOLN     ROUND
'   REWRITE  PACKED   $MESSAGE  seek     FALSE    TRUE     INTEGER  BOOLEAN  CHAR     NIL      NEW      ABS      SQR      CHR      CONV     ORD      PRED     SUCC     TRUNC    REAL     ODD      EOF   %   EOLN     ROUND
(SIN      COS      ARCTAN   EXP      LN       SQRT     RND      BUFFER   UNBUFFER INPUT    OUTPUT   PAGE     __GET    __PUT    __RLN    __WLN    __RWF    __&HEIO    __RWFS   __RDI    __RDC    __RDR    __WRI    __WRC    __WRR   ) __WRS    _FRESET  _FREWRITE_SRESET  _SREWRITE__SETMSG __seek
(SIN      COS      ARCTAN   EXP      LN       SQRT     RND      BUFFER   UNBUFFER INPUT    OUTPUT   PAGE     __GET    __PUT    __RLN    __WLN    __RWF    __&HEIO    __RWFS   __RDI    __RDC    __RDR    __WRI    __WRC    __WRR   ) __WRS    _FRESET  _FREWRITE_SRESET  _SREWRITE__SETMSG __seek
4z2X,
4z2X,
B0
B0
:,
:,
B4䝜@0:2b,
B4䝜@0:2b,
B4䝜@0J2bJXVVVV0Z04
B4䝜@0J2bJXVVVV0Z04
X?44N04b2b4
X?44N04b2b4
X?XX&VTT-T0Z0O4T
X?XX&VTT-T0Z0O4T
TVTT. 4TT
4<^^.24^^<&C4J4<<<&aJ,-4    4J4<
TVTT. 4TT
4<^^.24^^<&C4J4<<<&aJ,-4    4J4<
<4J46'J4%'!4`44044LJ46'J4
<4J46'J4%'!4`44044LJ46'J4
1'!4`44044L44J46'L4J4?'!4`4
1'!4`44044L44J46'L4J4?'!4`4
4044N44L44J46'N4FL4uJ4nN4N4L4pJ4T40<40ޝ$<'l40^4a4^4\^?4\.40Z4Z4\
4044N44L44J46'N4FL4uJ4nN4N4L4pJ4T40<40ޝ$<'l40^4a4^4\^?4\.40Z4Z4\
\2b$4004<;=TT'[0>$<'
40:480>4>4$6$22b6'0.$;-=-0ޝ*0-$.-0.*0č-$
-0Ν*0-؝$+-0*0-ȝ$-0*0-$1
\2b$4004<;=TT'[0>$<'
40:480>4>4$6$22b6'0.$;-=-0ޝ*0-$.-0.*0č-$
-0Ν*0-؝$+-0*0-ȝ$-0*0-$1
-0*0-$*-0*0-$-0~*0-$-0n*0-v$$-%-0^*0-`$'-(-0N*0^$0-D$&-0N$0>*0-)$\-*--0.*0-$-*-0-0*0,$--   --
-0*0-$*-0*0-$-0~*0-$-0n*0-v$$-%-0^*0-`$'-(-0N*0^$0-D$&-0N$0>*0-)$\-*--0.*0-$-*-0-0*0,$--   --
-0*0.$0$0*0,
-0*0.$0$0*0,
$
----->-0$0*0.$0$0ޝ*0$0.$0*0 č,`$,-0$0Ν*0$0,A$.-/---0*0$0,$--0*0$0$0*0>$0~$0*0$0$0~*0+Н$-.-0
$
----->-0$0*0.$0$0ޝ*0$0.$0*0 č,`$,-0$0Ν*0$0,A$.-/---0*0$0,$--0*0$0$0*0>$0~$0*0$0$0~*0+Н$-.-0
n*0+$-
-0~$0^*0č+$---
n*0+$-
-0~$0^*0č+$---
-0>*0^$0n$0N*0^$0+b$0-0>*0~$0n$0.*0^$0$0*0$0+!$3-&-0*0+  $--------?-@-A-
-0>*0^$0n$0N*0^$0+b$0-0>*0~$0n$0.*0^$0$0*0$0+!$3-&-0*0+  $--------?-@-A-
      B-C-D-E-F-<-H-0*0*$?-A-0>*0$0$0ޝ*0$0$0*0*g$4-
-0*0*Q$5-6-0$0~*0~$0*-$5-0n*0$0lĩ$0*$0-.-*-0^*0^$0)$--1-0N
      B-C-D-E-F-<-H-0*0*$?-A-0>*0$0$0ޝ*0$0$0*0*g$4-
-0*0*Q$5-6-0$0~*0~$0*-$5-0n*0$0lĩ$0*$0-.-*-0^*0^$0)$--1-0N
*0$0.$0>*0>$0)$0-0N*0$0)$7-0.*0)$--0*0$0)o$
---0*0   0$0$0*0$0.$0*0$0$0*0$0)$0-0*0$0($8-0*0$0
*0$0.$0>*0>$0)$0-0N*0$0)$7-0.*0)$--0*0$0)o$
---0*0   0$0$0*0$0.$0*0$0$0*0$0)$0-0*0$0($8-0*0$0
$0(ם$4-9-:-7-0ޝ*0ޝ$0($4-0Ν*0($--    - -!-"-#-0*0(m$---0*0(R$-----0*0$0$0*0$0$0~*0$0'$/-0n*0'$
$0(ם$4-9-:-7-0ޝ*0ޝ$0($4-0Ν*0($--    - -!-"-#-0*0(m$---0*0(R$-----0*0$0$0*0$0$0~*0$0'$/-0n*0'$
---0^*0$0'
---0^*0$0'
ĝ$/-0N*0.$0.$0*0.$0$0ޝ*0'$)-0*0'$-*-0*0'i$-
-0~*0'S$--0n*0'=$*--0^*0$0n$0*0$0'
$0|---*-0*0
ĝ$/-0N*0.$0.$0*0.$0$0ޝ*0'$)-0*0'$-*-0*0'i$-
-0~*0'S$--0n*0'=$*--0^*0$0n$0*0$0'
$0|---*-0*0

$0$0*0n$0&ם$
-+-0Ν*0$0&$2-0*^^J0O\\' \4^^^J0O\

$0$0*0n$0&ם$
-+-0Ν*0$0&$2-0*^^J0O\\' \4^^^J0O\
0&_4L4>@0&\4J4. 44040&/4a0&64
0&_4L4>@0&\4J4. 44040&/4a0&64
U0&64I0&>4=0&B410&;4%0&@40&B4
0&?40&>40&>40&<4
0&=4|0&>4p0&G4d0&C4X0&A4L0&>4@0&A440&?4}(0&84q0&;4e0&9
U0&64I0&>4=0&B410&;4%0&@40&B4
0&?40&>40&>40&<4
0&=4|0&>4p0&G4d0&C4X0&A4L0&>4@0&A440&?4}(0&84q0&;4e0&9
4Y0&:4M0&74A0&>450&?4)0&B40&F
40&K40&M40&L40&I40&F40&A4t0&?4h0&=4\J)
4Y0&:4M0&74A0&>450&?4)0&B40&F
40&K40&M40&L40&I40&F40&A4t0&?4h0&=4\J)
|hr4Į>4$0#$-*2b0%4-L40J$<'R0J$<'40J$W888
|hr4Į>4$0#$-*2b0%4-L40J$<'R0J$<'40J$W888
a40$0$O2'40$<Pă&
40$I<
a40$0$O2'40$<Pă&
40$I<
'
40$64m0J$0^$0N$0$0P*4%40P$0^$<'*<$&
'
40$64m0J$0^$0N$0$0P*4%40P$0^$<'*<$&
0P$0P$}%40P$0J$0$  0J$dz0J$0N$0P*4&40P$0N$<'*<'&
0P$0P$}%40P$0J$0$  0J$dz0J$0N$0P*4&40P$0N$<'*<'&
0P$0P$&4
0P$0P$&4
0P$o<)&40J$0~$0$
0J$0Ν$0$44
0P$o<)&40J$0~$0$
0J$0Ν$0$44
0J$0$4;<*&w40J$0J$0~$	0J$
0J$0>$0P*40J$0N$0*40P$0^$<
0J$0$4;<*&w40J$0J$0~$	0J$
0J$0>$0P*40J$0N$0*40P$0^$<
'*<$&
'*<$&
0P$O0P$40P$R<&&0$40$00N$<'0J$  0J$0$0P*40J$0$0*m0P$44      I<&O40P$0P$4<*&$40P$i40P$
0P$O0P$40P$R<&&0$40$00N$<'0J$  0J$0$0P*40J$0$0*m0P$44      I<&O40P$0P$4<*&$40P$i40P$
0$<`'0J$0ޝ$0P*40J$0ޝ$0*0P$44<&40P$0P$?4E<*&40P$40P$0$<'<G&@4$0J$0$0$<'F0J$
0$<`'0J$0ޝ$0P*40J$0ޝ$0*0P$44<&40P$0P$?4E<*&40P$40P$0$<'<G&@4$0J$0$0$<'F0J$
0J$ 0J$0J$=0J$F0J$0J${v<>b`VTRPNLJHFDB@><:86420.,*(&$" 
0J$ 0J$0J$=0J$F0J$0J${v<>b`VTRPNLJHFDB@><:86420.,*(&$" 
x40J$44H4,0J$0$
x40J$44H4,0J$0$
440^4v<+&40J$H4<&U:^40J$0Ν$7<,&!W4^40J$4J4^4B0J$0Ν$<,&e40J$0$0J$40<-&
440^4v<+&40J$H4<&U:^40J$0Ν$7<,&!W4^40J$4J4^4B0J$0Ν$<,&e40J$0$0J$40<-&
#40J$0$`0J$4p<-&'40J$0$0J$li4r0J$0$0P*<4&	40P$0P$	40P$0$<'<.&;   40P$
#40J$0$`0J$4p<-&'40J$0$0J$li4r0J$0$0P*<4&	40P$0P$	40P$0$<'<.&;   40P$
4'</&    40J$0$L<-&     40J$0$(0J$v.4k%4K0J$0$&42<1&n
4'</&    40J$0$L<-&     40J$0$(0J$v.4k%4K0J$0$&42<1&n
40J$.0J$0$0P*4
40J$.0J$0$0P*4


40P$<'0P$4
40P$<'0P$4
404u<0&
404u<0&
40P$G0P$44
40P$G0P$44
40P$O0$<'<*&
40P$O0$<'<*&
40P$'U<&0J$C0J$0$0P*40J$0$0*M0P$c4
40P$'U<&0J$C0J$0$0P*40J$0$0*M0P$c4


4)<0&/
4)<0&/
40P$t0P$d4
40P$t0P$d4
4f4<-&
4f4<-&
40$>0$R
40$>0$R
40$K0$<' <*&
40$K0$<' <*&
40$'e4CV4/0J$0Ν$g4
40$'e4CV4/0J$0Ν$g4
4_<
&R
4_<
&R
4
4
0J$0n$0$0J$0$4<Dă+&
0J$0n$0$0J$0$4<Dă+&
40J$Va0N$0N$0P*40P$,L4J40P$A0>$<'<.&J40P$'Lg&
40J$Va0N$0N$0P*40P$,L4J40P$A0>$<'<.&J40P$'Lg&
41<0&mJ40N$
41<0&mJ40N$
pP0J$4$4,{0J$0$0*40$440^4m<0&
40$>0$4^4<*&
40$
40$(0$<'Ċ0$0n$0P*
pP0J$4$4,{0J$0$0*40$440^4m<0&
40$>0$4^4<*&
40$
40$(0$<'Ċ0$0n$0P*
40P$N4L4O
40P$N4L4O


L40P$0n$<'<.&3L40P$y'<&L4:4J40N$7L440J$0N$0P*40P$S0P$<'(<*&
40P$
40P$0N$
L40P$0n$<'<.&3L40P$y'<&L4:4J40N$7L440J$0N$0P*40P$S0P$<'(<*&
40P$
40P$0N$
<'0J$0$540J$0$<2&40J$T0J$0$440J$0$2  4<*&40J$
<'0J$0$540J$0$<2&40J$T0J$0$440J$0$2  4<*&40J$
0J$0$540J$0$<2&4,r
0J$0$540J$0$<2&4,r
0J$0J$0$0Ν$0Pĝ*B40P$4440P$<*'K0J$0$b<0&40J$0$:0J$0$44
4}<*&40J$0J$0$0$0*440J$
0J$0J$0$0Ν$0Pĝ*B40P$4440P$<*'K0J$0$b<0&40J$0$:0J$0$44
4}<*&40J$0J$0$0$0*440J$
 0Ν$<
&dX40$<&&E#^"^0$440Z4<0&
40$Y40$t<3&!\4')4 \0$\44^4Z440$!0$<' <*&
4
 0Ν$<
&dX40$<&&E#^"^0$440Z4<0&
40$Y40$t<3&!\4')4 \0$\44^4Z440$!0$<' <*&
4
!0$XX'
<+&_40J$$4<&/40J$0ޝ$l0J$0$&%4<1d&40J$:
!0$XX'
<+&_40J$$4<&/40J$0ޝ$l0J$0$&%4<1d&40J$:
0J$0$0*^40$H40$)0$<' <*&
4
0J$0$0*^40$H40$)0$<' <*&
4
"0$^^'40J$0$0$<'x0J$0J (ĝ$=0J$0J$0J$X0J$y0J$0J$S0J$a0J$0J$        40J$
"0$^^'40J$0$0$<'x0J$0J (ĝ$=0J$0J$0J$X0J$y0J$0J$S0J$a0J$0J$        40J$
R<H~|zxvtrpnljhfdb
R<H~|zxvtrpnljhfdb
#`^\ZXVTRPNLJHFDB @><:86420.,*(&$" 
#`^\ZXVTRPNLJHFDB @><:86420.,*(&$" 


/<<&/B<S4,
/<<&/B<S4,
B0004)4<<
&"0J$0$0P*0P$
B0004)4<<
&"0J$0$0P*0P$
0>$!'j4V
0>$!'j4V
$k4K(40$0$<'<0&k0P$   +4
$k4K(40$0$<'<0&k0P$   +4
.![444+40$<'<.&(40P$E"t)4ߗ'<+&(40J$,Ac4B
.![444+40$<'<.&(40P$E"t)4ߗ'<+&(40J$,Ac4B
%c4'(40J$A&-S4,
%c4'(40J$A&-S4,
B0004f)45B&*S4,
B0004f)45B&*S4,
B0004.#8)4S4,
B0004.#8)4S4,
B0004)4ޮe<C&^^S4,
B0004)4ޮe<C&^^S4,
B0^004޸߰
B0^004޸߰
&l4_0J$T)4Pm4HpS4,
&l4_0J$T)4Pm4HpS4,
B0004h#`l40J$)4m4}<^.0J$0$0*<
&IS4,
B0004h#`l40J$)4m4}<^.0J$0$0*<
&IS4,
B0004l4ݝ*4ݕ0$+4݅)4}m4u<.
B0004l4ݝ*4ݕ0$+4݅)4}m4u<.
'&ޱ^E&\$
\S4,
'&ޱ^E&\$
\S4,
B0\004~*4(n4 +40$+4)4<+&<
40$\<+&F^E&\\S4,
B0\004~*4(n4 +40$+4)4<+&<
40$\<+&F^E&\\S4,
B0\004)4ܓ%(40J$!(40J
B0\004)4ܓ%(40J$!(40J
($0J$0$0P*40P$
($0J$0$0P*40P$
40P$    <4&&42x0J$'4 (40J$
40P$    <4&&42x0J$'4 (40J$
)440J$0Ν$<
&*4&H^0J$0$0*0$`+4۬40$d0$<' <.&
)440J$0Ν$<
&*4&H^0J$0$0*0$`+4۬40$d0$<' <.&
)
40$^^'<+&ܢ40J$܄0J$<1&p40J$0J'ĝ$0n$0*A40J$0~$0^4,4^4"<5&
40$T0$40$g<6&00\4|.4\
)
40$^^'<+&ܢ40J$܄0J$<1&p40J$0J'ĝ$0n$0*A40J$0~$0^4,4^4"<5&
40$T0$40$g<6&00\4|.4\
*4^410J$N-4\4ڹ-4^4ڪ0J$0^$'ĝ0*ۅ40^40Z40J$0N$h4^4_X<-&H
40$0\4/4\4*0$0440$14Z440$n0^$<' <*&
*4^410J$N-4\4ڹ-4^4ڪ0J$0^$'ĝ0*ۅ40^40Z40J$0N$h4^4_X<-&H
40$0\4/4\4*0$0440$14Z440$n0^$<' <*&
+
40($XX'24^4Z4<1&ڜ40J$0^40\4-4^4ld0J$0.$,4\4N<7&<40J$0$y0J$.4^4\4u)X0^4-4^40J$0
+
40($XX'24^4Z4<1&ڜ40J$0^40\4-4^4ld0J$0.$,4\4N<7&<40J$0$y0J$.4^4\4u)X0^4-4^40J$0
,$<8&40J$0$
0J$,4^4ث0J$0Ν$0*ن40^40\40J$0ޝ$S44J34<4&H
*40$0$4440$6<9&*<:&
,$<8&40J$0$
0J$,4^4ث0J$0Ν$0*ن40^40\40J$0ޝ$S44J34<4&H
*40$0$4440$6<9&*<:&
-740ޝ$)0J$0.$)54^44\4؎<7&ؤ40J$0J$4^4\4*0J$0$0*^Y4840$a94^^40$0n$<' <.&
-740ޝ$)0J$0.$)54^44\4؎<7&ؤ40J$0J$4^4\4*0J$0$0*^Y4840$a94^^40$0n$<' <.&

40$N

40$N
.'<7&40J$0$0J$M+\\^.:4`\\30J$0$40J$0$0$<'j8=^F@^>?^6A^.<^&>^B^<#;40J$
.'<7&40J$0$0J$M+\\^.:4`\\30J$0$40J$0$0$<'j8=^F@^>?^6A^.<^&>^B^<#;40J$
/^4կ,hH0J$0$0*440$H0$<'$^<&	CD֝^0$^'4640$0$<';40$<'2E FG-,<40$cE
/^4կ,hH0J$0$0*440$H0$<'$^<&	CD֝^0$^'4640$0$<';40$<'2E FG-,<40$cE
00$'4԰40$h0$<'h0J$0~$0*40$40$$0~$<';4I0$<'C(H^2I^*-J^"K^L^<D40$H^0$&^440$
00$'4԰40$h0$<'h0J$0~$0*40$40$$0~$<';4I0$<'C(H^2I^*-J^"K^L^<D40$H^0$&^440$
10~$<'q40J$0$_0$<'oY4Ӂy_4:4ӽԵg[4:.4ӫԣU]4:4әԑC0J$N9ԁ0J$0$<+&f40J$߫   Q0J$IN4<O40J$0n$0P*40P$
10~$<'q40J$0$_0$<'oY4Ӂy_4:4ӽԵg[4:.4ӫԣU]4:4әԑC0J$N9ԁ0J$0$<+&f40J$߫   Q0J$IN4<O40J$0n$0P*40P$
2ߔ0$<'0P$0&$,-Y<,&/xp4Ҙ0P$=o4҉P4~40P$70$<'<.&Ӡ40P$40P$j</&u40J$޺<
S44@0J$0Ν$
2ߔ0$<'0P$0&$,-Y<,&/xp4Ҙ0P$=o4҉P4~40P$70$<'<.&Ӡ40P$40P$j</&u40J$޺<
S44@0J$0Ν$
30<A40J$0Ν$ފ<
&Q4ѳ0J$R4ѤM4љ0J$0^$0P*40P$S4 4 40P$#0^$<'34Eҋ0P$T4 4g34&l0P$0N$01*0$U4 40$ݴ0$<
30<A40J$0Ν$ފ<
&Q4ѳ0J$R4ѤM4љ0J$0^$0P*40P$S4 4 40P$#0^$<'34Eҋ0P$T4 4g34&l0P$0N$01*0$U4 40$ݴ0$<
4' <.&
 40$a'</& 40P$5"V4Ѝ<Q
4' <.&
 40$a'</& 40P$5"V4Ѝ<Q
( 40P$,!401J$0$      0$<'bGW4:4uJZ4:4f;X4
0\4:4L!^4:4=
( 40P$,!401J$0$      0$<'bGW4:4uJZ4:4f;X4
0\4:4L!^4:4=
5< !40J$eW44	.:Eܨ>08>4ͫ   2****** Pass  line Sequential programDeclarationConstant definitionType definitionTypeEnumeration typeSubrange typeSet typeArray typ
5< !40J$eW44	.:Eܨ>08>4ͫ   2****** Pass  line Sequential programDeclarationConstant definitionType definitionTypeEnumeration typeSubrange typeSet typeArray typ
6eRecord typeFile typeI/O argumentStack l3LengthVariable declarationRoutineProcedureFunctionWith statementParameterBodyStatement listStatementId statementArgumentCompound statementIf statementCase statementWhile statementRe4jpeat7 statementFor statementExpressionVariableConstantPrefixInterfaceUniv modePointer type syntax
6eRecord typeFile typeI/O argumentStack l3LengthVariable declarationRoutineProcedureFunctionWith statementParameterBodyStatement listStatementId statementArgumentCompound statementIf statementCase statementWhile statementRe4jpeat7 statementFor statementExpressionVariableConstantPrefixInterfaceUniv modePointer type syntax
:3W,
:3W,
B0
B0
݊],
݊],
B4䝜@0݊2b,
B4䝜@0݊2b,
B4䝜@0J2b
B4䝜@0J2b
eL00
eL00
kJXVVVV0Z04
kJXVVVV0Z04
X?44N04b2b4
X?44N04b2b4
X?XX&VT
X?XX&VT
T-T0Z0O4TTVTT. 4TTw
4݌{^^.34^^݌&C4J4݌݌݌&aJ,-4
T-T0Z0O4TTVTT. 4TTw
4݌{^^.34^^݌&C4J4݌݌݌&aJ,-4
   4J4݌݌4J4'J4:' 4PL44<4:4J4'J4
   4J4݌݌4J4'J4:' 4PL44<4:4J4'J4
:' 4P44<4:4L44J4'L4J4
:' 4P44<4:4L44J4'L4J4
:' 4P44<4:4N44L44J4'N4HL4wJ4p4N4L4qJ444N4L4J4m40^4J4^440^4
:' 4P44<4:4N44L44J4'N4HL4wJ4p4N4L4qJ444N4L4J4m40^4J4^440^4
40\4J4^4\440^440\440Z4J4^4\4Z440^44^4^\^?4\.40Z4Z4q\\2b40<4:
40\4J4^4\440^440\440Z4J4^4\4Z440^44^4^\^?4\.40Z4Z4q\\2b40<4:
^^J0O\\' \4^^^J0O\
^^J0O\\' \4^^^J0O\
%03r4L4q03o4J4a 44<4\03B4a03I4U03R4I03U4=03Z4103_4%03d403f4
03m4
%03r4L4q03o4J4a 44<4\03B4a03I4U03R4I03U4=03Z4103_4%03d403f4
03m4
03w403y403}4034034~034r034f0 34Z034N034B034}6J&0:DNXblv~4>4$01$-*2b-4
03w403y403}4034034~034r034f0 34Z034N034B034}6J&0:DNXblv~4>4$01$-*2b-4
6L4JJ0ݐ40턮02bBE0^4N4^400L턮0JMN44042b04J00L2b0
6L4JJ0ݐ40턮02bBE0^4N4^400L턮0JMN44042b04J00L2b0
\L4Į4J0       gE0^4N4^400J턮0L
\L4Į4J0       gE0^4N4^400J턮0L
qL4J4400J~E :0>4Į>4$2b'l0/$--
qL4J4400J~E :0>4Į>4$2b'l0/$--
-0*0/ʝ$-
-0*0/ʝ$-
--       --
--0ڝ*0/$---0*0/$---0ʝ*0/g$---0* 0^^.^0ݐ0^^444v444d444R0440R440P440440T440\4     40Z440X440V4404P4404\4404V4404R4404R4404Z4404T444P444P44
--       --
--0ڝ*0/$---0*0/$---0ʝ*0/g$---0* 0^^.^0ݐ0^^444v444d444R0440R440P440440T440\4     40Z440X440V4404P4404\4404V4404R4404R4404Z4404T444P444P44
    4V44
    4V44
4Z444\444R44
4R444\44444]4Z4쨺44|-
040J턮0턮02b040Ȯ0^4^-:^0"d40ݐ4b04@ĝB2b^^2b2b--J4
4Z444\444R44
4R444\44444]4Z4쨺44|-
040J턮0턮02b040Ȯ0^4^-:^0"d40ݐ4b04@ĝB2b^^2b2b--J4
402bJ40
4䝜0
402bJ40
4䝜0
턮02b쨼'Ud-\0"d4N0N40ݐ4B2b2bN0ݐ4L0턮0J2bE4
0^4^'^0ݐ40c04Z4'I0ZN4'!\0
4^0\48^4\4J42b0      ^4&䝜L'
44-䝜0\턮0^L'4\42b"40^40^40ݐ4040$2b'4bbb0P턮b0^2b2b0
턮02b쨼'Ud-\0"d4N0N40ݐ4B2b2bN0ݐ4L0턮0J2bE4
0^4^'^0ݐ40c04Z4'I0ZN4'!\0
4^0\48^4\4J42b0      ^4&䝜L'
44-䝜0\턮0^L'4\42b"40^40^40ݐ4040$2b'4bbb0P턮b0^2b2b0
E
E
N^^'+^4L&0
N^^'+^4L&0
^0^2b
^0^2b
&4
&4


?E0^4^4J0L턮0&
^^0^^Ĩ
?E0^4^4J0L턮0&
^^0^^Ĩ
KL0ݐ0J
KL0ݐ0J
REL^^'$^44b04J40^2b\0cJa00Jf0ĩ4&0
REL^^'$^44b04J40^2b\0cJa00Jf0ĩ4&0


2bp4442~Z'v04&040440$2b'4zd0d04d02bd04d02bZd0d04d02b
2bp4442~Z'v04&040440$2b'4zd0d04d02bd04d02bZd0d04d02b
2b2b$\\'4504\'䝜䝜0^2bE04&X00ݐ40^40& \\40^턮0\2b\&^02b2b4)
2b2b$\\'4504\'䝜䝜0^2bE04&X00ݐ40^40& \\40^턮0\2b\&^02b2b4)
E2~^'>2~y040ڝ$2b'40L'0^4UJ4^44442~'@2~40002bE0^4^4002bE^\Z04&0p\0Z42b04&30^^\]04Zc4'4l4a2b0X4X400Z44Z4^4\4R2b4E0^4^04^4E0Z4M2~'2~^^0\4*\40
E2~^'>2~y040ڝ$2b'40L'0^4UJ4^44442~'@2~40002bE0^4^4002bE^\Z04&0p\0Z42b04&30^^\]04Zc4'4l4a2b0X4X400Z44Z4^4\4R2b4E0^4^04^4E0Z4M2~'2~^^0\4*\40
0^턮0Z442bE0\40^4Ӯ^40
0\V44O2b(E
0^턮0Z442bE0\40^4Ӯ^40
0\V44O2b(E
40^4^4
40^4^4
02~'
2~1
02~'
2~1


^^L.2~'b040400
^^L.2~'b040400
턮02b04b04ͮ0442b^^uBE40^4^40\4
4^4-JE40^4/#q0J40$*0ݝ$0*00턮^40&
02b2b\E0n$0ҝ*40^4^40^2bDĝg444V2~'00n0ҝ$0$0ѝ$'40$0ҝ$0*404b042bv04*|4.40J4$0*002b2~'04&d0석W04]4'     40ҝ$0$ 0석-0ҝ*0'
턮02b04b04ͮ0442b^^uBE40^4^40\4
4^4-JE40^4/#q0J40$*0ݝ$0*00턮^40&
02b2b\E0n$0ҝ*40^4^40^2bDĝg444V2~'00n0ҝ$0$0ѝ$'40$0ҝ$0*404b042bv04*|4.40J4$0*002b2~'04&d0석W04]4'     40ҝ$0$ 0석-0ҝ*0'
4H
4H
4=2bE2~}400442E40^4\0Z4e^'^0ݐ404040ڝ$2b'\4}|^4Z44K^4TSb0&%XX0'X0XX0Z4b2b2bZ40T  0\턮0 44       2bE40\44\40Z4^^\.d042~'00400Z2b044ĩ2b^^
4=2bE2~}400442E40^4\0Z4e^'^0ݐ404040ڝ$2b'\4}|^4Z44K^4TSb0&%XX0'X0XX0Z4b2b2bZ40T  0\턮0 44       2bE40\44\40Z4^^\.d042~'00400Z2b044ĩ2b^^
44L4rU4J414042~'d2~ 4'&44ܮ044)00턮0J442b J44쨺'44E04쨾'0^4s^2~'2~-4'5쨾'4Ĩ44Ү044/00턮0^!4^442b444쨺'E0Z440\4J4\4/\^^-sdģ^04&I0400Z2b04b0400ݐ02b^^"\(48.4
44L4rU4J414042~'d2~ 4'&44ܮ044)00턮0J442b J44쨺'44E04쨾'0^4s^2~'2~-4'5쨾'4Ĩ44Ү044/00턮0^!4^442b444쨺'E0Z440\4J4\4/\^^-sdģ^04&I0400Z2b04b0400ݐ02b^^"\(48.4
 (4742~1',0044EA04&30& 4#044L 4A2bL^04&00'^^^'4䝜2bZ04&o0'4㰮04JG&$G4!bb04b$02b"&R44J4G2bJ4;2bJG'j04'4䝜2btE\04"t&70&\"040^b04b02b2b%\2b\'#\&4p#444i^4#44d04&@04&&040#8ă   &02b2b2b404%4404&f&(4b04®0^䝜0^`4^ȝf4'0^#  4>
 (4742~1',0044EA04&30& 4#044L 4A2bL^04&00'^^^'4䝜2bZ04&o0'4㰮04JG&$G4!bb04b$02b"&R44J4G2bJ4;2bJG'j04'4䝜2btE\04"t&70&\"040^b04b02b2b%\2b\'#\&4p#444i^4#44d04&@04&&040#8ă   &02b2b2b404%4404&f&(4b04®0^䝜0^`4^ȝf4'0^#  4>
42b40^440\4VV.V000\VV0&00Z 'ZX
42b40^440\4VV.V000\VV0&00Z 'ZX
ZX0$ĝ&040000\&00004b04'0X/0X0Z,0Z2b])4^4Z4X4ZVVX%.V0004uV!(V\4dE\04&s040&S0^4森^4/44}004f02b2b^4@044\2b&H\2b\'44/44
E0")4&f040&4ހ^0^F4^4۝b0'4OG46bb0'^2b2bJ40^04&.040&40#*^2b4u2bF4^4J4s'J4U
ZX0$ĝ&040000\&00004b04'0X/0X0Z,0Z2b])4^4Z4X4ZVVX%.V0004uV!(V\4dE\04&s040&S0^4森^4/44}004f02b2b^4@044\2b&H\2b\'44/44
E0")4&f040&4ހ^0^F4^4۝b0'4OG46bb0'^2b2bJ40^04&.040&40#*^2b4u2bF4^4J4s'J4U
EJ'h04L404db0ݎM4d04f04ڑdݎN4d04
ed$+ݎO4d04(Įf04C:db049f04f02b4f04f02b!f04f02b2bJ'<K^b0\\'&\4T4b044ٱ0\2bI^^44h0)XĄ4ل{dd0L턮d04%,d02bH44J4۫dJ'S4؁&h2b2b2bIE40^4Z\^0ݐ40*40$2b'rX04L[\!b0004I44&-4jJ4b042b2bZ2bZ'4ڌXX4\4"dE40*^4X04&?040&0Z
EJ'h04L404db0ݎM4d04f04ڑdݎN4d04
ed$+ݎO4d04(Įf04C:db049f04f02b4f04f02b!f04f02b2bJ'<K^b0\\'&\4T4b044ٱ0\2bI^^44h0)XĄ4ل{dd0L턮d04%,d02bH44J4۫dJ'S4؁&h2b2b2bIE40^4Z\^0ݐ40*40$2b'rX04L[\!b0004I44&-4jJ4b042b2bZ2bZ'4ڌXX4\4"dE40*^4X04&?040&0Z
XZ2bZ4^40\4"X2bX'4\44'.r4L444Ux+04&M040
XZ2bZ4^40\4"X2bX'4\44'.r4L444Ux+04&M040
&/L4b04d04b04b02be2b]2b4#J44RC04&z04(/0   ,h&'b04b02bJ4d0480
&'b04b02bW4d04ռE2b=2bJ4040$--------
&/L4b04d04b04b02be2b]2b4#J44RC04&z04(/0   ,h&'b04b02bJ4d0480
&'b04b02bW4d04ռE2b=2bJ4040$--------
-
-2b-,'L04b0L)0LL2~d04jL2~d04VL2~d04BLb0Ltb0&L2~d04LNb0&LL,-L$
FOU[m
-
-2b-,'L04b0L)0LL2~d04jL2~d04VL2~d04BLb0Ltb0&L2~d04LNb0&LL,-L$
FOU[m
2bA040*14B^X404~00^^w^oݎ^f2~.ĩ004^D2~004^"^v^4N0    _$----2b'+2^^4N4\\\/x\jk\
2bA040*14B^X404~00^^w^oݎ^f2~.ĩ004^D2~004^"^v^4N0    _$----2b'+2^^4N4\\\/x\jk\
\jk^^/$\       \jk\,f" x
\jk^^/$\       \jk\,f" x
T,
T,
B0\000ݐ,30<44s2~'0404040ʝ$2b'04tdd04d02bd04d02bVdd04d02b:d1Įd04d02bd04d02b-42bb42b2b
B0\000ݐ,30<44s2~'0404040ʝ$2b'04tdd04d02bd04d02bVdd04d02b:d1Įd04d02bd04d02b-42bb42b2b
04䝜02b0N44ݎ1ڢ04䝜0J4b042b$_0.540^4M4^4J4РJݎ,0[4Ͼ2204䝜4b0402b=٣040^4O4^44^&
04䝜02b0N44ݎ1ڢ04䝜0J4b042b$_0.540^4M4^4J4РJݎ,0[4Ͼ2204䝜4b0402b=٣040^4O4^44^&
ݎݎ/6zH݊E"v40443LDB4WeG4i"444      Y4twZ4ilfc`)ZwT47IlC%4ϣ8@4-]4407"RD4444΢=34P$474444 E4N~-4s+4,4]*4R,4GCA;5 /18447444vE4k4n84U&4`'41ξ54"245Q4"<4A4}$wq64fC4X[=4P44@:;429/F)4B444'446\?4=>42!4Eޟ\4(44Kuܩoېi44/Y:4KN44>3:940314%(g"7 4y.4Ԓ04쮩pxme"UTTLG=l&ogv;`Oy  7c4;$G)lM>izhP|w#!sj4'/44ۮ>404
ݎݎ/6zH݊E"v40443LDB4WeG4i"444      Y4twZ4ilfc`)ZwT47IlC%4ϣ8@4-]4407"RD4444΢=34P$474444 E4N~-4s+4,4]*4R,4GCA;5 /18447444vE4k4n84U&4`'41ξ54"245Q4"<4A4}$wq64fC4X[=4P44@:;429/F)4B444'446\?4=>42!4Eޟ\4(44Kuܩoېi44/Y:4KN44>3:940314%(g"7 4y.4Ԓ04쮩pxme"UTTLG=l&ogv;`Oy  7c4;$G)lM>izhP|w#!sj4'/44ۮ>404
02b>4Ǯ   ****** Pass  line Unre8solved routineAmbiguous identifierCompiler abortInvalid const5
02b>4Ǯ   ****** Pass  line Unre8solved routineAmbiguous identifierCompiler abortInvalid const5
B0
B0
,
,
B0,
B0,
B4䝜@02b,
B4䝜@02b,
B4䝜@0J2b%JXVVVV0Z04
B4䝜@0J2b%JXVVVV0Z04
X?44N04b2b4
X?44N04b2b4
X?XX&VTT-8T0Z0O4TTVTT. 4TT1
45^^.44^^:&C4J4A&aJ,-4     49J4I4J4'J4O<' 464L4>4<4J4'J4
X?XX&VTT-8T0Z0O4TTVTT. 4TT1
45^^.44^^:&C4J4A&aJ,-4     49J4I4J4'J4O<' 464L4>4<4J4'J4
[<' 4644>4<4L44J4'L4J4i:<' 4644>4<4N44L44J4'N4HL4wJ4pw<' 4644>4<444N44L44J4'4N4L4J4;4N44L44J4'N4L4J444N4L4J4444N4L4J4E0^4000^턮^4䝜0턮0턮0N<0
[<' 4644>4<4L44J4'L4J4i:<' 4644>4<4N44L44J4'N4HL4wJ4pw<' 4644>4<444N44L44J4'4N4L4J4;4N44L44J4'N4L4J444N4L4J4444N4L4J4E0^4000^턮^4䝜0턮0턮0N<0
L턮0J2b
L턮0J2b
E0^4L000^턮^4䝜0
E0^4L000^턮^4䝜0
턮0턮0J2b
턮0턮0J2b
E0^4L000^\Į^4䝜0 턮0J턮0턮02bE0^4N000^턮^4䝜0=N턮0J턮0L2b<04444$'B2bV P0!$-----00*0!$---------0*0!G$-	-0>*T0(4(4䝜0턮0턮02b0 $----0؝*0 Н$--0@*0 $-  --0ȝ*0 $------0*0 u$------0*0ĩ.4?   .000.44̀444444444r4444[444X4
E0^4L000^\Į^4䝜0 턮0J턮0턮02bE0^4N000^턮^4䝜0=N턮0J턮0L2b<04444$'B2bV P0!$-----00*0!$---------0*0!G$-	-0>*T0(4(4䝜0턮0턮02b0 $----0؝*0 Н$--0@*0 $-  --0ȝ*0 $------0*0 u$------0*0ĩ.4?   .000.44̀444444444r4444[444X4
44F4
44F4
444444l"000044T44G44:@
444444l"000044T44G44:@
4
4-44q44d44W
44J44=
4
4-44q44d44W
44J44=
44044#44  4    4        0
^^J0O\\' \4^^^J0O\
44044#44  4    4        0
^^J0O\\' \4^^^J0O\
04L40~4J4 A4"4>40Q4a0U4U0Z4I0a4 :0h4.0m4"0t40|4
04L40~4J4 A4"4>40Q4a0U4U0Z4I0a4 :0h4.0m4"0t40|4
x04l04`04T04H04
x04l04`04T04H04
ĝ*2b;4404
ĝ*2b;4404
0T44E4P40\440Z440X44\4Z4X4Z^X4^.40\4|\4}^^C
2b[40^484^4\^?4\.40Z4Z4\\2bd40^4J4^4bj40^440\4J4@^4\4p40>4<zd-tD000.4004J40'0000
0T44E4P40\440Z440X44\4Z4X4Z^X4^.40\4|\4}^^C
2b[40^484^4\^?4\.40Z4Z4\\2bd40^4J4^4bj40^440\4J4@^4\4p40>4<zd-tD000.4004J40'0000
d-
00
0
d-
00
0
40040000
40040000
d-000
d-000
-}E0X4P0VJ'VP'
J,4P&P
-}E0X4P0VJ'VP'
J,4P&P
PJ02b0X4P0V02b
PJ02b0X4P0V02b
LJF-     LJN4 LN
LJF-     LJN4 LN
J?4L.LJ9NLN4
J?4L.LJ9NLN4
L`4J`4'       LJN5LW4JW4'  LJN2~L4JCS4DNE0^4^.&00Pċ0(E0^4G7^4䝜00턮0턮00
L`4J`4'       LJN5LW4JW4'  LJN2~L4JCS4DNE0^4^.&00Pċ0(E0^4G7^4䝜00턮0턮00
4b04P
4b04P
&  4E0^4ˮ^4䝜4b040턮0&0$04b00000섮䝜2b4b0
&  4E0^4ˮ^4䝜4b040턮0&0$04b00000섮䝜2b4b0
44b04H0004040؝$2b'00
44b04H0004040؝$2b'00
석W04]4'442bĝE~0000^0\4\4䝜0^턮0턮02bE00040I40؝$2b'&2~2~d04f0
석W04]4'442bĝE~0000^0\4\4䝜0^턮0턮02bE00040I40؝$2b'&2~2~d04f0
4@4^
^4  2b00040Z044'(^?4'
4^Z^\;040$2b'       ZZ2~^4d04Z\2b0X4WX4J䝜0`0턮0\턮0Z2b0E00040
&\^0\0^2b0Z4ŮZ4䝜00턮0^턮0\02bJE$P
4@4^
^4  2b00040Z044'(^?4'
4^Z^\;040$2b'       ZZ2~^4d04Z\2b0X4WX4J䝜0`0턮0\턮0Z2b0E00040
&\^0\0^2b0Z4ŮZ4䝜00턮0^턮0\02bJE$P
&4t0^4h^4K00턮0턮02bU0004040$2b40^2b40\4\ZZ-[Z0004Ĝ0P턮0턮0V2~V4^4NV2bZZ\eL0004040؝$2b'-0
&4t0^4h^4K00턮0턮02bU0004040$2b40^2b40\4\ZZ-[Z0004Ĝ0P턮0턮0V2~V4^4NV2bZZ\eL0004040؝$2b'-0
석W04]4'440^040$2b42b0004䝜0P턮0턮0턮0V2~V4^4:V2b4M(z00040X4b0pĄ^'0   b0턮042~V4^42b2b2be00040X404V2b^b04^2b/b0^턮0V2b2bN4E0^4i^4䝜00턮0V'0    000040Z040$2b42b40^4^\\-`\0004䝜0P턮02~V4Z4BOV0VCS2b\\^V\84\.Q\00040^0V2~V4^4V0P2b\\2bVV8EJ'!8/4K0^4^80P^4^4䝜0V턮0'0
석W04]4'440^040$2b42b0004䝜0P턮0턮0턮0V2~V4^4:V2b4M(z00040X4b0pĄ^'0   b0턮042~V4^42b2b2be00040X404V2b^b04^2b/b0^턮0V2b2bN4E0^4i^4䝜00턮0V'0    000040Z040$2b42b40^4^\\-`\0004䝜0P턮02~V4Z4BOV0VCS2b\\^V\84\.Q\00040^0V2~V4^4V0P2b\\2bVV8EJ'!8/4K0^4^80P^4^4䝜0V턮0'0
0PTT0T2bV064''4XT^T4^TEJ'?Q000040$2b'4jDJ440R4R48000040$2b'440\48\800040@$J0440Rȝ$2b4'Z0Z2b^^\.9^0004䝜0Z턮0J2b^^'^^^4'^Ĩ^^4+00040SV4b04d04f04h04'94V472b5464
0PTT0T2bV064''4XT^T4^TEJ'?Q000040$2b'4jDJ440R4R48000040$2b'440\48\800040@$J0440Rȝ$2b4'Z0Z2b^^\.9^0004䝜0Z턮0J2b^^'^^^4'^Ĩ^^4+00040SV4b04d04f04h04'94V472b5464
B40^4^0ĩ004&04b04d044440&
B40^4^0ĩ004&04b04d044440&
0섣T2bN400004MGT0004T&,0&4b04442b_40^4^'y^00040Z\2
0섣T2bN400004MGT0004T&,0&4b04442b_40^4^'y^00040Z\2
\*\UZ

\*\UZ

\4b0Ą4d04f04!2b
\4b0Ą4d04f04!2b
4
4
444000404b04d04`Z&;040؝$2b'"0';4b0
444000404b04d04`Z&;040؝$2b'"0';4b0
4d042b=4cyDV 0004040$2b'^^   4b04^42b40^440\440Z42~V44V4^4VCS4\4Z4VVJ4LEW!0^4î^4䝜02~V44[V0VCS00$2'0      04>4dVV4'/4.4-4pX"000.J4=n40^4144^44.R (914444000404b04d04c2b40^4144^44444Y#40^440\414 4\44S4^4^4E40^40\4\4&44^4d04}2bEJ3&0\4낮\4J4b04d04f04!'02Z$2bJ4Q000.E$000\000ZZ40Z044'X0X2b"tĮ\4040؝$2b'54b0
4d042b=4cyDV 0004040$2b'^^   4b04^42b40^440\440Z42~V44V4^4VCS4\4Z4VVJ4LEW!0^4î^4䝜02~V44[V0VCS00$2'0      04>4dVV4'/4.4-4pX"000.J4=n40^4144^44.R (914444000404b04d04c2b40^4144^44444Y#40^440\414 4\44S4^4^4E40^40\4\4&44^4d04}2bEJ3&0\4낮\4J4b04d04f04!'02Z$2bJ4Q000.E$000\000ZZ40Z044'X0X2b"tĮ\4040؝$2b'54b0
4d04X454[%44404b04d042bZ404b04X4ۮ0'"0&X0섣XX2b#8000ZE0^4騮^4&+04b04d04f04h04:4ކ*\&E  @(40:4Y4[)4R24Y#4<44<A4B4/4'4UwD4ݵl+4ݧ^3XR4%G
4N]'1+?4$ W4	^4A44444,44w@444x%r4Eg4%:\74Q#4^($F@(45/0,4#4*4V
$4@J"444U4,
&Hą&4m%4b~TxVr{lC4۟V_)PB<!4z1:4l# 4[4P&14h34]'@Į:]^ht\:wsLgc|/g_nPJ`*//X7( aF7)>z_6'ucl4'44M        ****** Pass  line Invalid nestingAddress overflowInvalid function typeRecord enumerationLong enumerationInvalid index t+ypeInvalid memb(xer typeInvalid parameterCompiler abortOdd length string typeInvalid resolutionInvalid tag typeRecord pointer typeb",
4d04X454[%44404b04d042bZ404b04X4ۮ0'"0&X0섣XX2b#8000ZE0^4騮^4&+04b04d04f04h04:4ކ*\&E  @(40:4Y4[)4R24Y#4<44<A4B4/4'4UwD4ݵl+4ݧ^3XR4%G
4N]'1+?4$ W4	^4A44444,44w@444x%r4Eg4%:\74Q#4^($F@(45/0,4#4*4V
$4@J"444U4,
&Hą&4m%4b~TxVr{lC4۟V_)PB<!4z1:4l# 4[4P&14h34]'@Į:]^ht\:wsLgc|/g_nPJ`*//X7( aF7)>z_6'ucl4'44M        ****** Pass  line Invalid nestingAddress overflowInvalid function typeRecord enumerationLong enumerationInvalid index t+ypeInvalid memb(xer typeInvalid parameterCompiler abortOdd length string typeInvalid resolutionInvalid tag typeRecord pointer typeb",
B0
B0
,
,
B0,
B0,
B4䝜@02b,
B4䝜@02b,
B4䝜@0J2bJXVVVV0Z04
B4䝜@0J2bJXVVVV0Z04
X?44N04b2b4
X?44N04b2b4
X?XX&VTT-cT0Z0O4TTVTT. 4TT
4^^.54^^&C4J4&aJ,-4     4dJ4&4J4쨊'J4,<' 4&4L4>4<4J4쨊'J4
X?XX&VTT-cT0Z0O4TTVTT. 4TT
4^^.54^^&C4J4&aJ,-4     4dJ4&4J4쨊'J4,<' 4&4L4>4<4J4쨊'J4
8<' 4&44>4<4L44J4쨊'L4J4Fe<' 4&44>4<4N44L44J4쨊'N4HL4wJ4pT4N4L4qJ4Z<' 4&44>4<44444N44L4ĭf4J4쨊'%44N4L4J4j<' 4&44>4<4444444N44L44J4쨊'-444
8<' 4&44>4<4L44J4쨊'L4J4Fe<' 4&44>4<4N44L44J4쨊'N4HL4wJ4pT4N4L4qJ4Z<' 4&44>4<44444N44L4ĭf4J4쨊'%44N4L4J4j<' 4&44>4<4444444N44L44J4쨊'-444
N4L4J4g쨨004
N4L4J4g쨨004
쨐&      0쨦04442b0쨐턮042b\Ĩ<04w4$쨊'2b0$--0H*0ޝ$h----0h*0h$0$---0(*0h$0$--- -0x*0s$--  -0X*0X$08*0L$----0*0-$--0*0$-----0*0$--0i*0ܝ$--0ȝ*0Ɲ$--0؝*0$--
-0*04쨌40042b4
쨐&      0쨦04442b0쨐턮042b\Ĩ<04w4$쨊'2b0$--0H*0ޝ$h----0h*0h$0$---0(*0h$0$--- -0x*0s$--  -0X*0X$08*0L$----0*0-$--0*0$-----0*0$--0i*0ܝ$--0ȝ*0Ɲ$--0؝*0$--
-0*04쨌40042b4
006
006
8:040ܝB040̝B040j     B040B44^^J0O\\' \4^^^J0O\
8:040ܝB040̝B040j     B040B44^^J0O\\' \4^^^J0O\
0k4L4?0h4J4/ 4l4>400;4a60>4U*0?4Ik
0k4L4?0h4J4/ 4l4>400;4a60>4U*0?4Ik
0B4=J44$0̝$-*2b4&J4c404B   0ăZ4Z4'J4404BJ4J404
0B4=J44$0̝$-*2b4&J4c404B   0ăZ4Z4'J4404BJ4J404
40l^404^4444NJh     J`b0&JJBJ:J24J"2b*'^0
40l^404^4444NJh     J`b0&JJBJ:J24J"2b*'^0
c0
c0
4c4m'^w040
4c4m'^w040
$2b'^U섮44b2b&ݮ40섮044b2bZ^0섮044b2bZ0440؝$2b4^p0섮044b2bZ04석Z4|ந04석Z4n
^*^"JHFDB^<8_
$2b'^U섮44b2b&ݮ40섮044b2bZ^0섮044b2bZ0440؝$2b4^p0섮044b2bZ04석Z4|ந04석Z4n
^*^"JHFDB^<8_
&M04240H$2b^%40h$2b^^^'4^J@L40^4(4^4\^?4\.40Z4Z4o{\\2bU40^4J4^4[40^440\4J4^4\4a40>4
ĭ<l44b044b040
&M04240H$2b^%40h$2b^^^'4^J@L40^4(4^4\^?4\.40Z4Z4o{\\2bU40^4J4^4[40^440\4J4^4\4a40>4
ĭ<l44b044b040
4b044b04'740PBp44B40P4B{Y4#4b04
Įd04f04h044+0$4쨢4o444K40
4b044b04'740PBp44B40P4B{Y4#4b04
Įd04f04h044+0$4쨢4o444K40
&04Xb0&4d04qf04V944f04h04b2b0>44b44b044b0440
&04Xb0&4d04qf04V944f04h04b2b0>44b44b044b0440
4b044b04d04PĮ0턮0nr440($2b'04b0&4d0442~f04h04{P44f04h04[42~x#42~hw2b0&        0턮0(408$2b's
440
4b044b04d04PĮ0턮0nr440($2b'04b0&4d0442~f04h04{P44f04h04[42~x#42~hw2b0&        0턮0(408$2b's
440
J&
40Z42~\\'v4040$2b'N2~^J',^&4b04y  4^4j
J&
40Z42~\\'v4040$2b'N2~^J',^&4b04y  4^4j
4Z4[42bJ'40
4Z4[42bJ'40
4b04t4b044b04A40Ą40$2b0440؝$2b440X$2b44'0   040
4b04t4b044b04A40Ą40$2b0440؝$2b440X$2b44'0   040
&A0     &,4b04< "4b04d04uf04`g4EP2~'0&4J'44B
Q2~y'$040$2b'4$A'440^4v4^4%s!40^44^4(40^44^4.40^44^438+404B42~Z'@`40\440Z4 4w\4Z4\^^Z.40X4X4^^KB%44Q4Į0W4_040\4444\4L40^44^4440Z44Z4x?eJ4x%q2~'cpĮ474J42~NOE4J4047-4r"404B~p2~d'c474J42~E4J40y44ĥ-4"b404B2~'c474J42~*+E4J404-4N"Ю404BLzZ440h$2b4ந04섮044b2bZ4'444[4=404B40H$2b'42~4z40H$2b'4{H섮44b2b&箨&$J44,z404B&$J44I404BZ42~4'^J\J&\J'4\44鏮0^Ԯ404B0^|4P4E1ZD4Z4'444U404BѮ석Z4석Z4'J444W404Bz섮44b2b&}&$J44Zꨮ404B^Z42~4'6J440^[404B0^44'4%404B
4N(404B4~44447
&A0     &,4b04< "4b04d04uf04`g4EP2~'0&4J'44B
Q2~y'$040$2b'4$A'440^4v4^4%s!40^44^4(40^44^4.40^44^438+404B42~Z'@`40\440Z4 4w\4Z4\^^Z.40X4X4^^KB%44Q4Į0W4_040\4444\4L40^44^4440Z44Z4x?eJ4x%q2~'cpĮ474J42~NOE4J4047-4r"404B~p2~d'c474J42~E4J40y44ĥ-4"b404B2~'c474J42~*+E4J404-4N"Ю404BLzZ440h$2b4ந04섮044b2bZ4'444[4=404B40H$2b'42~4z40H$2b'4{H섮44b2b&箨&$J44,z404B&$J44I404BZ42~4'^J\J&\J'4\44鏮0^Ԯ404B0^|4P4E1ZD4Z4'444U404BѮ석Z4석Z4'J444W404Bz섮44b2b&}&$J44Zꨮ404B^Z42~4'6J440^[404B0^44'4%404B
4N(404B4~44447
@40h$2b'S0&040%0섮044b2b'4J'L44-i404B4040
@40h$2b'S0&040%0섮044b2b'4J'L44-i404B4040
Z04     c4'4b042~2b
Z04     c4'4b042~2b
40
40
&F0     &4b042~ T"4b04d04f04ۮ44BA44b042~*+0턮44B8404B444{%0^ ĺ44b04K0턮0&00^2b240^440\440Z44^4\4Z4m404B42~'>4 &B0^n0^턮040ȝ$2b'404K40^ٮ0^턮040ȝ$2b'44407[EB404?m4!+s
&F0     &4b042~ T"4b04d04f04ۮ44BA44b042~*+0턮44B8404B444{%0^ ĺ44b04K0턮0&00^2b240^440\440Z44^4\4Z4m404B42~'>4 &B0^n0^턮040ȝ$2b'404K40^ٮ0^턮040ȝ$2b'44407[EB404?m4!+s
[
{q4SfR`4OU144E?44!.d4#+4/*44?444T!4"7F44s4{)4p4 (e4TZT4IVC484-4O"44}4144d4#
4 ĥ
[
{q4SfR`4OU144E?44!.d4#+4/*44?444T!4"7F44s4{)4p4 (e4TZT4IVC484-4O"44}4144d4#
4 ĥ
DV`^O`XbI*ra|=5n[=gn3zQP}T4쨈'쨤4ޠ    !Q****** Pass $ line Compiler abortOperand typeNot a variableNot assignable5.-,
DV`^O`XbI*ra|=5n[=gn3zQP}T4쨈'쨤4ޠ    !Q****** Pass $ line Compiler abortOperand typeNot a variableNot assignable5.-,
B0
B0
,
,
B0^^J0O\\' \4^^^J0O\
4JXVVVV0Z04
B0^^J0O\\' \4^^^J0O\
4JXVVVV0Z04
X?44N04b2b42b
X?44N04b2b42b
X?XX&VTT-T0Z0O4TTVTT. 4TTJ,-4      4J4.4J4VJ4NXVVV0Z04
X?XX&VTT-T0Z0O4TTVTT. 4TTJ,-4      4J4.4J4VJ4NXVVV0Z04
X?4404b2b42b
X?4404b2b42b
X?XX&J,-4VTT-T0Z0O4`TT
4BJ?44N^^ ,L.^ 4'4^4'4$0+4J4
X?XX&J,-4VTT-T0Z0O4`TT
4BJ?44N^^ ,L.^ 4'4^4'4$0+4J4
+L40+4J4X
+L40+4J4X
80'*4L4 4^^J,r^^40\40'\4l^J,,4B(\2\*\"\\^0'Z/`c/il/ruJ/{J\^^.F^0<40\]4Z4'0\2b^^\/&0)m4\40)`4*\0)E46x^^.^0<4400)440)4(0)40)4\Į2b040(40(42b040404y0
80'*4L4 4^^J,r^^40\40'\4l^J,,4B(\2\*\"\\^0'Z/`c/il/ruJ/{J\^^.F^0<40\]4Z4'0\2b^^\/&0)m4\40)`4*\0)E46x^^.^0<4400)440)4(0)40)4\Į2b040(40(42b040404y0
4n0'0(4[        0(4O2b^^ L*L"L LJ4,     0<40N턮0L턮0턮042~J4c2b0
4n0'0(4[        0(4O2b^^ L*L"L LJ4,     0<40N턮0L턮0턮042~J4c2b0
J턮0턮0&	02b%:*%8(/O0<44':82b2b̃0'4J4:';*0ĩ<4  000&472b:b8';(0<40]00&u42b8JW4       404(lJ0<44_b0'[4̮b042b4
J턮0턮0&	02b%:*%8(/O0<44':82b2b̃0'4J4:';*0ĩ<4  000&472b:b8';(0<40]00&u42b8JW4       404(lJ0<44_b0'[4̮b042b4
0%4b042bZb044'0%44Tb0']4cb0&خb0'[4@b04	0#4-d04;d04CS4b2b,3d042b4N?^^0004d040$4&d040$4bv2bb0']4}b04     0$4d04s0$4d04CS4b2b,3d042b4N?^^0004d040$=4&d040$(4Vv2bKb0'
0%4b042bZb044'0%44Tb0']4cb0&خb0'[4@b04	0#4-d04;d04CS4b2b,3d042b4N?^^0004d040$4&d040$4bv2bb0']4}b04     0$4d04s0$4d04CS4b2b,3d042b4N?^^0004d040$=4&d040$(4Vv2bKb0'
[40#4b0']4:2b2b
[40#4b0']4:2b2b
V 4WL4 4GJ4A
V 4WL4 4GJ4A
]L0<4*L'42'L&0#K4|Ė8+0
&0#/4L4\
0##4L4L:L*0(L'4'M0
]L0<4*L'42'L&0#K4|Ė8+0
&0#/4L4\
0##4L4L:L*0(L'4'M0
Z4Z4'0"4L40"40"4L4@8L(0Jp2b~0<4Z4Zb04Z44'      02bJ&0"44+0"   44!0<4
v0
Z4Z4'0"4L40"40"4L4@8L(0Jp2b~0<4Z4Zb04Z44'      02bJ&0"44+0"   44!0<4
v0
J&44:]0'440&,4)0!~40!z4:c&44:B&044
b0&0 04400 4o0:00[4T440 4$0:0u0Jfħ0
J&44:]0'440&,4)0!~40!z4:c&44:B&044
b0&0 04400 4o0:00[4T440 4$0:0u0Jfħ0
J턮02b̃44p0<40
J턮02b̃44p0<40
&20석Z04석Z4'0 440442b20..H04P S04G04;04/04#04֝4$!̃L0l4W0f4K0`4?0Z43̃44$0D4cĮ֝4'̃̃H04S04G04;04/04#04֝44
&20석Z04석Z4'0 440442b20..H04P S04G04;04/04#04֝4$!̃L0l4W0f4K0`4?0Z43̃44$0D4cĮ֝4'̃̃H04S04G04;04/04#04֝44


J'8L,L^L^JZ4^]4'^^L^^N
J'8L,L^L^JZ4^]4'^^L^^N
 EL4^Jd\\/ ^442b^\d\2b-EN^L\\d/^^\d\^0\00J
 EL4^Jd\\/ ^442b^\d\2b-EN^L\\d/^^\d\^0\00J
9EL^J\\d/^^\d\^0\00NHJ68:4'0a4VJ4IS8\NLJ`8e
9EL^J\\d/^^\d\^0\00NHJ68:4'0a4VJ4IS8\NLJ`8e
s4404CS4W8:8r>4$<$:$2$00404b04$:8642.,040404404404404404     4044044044044044044q04!4c04$4U04'4G04*4904-4+0404043404640v4940l4<40c4?40Y4B40R4E40J4H40B4K4094N40/4Q40&4T4u04W4g04Z4Y04]4K04`4=04c4/04f4p!04i404l404o404r404u404x404{404~4044044044044y044k0444]044O044A0y4430q44%0j440c44    0[440T440L440D440:4401440*4&0"4*0404^^.7042~4^4f\\4+\4^^2'-.404,40404j40(/8*/:6'i6'44042')&4[80644rN0/4W0*4J0%4=0 4004#0404V,,~H04Q04E04904y-04m!04a֝2444D4<044c44440<0k0W44%442~4440<00<04CS4b2bW4Z4'0<4042b4N?^^0000<410<^40000<4B2bZ4֝Z4'0<0
s4404CS4W8:8r>4$<$:$2$00404b04$:8642.,040404404404404404     4044044044044044044q04!4c04$4U04'4G04*4904-4+0404043404640v4940l4<40c4?40Y4B40R4E40J4H40B4K4094N40/4Q40&4T4u04W4g04Z4Y04]4K04`4=04c4/04f4p!04i404l404o404r404u404x404{404~4044044044044y044k0444]044O044A0y4430q44%0j440c44    0[440T440L440D440:4401440*4&0"4*0404^^.7042~4^4f\\4+\4^^2'-.404,40404j40(/8*/:6'i6'44042')&4[80644rN0/4W0*4J0%4=0 4004#0404V,,~H04Q04E04904y-04m!04a֝2444D4<044c44440<0k0W44%442~4440<00<04CS4b2bW4Z4'0<4042b4N?^^0000<410<^40000<4B2bZ4֝Z4'0<0
0<04
0<04
0444044442~444     0<0044c's0<40석Z4Z4'04b02b,44|0P440E4D2b40,4444344#&N<'04N4@48)'044.Tľ04&[<'04446'044e04X04K!04444444490J4444<' 014D0-44|0$44k<'=0<0'&440444]044q44vO4g̃44X04ė̃ <̃44-04l̃֝0Y44444405440(44?4440
0444044442~444     0<0044c's0<40석Z4Z4'04b02b,44|0P440E4D2b40,4444344#&N<'04N4@48)'044.Tľ04&[<'04446'044e04X04K!04444444490J4444<' 014D0-44|0$44k<'=0<0'&440444]044q44vO4g̃44X04ė̃ <̃44-04l̃֝0Y44444405440(44?4440
4s04f:Q44hA0440!4444604u4g̃0444404044q&a44d440X40S40P4u44445034̃?̃"4444O044&a44440 (404044444504̃̃4444
S0s44
&0<0#&00<040< ĝ0CSN440404044444)04̃4444v0440&>̃4404!4HOL4$444i50f4̃̃444410344&>̃440444444x&80"t4̃L̃4444504̃%Õ4444_0v44&F̃44#440D4U4444#8504,̃}̃4444
4s04f:Q44hA0440!4444604u4g̃0444404044q&a44d440X40S40P4u44445034̃?̃"4444O044&a44440 (404044444504̃̃4444
S0s44
&0<0#&00<040< ĝ0CSN440404044444)04̃4444v0440&>̃4404!4HOL4$444i50f4̃̃444410344&>̃440444444x&80"t4̃L̃4444504̃%Õ4444_0v44&F̃44#440D4U4444#8504,̃}̃4444
~0448&F44̃440&4޾OL4444i504ޕ̃̃4#4441	0b44ޡ44̃440;42004ݾ0+4ݱ4444   y04430<444'4b0$& 444Q444414Fb0c444'444UtgZ2b2b0@44\$$$0000%ĩ<0\0(44֝`4f4'hP0
4ܥݛ0<0
~0448&F44̃440&4޾OL4444i504ޕ̃̃4#4441	0b44ޡ44̃440;42004ݾ0+4ݱ4444   y04430<444'4b0$& 444Q444414Fb0c444'444UtgZ2b2b0@44\$$$0000%ĩ<0\0(44֝`4f4'hP0
4ܥݛ0<0
0<00<00<&0
s42  0
&Hk4&&0
Y4  0
Q4440
=4ۅ)440
)4h}0
"4۽0<0
0<00<00<&0
s42  0
&Hk4&&0
Y4  0
Q4440
=4ۅ)440
)4h}0
"4۽0<0
0<00<00<'֝
Ql(044ہ4404"߳044W44̃440k4*yv`0`44ԝ''4444S       0444ߌ4404:44 4444044\&*04ٗ4+444(ݦ=04m4444|0<00W44bl4u4؆0944ٯ;0-44]2'H044|4E44)Xį80
0<00<00<'֝
Ql(044ہ4404"߳044W44̃440k4*yv`0`44ԝ''4444S       0444ߌ4404:44 4444044\&*04ٗ4+444(ݦ=04m4444|0<00W44bl4u4؆0944ٯ;0-44]2'H044|4E44)Xį80
44؛,2p0
44؛,2p0
44*444]60
44*444]60
4ع4ݫ4ݣԣ4.94040
4ع4ݫ4ݣԣ4.94040
u44}0
u44}0
j4*2b0
j4*2b0
O44؎0
O44؎0
I4<4.0
I4<4.0
;44l&(0
;44l&(0
'4ԃ-94
'4ԃ-94
]4ג0
]4ג0

44z4٥/10<404ң2b̃2b0 *4*0        4444440$:8&$p4+4< 40      Z4!l44. 40 <40        944օ44+CS4D0     44&049        04֎044$$044֧4044֎044}.540/4,h444֝?4'404N0I44=0@440<&44D0<&04    4V044՚0<-,&440<0&04Ԭ4044=4m؝1VmCi2hAY)Sk%3ZNn+BQ.

44z4٥/10<404ң2b̃2b0 *4*0        4444440$:8&$p4+4< 40      Z4!l44. 40 <40        944օ44+CS4D0     44&049        04֎044$$044֧4044֎044}.540/4,h444֝?4'404N0I44=0@440<&44D0<&04    4V044՚0<-,&440<0&04Ԭ4044=4m؝1VmCi2hAY)Sk%3ZNn+BQ.
-e4'E0>4      jsr  equ  leas ,s** es sta1ckno_regx_regd_regs_elemaddressvalueindirectdirect fdb  pshs x pshs d,s++,u,ycnstbl+,pc.r,u,y,x tfr d,xldxleaxldd clraldbstbstd tfr d,x ldd ,xpushrpushscmpdcmpdlsrealeqrealgrrealnlrealnerealngrealeqsetnlset2nesetngsetinsetlsstreqstrgrstrnlstrnestrngst/xrnewline equ  opt pag org $0000sysfnsenterstartexitendjobnewlinenewrangeindexpointercasepushrpushscpyrcpysetbldsetaddrsubrmpyrmpydivrdivcpystrinitvtruncconvabsabsr30
-e4'E0>4      jsr  equ  leas ,s** es sta1ckno_regx_regd_regs_elemaddressvalueindirectdirect fdb  pshs x pshs d,s++,u,ycnstbl+,pc.r,u,y,x tfr d,xldxleaxldd clraldbstbstd tfr d,x ldd ,xpushrpushscmpdcmpdlsrealeqrealgrrealnlrealnerealngrealeqsetnlset2nesetngsetinsetlsstreqstrgrstrnlstrnestrngst/xrnewline equ  opt pag org $0000sysfnsenterstartexitendjobnewlinenewrangeindexpointercasepushrpushscpyrcpysetbldsetaddrsubrmpyrmpydivrdivcpystrinitvtruncconvabsabsr30
45Z&0S-%?0S30V1Z&0o0S&(a'`+0-$
0/y(D'C*F'$4(65'3+10+Ʉ_'0m&0. 4o5P&νH%}('* Ȁȟ$'&Ȋ'f030&; I&/ȓ'|"0."_Y&"0&$ &0.O:?o*5ȥ'ȑ'oȑ0S&_jS0WPȊȌȍȎȏ)ȥ'ȑ'&XAOȾȿ{|ħvwxyȢLuȭȩoȷ&ȱo0݆ 124 &9zln}&ȔOȾȿtjkħȢYZ[ȭ0ɯȺP#ȵ'0ȷ%9MO')+-o/9ȥ0o]m'+jȼ Jm'#Tȼm&\m&[MԮO֦'&>&'
45Z&0S-%?0S30V1Z&0o0S&(a'`+0-$
0/y(D'C*F'$4(65'3+10+Ʉ_'0m&0. 4o5P&νH%}('* Ȁȟ$'&Ȋ'f030&; I&/ȓ'|"0."_Y&"0&$ &0.O:?o*5ȥ'ȑ'oȑ0S&_jS0WPȊȌȍȎȏ)ȥ'ȑ'&XAOȾȿ{|ħvwxyȢLuȭȩoȷ&ȱo0݆ 124 &9zln}&ȔOȾȿtjkħȢYZ[ȭ0ɯȺP#ȵ'0ȷ%9MO')+-o/9ȥ0o]m'+jȼ Jm'#Tȼm&\m&[MԮO֦'&>&'


m&mȢ'
m&mȢ'
m'*$4ئ&m&|ȣ&u9"K #I ɮȥ0]m'!+jm&Ȗ0Ȗȼ Jm'"ȼMԮOm&Ȗ0Ȗȼm&om&n'%'c ܦ+ʀ&c'O'(*&
m'*$4ئ&m&|ȣ&u9"K #I ɮȥ0]m'!+jm&Ȗ0Ȗȼ Jm'"ȼMԮOm&Ȗ0Ȗȼm&om&n'%'c ܦ+ʀ&c'O'(*&
'&     lT'
& !p "n''\''P'^'       &oȦȕ&'' &oȕT45Tȕ& -m&mȢ'
'&     lT'
& !p "n''\''P'^'       &oȦȕ&'' &oȕT45Tȕ& -m&mȢ'
m'*"ئ&m&ȣ'90v_0'x'0x0(&+0)OO$M0MMNO%
&S&mȘ'  ș'8 9&mȘ'ș'Ț%ɦț%æȜ%
&''v'
'0*T^Z&9ȹL0GR0W§ȧ$%$OT^z̧bcŧܧݮȀdhfG
'7*&o '&Z&#Ӧ
' 'm&'oůd 0.&%0__B'S'\W'\L'0  !'4 1_5 'l9#_0 G"?'!__A'B&\\ '
&zh&9f0
&90
' &90 '
9OGHIJͧƧpç0ܯfK֦0('0+
'
m'*"ئ&m&ȣ'90v_0'x'0x0(&+0)OO$M0MMNO%
&S&mȘ'  ș'8 9&mȘ'ș'Ț%ɦț%æȜ%
&''v'
'0*T^Z&9ȹL0GR0W§ȧ$%$OT^z̧bcŧܧݮȀdhfG
'7*&o '&Z&#Ӧ
' 'm&'oůd 0.&%0__B'S'\W'\L'0  !'4 1_5 'l9#_0 G"?'!__A'B&\\ '
&zh&9f0
&90
' &90 '
9OGHIJͧƧpç0ܯfK֦0('0+
'
0,_&;W& Z
0,_&;W& Z
X&ZY&Z')Z&    Z' [':X:&m'e9:QTDD^      #%#-#4,oT1Z&^ #%#-" 0'ܦ^H00m'9mT'G$
 cMOn  &#   `^m'9̦' &om&دl턯0fooR '0 '>"'D',' ooo ȯ%0&s91!"'
'  b   
X&ZY&Z')Z&    Z' [':X:&m'e9:QTDD^      #%#-#4,oT1Z&^ #%#-" 0'ܦ^H00m'9mT'G$
 cMOn  &#   `^m'9̦' &om&دl턯0fooR '0 '>"'D',' ooo ȯ%0&s91!"'
'  b   
PѦ4'<&0&4''&<'/';
'< V@<,_'@ ;Nho=< N`o54 F D4,%'!SF0&><&74
PѦ4'<&0&4''&<'/';
'< V@<,_'@ ;Nho=< N`o54 F D4,%'!SF0&><&74
&0m&+m8&&m9&!m;+O:&QЦ;<+'<@XX=DVDVh??00' '<'E4
&0m&+m8&&m9&!m;+O:&QЦ;<+'<@XX=DVDVh??00' '<'E4
'{<'('Ǧ
4&
'{<'('Ǧ
4&
<+L'H;3?qd0'''Ҧ4
<+L'H;3?qd0'''Ҧ4
&˦89:&;'"Q':89:&/;'*"&7Q<*'04<*' <&4&Q1<ͦ'@&o0<*c' H&o0L<*J'{n &g4' 1<t<'
&˦89:&;'"Q':89:&/;'*"&7Q<*'04<*' <&4&Q1<ͦ'@&o0<*c' H&o0L<*J'{n &g4' 1<t<'
I "HYIZIGGMCOE '60'
I "HYIZIGGMCOE '60'
&"t&o'  
 K     J&>R&^'
&"t&o'  
 K     J&>R&^'
$IIJ1<<
$IIJ1<<
'BC14îK,'(Q^<)R'0'l0K1<4&
'BC14îK,'(Q^<)R'0'l0K1<4&
  
  
&';/;7<&&  d  4
&';/;7<&&  d  4
''W Qo0<(''2<('%צ4
''W Qo0<(''2<('%צ4
'T&'<('/ *<&(u'q 'ۦ<(\'Φ' (Q<(:'<_
'\'09UHH'&o04<'&& &P4''=<'314N'"4'၀&0&@
'T&'<('/ *<&(u'q 'ۦ<(\'Φ' (Q<(:'<_
'\'09UHH'&o04<'&& &P4''=<'314N'"4'၀&0&@
4'
d4<&'- &/& &ኈ         &
9  
TT4'
<
4'
d4<&'- &/& &ኈ         &
9  
TT4'
<
'
0,1<M<&'
a &/1<-<
'
0,1<M<&'
a &/1<-<
'KC+AM*8l'A<'

?&o<&}'0'&
'KC+AM*8l'A<'

?&o<&}'0'&
B'l?0&D0<&K 00<'	'4'B}Cw81<Y<%'m,&&xM1<6<<'; %&b /E *1<#IM<%'
B'l?0&D0<&K 00<'	'4'B}Cw81<Y<%'m,&&xM1<6<<'; %&b /E *1<#IM<%'
<'0& &@LMoMoLK'/'<-'>_A'D'LL0K9MM0K90K ' h_A'D' ZN{OOLON.#S_D&LL A'G "MM 0K/&0KC8'0-&K9K怯K,'9]'DZ 94
<'0& &@LMoMoLK'/'<-'>_A'D'LL0K9MM0K90K ' h_A'D' ZN{OOLON.#S_D&LL A'G "MM 0K/&0KC8'0-&K9K怯K,'9]'DZ 94
590*9#9O    Z'hLF L   Z'hMF LLM9K_D'A&,'/'-&O997H9?97 ? 0FFF 14((0&9O0'Z'8E9?:9;39<
''%|'n      ''(
590*9#9O    Z'hLF L   Z'hMF LLM9K_D'A&,'/'-&O997H9?97 ? 0FFF 14((0&9O0'Z'8E9?:9;39<
''%|'n      ''(
'K'&C@GBI,'
'K'&C@GBI,'
-> B@GBIm&0'CG$ ?& 0'&@ABC=HHH9OTOIMGAYC[BIBI@HG@G>&'     h B'&B>B 1<14K,&)0K1<K   |2IG 'Y       q&vK(& &iHP'^0&3H C.'m&G& K L'G'̷ ̷H H'&       &K '
'
-> B@GBIm&0'CG$ ?& 0'&@ABC=HHH9OTOIMGAYC[BIBI@HG@G>&'     h B'&B>B 1<14K,&)0K1<K   |2IG 'Y       q&vK(& &iHP'^0&3H C.'m&G& K L'G'̷ ̷H H'&       &K '
'
,'2 )2G$I&HDDDD!I"#9"$&9m'0'G$
MO0֯K
'Y$'-'(''v''GFH?I8J1Ȃ'K,&0K '        O0L14 '&lƧT֯دگ9o14'#
&K0l1KȂ' 0K'%X1&M'4'oȂ'hZ&K,&N0KxK_섄__0K'014 &
,'2 )2G$I&HDDDD!I"#9"$&9m'0'G$
MO0֯K
'Y$'-'(''v''GFH?I8J1Ȃ'K,&0K '        O0L14 '&lƧT֯دگ9o14'#
&K0l1KȂ' 0K'%X1&M'4'oȂ'hZ&K,&N0KxK_섄__0K'014 &
&45&&mȌ'405K&K,'9]'+oȦ''fȀ'&
I0{o9/''M+O-
&45&&mȌ'405K&K,'9]'+oȦ''fȀ'&
I0{o9/''M+O-
M'O)'%K!&&
M'O)'%K!&&
'G) +G-I GMԮIO֦/9bG$[9Ŧ&XGpI
'G) +G-I GMԮIO֦/9bG$[9Ŧ&XGpI
֦^&**
֦^&**
94ĮfȀ'IțGșlȘ9]'Bo0Ȇ0ݦ^&02Ȇ0K
'      1!Ȇ&K Ȇ' 9m'&0'!G$MO0hJiIiHiGZ&IOOGNMM9om&Ȣ&د    '`03ZXX:`^_bȝ4f@-5%3ȝ@3&&oolȢ9Oŧc&oZ&01W`%_Z&m]&0p'$ȫ&01WZ&턆9P @* oom'+'&ojP&9
ooU&$d,'+'I&I&9l9I' †#^&I& tI&&K0Ko+'-&
94ĮfȀ'IțGșlȘ9]'Bo0Ȇ0ݦ^&02Ȇ0K
'      1!Ȇ&K Ȇ' 9m'&0'!G$MO0hJiIiHiGZ&IOOGNMM9om&Ȣ&د    '`03ZXX:`^_bȝ4f@-5%3ȝ@3&&oolȢ9Oŧc&oZ&01W`%_Z&m]&0p'$ȫ&01WZ&턆9P @* oom'+'&ojP&9
ooU&$d,'+'I&I&9l9I' †#^&I& tI&&K0Ko+'-&
0Kl&I&J'4&40'Z&  \'Z&''
&@0M9oom'oom'jn
1K$''KEKJȂ'9 (怦4'
&K0Ȃ' 0,'K0 K]'P'HfȀ'	&J'	X&'Z&K,' 0KJu%#
oo099fȀ'#zI'	!oIoJJȾoȿGԮI9OCȿ9ooņ,҆ ӮK
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
&	Ӂ & :,&	 '/,1!4' #n'ӄ,&M'	 	
&M&lJ  '4&
K&1?K!=oom&9]'&
loȮv0v0K
'0 K9
E9
WI&J'+
;9oo
,' 
 I&J9o'j'm'9'
'&90*80 '
'&90"0ZX004Nq5ŧT    46569m]' v1!vL&9&99m]'&m' x1!xL&9&99'9OGHIJ0Kf/&&oGoHoI oJnG"IK?&O9+'&&
0K'
 |'90K' ׍9'섁=' <&
0Kl&I&J'4&40'Z&  \'Z&''
&@0M9oom'oom'jn
1K$''KEKJȂ'9 (怦4'
&K0Ȃ' 0,'K0 K]'P'HfȀ'	&J'	X&'Z&K,' 0KJu%#
oo099fȀ'#zI'	!oIoJJȾoȿGԮI9OCȿ9ooņ,҆ ӮK
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
&	Ӂ & :,&	 '/,1!4' #n'ӄ,&M'	 	
&M&lJ  '4&
K&1?K!=oom&9]'&
loȮv0v0K
'0 K9
E9
WI&J'+
;9oo
,' 
 I&J9o'j'm'9'
'&90*80 '
'&90"0ZX004Nq5ŧT    46569m]' v1!vL&9&99m]'&m' x1!xL&9&99'9OGHIJ0Kf/&&oGoHoI oJnG"IK?&O9+'&&
0K'
 |'90K' ׍9'섁=' <&
>&
>&
@0 >&4'=&00K4 5' ɍ&'-&
0K' +&0K' ܍&'*&
0K' /&0K' ܍!'ͦ<'>&&0K4       5'!n ᦄ-&0K'+&0K !&0K)'/&'9&(&"0K'름)&0K9'Z&bo9*&CE0K$',%'/@'2'&0''
'
@0 >&4'=&00K4 5' ɍ&'-&
0K' +&0K' ܍&'*&
0K' /&0K' ܍!'ͦ<'>&&0K4       5'!n ᦄ-&0K'+&0K !&0K)'/&'9&(&"0K'름)&0K9'Z&bo9*&CE0K$',%'/@'2'&0''
'
F  0 0 0Kp9+ ':Z&7xKOKH+*C
F  0 0 0Kp9+ ':Z&7xKOKH+*C
E" ˆͧ]&C Ko9oGoHoIoJK9G0IK9C0E 0C
E" ˆͧ]&C Ko9oGoHoIoJK9G0IK9C0E 0C
EGI90%9#A%Z#_'
a%z#_999EIICHGG     ~_A0_ F$4
EGI90%9#A%Z#_'
a%z#_999EIICHGG     ~_A0_ F$4
5dfffffffZ&Y j_ACGCG#EIEI!0_4IHGIF%IGiiiiiiii5Z&IEFIGCDGIEFIGCD ccccK9oȒ<'Ȓ̮E'mȒ&
5dfffffffZ&Y j_ACGCG#EIEI!0_4IHGIF%IGiiiiiiii5Z&IEFIGCDGIEFIGCD ccccK9oȒ<'Ȓ̮E'mȒ&
hJiIiHiG dGfHfIfJ0&4IE5<&%- (Z&'$ Z&" Z&!# 
Z&&   $O $I^:$
hJiIiHiG dGfHfIfJ0&4IE5<&%- (Z&'$ Z&" Z&!# 
Z&&   $O $I^:$
96$14C_EA31EAECĩ_C!5OEECC0 9oCoDoEoF9hFiEiDiC9覄a%_G***
96$14C_EA31EAECĩ_C!5OEECC0 9oCoDoEoF9hFiEiDiC9覄a%_G***
+ٍ׫FF0 90+"FiFiEiDiC0 鍨0+ށ"ڍFF0 ꍐFK9'E&?1֦T1"'1T0oT'Z&4 %5 mȕ&      o9m_>' m'>.!'dL&
+ٍ׫FF0 90+"FiFiEiDiC0 鍨0+ށ"ڍFF0 ꍐFK9'E&?1֦T1"'1T0oT'Z&4 %5 mȕ&      o9m_>' m'>.!'dL&
dysm!'>ATR;NLY&['"}j!YCZ>[9oYoZo[     ! 4]'       ܭj!Z&59T& \4j!j#!59ȕ&m' \0Ȗu(R_*&'V '` X\?%tOmz'jA\c'=mb& 1\%+K$ - C' \%
'      0 2b9
' '0\ 0&945 mȔ'$uLuۮ"o9ō۴4    5۩DDDD@$90Zȵ0܍h0'14'kZ&c܆5ȷ'Z& 4:5ܬȷ&0֯Ȉȵ Ȉ0ȈȆȄȄȆ4#o%04 '%144&0144Ȇ4 Ȅ5%4 Ȅ$  Ȅ3% /Ȅ Ȇ$  !ȆȆȄȆ$ 0֬Ȉ'c94Ȉ(Ȉ59ȷ15ȵ'04 &䦤'(1,9&
dysm!'>ATR;NLY&['"}j!YCZ>[9oYoZo[     ! 4]'       ܭj!Z&59T& \4j!j#!59ȕ&m' \0Ȗu(R_*&'V '` X\?%tOmz'jA\c'=mb& 1\%+K$ - C' \%
'      0 2b9
' '0\ 0&945 mȔ'$uLuۮ"o9ō۴4    5۩DDDD@$90Zȵ0܍h0'14'kZ&c܆5ȷ'Z& 4:5ܬȷ&0֯Ȉȵ Ȉ0ȈȆȄȄȆ4#o%04 '%144&0144Ȇ4 Ȅ5%4 Ȅ$  Ȅ3% /Ȅ Ȇ$  !ȆȆȄȆ$ 0֬Ȉ'c94Ȉ(Ȉ59ȷ15ȵ'04 &䦤'(1,9&
4 '14 !!"" 94愦砧5Z&014940&Z&5094&0
4 '14 !!"" 94愦砧5Z&014940&Z&5094&0
{0{}&Ȕ4Ou'Z&&p0цȡ& 0oȝ	"ٗ	"ٍX-مN-){D0	0{m '0y~{ǧ5595982Ȟ0ȝ_.RoŦ&Om]&'ȳ&0	z
&R'&$j&ȳ'o l&'`o9ȩm'섄W&Y&[&90ȫ%݆9ȩ'0ȫ%9*0\& &'
&09|&&01!1$m'J+ 1"' 1? RoŦ&-u'&l &&m&lo9&m'j (Pm*m'j m*ׁ&l ́&m'j olM4O45O5+Mj^&b '''''!&K9o0'0ү9jȢ'+Ȣ03ZXX:^@	&]"o گ94T$OONNMM59)@z'hfKoz9T0094T'
lT54595l 1,'	 '
'M9J+G&I9,G&IC9I+G9G9OONN$lM9om'2b9&o9'
oGoHoIoJ}9
''+&9+& 99IEIGDCGI*0F94섣IF9%U#hUYIhUYIhUYI4U%U5$#hUYI4&$%#5%90oV#%-&lV?DGVDȵȷ"9ʦ';&
{0{}&Ȕ4Ou'Z&&p0цȡ& 0oȝ	"ٗ	"ٍX-مN-){D0	0{m '0y~{ǧ5595982Ȟ0ȝ_.RoŦ&Om]&'ȳ&0	z
&R'&$j&ȳ'o l&'`o9ȩm'섄W&Y&[&90ȫ%݆9ȩ'0ȫ%9*0\& &'
&09|&&01!1$m'J+ 1"' 1? RoŦ&-u'&l &&m&lo9&m'j (Pm*m'j m*ׁ&l ́&m'j olM4O45O5+Mj^&b '''''!&K9o0'0ү9jȢ'+Ȣ03ZXX:^@	&]"o گ94T$OONNMM59)@z'hfKoz9T0094T'
lT54595l 1,'	 '
'M9J+G&I9,G&IC9I+G9G9OONN$lM9om'2b9&o9'
oGoHoIoJ}9
''+&9+& 99IEIGDCGI*0F94섣IF9%U#hUYIhUYIhUYI4U%U5$#hUYI4&$%#5%90oV#%-&lV?DGVDȵȷ"9ʦ';&
9ΦV(&
9ΦV(&
9&!&&&9+ ['
'hV(&9O9  WY[9  o9*%  .&2bO909Ԭl&֬n'Tt&ԯp֯r1lt4t#a05J&'A1'7lt t"94(50ɀ,t'J&MlOn9t'4ot0ɯ1mq'1      Vmq'L2q'+r&s!Orrqq5/Z&C4ʧʦ5oʦZ&9ȥ00'ȧ% ȑȥ'
&ȣ9Ȅo0SȢ'@' {
& ~#m'^-oA%VZ"_A%LC"H1?Ȅ'\&& 41!@ȟ00Z'
'',& 즀
'',' &&r'!90mȊ'ȝ0'ݮȝ9BLSGTNYDWPLISNOLSYMNOSGENNOGWRNNOWCONNOCMAC-NOMEXPNOEPAGNOP.y......//(/D/U/d/l/v//////0004***   ERROR(S) DETECTED** WARNING!  WARNING(S) R1EPORTEDSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL. LABELILLEGAL OPERANDRELATIVE BRANCH OR ADDRESS TOO LONGSYNTAX ERRORILLEGAL ADDRESSING CATEGORYILLEGAL CONSTANTILLEGAL OPTIONOPERA2ND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSODD ADDRESS/ZERO DISPLACEMENT ON SHORT BRANCHPHASING ERRORFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDILLOGICAL FORCING IGNORED TSC 68000 ASMB  PA3GELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FI0LEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT MEMORY
9&!&&&9+ ['
'hV(&9O9  WY[9  o9*%  .&2bO909Ԭl&֬n'Tt&ԯp֯r1lt4t#a05J&'A1'7lt t"94(50ɀ,t'J&MlOn9t'4ot0ɯ1mq'1      Vmq'L2q'+r&s!Orrqq5/Z&C4ʧʦ5oʦZ&9ȥ00'ȧ% ȑȥ'
&ȣ9Ȅo0SȢ'@' {
& ~#m'^-oA%VZ"_A%LC"H1?Ȅ'\&& 41!@ȟ00Z'
'',& 즀
'',' &&r'!90mȊ'ȝ0'ݮȝ9BLSGTNYDWPLISNOLSYMNOSGENNOGWRNNOWCONNOCMAC-NOMEXPNOEPAGNOP.y......//(/D/U/d/l/v//////0004***   ERROR(S) DETECTED** WARNING!  WARNING(S) R1EPORTEDSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL. LABELILLEGAL OPERANDRELATIVE BRANCH OR ADDRESS TOO LONGSYNTAX ERRORILLEGAL ADDRESSING CATEGORYILLEGAL CONSTANTILLEGAL OPTIONOPERA2ND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSODD ADDRESS/ZERO DISPLACEMENT ON SHORT BRANCHPHASING ERRORFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDILLOGICAL FORCING IGNORED TSC 68000 ASMB  PA3GELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FI0LEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT MEMORY


S1
S2


S1
S2
F
F
Nls
}
HNV7/oDVn23Vo@V4@G
^AND!OR !EOR!
Nls
}
HNV7/oDVn23Vo@V4@G
^AND!OR !EOR!
ASRCMPCLRBNEGDNOTF1PEAH@TSTJTASJASLLSRLSLRORROLBRA`BSRaBEQgBNEfBPLjBMIkBGTnBLTmBGElBLEoBHIbBLScBCSeBCCdBVSiBVChDBFQD5BTPLEAAADDPSUBQCHKAEXTHEXG@JSRNJMPNSCCTSCSUSEQW2SF QSGE\SGT^SHIRSLE_SLSSSLT]SMI[SNEVSPLZST PSVCXSVSYNOPNqRTENsRTRNwRTSNuFCB(FDB,FQB,DC ,OPT0PAG4ORG8EQU<END@TTLDNAMDR6MBHDS HLIBLIF XIFNXFCCdSPChREGlSETtIFC|ERRRPT3DUPMOVE	pADDX$SUBX$ABCD$SBCD$MULUMULSDIVUDIVSSWAPH@UNLKNXLINKNPBCHG@@BCLRBSETBTSTNEGX@NBCDHROXRROXLSTOPNr7TRAPN@ILGLJDBCCTDBCSUDBEQWDBGE\DBGT^DBHIRDBLE_4DBLSSDBLT]DBMI[DBNEVDBPLZDBRAQDBVCXDBVSYELSE\EVENENDMTSTTLxIFNC|ENDDPORG8VORG8MOVEMHMACROPENDIF`SETDPpEXITMMOVEPRESETNpTRAPVN8voJoKKD1FOFF'a%z5p"_PP'	FD Ҧ+ ݁&
KF>HO9&0%"J ҁ&0%"K ,' '
&FK>HIJhKhKhKhKKIO99#DA!(A)2      -(A)D        (A)+S(A,D)9v
(A,D.W)v
(A,D.L)v(A,A)v
(A,A6`.W)v
(A,A.L)v(PC,D)
(PC,D.W)
(PC,D.L)(PC,A)
(PC,A.W)
(PC,A.L)(PC)CCRSRUSPPUSHDPULLS0
ASRCMPCLRBNEGDNOTF1PEAH@TSTJTASJASLLSRLSLRORROLBRA`BSRaBEQgBNEfBPLjBMIkBGTnBLTmBGElBLEoBHIbBLScBCSeBCCdBVSiBVChDBFQD5BTPLEAAADDPSUBQCHKAEXTHEXG@JSRNJMPNSCCTSCSUSEQW2SF QSGE\SGT^SHIRSLE_SLSSSLT]SMI[SNEVSPLZST PSVCXSVSYNOPNqRTENsRTRNwRTSNuFCB(FDB,FQB,DC ,OPT0PAG4ORG8EQU<END@TTLDNAMDR6MBHDS HLIBLIF XIFNXFCCdSPChREGlSETtIFC|ERRRPT3DUPMOVE	pADDX$SUBX$ABCD$SBCD$MULUMULSDIVUDIVSSWAPH@UNLKNXLINKNPBCHG@@BCLRBSETBTSTNEGX@NBCDHROXRROXLSTOPNr7TRAPN@ILGLJDBCCTDBCSUDBEQWDBGE\DBGT^DBHIRDBLE_4DBLSSDBLT]DBMI[DBNEVDBPLZDBRAQDBVCXDBVSYELSE\EVENENDMTSTTLxIFNC|ENDDPORG8VORG8MOVEMHMACROPENDIF`SETDPpEXITMMOVEPRESETNpTRAPVN8voJoKKD1FOFF'a%z5p"_PP'	FD Ҧ+ ݁&
KF>HO9&0%"J ҁ&0%"K ,' '
&FK>HIJhKhKhKhKKIO99#DA!(A)2      -(A)D        (A)+S(A,D)9v
(A,D.W)v
(A,D.L)v(A,A)v
(A,A6`.W)v
(A,A.L)v(PC,D)
(PC,D.W)
(PC,D.L)(PC,A)
(PC,A.W)
(PC,A.L)(PC)CCRSRUSPPUSHDPULLS0
:'O99????\ COPYRIGHT (C) 1979 BY TECHNICAL SYSTEMS CONSULTANTS, INC. BOX 2574, W.LAFAYETTE, IN 47906<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷY&M&0,ίȣJȵJ$0&ÀDVDVJDVJJ@#@DVJJ@ ȵȳȱJȧJȥJDVDVDVJȧȩȫJȭȯ901ȣ
:'O99????\ COPYRIGHT (C) 1979 BY TECHNICAL SYSTEMS CONSULTANTS, INC. BOX 2574, W.LAFAYETTE, IN 47906<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷY&M&0,ίȣJȵJ$0&ÀDVDVJDVJJ@#@DVJJ@ ȵȳȱJȧJȥJDVDVDVJȧȩȫJȭȯ901ȣ
45Z&0-%?0301FZ&0Co0&e'`+0C-$
0%H'C*F'$4:5'3+10#_'0m&0% 4o5P&νH%)'* Ȁȝ0&Ȋ'l0COm7&30C&; I&/ȓ'|"0%c"_Y&"0CLĄ&$ &0%+4?w!}ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3!$ȣ'ȑ'&?+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠȫI0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥm?&@mP&@D'Oȿ&BmB&mȠ'
45Z&0-%?0301FZ&0Co0&e'`+0C-$
0%H'C*F'$4:5'3+10#_'0m&0% 4o5P&νH%)'* Ȁȝ0&Ȋ'l0COm7&30C&; I&/ȓ'|"0%c"_Y&"0CLĄ&$ &0%+4?w!}ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3!$ȣ'ȑ'&?+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠȫI0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥm?&@mP&@D'Oȿ&BmB&mȠ'
mȾ'*֮Ԧ&
mȾ'*֮Ԧ&
mB&ȡ&92  Ϯȣ0XmȾ' +jȾmB&Ȗ0ȖȺ ȾĄJȾmB'uȺBmB&Ȗ0ȖȺm?&mP&D'-' !ئ*B'66 ʀȿ&Φ'O'   *m6+'
mB&ȡ&92  Ϯȣ0XmȾ' +jȾmB&Ȗ0ȖȺ ȾĄJȾmB'uȺBmB&Ȗ0ȖȺm?&mP&D'-' !ئ*B'66 ʀȿ&Φ'O'   *m6+'
6''3''4'&r\> P','X?'-'NB'Y'.&oƦȕ5&'+' +&oȕ4K55ȕ&mB&mȠ'
6''3''4'&r\> P','X?'-'NB'Y'.&oƦȕ5&'+' +&oȕ4K55ȕ&mB&mȠ'
mȾ'*IԦ&mB&ȡ'9otȐ'L0"_)0?ʮ$'0$ 0H+&0!B0BB̦CǦ3'S׆90ʦ'N4' PȘ'2ș,Ț&oo/'+'P1'1'0!+0:Z&9ȷL0^0RSȿƧ OY&ʧR§اٮȀ^
'1*& '#Z&
Φ
'z '
m?&
wx'doȿ       S'4 1X5 'lR?#_0 ߯^R"R?'!__A'B&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 \'0"΁'0%U'8RR& ZS&ZT&Z'&U&  Z'V'R::&m?'
mȾ'*IԦ&mB&ȡ'9otȐ'L0"_)0?ʮ$'0$ 0H+&0!B0BB̦CǦ3'S׆90ʦ'N4' PȘ'2ș,Ț&oo/'+'P1'1'0!+0:Z&9ȷL0^0RSȿƧ OY&ʧR§اٮȀ^
'1*& '#Z&
Φ
'z '
m?&
wx'doȿ       S'4 1X5 'lR?#_0 ߯^R"R?'!__A'B&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 \'0"΁'0%U'8RR& ZS&ZT&Z'&U&  Z'V'R::&m?'
O9R:\DDY  #jl1ܦZ&Y	#0YH0t0m?'9n[&XYm?'9EӦB'. -&omB&ԯClBI@턯@E0IG5IKoo '0 5';G"'A''=',' 5    0įGoMooKMK Iȭ%0]?91!'
'ħ  '%-XXXXݦ,& %,'*SĈ&OX'0%^'܁5" 4'Ѧ_Ħ#'     Ć
O9R:\DDY  #jl1ܦZ&Y	#0YH0t0m?'9n[&XYm?'9EӦB'. -&omB&ԯClBI@턯@E0IG5IKoo '0 5';G"'A''=',' 5    0įGoMooKMK Iȭ%0]?91!'
'ħ  '%-XXXXݦ,& %,'*SĈ&OX'0%^'܁5" 4'Ѧ_Ħ#'     Ć
 0ĦX'߁'''&^| ^'
 0ĦX'߁'''&^| ^'
'
'
_g:EX'
_g:EX'
&
&
\܁ $\OB0^܁ $F& :'
\܁ $\OB0^܁ $F& :'
EO &'Z&
EO &'Z&
Z'S@ LZ& 7ӮĦ#&,
Z'S@ LZ& 7ӮĦ#&,
ׄ5&&'݁'       Z'Ӌ@ Oͧϧ̆ήĦ<&	0 >&0[&0_A& B& D&
,&(0,&-&&&&        Ħ,&m']'|ā'    ]Z&y܄0'pĦȽ&.+)&&"^ȼ&׀`$ڦ^ȼ'9O       3Ł~'&^țOB0^&&ʮț^^_e0-''2'0=0-&     0-&@0& i&+&^O0+&R0 I&]'<Į^ڦ+OB0^&&'گ^OB0^cĦ'΄
':]&40ΊΦ&#'_ 
΄&*^_&'? 8O
Ć^+j&M&c΄'?^_&Ħ`3΄&"_^'SC&&΄`Φ_Χ @&
ׄ5&&'݁'       Z'Ӌ@ Oͧϧ̆ήĦ<&	0 >&0[&0_A& B& D&
,&(0,&-&&&&        Ħ,&m']'|ā'    ]Z&y܄0'pĦȽ&.+)&&"^ȼ&׀`$ڦ^ȼ'9O       3Ł~'&^țOB0^&&ʮț^^_e0-''2'0=0-&     0-&@0& i&+&^O0+&R0 I&]'<Į^ڦ+OB0^&&'گ^OB0^cĦ'΄
':]&40ΊΦ&#'_ 
΄&*^_&'? 8O
Ć^+j&M&c΄'?^_&Ħ`3΄&"_^'SC&&΄`Φ_Χ @&
Ħ' F$Oa lίĦ^   _0KtY
Ħ' F$Oa lίĦ^   _0KtY
'^_Ȃ'
Ħ,&0 '   O0L1K4 '&lçKܮM9Ħ_5섄__0á'014 &
'^_Ȃ'
Ħ,&0 '   O0L1K4 '&lçKܮM9Ħ_5섄__0á'014 &
&455&+&mȌ'405Ħ&ā,'9X'*QoƦ1'+'Ȁ'&
}^0'o9'h4^B9m6+o69¦D&A^m'Y&**
&455&+&mȌ'405Ħ&ā,'9X'*QoƦ1'+'Ȁ'&
}^0'o9'h4^B9m6+o69¦D&A^m'Y&**
9ɆȀ'^șlȘ9X'Bo0Ȇ0Y&0Ȇ0Ħ
'       1!Ȇ&PįĆ Ȇ' 9y^BB9oȾVmB&Ƞ&ԯ     '`0ZXX:^_bț4@-5%3ț@3&&oolȠ9sOȾ§D&mX&      B+oZ&0D1R`%_Z&
'"ȩ&0{]1RZ&=턆?9ioȾo:hmB'$-'.&ojB@I@&C9
2oȾo&*B&",'+E' !&^&P9lO9^' #Y&^& l^&B&ٮ0o5+'
9ɆȀ'^șlȘ9X'Bo0Ȇ0Y&0Ȇ0Ħ
'       1!Ȇ&PįĆ Ȇ' 9y^BB9oȾVmB&Ƞ&ԯ     '`0ZXX:^_bț4@-5%3ț@3&&oolȠ9sOȾ§D&mX&      B+oZ&0D1R`%_Z&
'"ȩ&0{]1RZ&=턆?9ioȾo:hmB'$-'.&ojB@I@&C9
2oȾo&*B&",'+E' !&^&P9lO9^' #Y&^& l^&B&ٮ0o5+'
-&    50Ħ5&Ȧ^&_'/@5&0'Z&  \'Z&E@E''
&0M9oȾomO'PoȾomO'jOT
:1KĦ$''%4 ~5 Ħ_'@ /Ȃ9怦4'
&0' 0,'0 X'U'PϦ+'HȀ' &_'ۦ&'Z&Ħ,' 0ߦ_!%#
-&    50Ħ5&Ȧ^&_'/@5&0'Z&  \'Z&E@E''
&0M9oȾomO'PoȾomO'jOT
:1KĦ$''%4 ~5 Ħ_'@ /Ȃ9怦4'
&0' 0,'0 X'U'PϦ+'HȀ' &_'ۦ&'Z&Ħ,' 0ߦ_!%#
oo9¦D&sX'0
$`[f9ZȀ'^'	;o^o__ȼoȽ^9OCȽ9oȾo†,І ѮĦ
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
& с & :,&     '/,1$!4' #'ф,&M'          
&M&l_ '4&&1?!0oȾomB&
oo9¦D&sX'0
$`[f9ZȀ'^'	;o^o__ȼoȽ^9OCȽ9oȾo†,І ѮĦ
'v"''&0
'a&,',&R1!
'
"''&1!'; &,'+'G
& с & :,&     '/,1$!4' #'ф,&M'          
&M&l_ '4&&1?!0oȾomB&
P9X'+'&
7oƮ"0"0DĦ
'0 9
T
 ^&_'+Ⱦ
9oȾoB'
@į; ^&_:9oȾƦ:'j:'
mB'@;9^BB^#9O_9'
'&90w0 '
'&90V0ZX0d0>ܧݧħߧ†
P9X'+'&
7oƮ"0"0DĦ
'0 9
T
 ^&_'+Ⱦ
9oȾoB'
@į; ^&_:9oȾƦ:'j:'
mB'@;9^BB^#9O_9'
'&90w0 '
'&90V0ZX0d0>ܧݧħߧ†
mX' "1!"L&9&99mX'%m2' $1!$L&9&99
mX' "1!"L&9&99mX'%m2' $1!$L&9&99
'9O^_UV0WWį &V&o^o_|W^Ħ&O9*'&&
0č's |'pU90č'l ؍9'섁=' <&
'9O^_UV0WWį &V&o^o_|W^Ħ&O9*'&&
0č's |'pU90č'l ؍9'섁=' <&
>&
>&
@0 >&4'=&004 5'j ɍ&'-&
0č' +&0č' ܍&'*&
0č' /&0č' ܍!'ͦ<'>&&04   5' ᦄ-&04ٍ'++&0 !&0)'$'9q&(&!0'즄)&0ħU9'Z&CoU9*&
@0 >&4'=&004 5'j ɍ&'-&
0č' +&0č' ܍&'*&
0č' /&0č' ܍!'ͦ<'>&&04   5' ᦄ-&04ٍ'++&0 !&0)'$'9q&(&!0'즄)&0ħU9'Z&CoU9*&
0$'%'@''&0O 0 0 0č^9 i'4Z&1o\o]
0$'%'@''&0O 0 0 0č^9 i'4Z&1o\o]
+
*ˮį\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^90%9#A%Z#_'
a%z#_999\^ \0^      Z0ZF$
+
*ˮį\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^90%9#A%Z#_'
a%z#_999\^ \0^      Z0ZF$
45dfffZ&^yZ\^\^0Z4^    \%^iiii5Z&^AQ^\]^3C^\] Wcc9oȒ<'Ȓ$\'^mȒ&XI DV0& 4^\5<&%- (Z&'$ Z&" Z&# 
Z&&  $O x:$
45dfffZ&^yZ\^\^0Z4^    \%^iiii5Z&^AQ^\]^3C^\] Wcc9oȒ<'Ȓ$\'^mȒ&XI DV0& 4^\5<&%- (Z&'$ Z&" Z&# 
Z&&  $O x:$
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]97'G0'B1K1'30o'iZ&4 5 mȕ&Dƍ    o9_צ2' m'>Ȇm8&J'~L&
J#dtKY&'
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]97'G0'B1K1'30o'iZ&4 5 mȕ&Dƍ    o9_צ2' m'>Ȇm8&J'~L&
J#dtKY&'
''&[mWiY';M 7K&UK ;7IK '0'0 &!3Y&m8'&J ^B)% 4]'jJZ&59& \j4jJjJ59ȕ&mB'
''&[mWiY';M 7K&UK ;7IK '0'0 &!3Y&m8'&J ^B)% 4]'jJZ&59& \j4jJjJ59ȕ&mB'
\0Ȗ_*'V '` \%WOm&'M\F'=m& \%+$ - &' \f%
'  p0 2b9
' '\0\ T0&945 mȔ'$!L!"o9ƍ 4        5DDDD@9'd0Vȳ0؍̮0'-4Z&ʦ0؆5ȵ'Z& 4:5جȵ&0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94Ȉ큯TĈ59ȵ19ȳ'04 &䦤'(1(9&
\0Ȗ_*'V '` \%WOm&'M\F'=m& \%+$ - &' \f%
'  p0 2b9
' '\0\ T0&945 mȔ'$!L!"o9ƍ 4        5DDDD@9'd0Vȳ0؍̮0'-4Z&ʦ0؆5ȵ'Z& 4:5جȵ&0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94Ȉ큯TĈ59ȵ19ȳ'04 &䦤'(1(9&
4 '18 !!"" 94愦砧5Z&018940&Z&50941&0
4 '18 !!"" 94愦砧5Z&018940&Z&50941&0
'0')&Ȕ4O!1'Z&0҆ȟ& 0oț    "       "W-M-C0        0'ڦ '0z|ħ515959 ⠧Ȝ0ț_✮=o¦ȿ&ImX&'ȱ&0   ٧
&=$'&j?&=Ĭȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09&$01!E@1$m'J+ 1"' 1? !o¦ȿ&(f'&lQ &P&mQ&lOoP$9&mQ'jQ mP*mO'jO mP*݁&l? ԁ&m?'j? oPfl?j?Y& $'''''!''M&9o0'09jȠ'+Ƞ0ZXX:^@       &d"o ֯9"4B0B59&'o&9009l459_9'__1$'1$m& !&1"0]'0&99,'     '
'M9Ħ#'-00%2@&' m^'^&^__, ('909O^_94΄9_X'Y'U'S&&#&DFFFΧ0O9_P&"_C&'_R&
&\00O9_^'SC&]+O9CC$lB9omD'2b9,&o9'     o^o_9 Ķ
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4OMNL5N90DoQL$NOlQ?ȳȵ"9֦'-&
'0')&Ȕ4O!1'Z&0҆ȟ& 0oț    "       "W-M-C0        0'ڦ '0z|ħ515959 ⠧Ȝ0ț_✮=o¦ȿ&ImX&'ȱ&0   ٧
&=$'&j?&=Ĭȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09&$01!E@1$m'J+ 1"' 1? !o¦ȿ&(f'&lQ &P&mQ&lOoP$9&mQ'jQ mP*mO'jO mP*݁&l? ԁ&m?'j? oPfl?j?Y& $'''''!''M&9o0'09jȠ'+Ƞ0ZXX:^@       &d"o ֯9"4B0B59&'o&9009l459_9'__1$'1$m& !&1"0]'0&99,'     '
'M9Ħ#'-00%2@&' m^'^&^__, ('909O^_94΄9_X'Y'U'S&&#&DFFFΧ0O9_P&"_C&'_R&
&\00O9_^'SC&]+O9CC$lB9omD'2b9,&o9'     o^o_9 Ķ
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4OMNL5N90DoQL$NOlQ?ȳȵ"9֦'-&
9֦Q(&DFHB!9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
9֦Q(&DFHB!9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
HI &2bO909'
0oɮҬB'~ &%ү1l J&"m"t9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#O5馀Z&C4ȧȦ5Ȁo 'Z#8&9'
HI &2bO909'
0oɮҬB'~ &%ү1l J&"m"t9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#O5馀Z&C4ȧȦ5Ȁo 'Z#8&9'
0&Z&9&B'd001裂8Z&&m9'O1?&91O' l40ˬ5&.')40Z&0509ȣ00'#ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' n
& q#m5'So5A%L'C"H1?Ȅ'\&& 41!@ȝ00Z'
'',& 즀
'',' &&5'ݼ!9ț0C'ݨț9$BLSGTNYDWPC7A8LIS+NOL+CON,NOC,MAC-NOM-EXP.NOE.PAG1NOP1%%%%%%&&&*&?&P&_&g&q&&(&&&&'
0&Z&9&B'd001裂8Z&&m9'O1?&91O' l40ˬ5&.')40Z&0509ȣ00'#ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' n
& q#m5'So5A%L'C"H1?Ȅ'\&& 41!@ȝ00Z'
'',& 즀
'',' &&5'ݼ!9ț0C'ݨț9$BLSGTNYDWPC7A8LIS+NOL+CON,NOC,MAC-NOM-EXP.NOE.PAG1NOP1%%%%%%&&&*&?&P&_&g&q&&(&&&&'
***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTE%DSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXE )D MODEILLEGAL C&HONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDIL'LOGICAL FORCING IGNORED TSC ASS!*EMBLER   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT 'MEMORY
***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTE%DSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONIC OR MACROILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXE )D MODEILLEGAL C&HONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN PASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDIL'LOGICAL FORCING IGNORED TSC ASS!*EMBLER   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? MACRO OVERFLOW!INSUFFICIENT 'MEMORY


S1AB   DCC
S1AB   DCC
PCDPXY S@U@       p       {              
PCDPXY S@U@       p       {              
:
:


"+o^kV_oFhp&LDA$LDB LDD LDX LDY!LDU LDS!STASTBSTDSTXSTY(STUSTSJMPnJSRCPX ORA$ORB ASLhASRgCLRoCOMcDECjINClLSLhLSRdNEG`ROLiRORfTSTmBRA BSRBCC$BCS%BEC$BES%BEQ'BG#,E,BGT.BHI"BHS$BLE/BLO%BLS#BLT-BMI+BNE&BPL*BRN!BV)XC(BVS)ABX:DAAMUL=NOPRTI;RTS9SEXSWI?SEF@CLFEXGTFRADC$AND$BIT$EOR$SBC$ADD$SUB$CMP$PSH4PUL5ABA4CBA4CLCCLICLVDES2DEX0INS2aINX0SBA4SE$-CSEI*SEVTABMTBAMTAPTPATSXATXSWAI


"+o^kV_oFhp&LDA$LDB LDD LDX LDY!LDU LDS!STASTBSTDSTXSTY(STUSTSJMPnJSRCPX ORA$ORB ASLhASRgCLRoCOMcDECjINClLSLhLSRdNEG`ROLiRORfTSTmBRA BSRBCC$BCS%BEC$BES%BEQ'BG#,E,BGT.BHI"BHS$BLE/BLO%BLS#BLT-BMI+BNE&BPL*BRN!BV)XC(BVS)ABX:DAAMUL=NOPRTI;RTS9SEXSWI?SEF@CLFEXGTFRADC$AND$BIT$EOR$SBC$ADD$SUB$CMP$PSH4PUL5ABA4CBA4CLCCLICLVDES2DEX0INS2aINX0SBA4SE$-CSEI*SEVTABMTBAMTAPTPATSXATXSWAI
{Z'`&H
H'{c&Q&9O0XVy:0:X
{Z'`&H
H'{c&Q&9O0XVy:0:X
{Z'
{Z'
*)
`&$'i''_i''Yi&~dj''45a4'a'&愽05J&ݖk&
H'{c&.Q'~9'
*)
`&$'i''_i''Yi&~dj''45a4'a'&愽05J&ݖk&
H'{c&.Q'~9'
0Z&9'
0Z&9'
0&Z&93'-p='?RV0yyz疿'S9i'A'*<'=>oo&_'薾'
0&Z&93'-p='?RV0yyz疿'S9i'A'*<'=>oo&_'薾'
'~Z&9   SYMBOL TABLE;
'~Z&9   SYMBOL TABLE;
NO ERROR(S) DETLECTEDLAST ASSEMBLED ADDRESS: i'ǽ*ٽݞK0uu0'-40Z&  0u5M'Z& 40Z&5uM&~i~Ž}+e&9'y0J&y}''
NO ERROR(S) DETLECTEDLAST ASSEMBLED ADDRESS: i'ǽ*ٽݞK0uu0'-40Z&  0u5M'Z& 40Z&5uM&~i~Ž}+e&9'y0J&y}''
Ď' } нe
9&ܽ       d&޽ -yz֝'Z'Z'Z' ޽޽޽~ ~,aX'0Z&~'D]j**   SYMBOL TABLE OVERFLOWUNDEFINED SYM,BOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL VARIABLE >255ILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DA-TA)0&9qq $L:"h9~4OLdz545
a&׶
&9֎&9֏&99ERROR LIMIT EXCEEDED44HHHHH                   \ĞZ&559ZH֟LKvuM"%N"u9Ŧ'&9|(&~
Z[\.]^_VW9lZ&[&\&]&
Ď' } нe
9&ܽ       d&޽ -yz֝'Z'Z'Z' ޽޽޽~ ~,aX'0Z&~'D]j**   SYMBOL TABLE OVERFLOWUNDEFINED SYM,BOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL VARIABLE >255ILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DA-TA)0&9qq $L:"h9~4OLdz545
a&׶
&9֎&9֏&99ERROR LIMIT EXCEEDED44HHHHH                   \ĞZ&559ZH֟LKvuM"%N"u9Ŧ'&9|(&~
Z[\.]^_VW9lZ&[&\&]&
^&_9e''|(& 9O9OebfhgwZ&bZ&n3
^&_9e''|(& 9O9OebfhgwZ&bZ&n3
&~ADCjADDANDBIT@#CALL
CCF?`CPDRiCPDiCPIRiCPIiCPL/`CPDAA'`DEC<D/I`DJNZEI`ENDEQUEXX`EXHALTv`IMFzINCqINDRiINDiINIRiINIiIN@JP
=JRLDDRiLDDiLDIRiLDIiLD@
mLIB~NAM6NEGDiNOP`OPT&ORGOROTDRiOTIRiOUTDiOUTIiO UTA+PAGE0       PAGPOPPUSHRES#RETIMiRETNEiRET
SRLCA`RLCDRLA`RLDoiRLDRRCA`RRA`RRCDRRDgiRRDRSTSBCjSCF7`SET#SLA DSRA(DSRL8DSPCSUB
&~ADCjADDANDBIT@#CALL
CCF?`CPDRiCPDiCPIRiCPIiCPL/`CPDAA'`DEC<D/I`DJNZEI`ENDEQUEXX`EXHALTv`IMFzINCqINDRiINDiINIRiINIiIN@JP
=JRLDDRiLDDiLDIRiLDIiLD@
mLIB~NAM6NEGDiNOP`OPT&ORGOROTDRiOTIRiOUTDiOUTIiO UTA+PAGE0       PAGPOPPUSHRES#RETIMiRETNEiRET
SRLCA`RLCDRLA`RLDoiRLDRRCA`RRA`RRCDRRDgiRRDRSTSBCjSCF7`SET#SLA DSRA(DSRL8DSPCSUB
lTTL6XORDEFBwDEFWDEFSlDEFMS0J*`1
lTTL6XORDEFBwDEFWDEFSlDEFMS0J*`1
jkmOda
&~1*'S;'O '$d_A%Z#
 M&
'6 &Wd'*_`d0
'7= $Jaa90
&0'9׸9׸ ' ߞVy~$ 0
' &90 '
9 Z  \^9V0 V0
jkmOda
&~1*'S;'O '$d_A%Z#
 M&
'6 &Wd'*_`d0
'7= $Jaa90
&0'9׸9׸ ' ߞVy~$ 0
' &90 '
9 Z  \^9V0 V0
V0 V0V9Z2[\]
V0 V0V9Z2[\]
^_909M0%9#A%Z#a%z#2bO9~      4 5~DDDD@94IF99c -{@&{
'#0  ,{9'~0I{@&H9g~g헊~w0'1'2&#^ V 'Ձ
'3 &ۊ׊9~
&Ľ'UwdC&8 Z&( N&C&0 Z& y&0w&VOֈ׋*C'~
9&'%͗
'~~&ꖜ'%ن× ӽ.%        ɗg~ 4,5wI,&G 
|ăR,&
OA&K~m,4
&I+?4XXXۊ׊50w&'+"
^_909M0%9#A%Z#a%z#2bO9~      4 5~DDDD@94IF99c -{@&{
'#0  ,{9'~0I{@&H9g~g헊~w0'1'2&#^ V 'Ձ
'3 &ۊ׊9~
&Ľ'UwdC&8 Z&( N&C&0 Z& y&0w&VOֈ׋*C'~
9&'%͗
'~~&ꖜ'%ن× ӽ.%        ɗg~ 4,5wI,&G 
|ăR,&
OA&K~m,4
&I+?4XXXۊ׊50w&'+"
׊~wI&W R&_~mw~~(&ѽ+,,&w &p~& &цA&~wIX& IY&B+&:p݊0w׌w@ă),&wv+ۋ׋~6
'׍~z~_&,&w+- &"~C50"ۋ׋~R@&" P&~"݊~VA&p2~+f,&`0'a& w& o &!w_&D        ܇׋~@&! P&!݊w_&      ~V
'~V~w 'c@'P&~&1w_'~
&J헊܇׌~zw(&0w~w)'2b~9
6'~w)',' '
'0 w9~܇M'
׊~wI&W R&_~mw~~(&ѽ+,,&w &p~& &цA&~wIX& IY&B+&:p݊0w׌w@ă),&wv+ۋ׋~6
'׍~z~_&,&w+- &"~C50"ۋ׋~R@&" P&~"݊~VA&p2~+f,&`0'a& w& o &!w_&D        ܇׋~@&! P&!݊w_&      ~V
'~V~w 'c@'P&~&1w_'~
&J헊܇׌~zw(&0w~w)'2b~9
6'~w)',' '
'0 w9~܇M'

9$ %$Ċ]& ׌~v"ۊ׊~ǁ@'p&: F>&

9$ %$Ċ]& ׌~v"ۊ׊~ǁ@'p&: F>&
_&:~׋~~#
XXXۊ׊w
e&0w
'''˗ ˗~ 'wA7,&&w~
e&0w0"&J B׊~m~P" '@'        P&            ݊
e&0w
&0"ۋ׊~#0'&@& P& ۋ׋~z++]+(0'$%`&      0ۊ׊~ @& ~~v+XXX `$&P0"ۊ׊~$0 $80~ǽv*˽`"ߖ Ȟw(&+0SP&U),&Mw@'zP't &6 /`'&),H&!L& ,A&F'&~~+0XXXۊ׊,(&!C)&~mۗğw׋w)&~~w(&C)&0
e&0wv+XXXۊ׊~mw׋ӗw9),&wv&~+
_&:~׋~~#
XXXۊ׊w
e&0w
'''˗ ˗~ 'wA7,&&w~
e&0w0"&J B׊~m~P" '@'        P&            ݊
e&0w
&0"ۋ׊~#0'&@& P& ۋ׋~z++]+(0'$%`&      0ۊ׊~ @& ~~v+XXX `$&P0"ۊ׊~$0 $80~ǽv*˽`"ߖ Ȟw(&+0SP&U),&Mw@'zP't &6 /`'&),H&!L& ,A&F'&~~+0XXXۊ׊,(&!C)&~mۗğw׋w)&~~w(&C)&0
e&0wv+XXXۊ׊~mw׋ӗw9),&wv&~+
 '
'9w9w'    Z*A&9LHEDCBwo'p&2a 09(&+)&99BCDEHLSPIXIYAF$     闊2b~%9)&]& ݊2b~2b~$_
e&X0 KwNZ'INC& 4PO&  *PE&(  0Z&: C& P&0 M&
 '
'9w9w'    Z*A&9LHEDCBwo'p&2a 09(&+)&99BCDEHLSPIXIYAF$     闊2b~%9)&]& ݊2b~2b~$_
e&X0 KwNZ'INC& 4PO&  *PE&(  0Z&: C& P&0 M&
89w99O w(I&𦀁X&_ Y& ڍ$ۦ+& Ξw(H&L)& a8.$T~w,&I0
&f ׊}}J&9e怟}
f&
&f 瀟}
89w99O w(I&𦀁X&_ Y& ڍ$ۦ+& Ξw(H&L)& a8.$T~w,&I0
&f ׊}}J&9e怟}
f&
&f 瀟}
e&ea9怦}}&9e0}4'
';'`} a9h a~
7w
','9e0w' Ўw
','9e0w0 d'#i'Z&'ֈ&h&Z&hj9~$dZ&w___|'0<&
e&ea9怦}}&9e0}4'
';'`} a9h a~
7w
','9e0w' Ўw
','9e0w0 d'#i'Z&'ֈ&h&Z&hj9~$dZ&w___|'0<&
~
&45&
&ww
'
~
&45&
&ww
'
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0j'' &      0k9Z&ćVy9Z&~

 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0j'' &      0k9Z&ćVy9Z&~

EJaaEևy9~
dZ&҆c
'       =<9d8'-Z=&ӟq
'0qq& q' 9WVV9dZ&@
H&<E4@-5% E@Ć3&	jH{I9~0~4־&~U4O'Z&ӽٽsG&{ 2E	"		"	--dٞ0>9hk5׾5959~~  Z80 XASSEMpBLER  PAGE         
EJaaEևy9~
dZ&҆c
'       =<9d8'-Z=&ӟq
'0qq& q' 9WVV9dZ&@
H&<E4@-5% E@Ć3&	jH{I9~0~4־&~U4O'Z&ӽٽsG&{ 2E	"		"	--dٞ0>9hk5׾5959~~  Z80 XASSEMpBLER  PAGE         
FE_~9Oow_+'?\-':\*&0''0' !\/&
FE_~9Oow_+'?\-':\*&0''0' !\/&
0''  ',')'
&p0wA%'Z#a%z"m
0''  ',')'
&p0wA%'Z#a%z"m
wM*T~y$'1\%',\@''\''?"w04Z_O'Q'ZB'ZH' Z׉ 0OX'0Z&'0}w'               ~
oH'0J&w0po+~O9BԖֆ~ֆ~F$45dfffZ&9ąֈ׆ևׅ4ֈ%   ֈiiii@5Z&߮9:$
wM*T~y$'1\%',\@''\''?"w04Z_O'Q'ZB'ZH' Z׉ 0OX'0Z&'0}w'               ~
oH'0J&w0po+~O9BԖֆ~ֆ~F$45dfffZ&9ąֈ׆ևׅ4ֈ%   ֈiiii@5Z&߮9:$
9yz09.*'$#4ֆ%#ۆ׆5Oۆ׆0 99 9𦄁a%_G***
9yz09.*'$#4ֆ%#ۆ׆5Oۆ׆0 99 9𦄁a%_G***
+ݍۛ0 9ɦ0+"F           0 č0+"ލ0 ꍜw9Ď(K"(0(&($$ &"" &#!"~AA%  "'A%"" &ڞ  ""'!& #%"$&р%$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~('~9((9M0N"K '5"&"'*)"9 "& ' "  "B90909 4感 "瀟" 5Z& "ڟ"9 Du"uu&0Z&9n'ynyV'ִ&y֊J'֋J'֌J'֍e'>}}'3} 쟖"945'J&9'4G54'C/5450Z&mC4mm545~Qm~}
+ݍۛ0 9ɦ0+"F           0 č0+"ލ0 ꍜw9Ď(K"(0(&($$ &"" &#!"~AA%  "'A%"" &ڞ  ""'!& #%"$&р%$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~('~9((9M0N"K '5"&"'*)"9 "& ' "  "B90909 4感 "瀟" 5Z& "ڟ"9 Du"uu&0Z&9n'ynyV'ִ&y֊J'֋J'֌J'֍e'>}}'3} 쟖"945'J&9'4G54'C/5450Z&mC4mm545~Qm~}
S1yV'T yz ֝3Z',Z'%Z'e&9}}'} !u&1'-4 M0Z&ק _ī5 9#OD./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJAB!u-%C!u3!x*",**,,Z&"o!uĽ&_';+"-$       ~'#*!'%„_'0m& 0o ߖ.'`"3"&; EE&,6'|" "_Y& "&$ & ~?~O'4'4!uT&ؽU_ק87  .0123C5O'Ŗ4'~
''+&9+& 95OC!u''~0CA&5
'&4O'0
& F#ǧ0 
5'Q9C"&C9 Ľ9&
S1yV'T yz ֝3Z',Z'%Z'e&9}}'} !u&1'-4 M0Z&ק _ī5 9#OD./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJAB!u-%C!u3!x*",**,,Z&"o!uĽ&_';+"-$       ~'#*!'%„_'0m& 0o ߖ.'`"3"&; EE&,6'|" "_Y& "&$ & ~?~O'4'4!uT&ؽU_ק87  .0123C5O'Ŗ4'~
''+&9+& 95OC!u''~0CA&5
'&4O'0
& F#ǧ0 
5'Q9C"&C9 Ľ9&
\:9       1_*'Y;'U '` \%f \%
' \M\
g'C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGIQLLEGAL O PTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? H<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷV&J&0*ȣJȵJ$0'ÀDVDVJDVJJ@#@DVJIJ@ȵȳȱJȧJȥJDVDVDVoJȧȩȫJȭȯ901ȣ
\:9       1_*'Y;'U '` \%f \%
' \M\
g'C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGIQLLEGAL O PTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? H<:~~~ mȔ&9mȔ'~9+32Ȁ0谯ȵ00'Ȁ0KȂȔȊȋȌȍȎȏȐȕȓȟ78O6Ș)*ȖȗȑȷV&J&0*ȣJȵJ$0'ÀDVDVJDVJJ@#@DVJIJ@ȵȳȱJȧJȥJDVDVDVoJȧȩȫJȭȯ901ȣ
45Z&0-%?0301FZ&0Co0&'`+0C-$
0%'C*F'$45'3+10"_'0m&0% 4o5P&νH%)'*J Ȁȝ'o&cΦȊ'l0COm7&30C&; I&/ȓ'|"0%}"_Y&"0LC&$ &0%E1?w ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3 ȣ'ȑ'&K?9+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠīIL0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥïm?&@mP&@D'ɦȿ&BmB&mȠ'
45Z&0-%?0301FZ&0Co0&'`+0C-$
0%'C*F'$45'3+10"_'0m&0% 4o5P&νH%)'*J Ȁȝ'o&cΦȊ'l0COm7&30C&; I&/ȓ'|"0%}"_Y&"0LC&$ &0%E1?w ȣ'vȑ'oȑ0&_0Ȋ4Ȍ+ȍ/Ȏ0ȏ2ȐC3 ȣ'ȑ'&K?9+-0/2O?BOPQȾ:ȼȽ1,.'(34"#$%ȠL!@ȫIȧoȵ&ȯo=0 14 &B9ɧŎ@B)&ȔOȾ:ȼȽ ?BOPQȠīIL0yȸȳ'0ȵ%9ȣ0oXmȾ'+jȾȺ ȾJȾmB'Ⱥïm?&@mP&@D'ɦȿ&BmB&mȠ'
mȾ'*Ԧ&
mȾ'*Ԧ&
mB&ȡ&9>  Ϯȣ0XmȾ' +jȾmB&Ȗ0Ȗĺ ȾJȾmB'ȺBmB&Ȗ0ȖȺ m?&MmP&D'-v' !ئ*B'66 ʀȿ&'O'   *m6+'
mB&ȡ&9>  Ϯȣ0XmȾ' +jȾmB&Ȗ0Ȗĺ ȾJȾmB'ȺBmB&Ȗ0ȖȺ m?&MmP&D'-v' !ئ*B'66 ʀȿ&'O'   *m6+'
6~''3'c'4't&\J 'P','|?'-'rB'Y'.&oƦȕ5&'@+'; ,+&'oȕm+'o409(0NmȠ'D/54655ȕ
a
&mB&mȠ'
6~''3'c'4't&\J 'P','|?'-'rB'Y'.&oƦȕ5&'@+'; ,+&'oȕm+'o409(0NmȠ'D/54655ȕ
a
&mB&mȠ'
mȾ'*5Ԧ&mB&ȡ'`9 oPȐ'L0"_0$'0$0+&0 B0BBC3'׆S9
/0'N4' Ș'ș}Țwoo/O'j+''1'1'0!Z&9ȷL0^0RSȿƧqdOY&ʧR§اٮȀ^
'1*& '#hZ&

'z '
m?&@x'doȿ¯SB'4 1X5 'lR?#_0 ߯^RP "R?'!__A'X&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 &'0!'0#'8RR& ZS&ZT&Z'&U&   Z'V'lR::&m?'9R:\DDY #j1ܦZ&Y      #Q
mȾ'*5Ԧ&mB&ȡ'`9 oPȐ'L0"_0$'0$0+&0 B0BBC3'׆S9
/0'N4' Ș'ș}Țwoo/O'j+''1'1'0!Z&9ȷL0^0RSȿƧqdOY&ʧR§اٮȀ^
'1*& '#hZ&

'z '
m?&@x'doȿ¯SB'4 1X5 'lR?#_0 ߯^RP "R?'!__A'X&\\ '
&&&90
&90
' &90 '
9O^_˧ç9ĮR0 &'0!'0#'8RR& ZS&ZT&Z'&U&   Z'V'lR::&m?'9R:\DDY #j1ܦZ&Y      #Q
0QYH0E0m?'9n>&XYm?'9E˦B'. -&omB&ԯClBI@턯@E0IG5IKoo 	0'0 5';G"'A''=',' 5GoMooKMK Iȭ%0N91!'
'ħ  R 
,,$'OԦX'4֦X&2b9M&T0Ħ^&L_"BH4       êৄč'a'&0,&0Ħ^'    Ħ_Ħ2b9        Ħ9,9       {{2b90ĦX'       ^'
0QYH0E0m?'9n>&XYm?'9E˦B'. -&omB&ԯClBI@턯@E0IG5IKoo 	0'0 5';G"'A''=',' 5GoMooKMK Iȭ%0N91!'
'ħ  R 
,,$'OԦX'4֦X&2b9M&T0Ħ^&L_"BH4       êৄč'a'&0,&0Ħ^'    Ħ_Ħ2b9        Ħ9,9       {{2b90ĦX'       ^'
'        x_\/:X'       &    \OB0^'؆   &O0S&']&
'        x_\/:X'       &    \OB0^'؆   &O0S&']&
Z'V O0Z'
Z'V O0Z'
ħ :Ħ#&/Pn&'Z'ށ& & Oͧϧ̮Ħ<&	0 >&0,'Ħ,'&sĦȽ&(+#&&^ȼ&\@e^ȼ'BOn <G0P%|'&^țOBT
0^&ʮț^^_J`'.0h0m^'
ħ :Ħ#&/Pn&'Z'ށ& & Oͧϧ̮Ħ<&	0 >&0,'Ħ,'&sĦȽ&(+#&&^ȼ&\@e^ȼ'BOn <G0P%|'&^țOBT
0^&ʮț^^_J`'.0h0m^'
%   m_'4& Ħ& #č pm*p'`&P &m& p'P&@O`4nৄpp'P&^b_]0#4f590KUY
%   m_'4& Ħ& #č pm*p'`&P &m& p'P&@O`4nৄpp'P&^b_]0#4f590KUY
'^_Ȃ'Ħ,&0 '       O0L1K4 '&lçKܮM9ZĦ_5섄__0'
014 &
'^_Ȃ'Ħ,&0 '       O0L1K4 '&lçKܮM9ZĦ_5섄__0'
014 &
&455&+&mȌ'405Ħ&ā,'9X'*oƦ1'+'Ȁ'&
^0'o9V֮^B9m6+o69¦D&[^m'Y&
**
&455&+&mȌ'405Ħ&ā,'9X'*oƦ1'+'Ȁ'&
^0'o9V֮^B9m6+o69¦D&[^m'Y&
**
9kȀ'^șlȘ9X'BKo0Ȇ0Y&0Ȇ0Ħ
'	1!Ȇ&Ć Ȇ' 9^BB9oȾmB&Ƞ&ԯ 	'p0ZXX:^_Wbm+oȗoȖț4@-5%3ț@3&&oolȠ9OȾ§D&mX&B+oZ&0D1R`%_Z&'"ȩ&0r1RZ&=턆?9soȾo:mBP'$-'.&ojB@IX@&C9
''! 2a0pį4,5'= <'>&q&k045'e -&0+'MA+&0 ;'
@0 >&4'=&004	5'X ɍ&'-&
0č' +&0č' ܍&'*&
0č' /&0č' ܍o'ͦ^!&D^&04Y5' 4_R'L'5<'+>''! 2a0pį4,5'= <'>&q&k045'e -&0+'MA+&0 ;'
!&&00'$'9u&(&%0Y'즄)&0ħU9$'3'Z&CoU9*&
!&&00'$'9u&(&%0Y'즄)&0ħU9$'3'Z&CoU9*&
0$'%'@''_&04O 0v 0 0č^94 i'4Z&1o\o]
0$'%'@''_&04O 0v 0 0č^94 i'4Z&1o\o]
+
*ˮ\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^9$'%.'!0%9#A%Z#_'
a%z#_999\^ Ī\0^      Z0ZF$
+
*ˮ\ φ˧VX& oU9o^o_9^W0W턮9\ W0W\^9$'%.'!0%9#A%Z#_'
a%z#_999\^ Ī\0^      Z0ZF$
45dff`fZ&^qZ\^\^0Z4^        O%^iiii5Z&^9I^\]        >^\]^ 0^\] Wcc9oȒ<'Ȓ\'^mȒ&XI DV0& oĒL'Ȓ\'^mȒ&XI DV4H5F0& \O]'B^'='704442O_dafb$dchdicja&c4gc50&2g E4x^\5<&%- (Z&'$ Z&" Z&# 
Z&&    $O :$
45dff`fZ&^qZ\^\^0Z4^        O%^iiii5Z&^9I^\]        >^\]^ 0^\] Wcc9oȒ<'Ȓ\'^mȒ&XI DV0& oĒL'Ȓ\'^mȒ&XI DV4H5F0& \O]'B^'='704442O_dafb$dchdicja&c4gc50&2g E4x^\5<&%- (Z&'$ Z&" Z&# 
Z&&    $O :$
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
9$4\\\5O\\0 9o\o]9h]i\9򦄁a%_G***
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]9b('G0'B1K1'30o'D{Z&4 5 mȕ&        o9_2' m'K$  >欆m8&J'hL&tJ#N^oKY&'
+ݍ۫]]0 9˦0+"Fi]i\0 퍶0+"ލ]]0 ꍞ]9b('G0'B1K1'30o'D{Z&4 5 mȕ&        o9_2' m'K$  >欆m8&J'hL&tJ#N^oKY&'
''&EWASY'%7 !3/AK$%7Y'&m8'&J ^Bc)% 4]'jJZ&59& \4jJjJ59ȕ&mB'
''&EWASY'%7 !3/AK$%7Y'&m8'&J ^Bc)% 4]'jJZ&59& \4jJjJ59ȕ&mB'
\0Ȗ_*'V '` \%퀍Om&'v\o'=m& \|%+$ - O' z\`%
'      j0 2b9
' 'V0\ N0&945 mȔ'$!Ld!"o9ƍ4    5DDDD@9'd04Vȳ0؍Ʈ0'-4Z&Ħ0؆5ȵ'Z& 4:5įجȵ&/0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0e184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94TȈ큯Ȉ59ȵ19ȳ'04 &䦤'(1(9&
\0Ȗ_*'V '` \%퀍Om&'v\o'=m& \|%+$ - O' z\`%
'      j0 2b9
' 'V0\ N0&945 mȔ'$!Ld!"o9ƍ4    5DDDD@9'd04Vȳ0؍Ʈ0'-4Z&Ħ0؆5ȵ'Z& 4:5įجȵ&/0KȈȳ Ȉ0ȈȆȄȄȆ4#o%04 '%184&0e184Ȇ4 Ȅ5%4 Ȅ$ Ȅ3 /Ȅ Ȇ$      !ȆȆȄȆ$ 0KȈ'c94TȈ큯Ȉ59ȵ19ȳ'04 &䦤'(1(9&
4 '18 !!"" 94愦砧5Z&018940&Z&50941&0'0'f)&Ȕ4O!1'Z&0҆Ħȟ& 
4 '18 !!"" 94愦砧5Z&018940&Z&50941&0'0'f)&Ȕ4O!1'Z&0҆Ħȟ& 
ʧ
&=('g &j?&=ȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09b&$01!E@1$m'J+ 1"' 1? o¦ȿ&,j'ā#'&lQ &P&mQ&lOoP9&mQ'jQ mP*mh!O'jO mP*݁&l? ԁ&m?'j? oP>l?j?Y& $'''''!''M&9o0M'09m+oȗoȖoldjȠ'+Ƞ0ZXX:^@  &"o ֯94B0B59&'o&9009l459,'i"         '
'M9Ħ#'00 
09O^_9&. %Z&9_X&
ʧ
&=('g &j?&=ȱ'o= l?-&o9ȧm'R&T&V&90ȩ&߆9@E0E\& &'
&@09b&$01!E@1$m'J+ 1"' 1? o¦ȿ&,j'ā#'&lQ &P&mQ&lOoP9&mQ'jQ mP*mh!O'jO mP*݁&l? ԁ&m?'j? oP>l?j?Y& $'''''!''M&9o0M'09m+oȗoȖoldjȠ'+Ƞ0ZXX:^@  &"o ֯94B0B59&'o&9009l459,'i"         '
'M9Ħ#'00 
09O^_9&. %Z&9_X&
& (0O9_^'SC&]+O9CC$lB9omD'2bP9,&o9'     o^o_L9
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4j#OMNL5N90DoQLN OlQ?ȳȵ"9֦'-&
& (0O9_^'SC&]+O9CC$lB9omD'2bP9,&o9'     o^o_L9
''+&9+& 994섣IF9NPLhPYIhPYIhPYI4PNP5MLhPYI4j#OMNL5N90DoQLN OlQ?ȳȵ"9֦'-&
9֦Q(&DFHB9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
9֦Q(&DFHB9D&E&F&H9''Q(&9O9  RTV9  DFHoD9DEFG
HI  &2bO909!'
0gok$ҬB'~ &ү1l J&"m9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#"tO5馀Z&C4ȧȦݐ5݈Ȁo 'uZl%&9^'
HI  &2bO909!'
0gok$ҬB'~ &ү1l J&"m9&F'@1O'6駀l   "94050y 'J&9ol 1?&9 '4o 0yA#"tO5馀Z&C4ȧȦݐ5݈Ȁo 'uZl%&9^'
0&Z&9B'd001裂8Z&&m9'O1?&91O' l40#8ˬ5&.')40Z&0509ȣ00'ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' m&n
& q#m5'So5A%LC"H1?Ȅ'\&& 41!@ȝ00Z'
'',#& 즀
'',' &&5'B!9ț0C'.ț9BLSGTNYDWPC7A8RJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECLIS+NOL+CON,NOC,MACn'-NOM-EXP.NOE.PAG$1NOP1%=%S%d%|%%%%%%&&&&(&:&N&j&w&&&&&'''FILE = ***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTEDSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGN%IZABLE MNEMONIC OR MACROo(ILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXED MODEILLEGAL CONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN P&HASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDBIT RAp)NGE ERRORILLEGAL EXTENDED MODEFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDILLOGICAL FORCING IGNOREDEXTENDED AD'DRESS TRUNCATED TO 13 BITSDIRECT ADDRESS TRUNCATED 6805 MACRO ASSEMB   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTq*ION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)'? MACRO OVERFLOW!INSUFFICIENT MEMORY
0&Z&9B'd001裂8Z&&m9'O1?&91O' l40#8ˬ5&.')40Z&0509ȣ00'ȥ% ȑȣ'
&ȡ9Ȅo50Ƞ'@' m&n
& q#m5'So5A%LC"H1?Ȅ'\&& 41!@ȝ00Z'
'',#& 즀
'',' &&5'B!9ț0C'.ț9BLSGTNYDWPC7A8RJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECLIS+NOL+CON,NOC,MACn'-NOM-EXP.NOE.PAG$1NOP1%=%S%d%|%%%%%%&&&&(&:&N&j&w&&&&&'''FILE = ***   ERROR(S) DETECTED** WARNING!  WARNING(S) REPORTEDSYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGN%IZABLE MNEMONIC OR MACROo(ILLEGAL LABELILLEGAL OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEXED MODEILLEGAL CONSTANTILLEGAL OPTIONOPERAND OVERFLOW!UNBALANCED CLAUSEUNDEFINED IN P&HASS 1NOT ALLOWED IN THIS CONTEXTMACRO EXISTSPHASING ERROR DETECTEDBIT RAp)NGE ERRORILLEGAL EXTENDED MODEFORCED ADDRESS TRUNCATEDIMMEDIATE VALUE TRUNCATEDILLOGICAL FORCING IGNOREDEXTENDED AD'DRESS TRUNCATED TO 13 BITSDIRECT ADDRESS TRUNCATED 6805 MACRO ASSEMB   PAGELAST ASSEMBLED ADDRESS: SYMBOL TABLE:ILLEGAL OPTq*ION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)'? MACRO OVERFLOW!INSUFFICIENT MEMORY


S1                    
S1                    
l
l
{{
M
|


<ID=

h|{RTIRTSSWIRSSTAXTXACLCSECCLISEIRr+SPNOPINX\DE(XZBRA BRN!BHI"BLS#BCC$BHS$BCS%BLO%BNE&BEQ'BPL*BMI+BMC,BMS-BIL.BIH/BSRNEGpCOMsLSRtRORvASRwLSLxASLxROLyDECzINC|TST}CLRSUB$CMP$SBC$CPX AND$BIT$LDA$STAEOR$ADC)X$ORA$ADD$JMPJSRLDX STXs,FCB(FDB,OPT0PAG4ORG8EQU<END@TTLDNAMDRMBHLIBLIF XIFNXFCCdSPChSETtIFC|ERRRPTDUPRZBNEGA@NEGXPCOMACCOMXSLSRADLSRXTRORAFRORXVASR*AGASRXWLSLAHLSLXXASLAHASLXXROLAIROLXYDECAJDECXZINCALINCX\TSTAMTSTX]CLRt-AOCLRX_STOPWAITBSETBCLRBHCC(BHCS)SUBA CMPA SBCA CMPX ANDA BITA LDAA STAAEORA ADCA ORAA A*DDA LDAX STAXMACRPENDMTELSE\STTLxENDC`ENDDPAGE4FAILIFNC|IFEQIFNEIFGEIFGTIFLEIFLTBRSETBRCLRMACRO.PENDIF`EXITMv~~ ~~d@OacHkKo0M&ц 0&V9mhVOcHTK'0M'Z& 9rO0X
{{
M
|


<ID=

h|{RTIRTSSWIRSSTAXTXACLCSECCLISEIRr+SPNOPINX\DE(XZBRA BRN!BHI"BLS#BCC$BHS$BCS%BLO%BNE&BEQ'BPL*BMI+BMC,BMS-BIL.BIH/BSRNEGpCOMsLSRtRORvASRwLSLxASLxROLyDECzINC|TST}CLRSUB$CMP$SBC$CPX AND$BIT$LDA$STAEOR$ADC)X$ORA$ADD$JMPJSRLDX STXs,FCB(FDB,OPT0PAG4ORG8EQU<END@TTLDNAMDRMBHLIBLIF XIFNXFCCdSPChSETtIFC|ERRRPTDUPRZBNEGA@NEGXPCOMACCOMXSLSRADLSRXTRORAFRORXVASR*AGASRXWLSLAHLSLXXASLAHASLXXROLAIROLXYDECAJDECXZINCALINCX\TSTAMTSTX]CLRt-AOCLRX_STOPWAITBSETBCLRBHCC(BHCS)SUBA CMPA SBCA CMPX ANDA BITA LDAA STAAEORA ADCA ORAA A*DDA LDAX STAXMACRPENDMTELSE\STTLxENDC`ENDDPAGE4FAILIFNC|IFEQIFNEIFGEIFGTIFLEIFLTBRSETBRCLRMACRO.PENDIF`EXITMv~~ ~~d@OacHkKo0M&ц 0&V9mhVOcHTK'0M'Z& 9rO0X
^zZ'b`&:
H'zc&Q&9O0XVx:0:X
^zZ'b`&:
H'zc&Q&9O0XVx:0:X
^zZ'Φ*wЖ`&薛'h'')h''&h&~ei''45a4'a'&垂愽C05J&ݖj&V
H'zc&.Q'~9'
^zZ'Φ*wЖ`&薛'h'')h''&h&~ei''45a4'a'&垂愽C05J&ݖj&V
H'zc&.Q'~9'
0Z&9'
0Z&9'
0&Z&93'7('*'S9ǎh'A'<'ؖ=ؖ>x؞oo&F''
0&Z&93'7('*'S9ǎh'A'<'ؖ=ؖ>x؞oo&F''
'~Z&9   SYMBOL TABLE;
'~Z&9   SYMBOL TABLE;
NO ERROR(S) DETECTEDh'VLĎ{K0tt0'-40Z&0ӟt5M'Z& 40Z&5tM&~h~ƽ|e&9'x0J&x|'榄0'y0| ӽe
9&Ƚ d&ʽ %xӖy֛'Z'Z'
         ȽȽ~~sa[X'0Z&~y!.Ej**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL zCHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEX VARIABLEILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)0&9pp $L:"g9~V4dj5{45
a&״
&9֌&9֍&999ERROR LIMIT EXCEEDED44HHHHH               Z&559Z֝LKutM"%\N"t9Ŧ'&9@(&~ЖZ[\]^_VW9kZ&[&\&]&
NO ERROR(S) DETECTEDh'VLĎ{K0tt0'-40Z&0ӟt5M'Z& 40Z&5tM&~h~ƽ|e&9'x0J&x|'榄0'y0| ӽe
9&Ƚ d&ʽ %xӖy֛'Z'Z'
         ȽȽ~~sa[X'0Z&~y!.Ej**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL zCHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEX VARIABLEILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)0&9pp $L:"g9~V4dj5{45
a&״
&9֌&9֍&999ERROR LIMIT EXCEEDED44HHHHH               Z&559Z֝LKutM"%\N"t9Ŧ'&9@(&~ЖZ[\]^_VW9kZ&[&\&]&
^&|_9)''@(&9O9Oebfgv___B'
b&000000
^&|_9)''@(&9O9Oebfgv___B'
b&000000
^& ~b&4'5 5nABALABX:LADCADDANDASLHASRGBCC$QBCS%QBEQ'QBGE,QBGT.QBHI"QBHS$QBITBLE/QBLO%QBLS#QBLT-QBMI+QBNE&Q}BPL*QBRA QBSRQBVC(QBVS)QCBALCLCLCLILCLROCLV
^& ~b&4'5 5nABALABX:LADCADDANDASLHASRGBCC$QBCS%QBEQ'QBGE,QBGT.QBHI"QBHS$QBITBLE/QBLO%QBLS#QBLT-QBMI+QBNE&Q}BPL*QBRA QBSRQBVC(QBVS)QCBALCLCLCLILCLROCLV
LCMPCOMCCPXDAALDECJDES4LDEX       LENDEOREQUyFCBFCC2FDB6INCLINS1LINXLJMPnJSRLDALDSLDXLIB
LSRDMONMUL=LNAMNEG@NOPLOPT   ORAORG~       kPAGCPSH6PUL2RMBROLIRORFRTI;LRTS9LSBALSBCSEC
LSEILSEVLSPCxSTASTSSTXSUBSWI?LTABLTAPLTBALTPALTSTMTSX0LTTLTXS5LWAI>LS0J*
LCMPCOMCCPXDAALDECJDES4LDEX       LENDEOREQUyFCBFCC2FDB6INCLINS1LINXLJMPnJSRLDALDSLDXLIB
LSRDMONMUL=LNAMNEG@NOPLOPT   ORAORG~       kPAGCPSH6PUL2RMBROLIRORFRTI;LRTS9LSBALSBCSEC
LSEILSEVLSPCxSTASTSSTXSUBSWI?LTABLTAPLTBALTPALTSTMTSX0LTTLTXS5LWAI>LS0J*
l`ij]Oda
&~#*' '$d_A%Z#
l`ij]Oda
&~#*' '$d_A%Z#
 M&
'h &GT'\_`d0
'0
'
 Ja(a9 P_'._A'B'
 M&
'h &GT'\_`d0
'0
'
 Ja(a9 P_'._A'B'
D'X&\\\\0
' '00
&'90Ķ9׶' ߞVx~藈 0
' &90 '
9 Z  \^9V00
D'X&\\\\0
' '00
&'90Ķ9׶' ߞVx~藈 0
' &90 '
9 Z  \^9V00
V0 V0V9Z[\]
V0 V0V9Z[\]
^_909M0%9#A%Z#a%z#2a2aO9~ 4       5~DDDD@94IF99cz@&z
'#0 z9'~Iz@&H9~~&Av'"(&VWOև׊*C'~9&
2'  (~j~
ܽ
 9։$&y9"Ķ'n'
^_909M0%9#A%Z#a%z#2a2aO9~ 4       5~DDDD@94IF99cz@&z
'#0 z9'~Iz@&H9~~&Av'"(&VWOև׊*C'~9&
2'  (~j~
ܽ
 9։$&y9"Ķ'n'
J@@O9& &F &F &D8 ږJ*
։ ׉ J+։?#&H& D& @ &4~~2a2a~v_X& '#
& ,'# '5
'10 '(&-2a2a~v_X&0
| 'ف
' ։׉9
2a2a~2a2a9vak~(akv,4~v5']&
ֆ&	&\ ;։׉9v#'։׉90v։" &1'(&j v J+~
)j'(2a2a9a8@~$Z(v,&O00
&f ׉|~|J&9e0|
f&
&f 0~|
J@@O9& &F &F &D8 ږJ*
։ ׉ J+։?#&H& D& @ &4~~2a2a~v_X& '#
& ,'# '5
'10 '(&-2a2a~v_X&0
| 'ف
' ։׉9
2a2a~2a2a9vak~(akv,4~v5']&
ֆ&	&\ ;։׉9v#'։׉90v։" &1'(&j v J+~
)j'(2a2a9a8@~$Z(v,&O00
&f ׉|~|J&9e0|
f&
&f 0~|
e&݆ea9~0|~|&9e00|4'
'0'~| a9f a~Ў7
e&݆ea9~0|~|&9e00|4'
'0'~| a9f a~Ў7
▇Ľ~v
','9e0v
▇Ľ~v
','9e0v
➒0' Ύ
➒0' Ύ
➆vv
','9e0v
➆vv
','9e0v
➒00 d'#h'Z&'(և&g&Z&gi9~}dZ&v___'000000C&
➒00 d'#h'Z&'(և&g&Z&gi9~}dZ&v___'000000C&
~&45&ܦ
&v0v
'
~&45&ܦ
&v0v
'
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0i'' &      (0j9Z&(Vx9Z&~нΟEJaĽ(aEֆx9~dZ&҆c
' (=<9d8'1Z&џp
'0p0p& p'0 9(WVV9dZ&@
H&<E4@-5% E@3& iHzI9P~~}4ּ&~4O'Z&ѽ:G& 2E      "       "--09gj5׼5959~~ M.M.D.  01/03  ASSEMBLER PAGE        
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0i'' &      (0j9Z&(Vx9Z&~нΟEJaĽ(aEֆx9~dZ&҆c
' (=<9d8'1Z&џp
'0p0p& p'0 9(WVV9dZ&@
H&<E4@-5% E@3& iHzI9P~~}4ּ&~4O'Z&ѽ:G& 2E      "       "--09gj5׼5959~~ M.M.D.  01/03  ASSEMBLER PAGE        
FE_~9Onv0_+'E\-'@\*&000''0' #\/&0000''  ','
&o0vA%'Z#a%z"]ήvM*T~$'1\%',\@''\''"v0ZĄ_O'Q'ZB'ZH'  Z׈ 0OHX'0Z&'0|v'               ~Жn@H'0J&v0on+~3O9R\fEZrօ~օ~F$45dfffZ&9ևׅĆׄ4և%       ևiiii5Z&߮9:$
FE_~9Onv0_+'E\-'@\*&000''0' #\/&0000''  ','
&o0vA%'Z#a%z"]ήvM*T~$'1\%',\@''\''"v0ZĄ_O'Q'ZB'ZH'  Z׈ 0OHX'0Z&'0|v'               ~Жn@H'0J&v0on+~3O9R\fEZrօ~օ~F$45dfffZ&9ևׅĆׄ4և%       ևiiii5Z&߮9:$
9xy09.*'$#4օ%#ۅׅ5Oۅׅ0 99 9𦄁a%_G***
9xy09.*'$#4օ%#ۅׅ5Oۅׅ0 99 9𦄁a%_G***
+ݍۛ0 9ɦ0+"F       0 퍴0`+"ލ0 ꍜv9l(KY"νY(0000(&($$ &"" &#!"~N  %ߞ  "'      %ߞ"Ο" &ڞ  "Ο"'!& ~#%"$~&%$"&%#$$<"8 $$  &&!'$ "&"&$&&%'$~('~9~(~00(9M0\"K '5"&"'*)"9 "& ') "ߞ  "9000000009000000009 4感 "0" 05Z&Ο "ȟ"9 t"~t0t~&0~Z&9m'zmxV'ֲ&x։0J'֊0J'֋0!e'D||'90|0 蟔"945'
+ݍۛ0 9ɦ0+"F       0 퍴0`+"ލ0 ꍜv9l(KY"νY(0000(&($$ &"" &#!"~N  %ߞ  "'      %ߞ"Ο" &ڞ  "Ο"'!& ~#%"$~&%$"&%#$$<"8 $$  &&!'$ "&"&$&&%'$~('~9~(~00(9M0\"K '5"&"'*)"9 "& ') "ߞ  "9000000009000000009 4感 "0" 05Z&Ο "ȟ"9 t"~t0t~&0~Z&9m'zmxV'ֲ&x։0J'֊0J'֋0!e'D||'90|0 蟔"945'
0J&9'4G54'5450Z&lC4ll545~l~~
0J&9'4G54'5450Z&lC4ll545~l~~
S1xV'Qxy֛.Z''Z' e&9||'p0| 진0J&1'-4M0Z&ץ_ī59`ʟO./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJABJ-%GJ34M*,*0*,0,Z&oJ&cf'?+-$	ɽ~f''*%'% _'000m& 0o ۖ.'`3&; E&,6'|""_Y& &$ ā&~u?~O'4'4J&ؽV_ץ87.0123C7O'Ɩ4'~
''+&90+& 95OCJ''~CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
S1xV'Qxy֛.Z''Z' e&9||'p0| 진0J&1'-4M0Z&ץ_ī59`ʟO./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJABJ-%GJ34M*,*0*,0,Z&oJ&cf'?+-$	ɽ~f''*%'% _'000m& 0o ۖ.'`3&; E&,6'|""_Y& &$ ā&~u?~O'4'4J&ؽV_ץ87.0123C7O'Ɩ4'~
''+&90+& 95OCJ''~CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
\:9_*'Z 'e \%k\%
' \W\
8&
7&
\:9_*'Z 'e \%k\%
' \W\
8&
7&
&C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)?  ~~ ~~d@OacHlKoM&ӆ &V9niVOcHTK'0M'Z& 9sO0X
&C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)?  ~~ ~~d@OacHlKoM&ӆ &V9niVOcHTK'0M'Z& 9sO0X
{Z'`&
{Z'`&

H'{c&Q&9O0XVy:0:X

H'{c&Q&9O0XVy:0:X
{Z'(*+`&B'i''Wi''Qi&~dj''45a4'a'&     愽{05J&ݖk&
H'{c&.Q'~9'
{Z'(*+`&B'i''Wi''Qi&~dj''45a4'a'&     愽{05J&ݖk&
H'{c&.Q'~9'
0Z&9'
0Z&9'
0&Z&93'-l='?RV0yyaza'S9i'A'<'=>oo&_''
0&Z&93'-l='?RV0yyaza'S9i'A'<'=>oo&_''
'}~Z&9   SYMBOL TABLE;
'}~Z&9   SYMBOL TABLE;
NO ERROR(S) DETLECTEDLAST ASSEMBLED ADDRESS: i'*՞K0uu0'-40Z&  a0auV5M'Z& 40Z&5uM&~i~Ž}e&9'y0J&y}'榀'ğ} ׽e
9&VV    d&XV 0yaz]֝'"a       Z'aZ'aZ'a VXXX~        ~$aX'0Z&~
NO ERROR(S) DETLECTEDLAST ASSEMBLED ADDRESS: i'*՞K0uu0'-40Z&  a0auV5M'Z& 40Z&5uM&~i~Ž}e&9'y0J&y}'榀'ğ} ׽e
9&VV    d&XV 0yaz]֝'"a       Z'aZ'aZ'a VXXX~        ~$aX'0Z&~
%B[h~**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL VARIABLE >255ILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)ILLEGAL VARIABLE >150&9qq $L:"h9~4ꗊd&
%B[h~**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL VARIABLE >255ILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)ILLEGAL VARIABLE >150&9qq $L:"h9~4ꗊd&
545
a&׶
&9֎&9֏&99ERROR LIMIT\ EXCEEDED44HHHHH                     Z&559Zf֟LKvuM"%N"u9Ŧ'&9(&~+Z[\]^_VW9lZ&[&\&]&
545
a&׶
&9֎&9֏&99ERROR LIMIT\ EXCEEDED44HHHHH                     Z&559Zf֟LKvuM"%N"u9Ŧ'&9(&~+Z[\]^_VW9lZ&[&\&]&
^ &_9''(&9O9Oebfhgwx&bZ&n3
^ &_9''(&9O9Oebfhgwx&bZ&n3
&~
ENDEQULIBvNAM.OPTORGPAGSPCTTL.FCBoFDBRMBdFCC
BRKCLCCLDCLIXCLVDEXDEYINXINYNOPPHAHPHPPLAhPLP(RTI@RTS`SEC8SEDSEIxTAXTAYTSXTXATXSTYAADCaAND!CMPEORALDAORASBCSTABCC
iBCS
iBEQ
iBMI0
iBNE       
iBPL
iBVCP       
iBVSp
iASLLSRBROL"RORbINCDECBIT CPXCPYLDX
LDY
$STX
/STY
PJMPL
JSR 
S0J*`jk
&~
ENDEQULIBvNAM.OPTORGPAGSPCTTL.FCBoFDBRMBdFCC
BRKCLCCLDCLIXCLVDEXDEYINXINYNOPPHAHPHPPLAhPLP(RTI@RTS`SEC8SEDSEIxTAXTAYTSXTXATXSTYAADCaAND!CMPEORALDAORASBCSTABCC
iBCS
iBEQ
iBMI0
iBNE       
iBPL
iBVCP       
iBVSp
iASLLSRBROL"RORbINCDECBIT CPXCPYLDX
LDY
$STX
/STY
PJMPL
JSR 
S0J*`jk
Oda
&~
Oda
&~
*'S;'O '$d_A%Z#+ 
*'S;'O '$d_A%Z#+ 
lM&
'6 &
lM&
'6 &
ѽ
ѽ
'*_`d0
'7= $Jaa90
&
'*_`d0
'7= $Jaa90
&
'
9׸9׸ ' ߞVy~B 0
' &90 '
9 Z  \^9V0 V0
'
9׸9׸ ' ߞVy~B 0
' &90 '
9 Z  \^9V0 V0
V0 V0V9Z[\]
V0 V0V9Z[\]
^_9009M0%9#A%Z#a%z#2bO9~  4 5~DDDD@94IF99c%{@&{
'#0 ${9'~(I{@&H9g~
'
^_9009M0%9#A%Z#a%z#2bO9~  4 5~DDDD@94IF99c%{@&{
'#0 ${9'~(I{@&H9g~
'
܇M&׋~~+w#&0w' ͆~
(&L0w
'6܇׋M&-w,X'),&"쁁Y& 쁁)& '
&9~+~+-
'w,X&9,Y&
& 9walalM&܇݋]&~w~
w섁A& '
&   ~
'w,X&9w#&w~'
'w,Y& 9w#'~
'w,Y&
܇M&׋~~+w#&0w' ͆~
(&L0w
'6܇׋M&-w,X'),&"쁁Y& 쁁)& '
&9~+~+-
'w,X&9,Y&
& 9walalM&܇݋]&~w~
w섁A& '
&   ~
'w,X&9w#&w~'
'w,Y& 9w#'~
'w,Y&
'9~+
'w,X&閊' ݽ
'܇V'
'9~+
'w,X&閊' ݽ
'܇V'
M
|'~+׋9
'    
݋~
M
|'~+׋9
'    
݋~
w(&w
'
w(&w
'
܇݋w~Pa8&$Tw,&I0
&f ׊}}J&9e怟}
f&
&f 瀟}
܇݋w~Pa8&$Tw,&I0
&f ׊}}J&9e怟}
f&
&f 瀟}
e&ea9怦}}&9e0}@Ĕ4'
''} a9h a~+7
e&ea9怦}}&9e0}@Ĕ4'
''} a9h a~+7
w
','9e0w
w
','9e0w
' Ў
' Ў
w
','9e0w
w
','9e0w
0 d'#i'Z&'ֈ&h&Z&hj9~dZ&w___t'0&
0 d'#i'Z&'ֈ&h&Z&hj9~dZ&w___t'0&
~+&45&
&ww
'
~+&45&
&ww
'
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0j''ā &      0k9Z&Vy9Z&~+(EJaaEևy9~+dZ&҆c
' =<9d8'-Z&ӟq
'0qq& q' 9WVV9dZ&@
H&<E4Ŀ@-5% E@3&     jH{I9~(~4־&~M}4O'Z&ӽoG&s 2E      "        "    --\잹09hk5׾5959PĽn~r~ 6502 XASSEMBLER  PAGE         
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0j''ā &      0k9Z&Vy9Z&~+(EJaaEևy9~+dZ&҆c
' =<9d8'-Z&ӟq
'0qq& q' 9WVV9dZ&@
H&<E4Ŀ@-5% E@3&     jH{I9~(~4־&~M}4O'Z&ӽoG&s 2E      "        "    --\잹09hk5׾5959PĽn~r~ 6502 XASSEMBLER  PAGE         
FE_~9Oow_+'?\-':\*&0''0' !\/&
FE_~9Oow_+'?\-':\*&0''0' !\/&
0''  ',')'
&p0wA%'Z#a%z"
0''  ',')'
&p0wA%'Z#a%z"
瞅(wM*T~q$'1\%',\@''\''"w0Z_O'Q'ZB'ZH'    Z׉ 0OX'0Z&'0}w'           ~+oH'0J&w0po+~O9:x̖ֆ~ֆ~{F$45dfffZ&9ֈ׆ևׅ4ֈ{%   ֈiiii5Z&߮9:$
瞅(wM*T~q$'1\%',\@''\''"w0Z_O'Q'ZB'ZH'    Z׉ 0OX'0Z&'0}w'           ~+oH'0J&w0po+~O9:x̖ֆ~ֆ~{F$45dfffZ&9ֈ׆ևׅ4ֈ{%   ֈiiii5Z&߮9:$
9yz09.*'$#4ֆ%#ۆ׆5Oۆ׆0 99     9𦄁a%_G***
9yz09.*'$#4ֆ%#ۆ׆5Oۆ׆0 99     9𦄁a%_G***
+ݍۛ0 9ɦ0+"F               0 퍴0+"ލ0 ꍜw9(K"(0(&($$ &"" &#!"~9% 
 "'9%"" &ڞ 
 ""'!& #%"$&р%`$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~('~9((9M0N"K '5"&"'*)"9 "& ' "  "90909 4感 "瀟$" 5Z& "ڟ"9 u"uu&0Z&9n'ynyV'閝ִ&y֊J'֋J'֌J'֍e'>}}'3} 쟖"945'J&9'4G54''5450Z&mC4mm54n5r~Im~}
+ݍۛ0 9ɦ0+"F               0 퍴0+"ލ0 ꍜw9(K"(0(&($$ &"" &#!"~9% 
 "'9%"" &ڞ 
 ""'!& #%"$&р%`$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~('~9((9M0N"K '5"&"'*)"9 "& ' "  "90909 4感 "瀟$" 5Z& "ڟ"9 u"uu&0Z&9n'ynyV'閝ִ&y֊J'֋J'֌J'֍e'>}}'3} 쟖"945'J&9'4G54''5450Z&mC4mm54n5r~Im~}
S1yV'Tyz֝3Z',Z'%Z'e&9}}'} ħm&1'-4M0Z&ק_ī59O./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJABm-%Cm3p*,*pĀ*,,Z&om&_';+-$   ~'#*!'%_'0m& 0o ߖ.'`3&; E&,6'|""_Y& &$ &~?~4ĽO'4'4m&ؽU_ק87.0123C5O'Ŗ4'~
''+&9+& 95OCm''~(CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
S1yV'Tyz֝3Z',Z'%Z'e&9}}'} ħm&1'-4M0Z&ק_ī59O./012396GO<:;4S+MMw#wMNL4Mp%`%T4K5L&KJABm-%Cm3p*,*pĀ*,,Z&om&_';+-$   ~'#*!'%_'0m& 0o ߖ.'`3&; E&,6'|""_Y& &$ &~?~4ĽO'4'4m&ؽU_ק87.0123C5O'Ŗ4'~
''+&9+& 95OCm''~(CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
\:9       *_*'Y;'U '` \%f \%
' \M\
g'C  \%58&- \%87
')0 濾
' '0\ 0 '
&559Bi.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? ~G~ ~~d@OacHkKo0M&ц 0&V9mhVOcHTK'0M'Z& 9rO0X
\:9       *_*'Y;'U '` \%f \%
' \M\
g'C  \%58&- \%87
')0 濾
' '0\ 0 '
&559Bi.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? ~G~ ~~d@OacHkKo0M&ц 0&V9mhVOcHTK'0M'Z& 9rO0X
RzZ'b`&"
H'zc&Q&9O0XVx:0:X
RzZ'b`&"
H'zc&Q&9O0XVx:0:X
RzZ'Φ*Ж`&薛'h''h''h&~ei''45a4'a'&s愽C05J&ݖj&
H'zc&.Q'~9'
RzZ'Φ*Ж`&薛'h''h''h&~ei''45a4'a'&s愽C05J&ݖj&
H'zc&.Q'~9'
0Z&9'
0Z&9'
0&Z&93'7('*'LS9ǎh'A'<'f=f>foo&F''
0&Z&93'7('*'LS9ǎh'A'<'f=f>foo&F''
'~Z&9   SYMBOL TABLE:
'~Z&9   SYMBOL TABLE:
NO ERROR(S) DETECTEDh'LĎK0tt0'-40Z&0t5M'Z& 40Z&5tM&~h~ƽz|e&9'x0J&x|'榄0'0| ӽe
9& d& %xy֛'Z'Z'
         ~~sa[X'0Z&~y!.Ej**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEX VARIABLEILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)0&9pp $L:"g9~4dR545
a&״
&9֌&9֍&999ERROR LIMIT EXCEEDED44HHHHH               Z&559Z֝LKutM"%\N"t9Ŧ'&9@(&~ЖZ[\]^_VW9kZ&[&\&]&
NO ERROR(S) DETECTEDh'LĎK0tt0'-40Z&0t5M'Z& 40Z&5tM&~h~ƽz|e&9'x0J&x|'榄0'0| ӽe
9& d& %xy֛'Z'Z'
         ~~sa[X'0Z&~y!.Ej**   SYMBOL TABLE OVERFLOWUNDEFINED SYMBOLMULTIPLY DEFINED SYMBOLUNRECOGNIZABLE MNEMONICILLEGAL CHARACTER IN LABELILLEGAL CHARACTER IN OPERANDRELATIVE BRANCH TOO LONGSYNTAX ERRORILLEGAL INDEX VARIABLEILLEGAL CHARACTER FOR SPECIFIED BASEILLEGAL OPTION SWITCHTOO MANY OPERANDS (DATA)0&9pp $L:"g9~4dR545
a&״
&9֌&9֍&999ERROR LIMIT EXCEEDED44HHHHH               Z&559Z֝LKutM"%\N"t9Ŧ'&9@(&~ЖZ[\]^_VW9kZ&[&\&]&
^&_9)''@(&9O9Oebfgv___B'
b&000000
^&_9)''@(&9O9Oebfgv___B'
b&000000
R& ~b&4'5 5nABA4ADCADDANDASLHASRGBCC$9BCS%9BEQ'9BGE,9BGT.9BHI"9BHS$9BITBLE/9BLO%9BLS#9BLT-9BMI+9BNE&9BPL*9BRA 9BSR9BVC(9BVS)9CBA4CLC4CLI4CLROCLV
R& ~b&4'5 5nABA4ADCADDANDASLHASRGBCC$9BCS%9BEQ'9BGE,9BGT.9BHI"9BHS$9BITBLE/9BLO%9BLS#9BLT-9BMI+9BNE&9BPL*9BRA 9BSR9BVC(9BVS)9CBA4CLC4CLI4CLROCLV
4CMPCOMCCPXDAA4DECJDES44DEX       4ENDBEOREQUFCBFCC
FDBINCLINS14INX4JMPngJSRgLDALDSLDXLIBLSRDMONBNAM^NEG@NOP4OPTBORAORG     PAGPSH6       PUL2RMBROLIRORFRTI;4RTS94SBA4SBCSEC
4SEI4SEV4SPCSTASTSSTXSUBSWI?4TAB4TAP4TBA4TPA4TSTMTSX04TTL^TXS54WAI>4S0J*`ijEO
4CMPCOMCCPXDAA4DECJDES44DEX       4ENDBEOREQUFCBFCC
FDBINCLINS14INX4JMPngJSRgLDALDSLDXLIBLSRDMONBNAM^NEG@NOP4OPTBORAORG     PAGPSH6       PUL2RMBROLIRORFRTI;4RTS94SBA4SBCSEC
4SEI4SEV4SPCSTASTSSTXSUBSWI?4TAB4TAP4TBA4TPA4TSTMTSX04TTL^TXS54WAI>4S0J*`ijEO
lĶda
&~*'w '$d_A%Z# oM&
'
lĶda
&~*'w '$d_A%Z# oM&
'
^ &/<'R_`d0
'0
'
 Jaa9 FU'$_A'B&\\0
' '00
&'9׶9׶' ߞVx~藈 00Ą
' &90 '
9 Z  \^9V00
^ &/<'R_`d0
'0
'
 Jaa9 FU'$_A'B&\\0
' '00
&'9׶9׶' ߞVx~藈 00Ą
' &90 '
9 Z  \^9V00
V0 V0V9Z[\]
V0 V0V9Z[\]
^_909M0%9#A%Z#a%z#2a2aO9~ 4       5~DDDD@94IF99cz@&z
'#0 z9'~Iz@&H9~f&A^'"&VWOև׊*C'~9&ږ'  ~R~

F 9։$&99"'.J@@O9J*
։ ׉ J+։?#@4~f2a2a~v_X& '#
& ,'# '5
'10 '&-2a2a~^_X&0 'ف
' ։׉92a2a~2a2a9vak~akv,4~v5']&
ֆ&       &Q 
|0։׉9v#'։
׉90v։"&&'^ J+~ѽR'2a2a9a8~`$Zv,&O00
&f ׉|f|J&9e0|
f&
&f 0f|
^_909M0%9#A%Z#a%z#2a2aO9~ 4       5~DDDD@94IF99cz@&z
'#0 z9'~Iz@&H9~f&A^'"&VWOև׊*C'~9&ږ'  ~R~

F 9։$&99"'.J@@O9J*
։ ׉ J+։?#@4~f2a2a~v_X& '#
& ,'# '5
'10 '&-2a2a~^_X&0 'ف
' ։׉92a2a~2a2a9vak~akv,4~v5']&
ֆ&       &Q 
|0։׉9v#'։
׉90v։"&&'^ J+~ѽR'2a2a9a8~`$Zv,&O00
&f ׉|f|J&9e0|
f&
&f 0f|
e&݆ea9~@Ą0|f|&9e00|4'
'0'f| a9f a~Ў7
e&݆ea9~@Ą0|f|&9e00|4'
'0'f| a9f a~Ў7
Ԗfv
','9e0v
Ԗfv
','9e0v
Ԟ0' Ύ
Ԟ0' Ύ
Ԟ^v
','9e0v
Ԟ^v
','9e0v
Ԟħ00 d'#h'Z&'և&g&Z&gi9~dZ&v___'000000&
Ԟħ00 d'#h'Z&'և&g&Z&gi9~dZ&v___'000000&
~&45&ܦ
&v0v
'
~&45&ܦ
&v0v
'
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0i'' &  0j9Z&Vx9Z&~нΟEJaaEֆx9~dZ&҆c
' =<9d8'1Z&џp
'0p0p& pČ'0 9WVꞆV9dZ&@
H&<E4@-5% E@3& iHzI9~~4ּ&~4O'Z&ѽ:G& 2E      "       "-P-09gj5׼5959~~ 6800 ASSEMBLER  PAGE        
 ',' 9LISNOLTAPNOTSYMNOSGENNOGPAGNOPd'!Z&0i'' &  0j9Z&Vx9Z&~нΟEJaaEֆx9~dZ&҆c
' =<9d8'1Z&џp
'0p0p& pČ'0 9WVꞆV9dZ&@
H&<E4@-5% E@3& iHzI9~~4ּ&~4O'Z&ѽ:G& 2E      "       "-P-09gj5׼5959~~ 6800 ASSEMBLER  PAGE        
FE_~9Onv0_+'E\-'@\*&000''0' #\/&0000''  ','
&o0vA%'Z#a%z"EoήvM*T~$'1\%',\@''\''"v0Z_O'Q'ZB'ZH'  Z׈ 0OX'0Z&'0|v'               ~ЖnH'0J&v0on+~O9$tօ~ꖄօ~ՎF$45dfffZ&9ևׅֆׄ4և%   ևiiii5Z&߮9:$
FE_~9Onv0_+'E\-'@\*&000''0' #\/&0000''  ','
&o0vA%'Z#a%z"EoήvM*T~$'1\%',\@''\''"v0Z_O'Q'ZB'ZH'  Z׈ 0OX'0Z&'0|v'               ~ЖnH'0J&v0on+~O9$tօ~ꖄօ~ՎF$45dfffZ&9ևׅֆׄ4և%   ևiiii5Z&߮9:$
9xy09.*'$#4օ%#ۅׅ5Oۅą0 99     9𦄁a%_G***
9xy09.*'$#4օ%#ۅׅ5Oۅą0 99     9𦄁a%_G***
+ݍۛ0 9ɦ0+"F           0 퍴0+"ލ0 ꍜv9(K"\(0000(&($$ &"" &#!"~%m K `Ĝ"'%m"\" &ڞ K "\"'!& ~#%"$~&%$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~:('~$9~(~00(9M0V"K '/"&"$'$#"9 "& '# "m  "9000000009000000009 4感 "0" 05Z&Ο "ȟ"9 t"~t0t~&0~Z&9m'zmxV'Lֲ&x։0J'֊0J'֋0!e'D||'90|0 蟔"94P5'
+ݍۛ0 9ɦ0+"F           0 퍴0+"ލ0 ꍜv9(K"\(0000(&($$ &"" &#!"~%m K `Ĝ"'%m"\" &ڞ K "\"'!& ~#%"$~&%$"&%#$$<"8 $  &&!'$ "&"&$&&%'$~:('~$9~(~00(9M0V"K '/"&"$'$#"9 "& '# "m  "9000000009000000009 4感 "0" 05Z&Ο "ȟ"9 t"~t0t~&0~Z&9m'zmxV'Lֲ&x։0J'֊0J'֋0!e'D||'90|0 蟔"94P5'
0J&9'4G54'5450Z&lC4ll54Ƚ5~l~~
0J&9'4G54'5450Z&lC4ll54Ƚ5~l~~
S1xV'Qxy֛.Z''Z' e&9||'0| 진0&1'-4Mf0Z&ץ_ī59XO./012396GO<:p;4S+MMw#wMNL4Mp%`%T4K5L&KJABؽ-%G؆3۟*,*0*,0,Z&o؆&c'?+-$	W~''*%'% %_'000m&> 0o 4ۖ.'`3&; E&,6'|"v"_Y& &$ &i~?~O'4'4؆&ؽV_ץ87.0123C7O'Ɩ4'~
''+&90+& 95OCؽ''~CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
S1xV'Qxy֛.Z''Z' e&9||'0| 진0&1'-4Mf0Z&ץ_ī59XO./012396GO<:p;4S+MMw#wMNL4Mp%`%T4K5L&KJABؽ-%G؆3۟*,*0*,0,Z&o؆&c'?+-$	W~''*%'% %_'000m&> 0o 4ۖ.'`3&; E&,6'|"v"_Y& &$ &i~?~O'4'4؆&ؽV_ץ87.0123C7O'Ɩ4'~
''+&90+& 95OCؽ''~CA&5
'&4O'0
& #ǧ0 
5'Q9C&C9 9&
\:9_*'Z 'e \%k\%
' \W\
8&
7&
\:9_*'Z 'e \%k\%
' \W\
8&
7&
&C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? ''1'U'c'd'm&''''((((R(d(((( !( a(((())))&)')()))*)+)^)k)x))))))**/)))))#)'*Q*c**'6'IC,,L,p,-   -----C--.5.G.s....W.e.1.NPASCAL       @CMASCC@SME XSXSX*lhOVERFLOWPOINTERRANGEVARIANTHEAP LIMITSTACK LIMITPROGRAM ABORT error near line #   U =& =M&4  =M&%  =%+} *CS9 =4 =4  =_ ׷ *CS    *
&C  \%58&- \%87
')0 濾
' '0\ 0 '
&559B.L0S1G2T3N9Y6DGILLEGAL OPTION SPECIFIEDILLEGAL FILE NAMENO SUCH FILEDELETE OLD BINARY (Y-N)? ''1'U'c'd'm&''''((((R(d(((( !( a(((())))&)')()))*)+)^)k)x))))))**/)))))#)'*Q*c**'6'IC,,L,p,-   -----C--.5.G.s....W.e.1.NPASCAL       @CMASCC@SME XSXSX*lhOVERFLOWPOINTERRANGEVARIANTHEAP LIMITSTACK LIMITPROGRAM ABORT error near line #   U =& =M&4  =M&%  =%+} *CS9 =4 =4  =_ ׷ *CS    *
CS 9} '     % y y y y z &t v   CSn 0H+a+4'*'Y&Y&R&K&D49&4O9'9&#&&49*9O9_' Ȁ   G&2     섄  BDF9'_'ՠG'!! $#XDVfZf[f\f]f^| &X *' E|  _GDVfBfCfDfEfFz &Ķ +$lGffAfBfCfDfEfF   BICGE^]EC\[CAZYAĢXĶ $ccAcBcCcDcEcF '   +.ABCDEF'3jG&z "~x iFiEiDiCiBYI*AG' Ā4} &9G9$' _'OG_G 獗 *OGw_'6M'OG_ G CGffAfBfCfDfEfFv T *%`E^]EC\[CBZBYX9P8 #B D$E]EC\[CAZYAĩXffAfBfCfDfEfFv v v v v v v z &9 B D F O_BDF99  X%8 ]  \[  Z  YX%       iFiEiDiCiBiAiy y y$ y y y y z "'' ]  \[  ZY  X O v ccAcBcCcDcEcF903H X 技XX ķ 劀ĦG9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ493ZBDF'*CSjGXI*m$*9G903F'I%File name syntax error: 46U'&Z&569'''
5'
CS 9} '     % y y y y z &t v   CSn 0H+a+4'*'Y&Y&R&K&D49&4O9'9&#&&49*9O9_' Ȁ   G&2     섄  BDF9'_'ՠG'!! $#XDVfZf[f\f]f^| &X *' E|  _GDVfBfCfDfEfFz &Ķ +$lGffAfBfCfDfEfF   BICGE^]EC\[CAZYAĢXĶ $ccAcBcCcDcEcF '   +.ABCDEF'3jG&z "~x iFiEiDiCiBYI*AG' Ā4} &9G9$' _'OG_G 獗 *OGw_'6M'OG_ G CGffAfBfCfDfEfFv T *%`E^]EC\[CBZBYX9P8 #B D$E]EC\[CAZYAĩXffAfBfCfDfEfFv v v v v v v z &9 B D F O_BDF99  X%8 ]  \[  Z  YX%       iFiEiDiCiBiAiy y y$ y y y y z "'' ]  \[  ZY  X O v ccAcBcCcDcEcF903H X 技XX ķ 劀ĦG9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ493ZBDF'*CSjGXI*m$*9G903F'I%File name syntax error: 46U'&Z&569'''
5'
'2"5p''
' '2dn54`'ā3/%34F3'
2n5
'2"5p''
' '2dn54`'ā3/%34F3'
2n5
`54`3/%34F31''
2n2B5f'
'5n`4dįd54Vf@/%/턮/oo.f5d%4d-     .d54Pd-.Z'd54@b-.ѣ\0b54@b-.\00b50'94d-.400d5(N04z(N&2p4vh036&6&6&6&5b(5z(&s4v3j7&7&(7&7&h5v294"TTT4o570532h3v2h32h32h4vhh1.54Vfooƒ.f532f32zP4d,CS)bd5vj䊀- ' . - '
`54`3/%34F31''
2n2B5f'
'5n`4dįd54Vf@/%/턮/oo.f5d%4d-     .d54Pd-.Z'd54@b-.ѣ\0b54@b-.\00b50'94d-.400d5(N04z(N&2p4vh036&6&6&6&5b(5z(&s4v3j7&7&(7&7&h5v294"TTT4o570532h3v2h32h32h4vhh1.54Vfooƒ.f532f32zP4d,CS)bd5vj䊀- ' . - '
 . 99- ' . ~- w' p. 2-OTq2'?Da2./4Q2-'A2'
12.*&4o0e&Z&lo5b"52 ]94o0e&Z&lo5b"52 ]94ol0e&Z&jo5b"52 ]94o0e&Z&lo5b"52 ]94"TTT4o570& b5*2]94Vfoo.f54F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7CSN+ON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNONd5F294vO&        /SS%!S&
 . 99- ' . ~- w' p. 2-OTq2'?Da2./4Q2-'A2'
12.*&4o0e&Z&lo5b"52 ]94o0e&Z&lo5b"52 ]94ol0e&Z&jo5b"52 ]94o0e&Z&lo5b"52 ]94"TTT4o570& b5*2]94Vfoo.f54F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7CSN+ON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNONd5F294vO&        /SS%!S&
S% &SSO
S% &SSO
hj5v2b95Q&
&  &F,rn4 hZX3,߆~fʍ3p& f;\`5 2hAele&?&	AM954 ZX3,ߦ&5 /5/O5
-6& bX--S'>-b''!}$ SSg&2dWCOQ*@bo;&2 2d @fiOA
&-7;&)@H34@D444 1"~4vO
hj5v2b95Q&
&  &F,rn4 hZX3,߆~fʍ3p& f;\`5 2hAele&?&	AM954 ZX3,ߦ&5 /5/O5
-6& bX--S'>-b''!}$ SSg&2dWCOQ*@bo;&2 2d @fiOA
&-7;&)@H34@D444 1"~4vO
hl5v2d94vkhl5v2d90Oy0O4vd`
hl5v2d94vkhl5v2d90Oy0O4vd`
hl5v2d94vjŦkhl5v2d934f4'4 5df52b9. @Of2&(4oZX3,ߦJ'*-\`&&;`\%&X'
hl5v2d94vjŦkhl5v2d934f4'4 5df52b9. @Of2&(4oZX3,ߦJ'*-\`&&;`\%&X'
&y 	\%X`54ZX3,ߦ'J&7&?&4$/b{&$;X` `\%
&y 	\%X`54ZX3,ߦ'J&7&?&4$/b{&$;X` `\%
5`94X`$6& X`5/%Ce0 #      )      F      Z                  
5`94X`$6& X`5/%Ce0 #      )      F      Z                  




$

$

+
+
5
5
>
>
R
R
b
b


















(5BO\|
(5BO\|










ah{
ah{
S
S
]      \Zgup&Al6)Fc+ @
]      \Zgup&Al6)Fc+ @
@E/AME dOVERFLOWPOINTERRANGEVARIANTHEAP LIMITSTACK LIMITPROGRAM ABORTdmu{ error near line # +QG&GՍN44?4=4
='=ˎŎ?ͮ(ġ'	 ̌A$]
'V'Qс<'/>'2 ','
''Z&  Z&o1'50 4D 4T1! 9DTooZ&9A}D'DE440A}T'T449'- 94')-+4c/52b5 n/4/')+-5n/' ' 4vjj1&.53b394644Ŷ%55555ŏJ0@~File name syntax error: ~C Call of undefined procedure!;46A'&Z&5A'C5>?2"5pAC=?2dn54`3%34F3C2n5`54`3tij%34F31CA2n2B5fAC5n`4dįd54Vf@%턮oo.f5'4d-       .d54Pd-.Zd54@b-.ѣ\0b54@b-.        8\00b50'94d-.400d5      04z        &2p4vh036&6&6&6&5=      5z  &L4v3j7&7&7&7&h5v294"   TTT4o505461. TTT4o501!/532h32h32h32h'4vhh1.54Vfooƒ.f5>4a3a52
@E/AME dOVERFLOWPOINTERRANGEVARIANTHEAP LIMITSTACK LIMITPROGRAM ABORTdmu{ error near line # +QG&GՍN44?4=4
='=ˎŎ?ͮ(ġ'	 ̌A$]
'V'Qс<'/>'2 ','
''Z&  Z&o1'50 4D 4T1! 9DTooZ&9A}D'DE440A}T'T449'- 94')-+4c/52b5 n/4/')+-5n/' ' 4vjj1&.53b394644Ŷ%55555ŏJ0@~File name syntax error: ~C Call of undefined procedure!;46A'&Z&5A'C5>?2"5pAC=?2dn54`3%34F3C2n5`54`3tij%34F31CA2n2B5fAC5n`4dįd54Vf@%턮oo.f5'4d-       .d54Pd-.Zd54@b-.ѣ\0b54@b-.        8\00b50'94d-.400d5      04z        &2p4vh036&6&6&6&5=      5z  &L4v3j7&7&7&7&h5v294"   TTT4o505461. TTT4o501!/532h32h32h32h'4vhh1.54Vfooƒ.f5>4a3a52
fM,       CS>32z~14d,CSd5䈀
fM,       CS>32z~14d,CSd5䈀
4ddd50h4444362h- ' . - '
4ddd50h4444362h- ' . - '
 . 99- ' . - ' . q2-a2'Q2.A2-   w12'rg!2.bW4o0e&Z&lo5b"52 ]94o0eC&Z&lo5b"52 ]94ol0e&Z&jo5b"52 ]94Ho0eC&Z&lo5b"52 ]94"TTT4o50& b52]94Vfoo
 . 99- ' . - ' . q2-a2'Q2.A2-   w12'rg!2.bW4o0e&Z&lo5b"52 ]94o0eC&Z&lo5b"52 ]94ol0e&Z&jo5b"52 ]94Ho0eC&Z&lo5b"52 ]94"TTT4o50& b52]94Vfoo
.f54F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7
NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNONd5F29
KX

=&
=M&4

=M&%

=%+}*CS9
=4
=4

=_ ׷*CS

*
.f54F3f7NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7
NON7NON7NON7NON7NON7NON7NON7NONd5F294F3f7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNON7CSNONd5F29
KX

=&
=M&4

=M&%

=%+}*CS9
=4
=4

=_ ׷*CS

*
CS
9
' 
%y
y
yyz&tv
C|Sm0H+e+8'.']4"W+Z&R&K&D49&4O9'9&#&&49*9O9_'ȀG&2	섄 BDF9'_'XՠG'!$#XDVfZf[f\f]f^|&X*' E| _GDVfBfCfDfEfFz&Ķ+'$
lGffAfBfCfDfEfF BICGE^]EC\[CAZYAĢXĶ$ccAcBcCcDcEcF'-+.ABCDEF'3jG&zxiFiEiDiCiBYI*AG'Ā4}&9G9G'+~' _'OG_G*OGw_'6M'OG_GCGffAfBfCfDfEfFvD*%`:E^]EC\[CBZBYX9P8D$E]EC\[CAZYAĩXffAfBfCfDfEfFvvvvvvvz&9BDFO_BDF99X%8]\[ZYX%iFiEiDiCiBiAiyyyyyyyz"'']\[ZYXO vccAcBcCcDcEcF903HXXXķĦG9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ493ZBDFh'*CSjGXI*m*9G9|03F'I%
CS
9
' 
%y
y
yyz&tv
C|Sm0H+e+8'.']4"W+Z&R&K&D49&4O9'9&#&&49*9O9_'ȀG&2	섄 BDF9'_'XՠG'!$#XDVfZf[f\f]f^|&X*' E| _GDVfBfCfDfEfFz&Ķ+'$
lGffAfBfCfDfEfF BICGE^]EC\[CAZYAĢXĶ$ccAcBcCcDcEcF'-+.ABCDEF'3jG&zxiFiEiDiCiBYI*AG'Ā4}&9G9G'+~' _'OG_G*OGw_'6M'OG_GCGffAfBfCfDfEfFvD*%`:E^]EC\[CBZBYX9P8D$E]EC\[CAZYAĩXffAfBfCfDfEfFvvvvvvvz&9BDFO_BDF99X%8]\[ZYX%iFiEiDiCiBiAiyyyyyyyz"'']\[ZYXO vccAcBcCcDcEcF903HXXXķĦG9lF&*lE&&lD&"lC&lB&lA&ML*lGĀ493ZBDFh'*CSjGXI*m*9G9|03F'I%
'54&
C454hbh52f94dbd52b945&
C
&B
9w'
'54&
C454hbh52f94dbd52b945&
C
&B
9w'
C4%9C 4&E '
'+'-&| '1
'-+')-'%0<-=9.9O4
C4%9C 4&E '
'+'-&| '1
'-+')-'%0<-=9.9O4
l+b5 }& 
l+b5 }& 
dj52f9aRDI - Digit expected!4&E=
& O
dj52f9aRDI - Digit expected!4&E=
& O
dj52f94v1f2&E '
' '
&Dnhn5v2f94v&l&n,|n
dj52f94v1f2&E '
' '
&Dnhn5v2f94v&l&n,|n
043_&&}&3A01/ C41?& }'
-C43A15C41!&hn5v2f94v&l1?/ C41?&nC4īhn5v2f94v&n'1! l,l3 C4s3A&nC4^1?&hn5v2f94v0no\l'^/ &C4#Z&lj'bljal\ !m,Laj\lm,ZbZ[oeo`*&1f'C4 h5v2l94fC4df52b9b;52bn&b'5Sd& %@d@';4 w CoLoo@4 1@"5 52dnR
043_&&}&3A01/ C41?& }'
-C43A15C41!&hn5v2f94v&l1?/ C41?&nC4īhn5v2f94v&n'1! l,l3 C4s3A&nC4^1?&hn5v2f94v0no\l'^/ &C4#Z&lj'bljal\ !m,Laj\lm,ZbZ[oeo`*&1f'C4 h5v2l94fC4df52b9b;52bn&b'5Sd& %@d@';4 w CoLoo@4 1@"5 52dnR
&bo'Qd& 4gc5V%7d@';52dnwoo@4 1@"5  4w& Co@ )w&ħ%@';454w'08&$%@';5B4  '       '&54$m'{5"'"54l51@"l
&o 4fw&odf52b94fw&ldf52b94v0j0h5v2h94v0jm0h5v2h94v0j0h5v2h94v0jj
 0yh5v2h94v0jM0\h5v2h94v0j0        0?h5v2h94v0j0"h5v2h94V354V35֦H+cH+6O','[4&YH&RJ&KL&DN49&4O9O'9H&#J&L&N49*9\O94P54P5o8H+.IJKLMN'3HjO&jCh8iNiMiLiKiJYI*IO'IĀ4HmC&9O9CO'+7J'
&bo'Qd& 4gc5V%7d@';52dnwoo@4 1@"5  4w& Co@ )w&ħ%@';454w'08&$%@';5B4  '       '&54$m'{5"'"54l51@"l
&o 4fw&odf52b94fw&ldf52b94v0j0h5v2h94v0jm0h5v2h94v0j0h5v2h94v0jj
 0yh5v2h94v0jM0\h5v2h94v0j0        0?h5v2h94v0j0"h5v2h94V354V35֦H+cH+6O','[4&YH&RJ&KL&DN49&4O9O'9H&#J&L&N49*9\O94P54P5o8H+.IJKLMN'3HjO&jCh8iNiMiLiKiJYI*IO'IĀ4HmC&9O9CO'+7J'
4Pl5OO "4P]54H8J:L5HIJKLMN9MFEM KDCKJBJHAH9f8cHcIcJcKcLcMcN9FDB90Hooooo'kM*CS)jXI*m*90HO'%*@7/EHIInHF'I*ZOH*    H90Hoooooooo90H'O%EP'K+E*PmF&m''%CS lO91_T>0fVODF0^]L1AO'Ie'HeHHE*PN=mE+P\F0ަO$jF %lF \.7+DaH*J+|H-`^blħ_O'F^LFb_aH*J+IF^._._P^__M'oAJ 4+"' J&H*        H-A&WO\Dl] O'ܦH*H-ΦFZm[+[4.S.R/N^[+M*^*      _ ZF_ 0Ħ^.A.M'9_L&^^\/'_&"F'_! p]D^[*ZJ_0X^'
Mj^&.7X_48j*2am\.*_+%.0fL'V% _\:V$   V_1V0j1V40TTTT04 0e5'
4Pl5OO "4P]54H8J:L5HIJKLMN9MFEM KDCKJBJHAH9f8cHcIcJcKcLcMcN9FDB90Hooooo'kM*CS)jXI*m*90HO'%*@7/EHIInHF'I*ZOH*    H90Hoooooooo90H'O%EP'K+E*PmF&m''%CS lO91_T>0fVODF0^]L1AO'Ie'HeHHE*PN=mE+P\F0ަO$jF %lF \.7+DaH*J+|H-`^blħ_O'F^LFb_aH*J+IF^._._P^__M'oAJ 4+"' J&H*        H-A&WO\Dl] O'ܦH*H-ΦFZm[+[4.S.R/N^[+M*^*      _ ZF_ 0Ħ^.A.M'9_L&^^\/'_&"F'_! p]D^[*ZJ_0X^'
Mj^&.7X_48j*2am\.*_+%.0fL'V% _\:V$   V_1V0j1V40TTTT04 0e5'
.' %]'E0m\/!f 'l] 040e5& 0lFD&愧V%&vV\&+00j1'.&j10怯V '-& 0CD'e:F+J*@--b&"\& oee'        .-!
oeo\90V瀯Vl19o?405&_X9%l?l ?  Hz@CPt$> nk(-xŬbIgOL}#
.' %]'E0m\/!f 'l] 040e5& 0lFD&愧V%&vV\&+00j1'.&j10怯V '-& 0CD'e:F+J*@--b&"\& oee'        .-!
oeo\90V瀯Vl19o?405&_X9%l?l ?  Hz@CPt$> nk(-xŬbIgOL}#
=p"|ģznOwQXes'ŬGGp7ljmVzCi+waf       p_A6c[_/$\      oPYa.BKU4$5        \R|:OfMK8w2!H.'e9:`&9oE0YO_HJL\NR0 Bf`'EOC#@A246I%oD.&oDlA0E'e&G0E9"8D4VLVlAHIJKLM&VN($PmE*@PO5DODEƸOE*@
=p"|ģznOwQXes'ŬGGp7ljmVzCi+waf       p_A6c[_/$\      oPYa.BKU4$5        \R|:OfMK8w2!H.'e9:`&9oE0YO_HJL\NR0 Bf`'EOC#@A246I%oD.&oDlA0E'e&G0E9"8D4VLVlAHIJKLM&VN($PmE*@PO5DODEƸOE*@
#
)4 M5
$H'9HH0":mE* _
#
)4 M5
$H'9HH0":mE* _
%$
%$
\ 20600%:$9900 '9_+'-&S09OǍ%0NlD%04lDMXIMEKYIKCIYIIAHIHhNiMiLiKiJiIiH%9hNiMiLiKiJiIiH%)~%$5OMMLKKJIIHH%CL$NHJ9LN#HJ9L$N&H J"9LNHJ9lN&*lM&&lL&"lK&lJ&lI&HML*lOĀ4H9%MSQRT - negative argumentH+ݦO'اBO]0O]'0`X%4lQ0K`[09jOJ0(jOBGOO9aÂ$u"6ۭaÃhf
\ 20600%:$9900 '9_+'-&S09OǍ%0NlD%04lDMXIMEKYIKCIYIIAHIHhNiMiLiKiJiIiH%9hNiMiLiKiJiIiH%)~%$5OMMLKKJIIHH%CL$NHJ9LN#HJ9L$N&H J"9LNHJ9lN&*lM&&lL&"lK&lJ&lI&HML*lOĀ4H9%MSQRT - negative argumentH+ݦO'اBO]0O]'0`X%4lQ0K`[09jOJ0(jOBGOO9aÂ$u"6ۭaÃhf
΂X0X9+%ISʂ-:찂]d.*:o*0!0&P0}00p@'HHO&CJOA]0[O'R'O*
CS? ?0Hd?f@%% ?'(@0
d?f%@$0?&904HJLN5'LN - negative or ze'ro argumentlJH+ԦO'Ё%
J?OoB ?OBv0BBv0NN0 TC0<%0K0*0$'lBXX0F&:
΂X0X9+%ISʂ-:찂]d.*:o*0!0&P0}00p@'HHO&CJOA]0[O'R'O*
CS? ?0Hd?f@%% ?'(@0
d?f%@$0?&904HJLN5'LN - negative or ze'ro argumentlJH+ԦO'Ё%
J?OoB ?OBv0BBv0NN0 TC0<%0K0*0$'lBXX0F&:
O?*C'H}0-0oJ9$bȁ@]͂7TUk1r|Kܣ<
~ϙe`B4X0X0X0 j'
X0X 50^\HH0J0C,0\(010m0m'l'C0!0OO?M&O9(EXP - argument too large;_A߈Å+ڨ1!Cz8;)\8;)\H?H02Hm?*CS?
?HH90)`ĆĦHH0sg0 _0XAO AA@@&0R0.00(! 0d|00@'
O?*C'H}0-0oJ9$bȁ@]͂7TUk1r|Kܣ<
~ϙe`B4X0X0X0 j'
X0X 50^\HH0J0C,0\(010m0m'l'C0!0OO?M&O9(EXP - argument too large;_A߈Å+ڨ1!Cz8;)\8;)\H?H02Hm?*CS?
?HH90)`ĆĦHH0sg0 _0XAO AA@@&0R0.00(! 0d|00@'
O'HH9Iڢ!hIڢ!h‚Mb3#g%:)PQ*#~YC*$Ą,5$7[>,"/ITBT9!O'oBHAHu%MxƄO0rO'OA0bt0CHH00 O`"o)O7cB 9OlO'O00)00 O`"*oO00P;a0U00F@XXX0@:8mB'
HH0&AHH9$y
XE~+{~a{m}zۯd~7&mc8+
}]^$}4*	8>+1+#Iڢ!h€O''4]59
 .: @-$@3@&;0YO@'Á'/&.(m'Do00E m&Xl$S-@&eݫۧ$lЦ˫§$l@Ľj&d&-&
&& &
~x @'?mb'0=0\90&׮L'c0,> 1<1'%""3A 1$ 0#0
90׽00ˆčE00E~040090oo0}' 90$#z~ETransfer address : $Starting address : $Ending   address :L= $ :   bytesTotal length True  length 
ľ+3"$0$SR 0NPYo˃*&8
-+0j_Y&00K-$ 30?
'0%$&$0#
'!_V'F&0нH%]'/ 70ɽe'(0%9"H%M&]'.o+ J%M'̧
+0ƽa.&O -%M&m.'      0ý ا,$0F
'3_I'-K&2 $O&0V5i
'
_T'I&d5$0NY0      0
O'HH9Iڢ!hIڢ!h‚Mb3#g%:)PQ*#~YC*$Ą,5$7[>,"/ITBT9!O'oBHAHu%MxƄO0rO'OA0bt0CHH00 O`"o)O7cB 9OlO'O00)00 O`"*oO00P;a0U00F@XXX0@:8mB'
HH0&AHH9$y
XE~+{~a{m}zۯd~7&mc8+
}]^$}4*	8>+1+#Iڢ!h€O''4]59
 .: @-$@3@&;0YO@'Á'/&.(m'Do00E m&Xl$S-@&eݫۧ$lЦ˫§$l@Ľj&d&-&
&& &
~x @'?mb'0=0\90&׮L'c0,> 1<1'%""3A 1$ 0#0
90׽00ˆčE00E~040090oo0}' 90$#z~ETransfer address : $Starting address : $Ending   address :L= $ :   bytesTotal length True  length 
ľ+3"$0$SR 0NPYo˃*&8
-+0j_Y&00K-$ 30?
'0%$&$0#
'!_V'F&0нH%]'/ 70ɽe'(0%9"H%M&]'.o+ J%M'̧
+0ƽa.&O -%M&m.'      0ý ا,$0F
'3_I'-K&2 $O&0V5i
'
_T'I&d5$0NY0      0
'F%ĮYPPY&        0
'F%ĮYPPY&        0
 ȦCDFBħY,'ˁ 'ǁ
'0
 ȦCDFBħY,'ˁ 'ǁ
'0
g YP&
g YP&
oP)$5&
LE)PY00      Z''u%PY$    0
oP)$5&
LE)PY00      Z''u%PY$    0
% F&-YC'.Bħ'00YL,' '
'0	н Y[1N4P05'Z&Y ŮY)PY&6o$0F
'
_N'Y&N$$0	3$0_Y&0	0
-$> 30'8'$0Z&0	Q_Y&0& ;1     S1N1   I
% F&-YC'.Bħ'00YL,' '
'0	н Y[1N4P05'Z&Y ŮY)PY&6o$0F
'
_N'Y&N$$0	3$0_Y&0	0
-$> 30'8'$0Z&0	Q_Y&0& ;1     S1N1   I
1
 0&Z&90&{RS$0+_E'gS&0	DZ&@'&70
 1;"1,
   400Ȁ1
1
 0&Z&90&{RS$0+_E'gS&0	DZ&@'&70
 1;"1,
   400Ȁ1
Z&0Ȇ50nȀ?"~$0
'
_T'B&30_Y&0+'0-$ 30g_Y&1$0ؽQ
'
_Y'N&o80v6
'_N&Y&Ľ$0ýoE%C#	0u ݧ:DF;B<ħ=o
Z&0Ȇ50nȀ?"~$0
'
_T'B&30_Y&0+'0-$ 30g_Y&1$0ؽQ
'
_Y'N&o80v6
'_N&Y&Ľ$0ýoE%C#	0u ݧ:DF;B<ħ=o
90C
'_S' E&冀90Dā
'='>'<&l9l9l90Nƀ Z&0Y80N1Φ
' $O'0q
'
_T'B&\40e'_N&o- %-0ؽ4_N&7oDoBoFA%%_A'D'R'L&+BB' ؆@ 
('9"0$E'b$'''@&V'H%K"C'?-&8mE&H%-"%A'!ĦA4 ġ"
%O FA4LC909oD DE&''B'π0%Ձ   "ѽH%M&]'Z?"BB)&9"0$WE'CĽ'9 'E'e'*'M 
C''9C['$&n%ƧN90N_
'''   \Q' ['9'H%M&]'BC90~
9'$'
''9'9B%
]'
90C
'_S' E&冀90Dā
'='>'<&l9l9l90Nƀ Z&0Y80N1Φ
' $O'0q
'
_T'B&\40e'_N&o- %-0ؽ4_N&7oDoBoFA%%_A'D'R'L&+BB' ؆@ 
('9"0$E'b$'''@&V'H%K"C'?-&8mE&H%-"%A'!ĦA4 ġ"
%O FA4LC909oD DE&''B'π0%Ձ   "ѽH%M&]'Z?"BB)&9"0$WE'CĽ'9 'E'e'*'M 
C''9C['$&n%ƧN90N_
'''   \Q' ['9'H%M&]'BC90~
9'$'
''9'9B%
]'
M&990οS'#''
'#4005'ݧ
&90 40ά5'0& 

  '95^=== TSC SORT PARAMETER EDITOR ===OUTPUT TO DISK (Y OR N*)? ALTERNATE COLLATING SEQUENCE (Y OR N*)? INTERMEDIATE WORK FILE DRIVE? FIXED OR VARIABLE LENGTH RECOlRDS (F OR V*)? RECORD LENGTH? EOR CHARACTER OR FIELD COUNT (DE

M&990οS'#''
'#4005'ݧ
&90 40ά5'0& 

  '95^=== TSC SORT PARAMETER EDITOR ===OUTPUT TO DISK (Y OR N*)? ALTERNATE COLLATING SEQUENCE (Y OR N*)? INTERMEDIATE WORK FILE DRIVE? FIXED OR VARIABLE LENGTH RECOlRDS (F OR V*)? RECORD LENGTH? EOR CHARACTER OR FIELD COUNT (DE

FAULT IS EOR=$0D)? FIELD SEPARATOR CHARACTER? NON-ZERO FIELD COUNT REQUIRES A FIELD SEPARATOR.TREAT LOWER CASE EQUIVALENT TO UPPE   0R (Y OR N*)? DELETE RECORDS WITH BLANK SORT KEYS (Y* OR N)? OUTPUT FROM KEY, INPUT, OR OTHER (K, I*, OR O)? OUTPU
T INDEXED OR TAG FILE (I OR T*)? EOR CHARACTER FOR OUTPUT RECORDS (DEFAULT=$0D)     ? SELECT/EXCLUDE OPTION (Y OR N*)? SELECT OR EXCLUDE (S* OR E)? ON KEY '<', '=', OR '>' (DEFAULT IS '=')? SELECT/EXCLUDE KEY SPEC? KEY STRING? ENTER INPUT KEYS.  
DEFAULTS TO "A(1)1-10".ENTE
FAULT IS EOR=$0D)? FIELD SEPARATOR CHARACTER? NON-ZERO FIELD COUNT REQUIRES A FIELD SEPARATOR.TREAT LOWER CASE EQUIVALENT TO UPPE   0R (Y OR N*)? DELETE RECORDS WITH BLANK SORT KEYS (Y* OR N)? OUTPUT FROM KEY, INPUT, OR OTHER (K, I*, OR O)? OUTPU
T INDEXED OR TAG FILE (I OR T*)? EOR CHARACTER FOR OUTPUT RECORDS (DEFAULT=$0D)     ? SELECT/EXCLUDE OPTION (Y OR N*)? SELECT OR EXCLUDE (S* OR E)? ON KEY '<', '=', OR '>' (DEFAULT IS '=')? SELECT/EXCLUDE KEY SPEC? KEY STRING? ENTER INPUT KEYS.  
DEFAULTS TO "A(1)1-10".ENTE
R OUTPUT KEYS.  DEFAULTS TO ENTIRE RECORD.FURTHER OPTIONS REQUIRED (Y OR N*)? IS INPUT FILE TEXT OR BINARY (T* OR B)? IS OUTPUT FILE TEXT OR BINARY (T* OR B)? PRINT RUN-TIME MESSAGES (Y* OR N)|? ?? SAVE PARAMETE

R FILE ON DISK (Y OR N*)? EXIT OR PROCEED WITH SORT (E OR S)? 'SRTMRG.SYS' NOT PRESENT ON DISK=== PARAMETERS ARE NOW SET ===ILLEGAL FILE SPECIFICATIONILLEGAL KEY SPECIFICA@qTION.TOO MANY KEYS, RE-ENTER.FILENAME? FILE EXISTS.  DELETE ORIGINAL (Y OR N*)? 0'~nSRTMRGSYS
+3"SR0NPYo˃*&68
-0-$0k3
'0
+':'+',0K-$0Wӆ3+''\+'0[''
0" '+&E +&0'0''0%9"
R OUTPUT KEYS.  DEFAULTS TO ENTIRE RECORD.FURTHER OPTIONS REQUIRED (Y OR N*)? IS INPUT FILE TEXT OR BINARY (T* OR B)? IS OUTPUT FILE TEXT OR BINARY (T* OR B)? PRINT RUN-TIME MESSAGES (Y* OR N)|? ?? SAVE PARAMETE

R FILE ON DISK (Y OR N*)? EXIT OR PROCEED WITH SORT (E OR S)? 'SRTMRG.SYS' NOT PRESENT ON DISK=== PARAMETERS ARE NOW SET ===ILLEGAL FILE SPECIFICATIONILLEGAL KEY SPECIFICA@qTION.TOO MANY KEYS, RE-ENTER.FILENAME? FILE EXISTS.  DELETE ORIGINAL (Y OR N*)? 0'~nSRTMRGSYS
+3"SR0NPYo˃*&68
-0-$0k3
'0
+':'+',0K-$0Wӆ3+''\+'0[''
0" '+&E +&0'0''0%9"
E&ga%_'
E&ga%_'
4
'0 0E'0$D0nj'0%
4
'0 0E'0$D0nj'0%
$&v0!+.&GH%	]'/a00(/0.&%	M'+70-צ/0+&H%M&	]'.0%%,0$'_E&34' '1½'o8'_
I&o2o5 K&2o5 T&o2505cY_N&	'o-3%-~0	'7zL%+P0P4Y&0CDFBħY,0Q%9o6P0Y$0UF&!YC' Bħ'00Y0QY[1Φ4P05'
Z&Y RS0/DZ&@Ľ'&90o .;"1400Ȁ1
$&v0!+.&GH%	]'/a00(/0.&%	M'+70-צ/0+&H%M&	]'.0%%,0$'_E&34' '1½'o8'_
I&o2o5 K&2o5 T&o2505cY_N&	'o-3%-~0	'7zL%+P0P4Y&0CDFBħY,0Q%9o6P0Y$0UF&!YC' Bħ'00Y0QY[1Φ4P05'
Z&Y RS0/DZ&@Ľ'&90o .;"1400Ȁ1
Z&0
Ȇ50nȀ ?"~ '
,'   +&'O9'9
9''='09)&YP&
Z&0
Ȇ50nȀ ?"~ '
,'   +&'O9'9
9''='09)&YP&
oYP)/0+.&
+.',&0y9o
DoBoFA%%_A'D'R'L&+BB' ؆@ ('9"0$E'b$'''@&V ۽H%K"C'?-&8mE&H%-"%A'!ĦA4"
%O FA4LC99oD DE&''I'܀0%܁ "ؽH%M&]'Z?"BB)&9"0$^
E'CĽ'9'E'e'*'T C''9C['$&`%Ƨ90_
'''       \Q' ['9'H%M&]'!\BC9'$'
''9'9B%
]'
oYP)/0+.&
+.',&0y9o
DoBoFA%%_A'D'R'L&+BB' ؆@ ('9"0$E'b$'''@&V ۽H%K"C'?-&8mE&H%-"%A'!ĦA4"
%O FA4LC99oD DE&''I'܀0%܁ "ؽH%M&]'Z?"BB)&9"0$^
E'CĽ'9'E'e'*'T C''9C['$&`%Ƨ90_
'''       \Q' ['9'H%M&]'!\BC9'$'
''9'9B%
]'
M&99'SRTMRG.SYS' NOT PRESENT ON DISKILLEGAL INPUT FILE SPECIF
ICATIONILLEGAL OUTPUT FILE SPECIFICATIONSPECS MUST START WITH PLUS SIGNUNRECOGNIZABLE  INPUT SPECUNRECOGNIZABLE OUTPUT SPECILLEGAL WORK DRIVE SPECIFIEDILLEGAL RECORD LENGTHONLY ONE OF L, E, OR C MAY BE SPECIFIEDILLEGAL END OF RECORD CHARACTE
RILLEGAL FIELD COUNTILLEGAL FIELD SEPARATORTOO MANY KEYS SPECIFIEDINPUT KEY ERROROUTPUT KEY ERRORILLEGAL OUTPUT SOURCE SPECIFIEDILLEGAL END OF OUTPUT RECORD CHARACTERNON-ZERO FIELD COUNT REQUIRES A FIELD SEPARATOREQUALS SIGN REQUIRED I      N SPECSYNTAX ERRORWL.EUCxFTBUKALDLLLRL(LOETBMAADLR(@$'0'~nSRTMRGSYS
ľ+3"$0S$SR 0NPUo˃*&8L
-+09_Y&0
M&99'SRTMRG.SYS' NOT PRESENT ON DISKILLEGAL INPUT FILE SPECIF
ICATIONILLEGAL OUTPUT FILE SPECIFICATIONSPECS MUST START WITH PLUS SIGNUNRECOGNIZABLE  INPUT SPECUNRECOGNIZABLE OUTPUT SPECILLEGAL WORK DRIVE SPECIFIEDILLEGAL RECORD LENGTHONLY ONE OF L, E, OR C MAY BE SPECIFIEDILLEGAL END OF RECORD CHARACTE
RILLEGAL FIELD COUNTILLEGAL FIELD SEPARATORTOO MANY KEYS SPECIFIEDINPUT KEY ERROROUTPUT KEY ERRORILLEGAL OUTPUT SOURCE SPECIFIEDILLEGAL END OF OUTPUT RECORD CHARACTERNON-ZERO FIELD COUNT REQUIRES A FIELD SEPARATOREQUALS SIGN REQUIRED I      N SPECSYNTAX ERRORWL.EUCxFTBUKALDLLLRL(LOETBMAADLR(@$'0'~nSRTMRGSYS
ľ+3"$0S$SR 0NPUo˃*&8L
-+09_Y&0
0K-$V 3$0OՁ
'!_V'F&0daH%]'/ 70]J'(0%9"H%M&]'.o+ %M'̧+0Z&O 
%M&m.' 0W ا,$0ڽA
'3_I'-K&2 $O&05
'
_T'I&d5RSo烈
'R'M0-$0
0K-$V 3$0OՁ
'!_V'F&0daH%]'/ 70]J'(0%9"H%M&]'.o+ %M'̧+0Z&O 
%M&m.' 0W ا,$0ڽA
'3_I'-K&2 $O&05
'
_T'I&d5RSo烈
'R'M0-$0
        І3*Ħ&
&'5&2&0      l $0NU00)'FU%ݮUPPU& 0
  G ȦCDFBħU,'ˁ 'ǁ
'0      UP&
        І3*Ħ&
&'5&2&0      l $0NU00)'FU%ݮUPPU& 0
  G ȦCDFBħU,'ˁ 'ǁ
'0      UP&
oP)$5&LE)PUL0P0m'u%PU$	0 F&-UC'.Bħ'00U,' '
'0i UW1N4P05'Z&U ŮU)PU&
6o$0ܽ`
'
_N'Y&U$$0̽$0S5_Y&00-$ 30'8'$0Z&0_Y&0& ;1+1N1!
oP)$5&LE)PUL0P0m'u%PU$	0 F&-UC'.Bħ'00U,' '
'0i UW1N4P05'Z&U ŮU)PU&
6o$0ܽ`
'
_N'Y&U$$0̽$0S5_Y&00-$ 30'8'$0Z&0_Y&0& ;1+1N1!
1
 0&Z&90&R
 S$0o_E'lM&0DZ&@'&<0 6;"1400Ȁ1
1
 0&Z&90&R
 S$0o_E'lM&0DZ&@'&<0 6;"1400Ȁ1
Z&0
Ȇ50nȀ ?"~$0
'
_T'B&30#҄_Y&0f0-$$ 30޽_Y&10
'
_Y'
!N&o8$O'0=q
'
_T'B&40G'_N&o- %-0*4_N&7oDoBoFA%%_A'D'R'L&+BB\' ؆@ ('9"0$E'b$'''@&V'H%K"C'?-&8mE&H%-"%A'!ĦA4"
%O 
"FA4LC90?9oD DE&''B'π0%Ձ        "ѽH%M&]'Z?"BB )&9"0$WE'CĽ'9 'E'e'*'M C''9CW'$&n%ƧN90N_
'''       \Q' W'9'H%M&]'B
#C905~
9'$'
''9'9B%
]'
Z&0
Ȇ50nȀ ?"~$0
'
_T'B&30#҄_Y&0f0-$$ 30޽_Y&10
'
_Y'
!N&o8$O'0=q
'
_T'B&40G'_N&o- %-0*4_N&7oDoBoFA%%_A'D'R'L&+BB\' ؆@ ('9"0$E'b$'''@&V'H%K"C'?-&8mE&H%-"%A'!ĦA4"
%O 
"FA4LC90?9oD DE&''B'π0%Ձ        "ѽH%M&]'Z?"BB )&9"0$WE'CĽ'9 'E'e'*'M C''9CW'$&n%ƧN90N_
'''       \Q' W'9'H%M&]'B
#C905~
9'$'
''9'9B%
]'
M&990οS'#''
'#4005'ݧ
&90; 40ά5'0&  '95=== TSC MERGE PARAMETER EDITOR ===OUTPUT TO DISK (Y OR N*)? ALTERNATE COLLAT
$   ING SEQUENCE (Y OR N*)? FIXED OR VARIABLE LENGTH RECORDS (F OR V*)? RECORD LENGTH? EOR CHARACTER OR FIELD COUNT (DEFAULT IS EOR=$0D)? FIELD SEPARATOR CHARACTER? NON-ZERO FIELD COUlNT REQUIRES A FIELD SEPARATOR.TREAT LOWER CASE EQUIVALENT TO UP
%
M&990οS'#''
'#4005'ݧ
&90; 40ά5'0&  '95=== TSC MERGE PARAMETER EDITOR ===OUTPUT TO DISK (Y OR N*)? ALTERNATE COLLAT
$   ING SEQUENCE (Y OR N*)? FIXED OR VARIABLE LENGTH RECORDS (F OR V*)? RECORD LENGTH? EOR CHARACTER OR FIELD COUNT (DEFAULT IS EOR=$0D)? FIELD SEPARATOR CHARACTER? NON-ZERO FIELD COUlNT REQUIRES A FIELD SEPARATOR.TREAT LOWER CASE EQUIVALENT TO UP
%
PER (Y OR N*)? DELETE RECORDS WITH BLANK SORT KEYS (Y* OR N)? OUTPUT FROM KEY, INPUT, OR OTHER (K, I*, OR O)? OUTPUT INDEXED OR T   0AG FILE (I OR T*)? EOR CHARACTER FOR OUTPUT RECORDS (DEFAULT=$0D)? ENTER INPUT KEYS.  DEFAULTS TO "A(1)1-10".ENTE
&R OUTPUT KEYS.  DEFAULTS TO ENTIRE RECORD.FURTHER OPTIONS REQUIRED (Y OR N*)?      ARE INPUT FILES TEXT OR BINARY (T* OR B)? IS OUTPUT FILE TEXT OR BINARY (T* OR B)? PRINT RUN-TIME MESSAGES (Y* OR N)? ?? SAVE PARAMETER FILE ON DISK (Y OR N*)? EXI
'T OR PROCEED WITH MERGE (E O
PER (Y OR N*)? DELETE RECORDS WITH BLANK SORT KEYS (Y* OR N)? OUTPUT FROM KEY, INPUT, OR OTHER (K, I*, OR O)? OUTPUT INDEXED OR T   0AG FILE (I OR T*)? EOR CHARACTER FOR OUTPUT RECORDS (DEFAULT=$0D)? ENTER INPUT KEYS.  DEFAULTS TO "A(1)1-10".ENTE
&R OUTPUT KEYS.  DEFAULTS TO ENTIRE RECORD.FURTHER OPTIONS REQUIRED (Y OR N*)?      ARE INPUT FILES TEXT OR BINARY (T* OR B)? IS OUTPUT FILE TEXT OR BINARY (T* OR B)? PRINT RUN-TIME MESSAGES (Y* OR N)? ?? SAVE PARAMETER FILE ON DISK (Y OR N*)? EXI
'T OR PROCEED WITH MERGE (E O
R M)? 'SRTMRG.SYS' NOT PRESENT ON DISK=== PARAMETERS ARE NOW SET ===ILLEGAL FILE SPECIFICATIONILLEGAL KEY SPECIFICATION.TOO MANY KEYS.  RE-ENTER.FILENAME? FILE EXISTS.  DELETE ORIGINAL (Y O|cR N*)? ILLEGAL INPU
T FILE SPECIFICATIONINPUT FILES NOT ON SAME DISK0'~nSRTMRGSYS
)+3"@-$0hO3&K;'0=F&1'06&!&&&j"j"j"1N0'L(&/')&' 0K-$0h3)&'RPoĦ
'Q'L@-$03*&

*&ܦ'5&2&0kl RP"0DZ&@'&0 .;"1400Ȁ1^
R M)? 'SRTMRG.SYS' NOT PRESENT ON DISK=== PARAMETERS ARE NOW SET ===ILLEGAL FILE SPECIFICATIONILLEGAL KEY SPECIFICATION.TOO MANY KEYS.  RE-ENTER.FILENAME? FILE EXISTS.  DELETE ORIGINAL (Y O|cR N*)? ILLEGAL INPU
T FILE SPECIFICATIONINPUT FILES NOT ON SAME DISK0'~nSRTMRGSYS
)+3"@-$0hO3&K;'0=F&1'06&!&&&j"j"j"1N0'L(&/')&' 0K-$0h3)&'RPoĦ
'Q'L@-$03*&

*&ܦ'5&2&0kl RP"0DZ&@'&0 .;"1400Ȁ1^
Z&0\Ȇ50nȀ R0@&$0Z&@00'Z'&. '...@?"~ILLEGAL PARAMETER FILE SPECIFICATIONILLEGAL OUTPUT FILE SPECIFICATION'SRTMRG.SYS' NOT PRESENT ON DISKELRROR WITH FILE 'PARAMETER FILE NOT BINARYILLEGAL PARAMETER FILEILLEGAL INPUT FILE SPECIFICATIONINPUT FILES NOT ON SAME DISK0'~nSRTMRGSYS
, >      
Z&0\Ȇ50nȀ R0@&$0Z&@00'Z'&. '...@?"~ILLEGAL PARAMETER FILE SPECIFICATIONILLEGAL OUTPUT FILE SPECIFICATION'SRTMRG.SYS' NOT PRESENT ON DISKELRROR WITH FILE 'PARAMETER FILE NOT BINARYILLEGAL PARAMETER FILEILLEGAL INPUT FILE SPECIFICATIONINPUT FILES NOT ON SAME DISK0'~nSRTMRGSYS
, >      
dKݯ1oo@-%/3@&oΆ
 &m&
&o  &o ځ & m&l( Ɓ.& :&
dKݯ1oo@-%/3@&oΆ
 &m&
&o  &o ځ & m&l( Ɓ.& :&
!& ?&>7lj9`"ma&A%mS&6lM 
-oB:'"l091?o ս&6.& %:& ,& 4 m&5m&9&
& '('     '? 0[
!& ?&>7lj9`"ma&A%mS&6lM 
-oB:'"l091?o ս&6.& %:& ,& 4 m&5m&9&
& '('     '? 0[
06 0=k~$05SDZ&$06<0?_90:-0._90>0#_90F
._09$|"0" _+&l&4A%Z"`5901FׯůٮLׯ01*#m'o1@o' &l'] '
' 0mm&}Z0Z&Qmq' Q0H 
06 0=k~$05SDZ&$06<0?_90:-0._90>0#_90F
._09$|"0" _+&l&4A%Z"`5901FׯůٮLׯ01*#m'o1@o' &l'] '
' 0mm&}Z0Z&Qmq' Q0H 
j&9߽$0_0̽90_090oѮ"d0z}dm'Su0KV0
8_0>90)_0
0;90_0$9$0L$0lo4"\"a"f"k"p"u |l0ʎ
j&9߽$0_0̽90_090oѮ"d0z}dm'Su0KV0
8_0>90)_0
0;90_0$9$0L$0lo4"\"a"f"k"p"u |l0ʎ
;0Ml5"*"%" "%"*"/ 60 40 +0 "0 0w 0ĕn 0e$''/ z0O q0F h0Q= _0
14 V0+ M0*"ā"Ɂ"΁" ڽ$&@
;0Ml5"*"%" "%"*"/ 60 40 +0 "0 0w 0ĕn 0e$''/ z0O q0F h0Q= _0
14 V0+ M0*"ā"Ɂ"΁" ڽ$&@
&9Z&󦀁 & \ ; Y " 8$Ձ;$H0r轢ƁY$H0ٮ;\զ$H0u.+H0Ln0_9$0]\405$$$$)$.
2$3$8 ?] 0) 40  +0 "0; 0 0       0
&9Z&󦀁 & \ ; Y " 8$Ձ;$H0r轢ƁY$H0ٮ;\զ$H0u.+H0Ln0_9$0]\405$$$$)$.
2$3$8 ?] 0) 40  +0 "0; 0 0       0
$0 ݽ$0Xӽ~O_ff$FVff0&9442Am+Lhi+&oo$ iidfj&2c5999Now counting pers
3onal words and affixes . . .READABILITY REPORT FOR Number of lines = Number of words = Number of sentences = Number of proper nouns = Number of personal words = Number of affixes = Percentage of personal words = Number of affixes per 1
4    00 words = NO SUCH FILEILLEGAL FILE NAMEFILE EXISTSVERY DIFFICULT DIFFICULT FAIRLY DIFFICULT AVERAGE FAIRLY EASY EASY VERY EASY                               Your RatingBasled on the Average Sentence Length: Based on the Number of Affix
5
$0 ݽ$0Xӽ~O_ff$FVff0&9442Am+Lhi+&oo$ iidfj&2c5999Now counting pers
3onal words and affixes . . .READABILITY REPORT FOR Number of lines = Number of words = Number of sentences = Number of proper nouns = Number of personal words = Number of affixes = Percentage of personal words = Number of affixes per 1
4    00 words = NO SUCH FILEILLEGAL FILE NAMEFILE EXISTSVERY DIFFICULT DIFFICULT FAIRLY DIFFICULT AVERAGE FAIRLY EASY EASY VERY EASY                               Your RatingBasled on the Average Sentence Length: Based on the Number of Affix
5
es: Based on the Number of Personal Words: Your overall Readability Index is This means your story is . . . Hopefully, you are p   0leased with your rating.  If not, rewrite the story in an effort to communicate more effectively. Think short words,
6 short sentences, and short paragraphs. Do not be discouraged.  Writing for any      practical purpose is a difficult and elusive art.  Remember, Ernest Hemmingway often spent eight hours writing four or five hundred words.                             
7  G O O D  L U C KDRAMATIC;
es: Based on the Number of Personal Words: Your overall Readability Index is This means your story is . . . Hopefully, you are p   0leased with your rating.  If not, rewrite the story in an effort to communicate more effectively. Think short words,
6 short sentences, and short paragraphs. Do not be discouraged.  Writing for any      practical purpose is a difficult and elusive art.  Remember, Ernest Hemmingway often spent eight hours writing four or five hundred words.                             
7  G O O D  L U C KDRAMATIC;
 similar to fiction material. HIGHLY INTERESTING; similar to writing in the New Yorker Magazine. INTERESTING; similar to material found in the digests. MILDLY INTERESTING; similar to material f|ound in trade journa
8
ls. DULL; looks like it is from a scientific publication. VERY DIFFICULT READING. Your potential audience includes only four and a half percent of the population. The story w@ould probably only be read by college graduates and would be published i
9n a scientific journal.DIFFICULT READING. Twenty-four percent of the U. S. population might understand it. Your audience wo
uld include mostly people with some college experience. It would most likely be printed by an academic journal. FAIRLY DIFF
:ICULT TO READ. Forty percent of U. S. adults can understand it. Most of 
your readers would be at a high school level. The article would be published by most quality publications. STANDARD READING. Seventy-five percent of the people in the U. S. ar
;e able to read it. A seventh or eighth grade reading skill is required. This type of material can be found in the digests. FAIRLY EASY TO READ. Eighty percent of the population can handle it. A sixth grader could unPderstand it and most slick f
<iction magazines would publish it.EASY READING. A fifth grader can understand it. Eighty-six percent of the population can handle it. It is similar to material found in paperback fiction.VERY EASY READING. People who only like comic books can und
=erstand it. A fourth grader would read it. It can communicate with ninety percent of the people in the United States. Average sentence length =  ab ac ad ag al ant ar ap as at be by cata cath circum cis co de dys ec ef em e
>n eph epi equi es eu ex for hemi hetero homo hyper hypo il in mal mega meta mis mono multi neo non ob oc of omni ortho out over pan para pen per poly por post pre pro pseudo pur re su sy tele         thorough t
?ra tres tr`i ultra un up vice withade ae age al ance ar ate ee ence esce ese ess ete ette ful graph ice ics ide ie il ing is ise ish isk ite ive ize le like me ock ol $one or os ose scope ship th t
@ude ue ure ute verse ways wise y ism ist et ent  me  my  mine  myself  thou  thee  thy  thine  you  your  yours
 similar to fiction material. HIGHLY INTERESTING; similar to writing in the New Yorker Magazine. INTERESTING; similar to material found in the digests. MILDLY INTERESTING; similar to material f|ound in trade journa
8
ls. DULL; looks like it is from a scientific publication. VERY DIFFICULT READING. Your potential audience includes only four and a half percent of the population. The story w@ould probably only be read by college graduates and would be published i
9n a scientific journal.DIFFICULT READING. Twenty-four percent of the U. S. population might understand it. Your audience wo
uld include mostly people with some college experience. It would most likely be printed by an academic journal. FAIRLY DIFF
:ICULT TO READ. Forty percent of U. S. adults can understand it. Most of 
your readers would be at a high school level. The article would be published by most quality publications. STANDARD READING. Seventy-five percent of the people in the U. S. ar
;e able to read it. A seventh or eighth grade reading skill is required. This type of material can be found in the digests. FAIRLY EASY TO READ. Eighty percent of the population can handle it. A sixth grader could unPderstand it and most slick f
<iction magazines would publish it.EASY READING. A fifth grader can understand it. Eighty-six percent of the population can handle it. It is similar to material found in paperback fiction.VERY EASY READING. People who only like comic books can und
=erstand it. A fourth grader would read it. It can communicate with ninety percent of the people in the United States. Average sentence length =  ab ac ad ag al ant ar ap as at be by cata cath circum cis co de dys ec ef em e
>n eph epi equi es eu ex for hemi hetero homo hyper hypo il in mal mega meta mis mono multi neo non ob oc of omni ortho out over pan para pen per poly por post pre pro pseudo pur re su sy tele         thorough t
?ra tres tr`i ultra un up vice withade ae age al ance ar ate ee ence esce ese ess ete ette ful graph ice ics ide ie il ing is ise ish isk ite ive ize le like me ock ol $one or os ose scope ship th t
@ude ue ure ute verse ways wise y ism ist et ent  me  my  mine  myself  thou  thee  thy  thine  you  your  yours
 yourself  he  him  his   himself  she  her  hers      herself  we  us  our  ours  ourselves  they  th
Aem  their  theirs  themselves  man  woman  boy  girl  child  baby  father  mother  son
 yourself  he  him  his   himself  she  her  hers      herself  we  us  our  ours  ourselves  they  th
Aem  their  theirs  themselves  man  woman  boy  girl  child  baby  father  mother  son
 daughter    brother  sister  uncle  aunt  nephew  niece  cousin       husband  wife  family  parent  dad  daddy  mamma  papa  mister
 daughter    brother  sister  uncle  aunt  nephew  niece  cousin       husband  wife  family  parent  dad  daddy  mamma  papa  mister
 mis
Btress  miss  gentleman  lady  sir  madam  lad  lapss  guy  dame  kid  people  folks  friend  fellow  pal 
(6CP^kx&4AN\iw
 mis
Btress  miss  gentleman  lady  sir  madam  lad  lapss  guy  dame  kid  people  folks  friend  fellow  pal 
(6CP^kx&4AN\iw
%2?MZgu#
4 '-4:@GMTZagnt{")/6<BIOV\cipv}
%2?MZgu#
4 '-4:@GMTZagnt{")/6<BIOV\cipv}
$+18>D
!(.5;BH&OV\cipw}
D 
$+18>D
!(.5;BH&OV\cipw}
D 
#'&H%'#'H%&
@?~~&&&.Ȟ' &| ˿	턍 ծȞ'; 
'2
0+$''{$0 }'%~ć'00 9&  }'/0 &    }&70 0 &0 &000Z*         &       0 憢 
'9
#'&H%'#'H%&
@?~~&&&.Ȟ' &| ˿	턍 ծȞ'; 
'2
0+$''{$0 }'%~ć'00 9&  }'/0 &    }&70 0 &0 &000Z*         &       0 憢 
'9
...RENUMBER IN PROGRESS...
F(**********************************************************************)
(* S T A N D A R D        P R E F I X    !*)
(**********************************************************************)
 
CONST LINELENGTH = 132;
TYPE LINE = ARRAY [1..LINELENGTH] OF CHAR;

G
CONST IDLENGTH = 16;
TYPE IDENTIFIER = ARRAY [1..IDLENGTH] OF CHAR;

TYPE
       TEXT = FILE OF CHAR;
  text = TEXT;

CONST MAXSTR = 10;       {Length of Alfa strings }
TYPE
        ALFA = ARRAY [1..MAXSTR] OF CHAR;
     alfa = ALFA;
 
TYPE PROGRESULT =
      (TERMINATED, O
HVERFLOW, POINTERERROR, RANGEERROR, VARIANTERROR,
    HEAPLIMIT, STACKLIMIT, ABORTED);
 
TYPE ARGTAG =
      (NILTYPE, BOOLTYPE, INTTYPE, IDTYPE);
 
TYPE ARGTYPE = RECORD
 CASE TAG: ARGTAG OF
   NILTYPE, BOOLTYPE: (BOOL: BOOLEAN);
   INTTYPE: (INT: INTEGER);
      
IIDTYPE: (ID: IDENTIFIER)
  END;

CONST MAXARG = 5;
TYPE ARGLIST = ARRAY [1..MAXARG] OF ARGTYPE;

PROCEDURE MARK(VAR TOP: INTEGER);
PROCEDURE RELEASE(TOP: INTEGER);

PROCEDURE RUN(ID: IDENTIFIER; VAR PARAM: ARGLIST;
   VAR LINE: INTEGER; VAR RESULT: PRO
JGRESULT);
 
PROCEDURE SYSTEM_DRIVE(VAR C: CHAR);
PROCEDURE WORK_DRIVE(VAR C: CHAR);
 
PROCEDURE ABORT;   "TERMINATE PROGRAM IMMEDIATELY"

(*    
      PROCEDURES USED TO MANIPULATE ABSOLUTE MEMORY LOCATIONS.
*)

FUNCTION PEEK(LOC: INTEGER): INTEGER;     (* READ 
KBYTE *)
FUNCTION PEEKW(LOC: INTEGER): INTEGER; (* READ WORD *)

PROCEDURE POKE(LOC, VAL: INTEGER); (* WRITE BYTE *)
PROCEDURE POKEW(LOC, VAL: INTEGER); (* WRITE WORD *)

FUNCTION ODD(X: INTEGER): BOOLEAN;
FUNCTION ROUND(X: REAL): INTEGER;

(**********
L***********************************************************)
(*    FILE I/O DEFINITIONS   -*)
(*********************************************************************)

PROCEDURE __GET(VAR F: TEXT);
PROCEDURE __PUT(VAR F: TEXT);

PROCEDURE __RDX(VAR C: CHAR)
M;
PROCEDURE __WRX(C: CHAR);

FUNCTION EOLN(VAR F: UNIV TEXT): BOOLEAN;
FUNCTION EOF(VAR F: UNIV TEXT): BOOLEAN;

PROCEDURE __RLN;
PROCEDURE __WLN;

PROCEDURE __RWF(VAR F: TEXT;      DUMMY1, DUMMY2: INTEGER);
PROCEDURE __RWFS(VAR F: TEXT);       { SHORT FORM OF 
N    RWF }
PROCEDURE __EIO;

PROCEDURE __RDI(VAR I: INTEGER; WIDTH, DIGITS: INTEGER);
PROCEDURE __RDC(VAR C: CHAR; WIDTH, DIGITS: INTEGER);
PROCEDURE __RDR(VAR R: REAL; WIDTH, DIGITS: INTEGER);

PROCEDURE __WRI(I: INTEGER; WIDTH, DUMMY: INTEGER);
PROCEDURE 
O
...RENUMBER IN PROGRESS...
F(**********************************************************************)
(* S T A N D A R D        P R E F I X    !*)
(**********************************************************************)
 
CONST LINELENGTH = 132;
TYPE LINE = ARRAY [1..LINELENGTH] OF CHAR;

G
CONST IDLENGTH = 16;
TYPE IDENTIFIER = ARRAY [1..IDLENGTH] OF CHAR;

TYPE
       TEXT = FILE OF CHAR;
  text = TEXT;

CONST MAXSTR = 10;       {Length of Alfa strings }
TYPE
        ALFA = ARRAY [1..MAXSTR] OF CHAR;
     alfa = ALFA;
 
TYPE PROGRESULT =
      (TERMINATED, O
HVERFLOW, POINTERERROR, RANGEERROR, VARIANTERROR,
    HEAPLIMIT, STACKLIMIT, ABORTED);
 
TYPE ARGTAG =
      (NILTYPE, BOOLTYPE, INTTYPE, IDTYPE);
 
TYPE ARGTYPE = RECORD
 CASE TAG: ARGTAG OF
   NILTYPE, BOOLTYPE: (BOOL: BOOLEAN);
   INTTYPE: (INT: INTEGER);
      
IIDTYPE: (ID: IDENTIFIER)
  END;

CONST MAXARG = 5;
TYPE ARGLIST = ARRAY [1..MAXARG] OF ARGTYPE;

PROCEDURE MARK(VAR TOP: INTEGER);
PROCEDURE RELEASE(TOP: INTEGER);

PROCEDURE RUN(ID: IDENTIFIER; VAR PARAM: ARGLIST;
   VAR LINE: INTEGER; VAR RESULT: PRO
JGRESULT);
 
PROCEDURE SYSTEM_DRIVE(VAR C: CHAR);
PROCEDURE WORK_DRIVE(VAR C: CHAR);
 
PROCEDURE ABORT;   "TERMINATE PROGRAM IMMEDIATELY"

(*    
      PROCEDURES USED TO MANIPULATE ABSOLUTE MEMORY LOCATIONS.
*)

FUNCTION PEEK(LOC: INTEGER): INTEGER;     (* READ 
KBYTE *)
FUNCTION PEEKW(LOC: INTEGER): INTEGER; (* READ WORD *)

PROCEDURE POKE(LOC, VAL: INTEGER); (* WRITE BYTE *)
PROCEDURE POKEW(LOC, VAL: INTEGER); (* WRITE WORD *)

FUNCTION ODD(X: INTEGER): BOOLEAN;
FUNCTION ROUND(X: REAL): INTEGER;

(**********
L***********************************************************)
(*    FILE I/O DEFINITIONS   -*)
(*********************************************************************)

PROCEDURE __GET(VAR F: TEXT);
PROCEDURE __PUT(VAR F: TEXT);

PROCEDURE __RDX(VAR C: CHAR)
M;
PROCEDURE __WRX(C: CHAR);

FUNCTION EOLN(VAR F: UNIV TEXT): BOOLEAN;
FUNCTION EOF(VAR F: UNIV TEXT): BOOLEAN;

PROCEDURE __RLN;
PROCEDURE __WLN;

PROCEDURE __RWF(VAR F: TEXT;      DUMMY1, DUMMY2: INTEGER);
PROCEDURE __RWFS(VAR F: TEXT);       { SHORT FORM OF 
N    RWF }
PROCEDURE __EIO;

PROCEDURE __RDI(VAR I: INTEGER; WIDTH, DIGITS: INTEGER);
PROCEDURE __RDC(VAR C: CHAR; WIDTH, DIGITS: INTEGER);
PROCEDURE __RDR(VAR R: REAL; WIDTH, DIGITS: INTEGER);

PROCEDURE __WRI(I: INTEGER; WIDTH, DUMMY: INTEGER);
PROCEDURE 
O
__WRC(C: CHAR; WIDTH, DUMMY: INTEGER);
PROCEDURE __WRS(S: LINE; WIDTH, DUMMY: INTEGER);
PROCEDURE __WRR(R: REAL; WIDTH, DIGITS: INTEGER);

PROCEDURE _FRESET(SIZE: INTEGER; NAME: LINE);
PROCEDURE _FREWRITE(SIZE: INTEGER; NAME: LINE);

PROCEDURE _SRESET;
P
PROCEDURE _SREWRITE;

PROCEDURE BUFFER(VAR F: TEXT);   (* TURN BUFFERING ON *)
PROCEDURE UNBUFFER(VAR F: TEXT);       (* TURN BUFFERING OFF *)

PROCEDURE PAGE(VAR F: TEXT); (* OUTPUT FORM FEED *)
PROCEDURE SETBIN(VAR F: TEXT);  {Set binary file mode}

(***
Q********************************************************)
(*   STANDARD FUNCTIONS (TRIG, ETC) *)
(***********************************************************)

FUNCTION SIN(X: REAL): REAL;
FUNCTION COS(X: REAL): REAL;
FUNCTION ARCTAN(X: REAL): REAL;

F
UNCTION EXP(X: REAL): REAL;
FUNCTION LN(X: REAL): REAL;

FUNCTION SQRT(X: REAL): REAL;
FUNCTION RND(X: REAL): REAL;

PROGRAM P(VAR INPUT, OUTPUT: TEXT;      VAR PARAM: ARGLIST);

S .:ĸĹĸ'ĺ'(+'-'& ' v&ĺ&ĸ&&fĶĹ&fķ&Ķ% &ĪȐĻ
ķ=4+IJ\ķ$ĵ'oĹ0A+-&BE&&;7H%'$"]'9'
'9_Y9K
T-'d!-T    Scratch disk in drive 0? Are you sure? -- Source and target have different format.-- Source and target drives identical.-- Not enough memory for track buffer.-- Can't fit source onto target.-
U- Invalid parameter specified.-- Disks have unknown format.-- Unable to read SIR sector.-- Invalid drive number.-- Mirror aborted.ĮİĵĴĸuĮIJ|)LĶ"zĴ&ĮĵĴĹHİIJO)LĶ"zĴ&İĮĶ#
V&1PĻ
@
__WRC(C: CHAR; WIDTH, DUMMY: INTEGER);
PROCEDURE __WRS(S: LINE; WIDTH, DUMMY: INTEGER);
PROCEDURE __WRR(R: REAL; WIDTH, DIGITS: INTEGER);

PROCEDURE _FRESET(SIZE: INTEGER; NAME: LINE);
PROCEDURE _FREWRITE(SIZE: INTEGER; NAME: LINE);

PROCEDURE _SRESET;
P
PROCEDURE _SREWRITE;

PROCEDURE BUFFER(VAR F: TEXT);   (* TURN BUFFERING ON *)
PROCEDURE UNBUFFER(VAR F: TEXT);       (* TURN BUFFERING OFF *)

PROCEDURE PAGE(VAR F: TEXT); (* OUTPUT FORM FEED *)
PROCEDURE SETBIN(VAR F: TEXT);  {Set binary file mode}

(***
Q********************************************************)
(*   STANDARD FUNCTIONS (TRIG, ETC) *)
(***********************************************************)

FUNCTION SIN(X: REAL): REAL;
FUNCTION COS(X: REAL): REAL;
FUNCTION ARCTAN(X: REAL): REAL;

F
UNCTION EXP(X: REAL): REAL;
FUNCTION LN(X: REAL): REAL;

FUNCTION SQRT(X: REAL): REAL;
FUNCTION RND(X: REAL): REAL;

PROGRAM P(VAR INPUT, OUTPUT: TEXT;      VAR PARAM: ARGLIST);

S .:ĸĹĸ'ĺ'(+'-'& ' v&ĺ&ĸ&&fĶĹ&fķ&Ķ% &ĪȐĻ
ķ=4+IJ\ķ$ĵ'oĹ0A+-&BE&&;7H%'$"]'9'
'9_Y9K
T-'d!-T    Scratch disk in drive 0? Are you sure? -- Source and target have different format.-- Source and target drives identical.-- Not enough memory for track buffer.-- Can't fit source onto target.-
U- Invalid parameter specified.-- Disks have unknown format.-- Unable to read SIR sector.-- Invalid drive number.-- Mirror aborted.ĮİĵĴĸuĮIJ|)LĶ"zĴ&ĮĵĴĹHİIJO)LĶ"zĴ&İĮĶ#
V&1PĻ
@
&Ė~4v32|1\^Ī줫DD_m'1""^_\큦^L#^A&oA_#A254v34 1#'!'@ĸ     j_&254v34 1#'!'@Ĺ j_&25}ĺ'B 1#'
W'j_'ܦ椮!' @   ~@~Z&94®'0J&5
&Ė~4v32|1\^Ī줫DD_m'1""^_\큦^L#^A&oA_#A254v34 1#'!'@ĸ     j_&254v34 1#'!'@Ĺ j_&25}ĺ'B 1#'
W'j_'ܦ椮!' @   ~@~Z&94®'0J&5
5$4S:È    
5$4S:È    

       

       

  

  


       


       
4  
X
4  
X

-(#0+&3!.)$1,'4"/*%2 :
     

-(#0+&3!.)$1,'4"/*%2 :
     
#(-27$).38 %*/49!&+05:"',16
#(-27$).38 %*/49!&+05:"',16
     
     

      

      
     
     

$
    

$
    
 !"#$. R v~-- Fatal error reading source disk.-- Fatal error writing target disk.-- Unable to restore volume id.-- Mirror complete.
Z+3"@-$0]O3&K;'0ؽ&1'0Ƚ&!&&&j"j"j"1N0'L'0(&/')&' 0K-$0k3)&'"0DZ&@'&0 .;"1

[400Ȁ1=
 !"#$. R v~-- Fatal error reading source disk.-- Fatal error writing target disk.-- Unable to restore volume id.-- Mirror complete.
Z+3"@-$0]O3&K;'0ؽ&1'0Ƚ&!&&&j"j"j"1N0'L'0(&/')&' 0K-$0k3)&'"0DZ&@'&0 .;"1

[400Ȁ1=
Z&0\Ȇ50nȀ R0@&$0Z&@00'Z'&. '...@?"~ILLEGAL PARAMETER FILE SPECIFICATIONILLEGAL OUTPUT FILE SPECIFICATION'SRTMRG.SYS' NOT PRESENT ON DISKERROR WITH FILE 'PARAMETER FILE NOT BINARYILLEGAL PARAMETER FILEPARAMETER FILE IS MERGE-ONLY0'~nSRTMRLGSYS
] nn
Z&0\Ȇ50nȀ R0@&$0Z&@00'Z'&. '...@?"~ILLEGAL PARAMETER FILE SPECIFICATIONILLEGAL OUTPUT FILE SPECIFICATION'SRTMRG.SYS' NOT PRESENT ON DISKERROR WITH FILE 'PARAMETER FILE NOT BINARYILLEGAL PARAMETER FILEPARAMETER FILE IS MERGE-ONLY0'~nSRTMRLGSYS
] nn
nn2CO  4Z&3* 0
nn2CO  4Z&3* 0
mF&~TESTING COMPLETEDH&        hH$+x ĦH&0B#94h0B}0a.0ArH>0Cg53D5a'T|INTERMITTANT ERROR, ADDRESS:   EXPECTED:   RECEIVED: b&d#
^904oaio&&k#00a0550 0040,0w2b000ak075|5o'STORE ADDRESS: , READ ADDRESS: ˆ, DATA: %B"99bdOfh4 #50DDDD09#41h%0Z&5oG
_

mF&~TESTING COMPLETEDH&        hH$+x ĦH&0B#94h0B}0a.0ArH>0Cg53D5a'T|INTERMITTANT ERROR, ADDRESS:   EXPECTED:   RECEIVED: b&d#
^904oaio&&k#00a0550 0040,0w2b000ak075|5o'STORE ADDRESS: , READ ADDRESS: ˆ, DATA: %B"99bdOfh4 #50DDDD09#41h%0Z&5oG
_

4E'OZ&5' 9B%KĽB%D]&+B#B01 _&:01HT&4+H&	Lč0wlFED90~0 0% 0; ERROR IN ADDRESSLAST < FIRST"CONVERGE" IS IN TEST AREASTACK IS IN TEST AREAFLEX ASSUMED OVERWRITTEN#lGD'G"950502xff#/DVbAdЮddbfbft'12h9B- HħB#9 '	@ A
'C'>       9&@&;0~&` ?~v "PRINT.SYS" NOT FOUND"T" MUST BE FOLLOWED BY A COMMANDCPRINTSYS .:@-%/3&&' L l~-- File specification required.-- File failed to open.-- Directory could not be updated.
c	O;J<3HEZu$
el$ejOO O0&&9uO%&ӗŗ=2xiA×ė;՗L?h/&ooo
~L|&ĎXןƞ۟ݎfM>LZ&
d'`&b
''_-$/*'
4E'OZ&5' 9B%KĽB%D]&+B#B01 _&:01HT&4+H&	Lč0wlFED90~0 0% 0; ERROR IN ADDRESSLAST < FIRST"CONVERGE" IS IN TEST AREASTACK IS IN TEST AREAFLEX ASSUMED OVERWRITTEN#lGD'G"950502xff#/DVbAdЮddbfbft'12h9B- HħB#9 '	@ A
'C'>       9&@&;0~&` ?~v "PRINT.SYS" NOT FOUND"T" MUST BE FOLLOWED BY A COMMANDCPRINTSYS .:@-%/3&&' L l~-- File specification required.-- File failed to open.-- Directory could not be updated.
c	O;J<3HEZu$
el$ejOO O0&&9uO%&ӗŗ=2xiA×ė;՗L?h/&ooo
~L|&ĎXןƞ۟ݎfM>LZ&
d'`&b
''_-$/*'

'ˎ#x'$ 34i$n "nǁ& 5A_&'("'.'!'?&  ' с '͗Ɇ  ߞׁ
&&\ & 2&&&

e ٟn&  'R 'K4 0W'&0'맀  5w$u߁ ' 'Lv _X妄 &

'ˎ#x'$ 34i$n "nǁ& 5A_&'("'.'!'?&  ' с '͗Ɇ  ߞׁ
&&\ & 2&&&

e ٟn&  'R 'K4 0W'&0'맀  5w$u߁ ' 'Lv _X妄 &
\0&X '& & '&'&\&`ֳ&`&b';Xۦ &馄 '0' Z'9馄 &0' 
f ʞۆ 'ۦ &0馄 '  0W' '9馄 &  0W'  >'_
p&8pq+'
4 j&2a' یX''0X'    o&_׃dhqbX׎u'ק'מ2 'J'    45 `&20X% &.'?'
g!&}
N'45]'9\W+)RW ''姀  ' 9]'(۟:'0秄0  0Z&9_ ۡ&\ 9'4H"4WWW
\0&X '& & '&'&\&`ֳ&`&b';Xۦ &馄 '0' Z'9馄 &0' 
f ʞۆ 'ۦ &0馄 '  0W' '9馄 &  0W'  >'_
p&8pq+'
4 j&2a' یX''0X'    o&_׃dhqbX׎u'ק'מ2 'J'    45 `&20X% &.'?'
g!&}
N'45]'9\W+)RW ''姀  ' 9]'(۟:'0秄0  0Z&9_ ۡ&\ 9'4H"4WWW
&OіcŞ۟Xۖ;L2O9}2b5юU5b&
&OіcŞ۟Xۖ;L2O9}2b5юU5b&
a'9}&
a&W
h&
a'9}&
a&W
h&
Z'㦄
'0 #&^&w&*&['&0
&_-
&)k^&3֛&ּ'Nք&'  
 քځ&
Z'㦄
'0 #&^&w&*&['&0
&_-
&)k^&3֛&ּ'Nք&'  
 քځ&
j' &_׼j9#i\ּ'.':&d &        k k' 'kZڂڅڛ&&u2m'%0 uw ւ&#'%&^4^t  }
j' &_׼j9#i\ּ'.':&d &        k k' 'kZڂڅڛ&&u2m'%0 uw ւ&#'%&^4^t  }
R5^
i$\&j@'^'!ִڵZ&A%Z"l'  l'l'ֵ'  ~^ ^
&~쁟_#   U&Z *0
R5^
i$\&j@'^'!ִڵZ&A%Z"l'  l'l'ֵ'  ~^ ^
&~쁟_#   U&Z *0
Q&45$f''#0 M'       OZ dZ=a4o0T&4[\45'
j'K0 n&$==L'!0|&đ?#'S'Si i=& a40
Q&45$f''#0 M'       OZ dZ=a4o0T&4[\45'
j'K0 n&$==L'!0|&đ?#'S'Si i=& a40
a59=&2'd& ׌X'' X``d9ڎ5SP
a59=&2'd& ׌X'' X``d9ڎ5SP
WPG
WPG
{MS
{MS
SS
SS
NJ
NJ
JU
JU
DHDWDBCEBR     *
DHDWDBCEBR     *
zFINFSIOPIkPNLM
zFINFSIOPIkPNLM
IN
IN
LNNS       1RS4PL:CP
k       cNChNLSV
!OS
LNNS       1RS4PL:CP
k       cNChNLSV
!OS
DA#STTLzLTmCHIFRNR
DA#STTLzLTmCHIFRNR
AR'SR*CR/AU3TC7TFBTANEX  >TMgGIyEVRPPS
AR'SR*CR/AU3TC7TFBTANEX  >TMgGIyEVRPPS
RULlRIqICNINBCFOF
RULlRIqICNINBCFOF
z
z
z
z
z9h&Je&e}e
z9h&Je&e}e
l%e4<5J&9-$i h&S&iLSS&9 $e 
l
l%e4<5J&9-$i h&S&iLSS&9 $e 
l
999&      N&O˗9R&˗9C&͗9$
999&      N&O˗9R&˗9C&͗9$
>*O>9,$8*O8 $;";׌X'    (92u$w0Ĕh9h9,
&O9!
&94U$5e$&9o9
&	C	=9!$e' Os&9s2x2x
m8yy8;֜;섧灌&焦0&Xȧ瀌 &9$ii9 = 
 $q'# іŗc9n%B     ?PM&L?9V$q
>*O>9,$8*O8 $;";׌X'    (92u$w0Ĕh9h9,
&O9!
&94U$5e$&9o9
&	C	=9!$e' Os&9s2x2x
m8yy8;֜;섧灌&焦0&Xȧ瀌 &9$ii9 = 
 $q'# іŗc9n%B     ?PM&L?9V$q
9'E9&( &9& ܝ@Čf'eܣ0 ꖝ&9&ޮ$ܣ턞
'99
' m'
p"
9'E9&( &9& ܝ@Čf'eܣ0 ꖝ&9&ޮ$ܣ턞
'99
' m'
p"

&

&

'E0О90' \\M&& '9
'	O m'm'm'ooo9&   '֞f'	'0 9&&90'99'[}2#/&40"5&0_#  ם9O_ ;$!9
q
'2^8
&^~
&~2 &c׸t]4G #
J&T=Ր4# J&;՗'>' 45Z&2

'E0О90' \\M&& '9
'	O m'm'm'ooo9&   '֞f'	'0 9&&90'99'[}2#/&40"5&0_#  ם9O_ ;$!9
q
'2^8
&^~
&~2 &c׸t]4G #
J&T=Ր4# J&;՗'>' 45Z&2
&9_㦀'
'\ 09'  09~!&~ _# O&iF$'         E&&i
rF%~&0d.':&
d09~&9$0e+' 9e*gfe9$?LЎLM&L'&9d'֞L'0|&9$ߍ?LM&L9Zg&445$(t999 v$]9_eTOR90A0PU9UX'       UW_㦄 
s&0 9_M+_#" 0%9"\9A%Z"9e
g'
&9_㦀'
'\ 09'  09~!&~ _# O&iF$'         E&&i
rF%~&0d.':&
d09~&9$0e+' 9e*gfe9$?LЎLM&L'&9d'֞L'0|&9$ߍ?LM&L9Zg&445$(t999 v$]9_eTOR90A0PU9UX'       UW_㦄 
s&0 9_M+_#" 0%9"\9A%Z"9e
g'

f'P499Ogf\^+'-&f0!$ 0/$9     09W^9gQ\^Tj
t'tr%'N
e'4e Te#'+&P ́-&Q ā%&hi 6j9&
T'! +&ET ݀04eXXeX
teO Q'

f'P499Ogf\^+'-&f0!$ 0/$9     09W^9gQ\^Tj
t'tr%'N
e'4e Te#'+&P ́-&Q ā%&hi 6j9&
T'! +&ET ݀04eXXeX
teO Q'
R4 P'RRPQO
e'd5 
e'4 t
O&9W%Re'&<_Xd%d\ ]'0X_
R4 P'RRPQO
e'd5 
e'4 t
O&9W%Re'&<_Xd%d\ ]'0X_
%
%
\ 
X&]'0瀋0WX%U9Cd%d Z%ZX灁2%2L瀁(%
\ 
X&]'0瀋0WX%U9Cd%d Z%ZX灁2%2L瀁(%
(LXX
(LXX
%
%
    %     I灁%V瀀%
    %     I灁%V瀀%
VIIM'J X*

u% X&rN9M'6&S&9ׁ
&>L9M' e&LK&LN4&J'
VIIM'J X*

u% X&rN9M'6&S&9ׁ
&>L9M' e&LK&LN4&J'
&9M'#e&L
K&(4&
&9M'#e&L
K&(4&
K'K
K'K
&9M'&jM9M&Kd
' <c&4-5%&3M9;;88
vqqO`;8q"#_4T5'&
''#\ 㧄69'0Z ώԍ |"$"9|"'90 "9|"."9ֆ'n'9M*'_4
&     柌G5&K'O55&L&!
$J'  KO ۆJ' ؆
 J'
w
'J65'49'&9&E ?쇎9DATE (MM:DD:YY)? TYPE P FOR PRINTER... 
&9M'&jM9M&Kd
' <c&4-5%&3M9;;88
vqqO`;8q"#_4T5'&
''#\ 㧄69'0Z ώԍ |"$"9|"'90 "9|"."9ֆ'n'9M*'_4
&     柌G5&K'O55&L&!
$J'  KO ۆJ' ؆
 J'
w
'J65'49'&9&E ?쇎9DATE (MM:DD:YY)? TYPE P FOR PRINTER... 
PAGE LIMITS? STOP...? LINES PER SCREENp? **** MACRO OVERFLOW ****ILLEGAL FILE NAMENO SUCH FILECHANGE DISKS AND HIT KEYDATA FILE NAME? MACROTXT
y $@-$@~M@ 3R'J!%H%-&
H%ѿ R'$+''$ '%_N& P& }']6@'~MO       %"$
PAGE LIMITS? STOP...? LINES PER SCREENp? **** MACRO OVERFLOW ****ILLEGAL FILE NAMENO SUCH FILECHANGE DISKS AND HIT KEYDATA FILE NAME? MACROTXT
y $@-$@~M@ 3R'J!%H%-&
H%ѿ R'$+''$ '%_N& P& }']6@'~MO       %"$
""%
""%
%@'&p~}'=4}'6
z&|¥5}'49.
<=5
&}'|$~#}'@' ? 
'9!|"2_''
'#''秄0\ˆ ]'Z0 ؆ 0\(&"9$$2V_     #\      #\]'AZ&983()'0 _9$$$9 ~-_~9TITLE?    PAGE 
| nn
%@'&p~}'=4}'6
z&|¥5}'49.
<=5
&}'|$~#}'@' ? 
'9!|"2_''
'#''秄0\ˆ ]'Z0 ؆ 0\(&"9$$2V_     #\      #\]'AZ&983()'0 _9$$$9 ~-_~9TITLE?    PAGE 
| nn
nn2:O  4Z&3       x' 0
nn2:O  4Z&3       x' 0
mG&~TESTING COMPLETEDB&     &+4x00aP0L5c5' 3ADDRESS: %B"99
mG&~TESTING COMPLETEDB&     &+4x00aP0L5c5' 3ADDRESS: %B"99
!>S!>O0&S&Z&9BlĦDDDD09#0 )oH
"
!>S!>O0&S&Z&9BlĦDDDD09#0 )oH
"
4E'
}OZ&5' 9401h%0Z&5  DATA: B%VĽH%[@"S0& HH_B01:&<01H0&7+$&
4E'
}OZ&5' 9401h%0Z&5  DATA: B%VĽH%[@"S0& HH_B01:&<01H0&7+$&
l0ylGED9ˆ0Tl~0 0& 0; ERROR IN ADDRESSERROR IN SIZE"DYNAMIC" IS IN TEST AREASTACK IS IN TEST AREAFLEX ASSUMED OVERWRITTENlHD'H"9크B%9
 4Z&3$mB'amA'5lE'}B'@ mC'df$0~TESTING COMPLETED46'$0=S0t=^5 LAST SECTOR ERROR, EXPECTED46'#$0U_90.s4 0_92b5 SECTOR COUNT ERROR, EXPECTED 
, ACTUAL @r'B&;o9''0L~?~d^@$0G mD'01&m+'D0B ERROR READING DIRECTOˆRY NOT FOUND46D_5@0 $FREECHNSYS4焽-%3C52fE1
&1&$V0>0$8^) CANNOT LOCATE READ ERROR TRACK/SECTORCH&OF.'ML+&%'%0z'm&40x5  ۦ!$' ā9"B%<C }C*+C܎@&mD'0Ɇ9020D 0U MSFDAUNKNOWN 
OPTION IGNORED - DRIVE MUST BE SPECIFIEDERROR IN DRIVE NUMBERDRIVE NOT READY)F#$
l0ylGED9ˆ0Tl~0 0& 0; ERROR IN ADDRESSERROR IN SIZE"DYNAMIC" IS IN TEST AREASTACK IS IN TEST AREAFLEX ASSUMED OVERWRITTENlHD'H"9크B%9
 4Z&3$mB'amA'5lE'}B'@ mC'df$0~TESTING COMPLETED46'$0=S0t=^5 LAST SECTOR ERROR, EXPECTED46'#$0U_90.s4 0_92b5 SECTOR COUNT ERROR, EXPECTED 
, ACTUAL @r'B&;o9''0L~?~d^@$0G mD'01&m+'D0B ERROR READING DIRECTOˆRY NOT FOUND46D_5@0 $FREECHNSYS4焽-%3C52fE1
&1&$V0>0$8^) CANNOT LOCATE READ ERROR TRACK/SECTORCH&OF.'ML+&%'%0z'm&40x5  ۦ!$' ā9"B%<C }C*+C܎@&mD'0Ɇ9020D 0U MSFDAUNKNOWN 
OPTION IGNORED - DRIVE MUST BE SPECIFIEDERROR IN DRIVE NUMBERDRIVE NOT READY)F#$
 &504aT$
 &504aT$
 &5' 9 ~400
5.~'Z&9
'9
 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-cfdsk.txt"
 END COLDS
 NAM FLEX9 SOURCE
 LIB f9-moneq.txt
 LIB f9-equ.txt
 LIB f9-spool.txt
 LIB f9-sfcb.txt
 LIB f9-init.txt
 LIB f9-var.txt
 LIB f9-data.txt
 LIB f9-cli.txt
 LIB f9-monio.txt
 LIB f9-fms.txt
 LIB f9-cfdsk.txt
 END COLDS

~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
 &5' 9 ~400
5.~'Z&9
'9
 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-cfdsk.txt"
 END COLDS
 NAM FLEX9 SOURCE
 LIB f9-moneq.txt
 LIB f9-equ.txt
 LIB f9-spool.txt
 LIB f9-sfcb.txt
 LIB f9-init.txt
 LIB f9-var.txt
 LIB f9-data.txt
 LIB f9-cli.txt
 LIB f9-monio.txt
 LIB f9-fms.txt
 LIB f9-cfdsk.txt
 END COLDS

~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&
z~G+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&
z~G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%
9u%]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%
9u%]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~
~~ε~~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
~W~g~ͱ~ ~~~~~A~+~
~~ε~~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
#"!&$9D_# &m
&m'm&0m&9''
'
#"!&$9D_# &m
&m'm&0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'
S      9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#
994ľ
'' &'獹5ooԆK4%.&.%(&       ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=
10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'
S      9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#
994ľ
'' &'獹5ooԆK4%.&.%(&       ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=
10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b
	&
9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b
	&
9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5
̂΁ ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
̂΁ ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYS
TEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYS
TEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '

~٠9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '

~٠9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;&
 
$9]'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;&
 
$9]'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45
&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45
&
oooo 1?Ol!&l _@0Z&   B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#
ݭ I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
oooo 1?Ol!&l _@0Z&   B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#
ݭ I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"
9 459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"
9 459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#
9%1'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#
9%1'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i
9@֟$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i
9@֟$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::
51!@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::
51!@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
*******************
*
** 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 $A
A55  Synch Pattern High Word
SYNCLO EQU $FF00      Synch Pattern Low Word
*
* 
***************************************************
* Dynamic Address Translation Registers
***************************************************
*
** DAT Table
*
IC11      EQU    $FFF
0      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 EQ
U 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


*
** 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 RA
M 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
WRI
TE       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 BS
R 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 sect
or
* 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
     CLR
B
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    ,
*******************
*
** 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 $A
A55  Synch Pattern High Word
SYNCLO EQU $FF00      Synch Pattern Low Word
*
* 
***************************************************
* Dynamic Address Translation Registers
***************************************************
*
** DAT Table
*
IC11      EQU    $FFF
0      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 EQ
U 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


*
** 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 RA
M 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
WRI
TE       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 BS
R 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 sect
or
* 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
     CLR
B
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
*  
D
RVSEL 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 REA
DY
*
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


~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
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
*  
D
RVSEL 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 REA
DY
*
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


~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~
G+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&z~
G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%
]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%
]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~
~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
~W~g~ͱ~ ~~~~~A~+~΁~~ε~
~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
#"!&$9D_# &m&m'm&
0m&9''
'
#"!&$9D_# &m&m'm&
0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          
9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994
ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10
Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'S          
9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994
ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10
Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&

	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&

	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR
IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR
IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠

9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠

9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]
'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;& 
$9]
'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooo
o 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ 
I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
ooo
o 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ 
I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 
459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 
459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1
'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1
'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟
$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟
$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@
0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@
0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
F_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
*
WAITRDY 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


~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
F_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
*
WAITRDY 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


~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~
G+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&z~
G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%
]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%
]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~
~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
~W~g~ͱ~ ~~~~~A~+~΁~~ε~
~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
#"!&$9D_# &m&m'm&
0m&9''
'
#"!&$9D_# &m&m'm&
0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          
9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994
ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10
Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'S          
9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994
ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10
Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&

	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&

	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR
IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR
IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ
 &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠

9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠

9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]
'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;& 
$9]
'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooo
o 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ 
I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
ooo
o 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ 
I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 
459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 
459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1
'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1
'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟
$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟
$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@
0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@
0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
        4      *
        4      *
        5      ***************************************************
        5      ***************************************************
        6      *      MEMORY MAP EQUATES     *
        6      *      MEMORY MAP EQUATES     *
        7      ***************************************************
        7      ***************************************************
        8      E000   MONIO  EQU    $E000  I/O SPACE
        8      E000   MONIO  EQU    $E000  I/O SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        10     F80
0       MONROM EQU    $F800  START OF ROM
        10     F80
0       MONROM EQU    $F800  START OF ROM
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        13     *
        13     *
        14     ***************************************************
        14     ***************************************************
        15     *      SYS09BUG VARIABLE SPACE
        15     *      SYS09BUG VARIABLE SPACE
        16     **********
*****************************************
        16     **********
*****************************************
        17     *
        17     *
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 


        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 


        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        25     DFCE   SVCVL  
EQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        25     DFCE   SVCVL  
EQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT T
ABLE BASE ADDR
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT T
ABLE BASE ADDR
        30     **************************************************
        30     **************************************************
        31     *      VDU BYTES      $*
        31     *      VDU BYTES      $*
        32     **************************************************
        32     **************************************************
        33     *
        33     *
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        35     DFFB   COLADX EQU    MONR
AM+59 CURSOR COLUMN
        35     DFFB   COLADX EQU    MONR
AM+59 CURSOR COLUMN
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        37     **************************************************
        37     **************************************************
        38     *
        38     *
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVE

        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVE

        41     *
        41     *
        42     ***************************************************
        42     ***************************************************
        43     *      SERIAL PORT    #*
        43     *      SERIAL PORT    #*
        44     ***************************************************
        44     ***************************************************
        45     *
        45     *
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        47     *
        47     *
        48     ***********************
     ****************************
        48     ***********************
     ****************************
        49     *      PS/2 KEYBOARD PORT     *
        49     *      PS/2 KEYBOARD PORT     *
        50     ***************************************************
        50     ***************************************************
        51     *
        51     *
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        53     *
        53     *
        54     **************************************************
        54     **************************************************
*
*
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        56     ***************************************************
        56     ***************************************************
        57     *
        57     *
        58     ** VIDEO DISPLAY DEFINITIONS
        58     ** VIDEO DISPLAY DEFINITIONS
        59     *
        59     *
        60     E030   VDU    EQU    MONIO+$30
        60     E030   VDU    EQU    MONIO+$30
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        62     0001   
VDUATT     EQU    1              ATTRIBUTE REGISTER
        62     0001   
VDUATT     EQU    1              ATTRIBUTE REGISTER
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        64     0003   VDUROW EQU    3              CURSOR ROW
        64     0003   VDUROW EQU    3              CURSOR ROW
        65     0004   VDUOFF EQU    4              ROW OFFSET
        65     0004   VDUOFF EQU    4              ROW OFFSET
        66     *
        66     *
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        68     0019   NUMLIN EQU    25     NUMBER 
OF LINES
        68     0019   NUMLIN EQU    25     NUMBER 
OF LINES
        69     *
        69     *
        70     ***************************************************
        70     ***************************************************
        71     * Serial PROM register
        71     * Serial PROM register
        72     ***************************************************
        72     ***************************************************
        73     *
        73     *
        74     ** CONFIGURATION PROM DEFINITIONS
        74     ** CONFIGURATION PROM DEFINITIONS
        75     *
        75     *
        76     E0C0   PROMREG EQU    

MONIO+$C0
        76     E0C0   PROMREG EQU    

MONIO+$C0
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        81     AA55   SYNCHI EQU    $A
A55      Synch Pattern High Word
        81     AA55   SYNCHI EQU    $A
A55      Synch Pattern High Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        83     *
        83     *
        84     *
        84     *
        85     ***************************************************
        85     ***************************************************
        86     * Dynamic Address Translation Registers
        86     * Dynamic Address Translation Registers
        87     ***********************************
****************
        87     ***********************************
****************
        88     *
        88     *
        89     ** DAT Table
        89     ** DAT Table
        90     *
        90     *
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        92     *
        92     *
        93     ***************************************************
        93     ***************************************************
        94     *      START OF ROM   "*
        94     *      START OF ROM   "*
        95     ***************************************************

        95     ***************************************************

        96     *
        96     *
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        
102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        
102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        107    END
        107    END
        10
8        
        10
8        
        110    0000   Z0000  EQU    $0000
        110    0000   Z0000  EQU    $0000
        111    0005   Z0005  EQU    $0005
        111    0005   Z0005  EQU    $0005
        112    0044   Z0044  EQU    $0044
        112    0044   Z0044  EQU    $0044
        113    00A0   Z00A0  EQU    $00A0
        113    00A0   Z00A0  EQU    $00A0
        114    C07F   ZC07F  EQU    $C07F
        114    C07F   ZC07F  EQU    $C07F
        115    C080   LINBUF EQU    $C080
        115    C080   LINBUF EQU    $C080
        116    C0FF   ZC0FF  EQU    $C0FF
        116    C0FF   ZC0FF  EQU    $C0FF
        117    END
        117    END
        119    *
        119    *

    120    ** PRINTER SPOOLING

    120    ** PRINTER SPOOLING
        121    *
        121    *
        122    C700   ORG    $C700
        122    C700   ORG    $C700
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        124    >C703 7E       C703   PRSPL2 JMP    *
        124    >C703 7E       C703   PRSPL2 JMP    *
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        127    C70C 7E        C795   
PRSPL5     JMP    ZC795
        127    C70C 7E        C795   
PRSPL5     JMP    ZC795
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        129    *
        129    *
        130    ** SPOOLER SCRATCH AREA
        130    ** SPOOLER SCRATCH AREA
        131    *
        131    *
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        134    C71B 00        QCNT   FCB    $00

        134    C71B 00        QCNT   FCB    $00

        135    C71C 00        ZC71C  FCB    $00
        135    C71C 00        ZC71C  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        138    *
        138    *
        139    C71F 3B        ZC71F  RTI
        139    C71F 3B        ZC71F  RTI
        140    C720 12        NOP
        140    C720 12        NOP
        141    *
        141    *
        142    C721 1A        10     ZC721  ORCC   #$10
        142    C721 1A        10     ZC721  ORCC   #$10
        143    C723 BE        CC31   
LDX    ZCC31
        143    C723 BE        CC31   
LDX    ZCC31
        144    C726 10EF 02       STS    2,X
        144    C726 10EF 02       STS    2,X
        145    C729 7D        CC34   
TST    ZCC34
        145    C729 7D        CC34   
TST    ZCC34
        146    C72C 26        11     BNE    ZC73F
        146    C72C 26        11     BNE    ZC73F
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        148    C731 7C        CC34   
INC    ZCC34
        148    C731 7C        CC34   
INC    ZCC34
        149    C734 6D        84     TST    ,X
        149    C734 6D        84     TST    ,X
        150    C736 27        07     BEQ    ZC73F
        150    C736 27        07     BEQ    ZC73F
        151    C738 BF        CC31   ZC738  STX    ZCC31
        151    C738 BF        CC31   ZC738  STX    ZCC31
        152    C73B 10EE 02   LDS    $02,X
        152    C73B 10EE 02   LDS    $02,X
        153    C73E 3B        RTI
        153    C73E 3B        RTI
        154    *
        154    *
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        156    C742 7F        CC34   
CLR    ZCC34
        156    C742 7F        CC34   
CLR    ZCC34
        157    C745 20        F1     BRA    ZC738
        157    C745 20        F1     BRA    ZC738
        158    *
        158    *
        159    C747 1A        10     ZC747  ORCC   #$10
        159    C747 1A        10     ZC747  ORCC   #$10
        160    C749 7D        C71B   
TST        QCNT
        160    C749 7D        C71B   
TST        QCNT
        161    C74C 27        29     BEQ    ZC777
        161    C74C 27        29     BEQ    ZC777
        162    C74E BE        C719   
LDX    ZC719
        162    C74E BE        C719   
LDX    ZC719
        163    C751 A6        84     LDA    ,X
        163    C751 A6        84     LDA    ,X
        164    C753 34        02     PSHS   A
        164    C753 34        02     PSHS   A
        165    C755 EC        01     LDD    $01,X
        165    C755 EC        01     LDD    $01,X
        166    C757 8E        CAC0   
LDX    #ZCAC0
        166    C757 8E        CAC0   
LDX    #ZCAC0
        167    C75A ED        88 40  STD    $40,X
        167    C75A ED        88 40  STD    $40,X
        168    C75D 35        02 PULS   A
        168    C75D 35        02 PULS   A
        169    C75F A7        03     STA    $03,X
        169    C75F A7        03     STA    $03,X
        170    C761 6F        84     CLR    ,X
        170    C761 6F        84     CLR    ,X
        171    C763 86        01     LDA    #$01
        171    C763 86        01     LDA    #$01
        172    C765 A7        02     STA    $02,X
        172    C765 A7        02     STA    $02,X
        173    C767 6F        88 22  CLR    $22,X
        173    C767 6F        88 22  CLR    $22,X
        174    C76A 6F        88 3B  CLR    $3B,X
        174    C76A 6F        88 3B  CLR    $3B,X
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        176        C770 27        29     BEQ    ZC79B
        176        C770 27        29     BEQ    ZC79B
        177    C772 113F      SWI3
        177    C772 113F      SWI3
        178    C774 12        NOP
        178    C774 12        NOP
        179    C775 20        F6     BRA    ZC76D
        179    C775 20        F6     BRA    ZC76D
        180    *
        180    *
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        183    C77D 7F        CCFC   
CLR    ZCCFC
        183    C77D 7F        CCFC   
CLR    ZCCFC
        184    C780 113F      SWI3
        184    C780 113F      SWI3
        185    C782 12        NOP
        185    C782 12        NOP
        186    C783 20        F4     BRA    ZC779
        186    C783 20        F4     BRA    ZC779
        187    *
        187    *
        188    C785 1A        10     ZC785  ORCC   #$10
        188    C785 1A        10     ZC785  ORCC   #$10
        189    C787 7D        CC30   
TST    ZCC30
        189    C787 7D        CC30   
TST    ZCC30
        190    C78A 27        05     BEQ    ZC791
        190    C78A 27        05     BEQ    ZC791
        191    C78C 113F      SWI3
        191    C78C 113F      SWI3
        192    C78E 12        NOP
        192    C78E 12        NOP
        193    C78F 20        F4     BRA    ZC785
        193    C78F 20        F4     BRA    ZC785
    194    *
    194    *
        195    C791 7C        CC30   ZC791  INC    ZCC30
        195    C791 7C        CC30   ZC791  INC    ZCC30
        196    C794 39        RTS
        196    C794 39        RTS
        197    *
        197    *
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        199    C798 1C        EF     ANDCC  #$EF
        199    C798 1C        EF     ANDCC  #$EF
        200    C79A 39        RTS
        200    C79A 39        RTS
        201    *
        201    *
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        203    C79E 26        27     BNE    ZC7C7
        203    C79E 26        27     BNE    ZC7C7
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        205    C7A3 BD        D406   
JSR    FMS
        205    C7A3 BD        D406   
JSR    FMS
        206    C7A6 26        1F     BNE    ZC7C7
        206    C7A6 26        1F     BNE    ZC7C7
        207    C7A8 7D        C71C   
TST    ZC71C
        207    C7A8 7D        C71C   
TST    ZC71C
        208    C7AB 27        0F     BEQ    ZC7BC
        208    C7AB 27        0F     BEQ    ZC7BC
        209    C7AD 7F        C71C   
CLR    ZC71C
        209    C7AD 7F        C71C   
CLR    ZC71C
        210    C7B0 81        0A     CMPA   #$0A
        210    C7B0 81        0A     CMPA   #$0A
        211    C7B2 2
        211    C7B2 2
7     0F     BEQ    ZC7C3
7     0F     BEQ    ZC7C3
        212    C7B4 34        02     PSHS   A
        212    C7B4 34        02     PSHS   A
        213    C7B6 86        0A     LDA    #$0A
        213    C7B6 86        0A     LDA    #$0A
        214    C7B8 8D        3C     BSR    ZC7F6
        214    C7B8 8D        3C     BSR    ZC7F6
        215    C7BA 35        02     PULS   A
        215    C7BA 35        02     PULS   A
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        217    C7BE 26        03     BNE    ZC7C3
        217    C7BE 26        03     BNE    ZC7C3
        218    C7C0 B7        C71C   
STA    ZC71C
        218    C7C0 B7        C71C   
STA    ZC71C
        219    ~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
        219    ~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~C7C3 8D      31     ZC7C3  BSR    ZC7F6
'"m'j~G0@&z~C7C3 8D      31     ZC7C3  BSR    ZC7F6
        220    C7C5 20        D4     BRA    ZC79B
        220    C7C5 20        D4     BRA    ZC79B
        221    *
        221    *
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        223    C7C9 8D        2B     BSR    ZC7F6
        223    C7C9 8D        2B     BSR    ZC7F6
        224    C7CB 86        0A     LDA    #$0A
        224    C7CB 86        0A     LDA    #$0A
        225    C7CD 8D        27     BSR    ZC7F6
        225    C7CD 8D        27     BSR    ZC7F6
        226    C7CF B6        C712   
LDA    ZC712
        226    C7CF B6        C712   
LDA    ZC712
        227    C7D2  8D    22     BSR    ZC7F6
        227    C7D2  8D    22     BSR    ZC7F6
        228    C7D4 7F        C71D   
CLR    ZC71D
        228    C7D4 7F        C71D   
CLR    ZC71D
        229    C7D7 BE        C719   
LDX    ZC719
        229    C7D7 BE        C719   
LDX    ZC719
        230    C7DA 6D        03     TST    $03,X
        230    C7DA 6D        03     TST    $03,X
        231    C7DC 27        05     BEQ    ZC7E3
        231    C7DC 27        05     BEQ    ZC7E3
        232    C7DE 6A        03     DEC    $03,X
        232    C7DE 6A        03     DEC    $03,X
        233    C7E0 7E        C747   
JMP    ZC747
        233    C7E0 7E        C747   
JMP    ZC747
        234    *
        234    *
        235    C7E3 30        04     ZC7
!E3      LEAX   $04,X
        235    C7E3 30        04     ZC7
!E3      LEAX   $04,X
        236    C7E5 8C        C840   
CMPX   #FCB
        236    C7E5 8C        C840   
CMPX   #FCB
        237    C7E8 26        03     BNE    ZC7ED
        237    C7E8 26        03     BNE    ZC7ED
        238    C7EA 8E        C810   
LDX    #ZC810
        238    C7EA 8E        C810   
LDX    #ZC810
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        240    C7F0 7A        C71B   
DEC    QCNT
        240    C7F0 7A        C71B   
DEC    QCNT
        241    C7F3 7E        C747   
JMP    ZC747
        241    C7F3 7E        C747   
JMP    ZC747
        242    *
        242    *
        243    C7F6 BD        "CCD8       ZC7F6  JSR    PCHK
        243    C7F6 BD        "CCD8       ZC7F6  JSR    PCHK
        244    C7F9 2B        05     BMI    ZC800
        244    C7F9 2B        05     BMI    ZC800
        245    C7FB 113F      SWI3
        245    C7FB 113F      SWI3
        246    C7FD 12        NOP
        246    C7FD 12        NOP
        247    C7FE 20        F6     BRA    ZC7F6
        247    C7FE 20        F6     BRA    ZC7F6
        248    *
        248    *
        249    C800 7E        CCE4   ZC800  JMP    POUT
        249    C800 7E        CCE4   ZC800  JMP    POUT
        250    C810   ZC810  EQU    $C810
        250    C810   ZC810  EQU    $C810
        251    C838   ZC838  EQU    $C838
        251    C838   ZC838  EQU    $C838
        252#        END
        252#        END
        254    *
        254    *
        255    ** SYSTEM FILE CONTROL BLOCK
        255    ** SYSTEM FILE CONTROL BLOCK
        256    *
        256    *
        257    C840   ORG    $C840
        257    C840   ORG    $C840
        258    C840 FF        FCB    FCB    $FF
        258    C840 FF        FCB    FCB    $FF
        259    C841 00        FCB    $00
        259    C841 00        FCB    $00
        260    C842 00        FCB    $00
        260    C842 00        FCB    $00
        261    C843 00        FCB    $00
        261    C843 00        FCB    $00
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        263    G+? ~@STARTUPTXT ʬ99+0
        263    G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%$C84B 00        FCB    $00

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%$C84B 00        FCB    $00
        264    C84C 54 58 54  FCC    "TXT"
        264    C84C 54 58 54  FCC    "TXT"
        265    C84F 00        FCB    $00
        265    C84F 00        FCB    $00
        266    END
        266    END
        267    
        267    
        269    *
        269    *
        270    ** FLEX INITIATION
        270    ** FLEX INITIATION
        271    *
        271    *
        272    CA00   ORG    $CA00
        272    CA00   ORG    $CA00
        273    CA00 20        06     ZCA00  BRA    ZCA08
        273    CA00 20        06     ZCA00  BRA    ZCA08
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAAC%
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAAC%
        275    CA05 39        RTS
        275    CA05 39        RTS
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        277    CA08 86        39     ZCA08  LDA    #$39
        277    CA08 86        39     ZCA08  LDA    #$39
        278    CA0A B7        D3FD   
STA    >ZD3FD
        278    CA0A B7        D3FD   
STA    >ZD3FD
        279    CA0D BE        CC2B   
LDX    >MEMEND
        279    CA0D BE        CC2B   
LDX    >MEMEND
        280    CA10 30        89 00A1
        280    CA10 30        89 00A1
LEAX    $00A1,X
LEAX    $00A1,X
        281    CA14 BF        CA06   
STX    >ZCA06
        281    CA14 BF        CA06   
STX    >ZCA06
        282    &CA17 AD    9F D3F1
        282    &CA17 AD    9F D3F1
JSR     [TINVEC]
JSR     [TINVEC]
        283    CA1B BE        D3FB   
LDX    >INVEC
        283    CA1B BE        D3FB   
LDX    >INVEC
        284    CA1E BF        CD0A   
STX    >INCH+1
        284    CA1E BF        CD0A   
STX    >INCH+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        287    CA27 BF        CD10   
STX    >OUTCH+1
        287    CA27 BF        CD10   
STX    >OUTCH+1
        288    CA2A BF        CD13   
STX    >OUTCH2+1
'
        288    CA2A BF        CD13   
STX    >OUTCH2+1
'
        289    CA2D BE        D3F7   
LDX    >STAVEC
        289    CA2D BE        D3F7   
LDX    >STAVEC
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        291    CA33 8E        00A0   
LDX    #Z00A0
        291    CA33 8E        00A0   
LDX    #Z00A0
        292    CA36 C6        B9     LDB    #$B9
        292    CA36 C6        B9     LDB    #$B9
        293    CA38 A6        84     ZCA38  LDA    ,X
        293    CA38 A6        84     ZCA38  LDA    ,X
        294    CA3A E7        84     STB    ,X
        294    CA3A E7        84     STB    ,X
        295    CA3C 12        NOP
        295    CA3C 12        NOP
        296    CA3D E1        84     CMPB   (,X
        296    CA3D E1        84     CMPB   (,X
        297    CA3F 26        0B     BNE    ZCA4C
        297    CA3F 26        0B     BNE    ZCA4C
        298    CA41 A7        84     STA    ,X
        298    CA41 A7        84     STA    ,X
        299    CA43 30        89 0400
        299    CA43 30        89 0400
LEAX    $0400,X
LEAX    $0400,X
        300    CA47 BC        CA06   
CMPX   >ZCA06
        300    CA47 BC        CA06   
CMPX   >ZCA06
        301    CA4A 26        EC     BNE    ZCA38
        301    CA4A 26        EC     BNE    ZCA38
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        303    CA50 BF        CC2B   
STX    >MEME)ND
        303    CA50 BF        CC2B   
STX    >MEME)ND
        304    CA53 8E        CD03   
LDX    #WARMS
        304    CA53 8E        CD03   
LDX    #WARMS
        305    CA56 BF        CC16   
STX    >ESCVEC
        305    CA56 BF        CC16   
STX    >ESCVEC
        306    CA59 8E        CADC   
LDX    #TTLSTR
        306    CA59 8E        CADC   
LDX    #TTLSTR
        307    CA5C BD        CE81   
JSR    >PSTRG1
        307    CA5C BD        CE81   
JSR    >PSTRG1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        309    CA62 8D        9E     BSR    ZCA02
        309    CA62 8D        9E     BSR    ZCA02
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        *311        CA67 8E        C840   
LDX    #FCB
        *311        CA67 8E        C840   
LDX    #FCB
        312    CA6A 86        01     LDA    #$01
        312    CA6A 86        01     LDA    #$01
        313    CA6C A7        84     STA    ,X
        313    CA6C A7        84     STA    ,X
        314    CA6E BD        D406   
JSR    >FMS
        314    CA6E BD        D406   
JSR    >FMS
        315    CA71 27        08     BEQ    ZCA7B
        315    CA71 27        08     BEQ    ZCA7B
        316    CA73 A6        01     LDA    $01,X
        316    CA73 A6        01     LDA    $01,X
        317    CA75 BD        D200   
JSR    >ZD200
        317    CA75 BD        D200   
JSR    >ZD200
        318    CA78 7E        CD67   
JMP    >+WARM1
        318    CA78 7E        CD67   
JMP    >+WARM1
        319    
        319    
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        322    CA81 8E        C840   
LDX    #FCB
        322    CA81 8E        C840   
LDX    #FCB
        323    CA84 BD        D406   
JSR    >FMS
        323    CA84 BD        D406   
JSR    >FMS
        324    CA87 27        05     BEQ    ZCA8E
        324    CA87 27        05     BEQ    ZCA8E
        325    CA89 34        30     PSHS   Y,X
        325    CA89 34        30     PSHS   Y,X
        326    CA8B 7E        D2D7   ,
JMP        >ZD2D7
        326    CA8B 7E        D2D7   ,
JMP        >ZD2D7
        327    
        327    
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        329    CA91 A7        80     STA    ,X+
        329    CA91 A7        80     STA    ,X+
        330    CA93 81        0D     CMPA   #$0D
        330    CA93 81        0D     CMPA   #$0D
        331    CA95 26        E7     BNE    ZCA7E
        331    CA95 26        E7     BNE    ZCA7E
        332    CA97 8E        C840   
LDX    #FCB
        332    CA97 8E        C840   
LDX    #FCB
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        334    CA9D 8E        C080   
LD-X        #LINBUF
        334    CA9D 8E        C080   
LD-X        #LINBUF
        335    CAA0 BF        CC14   
STX    >LINPTR
        335    CAA0 BF        CC14   
STX    >LINPTR
        336    CAA3 8E        CD67   
LDX    #WARM1
        336    CAA3 8E        CD67   
LDX    #WARM1
        337    CAA6 BF        CC43   
STX    >ZCC43
        337    CAA6 BF        CC43   
STX    >ZCC43
        338    CAA9 7E        D32E   
JMP    >ZD32E
        338    CAA9 7E        D32E   
JMP    >ZD32E
        339    
        339    
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        341    CAAF BD        CE81   
JSR    >PSTRG1
        341    CAAF BD        CE81   
JSR    >PSTRG1
        342    CAB2. BD    CE2B   
JSR    >INBUF1
        342    CAB2. BD    CE2B   
JSR    >INBUF1
        343    CAB5 8D        14     BSR    ZCACB
        343    CAB5 8D        14     BSR    ZCACB
        344    CAB7 25        F3     BCS    ZCAAC
        344    CAB7 25        F3     BCS    ZCAAC
        345    CAB9 B7        CC0E   
STA    >MONTH
        345    CAB9 B7        CC0E   
STA    >MONTH
        346    CABC 8D        0D     BSR    ZCACB
        346    CABC 8D        0D     BSR    ZCACB
        347    CABE 25        EC     BCS    ZCAAC
        347    CABE 25        EC     BCS    ZCAAC
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        349    CAC3 8D        06     BSR    /ZCACB
        349    CAC3 8D        06     BSR    /ZCACB
        350    CAC5 25        E5     BCS    ZCAAC
        350    CAC5 25        E5     BCS    ZCAAC
        351    CAC7 B7        CC10   
STA    >YEAR
        351    CAC7 B7        CC10   
STA    >YEAR
        352    CACA 39        RTS
        352    CACA 39        RTS
        353    
        353    
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        355    CACE 25        0B     BCS    ZCADB
        355    CACE 25        0B     BCS    ZCADB
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        357    CAD3 5D        TSTB
        357    CAD3 5D        TSTB
        358    CAD4 207    03     BEQ    ZCAD9
        358    CAD4 207    03     BEQ    ZCAD9
        359    CAD6 1C        FE     ANDCC  #$FE
        359    CAD6 1C        FE     ANDCC  #$FE
        360    CAD8 39        RTS
        360    CAD8 39        RTS
        361    
        361    
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        363    CADB 39        ZCADB  RTS
        363    CADB 39        ZCADB  RTS
        364    
        364    
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        366    CAEB 04        FCB    $04
        366    CAEB 04        FCB    $04
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        368    CAFD 04        FCB    $04
        368    CAFD 04        FCB    $04
        369    END
        369    END
        371    *
        371    *
        372    ** TTYSET PARAMETERS
        372    ** TTYSET PARAMETERS
        373    *
        373    *
        374    CC00   ORG    $CC00
        374    CC00   ORG    $CC00
        375    CC00 08        BSPCHR FCB    $08
        375    CC00 08        BSPCHR FCB    $08
        376    CC01 18        DELCHR FCB    $18
        376    CC01 18        DELCHR FCB    $18
        377    CC02 3A        EOLCHR 7]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
        377    CC02 3A        EOLCHR 7]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~ 2FCB    $3A
~W~g~ͱ~ ~~~~~A~+~΁~~ε~ 2FCB    $3A
        378    CC03 19        DEPCNT FCB    25
        378    CC03 19        DEPCNT FCB    25
        379    CC04 00        WIDCNT FCB    $00
        379    CC04 00        WIDCNT FCB    $00
        380    CC05 04        NULCNT FCB    $04
        380    CC05 04        NULCNT FCB    $04
        381    CC06 40        TABCHR FCB    '@
        381    CC06 40        TABCHR FCB    '@
        382    CC07 00        BSECHR FCB    $00
        382    CC07 00        BSECHR FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        384    CC09 FF        PAUSE  FCB    $FF
        384    CC09 FF        PAUSE  FCB    $FF
        385    !3CC0A 1B    ESCCHR FCB    $1B
        385    !3CC0A 1B    ESCCHR FCB    $1B
        386    CC0B 00        SYSDRV FCB    0
        386    CC0B 00        SYSDRV FCB    0
        387    CC0C 01        WRKDRV FCB    1
        387    CC0C 01        WRKDRV FCB    1
        388    CC0D 00        ZCC0D  FCB    $00
        388    CC0D 00        ZCC0D  FCB    $00
        389    CC0E   DATERG EQU    *
        389    CC0E   DATERG EQU    *
        390    CC0E 00        MONTH  FCB    $00
        390    CC0E 00        MONTH  FCB    $00
        391    CC0F 00        DAY    FCB    $00
        391    CC0F 00        DAY    FCB    $00
        392    CC10 00        YEAR   FCB    $00
        392    CC10 00        YEAR   FCB    $00
        3"493        CC11 00        LASTRM FCB    $00
        3"493        CC11 00        LASTRM FCB    $00
        394    CC12 0000
        394    CC12 0000
UCTVEC  FDB    $0000
UCTVEC  FDB    $0000
        395    CC14 0000
        395    CC14 0000
LINPTR  FDB    $0000
LINPTR  FDB    $0000
        396    CC16 0000
        396    CC16 0000
ESCVEC  FDB    $0000
ESCVEC  FDB    $0000
        397    CC18 00        CURCHR FCB    $00
        397    CC18 00        CURCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        400#5        CC1B 0000
        400#5        CC1B 0000
LODOFF  FDB    $0000
LODOFF  FDB    $0000
        401    CC1D 00        TRNFLG FCB    $00
        401    CC1D 00        TRNFLG FCB    $00
        402    CC1E 0000
        402    CC1E 0000
TRNVEC  FDB    $0000
TRNVEC  FDB    $0000
        403    CC20 00        ERRTYP FCB    $00
        403    CC20 00        ERRTYP FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        407    CC24$6 0000
        407    CC24$6 0000
FOPADR  FDB    $0000
FOPADR  FDB    $0000
        408    CC26 0000
        408    CC26 0000
FIPADR  FDB    $0000
FIPADR  FDB    $0000
        409    CC28 00        CMDFLG FCB    $00
        409    CC28 00        CMDFLG FCB    $00
        410    CC29 00        CURCOL FCB    $00
        410    CC29 00        CURCOL FCB    $00
        411    CC2A 00        FCB    $00
        411    CC2A 00        FCB    $00
        412    CC2B BFFF
        412    CC2B BFFF
MEMEND  FDB    $BFFF
MEMEND  FDB    $BFFF
        413    CC2D 0000
        413    CC2D 0000
ERRVEC  FDB    $0000
ERRVEC  FDB    $0000
        414    CC2F 01        F%7IEFLG     FCB    $01
        414    CC2F 01        F%7IEFLG     FCB    $01
        415    CC30 00        ZCC30  FCB    $00
        415    CC30 00        ZCC30  FCB    $00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        418    CC3D   ZCC3D  EQU    $CC3D
        418    CC3D   ZCC3D  EQU    $CC3D
        419    CC3F   ZCC3F  EQU    $CC3F
        419    CC3F   ZCC3F  EQU    $CC3F
        420    CC43   ZCC43  EQU    &8$CC43
        420    CC43   ZCC43  EQU    &8$CC43
        421    CC45   ZCC45  EQU    $CC45
        421    CC45   ZCC45  EQU    $CC45
        422    CC47   ZCC47  EQU    $CC47
        422    CC47   ZCC47  EQU    $CC47
        423    CC49   ORG    $CC49
        423    CC49   ORG    $CC49
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        425    CC4A   ZCC4A  EQU    $CC4A
        425    CC4A   ZCC4A  EQU    $CC4A
        426    CC4B   ZCC4B  EQU    $CC4B
        426    CC4B   ZCC4B  EQU    $CC4B
        427    CC4C   ZCC4C  EQU    $CC4C
        427    CC4C   ZCC4C  EQU    $CC4C
        4'928        CC4D   ZCC4D  EQU    $CC4D
        4'928        CC4D   ZCC4D  EQU    $CC4D
        429    END
        429    END
        431    *
        431    *
        432    ** STRINGS AND MESSAGES
        432    ** STRINGS AND MESSAGES
        433    *
        433    *
        434    CC4E   ORG    $CC4E
        434    CC4E   ORG    $CC4E
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        436    CC51 04        FCB    $04
        436    CC51 04        FCB    $04
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        438    CC55 04        FCB    $04(:
        438    CC55 04        FCB    $04(:
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        440    CC5B 04        FCB    $04
        440    CC5B 04        FCB    $04
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        442    CC6A 04        FCB    $04
        442    CC6A 04        FCB    $04
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        444    CC74 04        FCB    $04
        444    CC74 04        FCB    $04
        445    CC75 44 49 );53 4B   DERMSG FCC    "DISK ERROR #"
        445    CC75 44 49 );53 4B   DERMSG FCC    "DISK ERROR #"
        446    CC81 04        FCB    $04
        446    CC81 04        FCB    $04
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        448    CC92 04        FCB    $04
        448    CC92 04        FCB    $04
        449    *
        449    *
        450    ** MEMORY RESIDENT COMMANDS
        450    ** MEMORY RESIDENT COMMANDS
        451    *
        451    *
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        453    C*
        453    C*
        454    CC97 D20F      FDB    GETCMD
        454    CC97 D20F      FDB    GETCMD
        455    CC99 4D 4F 4E  FCC    "MON"
        455    CC99 4D 4F 4E  FCC    "MON"
        456    CC9C 00        FCB    $00
        456    CC9C 00        FCB    $00
        457    CC9D D34B      FDB    ZD34B
        457    CC9D D34B      FDB    ZD34B
        458    CC9F 00        FCB    $00
        458    CC9F 00        FCB    $00
        459    *
        459    *
        460    ** DECIMAL CONVERSION TABLE
        460    ** DECIMAL CONVERSION TABLE
        461    *
        461    *
        462    CCA0 2710
        462    CCA0 2710
DECTBL  FDB    +=10000
DECTBL  FDB    +=10000
        463    CCA2 03E8      FDB    1000
        463    CCA2 03E8      FDB    1000
        464    CCA4 0064      FDB    100
        464    CCA4 0064      FDB    100
        465    CCA6 000A      FDB    10
        465    CCA6 000A      FDB    10
        466    END
        466    END
        468    *********************************************
        468    *********************************************
        469    *
        469    *
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        471    *
        471    *
        472    **************,>*******************************
        472    **************,>*******************************
        473    CD00   ORG    $CD00
        473    CD00   ORG    $CD00
        474    *
        474    *
        475    ** FLEX JUMPS
        475    ** FLEX JUMPS
        476    *
        476    *
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        480    >CD09 7E       CD09   -?INCH       JMP    >INCH
        480    >CD09 7E       CD09   -?INCH       JMP    >INCH
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        486    CD1B 7E        .@CE2B       INBUFF JMP    >INBUF1
        486    CD1B 7E        .@CE2B       INBUFF JMP    >INBUF1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        492    /ACD2D 7E    D036   GETFIL JMP    >GETFL1
        492    /ACD2D 7E    D036   GETFIL JMP    >GETFL1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX10B
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX10B
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        503    >CD4E 7E       CD4E   ZCD4E  J1CMP        >ZCD4E
        503    >CD4E 7E       CD4E   ZCD4E  J1CMP        >ZCD4E
        504    CD51 7E        CE05   
JMP    >ZCE05
        504    CD51 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        506    *
        506    *
        507    ** COLD START ENTRY
        507    ** COLD START ENTRY
        508    *
        508    *
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        511    CD5E BD        D400   
JSR    >ZD400
        511    CD5E BD        D400   
JSR    >ZD400
        2D512        CD61 7F        CC28   
CLR    >CMDFLG
        2D512        CD61 7F        CC28   
CLR    >CMDFLG
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        514    *
        514    *
        515    ** WARM START ENTRY
        515    ** WARM START ENTRY
        516    *
        516    *
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        518    CD6B BD        DE18   
JSR    >WARMDR
        518    CD6B BD        DE18   
JSR    >WARMDR
        519    CD6E 8E        CD03   
LDX    #WARMS
        519    CD6E 8E        CD03   
LDX    #WARMS
        520    CD71 BF        CC163E       
STX    >ESCVEC
        520    CD71 BF        CC163E       
STX    >ESCVEC
        521    CD74 8E        C700   
LDX    #PRSPL1
        521    CD74 8E        C700   
LDX    #PRSPL1
        522    CD77 AF        9F D3E9
        522    CD77 AF        9F D3E9
STX     [SWIVVC]
STX     [SWIVVC]
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        524    CD7E AF        9F D3EB
        524    CD7E AF        9F D3EB
STX     [IRQVVC]
STX     [IRQVVC]
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        526    CD85 BF        CC31   
STX    >ZCC31
        526    CD85 BF        CC31   
STX    >ZCC31
        527    CD88 7F4F    CC34   
CLR    >ZCC34
        527    CD88 7F4F    CC34   
CLR    >ZCC34
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        529    CD8E 8D        5A     BSR    RSTIO1
        529    CD8E 8D        5A     BSR    RSTIO1
        530    CD90 B6        CC11   
LDA    >LASTRM
        530    CD90 B6        CC11   
LDA    >LASTRM
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        532    CD96 26        05     BNE    ZCD9D
        532    CD96 26        05     BNE    ZCD9D
        533    CD98 7C        CC15   
INC    >LINPTR+1
        533    CD98 7C        CC15   
INC    >LINPTR+1
        534    CD9B 20        14     5GBRA        RENT1
        534    CD9B 20        14     5GBRA        RENT1
        535    
        535    
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        537    CDA0 1026 0597 
LBNE   ZD33B
        537    CDA0 1026 0597 
LBNE   ZD33B
        538    CDA4 BD        D403   
JSR    >FMSCLS
        538    CDA4 BD        D403   
JSR    >FMSCLS
        539    CDA7 26        B2     BNE    ZCD5B
        539    CDA7 26        B2     BNE    ZCD5B
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        541    CDAC BD        CE81   
JSR    >PSTRG1
        541    CDAC BD        CE81   
JSR    >PSTRG1
        542    CDAF 6H8D    7A     BSR    INBUF1
        542    CDAF 6H8D    7A     BSR    INBUF1
        543    *
        543    *
        544    ** MAIN CONTROL LOOP
        544    ** MAIN CONTROL LOOP
        545    *
        545    *
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        547    CDB4 81        0D     CMPA   #$0D
        547    CDB4 81        0D     CMPA   #$0D
        548    CDB6 27        E5     BEQ    ZCD9D
        548    CDB6 27        E5     BEQ    ZCD9D
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        8I551        CDBE BD        D036   
JSR    >GETFL1
        8I551        CDBE BD        D036   
JSR    >GETFL1
        552    CDC1 25        16     BCS    ZCDD9
        552    CDC1 25        16     BCS    ZCDD9
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        554    CDC6 8D        3E     BSR    ZCE06
        554    CDC6 8D        3E     BSR    ZCE06
        555    CDC8 27        09     BEQ    ZCDD3
        555    CDC8 27        09     BEQ    ZCDD3
        556    CDCA BE        CC12   
LDX    >UCTVEC
        556    CDCA BE        CC12   
LDX    >UCTVEC
        557    CDCD 27        07     BEQ    ZCDD6
        557    CDCD 27        07     BEQ    ZCDD6
        558    CDCF 8D        3D~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
        558    CDCF 8D        3D~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
#"!&$9D_# &m&m'm&9J5        BSR    ZCE06
#"!&$9D_# &m&m'm&9J5        BSR    ZCE06
        559    CDD1 26        03     BNE    ZCDD6
        559    CDD1 26        03     BNE    ZCDD6
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        561    
        561    
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        564    CDDC 86        15     LDA    #$15
        564    CDDC 86        15     LDA    #$15
        565    CDDE B7        CC20   ZCDDE  STA    >E:KRRTYP
        565    CDDE B7        CC20   ZCDDE  STA    >E:KRRTYP
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        568    CDE7 7E        CD67   
JMP    >WARM1
        568    CDE7 7E        CD67   
JMP    >WARM1
        569    *
        569    *
        570    ** RESTORE IO VECTORS
        570    ** RESTORE IO VECTORS
        571    *
        571    *
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        573    CDED BF        CD10   
STX    >;LOUTCH+1
        573    CDED BF        CD10   
STX    >;LOUTCH+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        576    CDF6 7F        CC23   
CLR    >INPSWT
        576    CDF6 7F        CC23   
CLR    >INPSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        579    CDFF 7F        CC26   
CLR    >FIPADR
        579    CDFF 7F        CC26   
CLR    >FIPADR
        580    CE02 7F        CC24   
CLR    <M>FOPADR
        580    CE02 7F        CC24   
CLR    <M>FOPADR
        581    CE05 39        ZCE05  RTS
        581    CE05 39        ZCE05  RTS
        582    
        582    
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        585    CE0C 81        5F     CMPA   #$5F
        585    CE0C 81        5F     CMPA   #$5F
        586    CE0E 23        02     BLS    ZCE12
        586    CE0E 23        02     BLS    ZCE12
        587    CE10 80        20     SUBA   #$20
        587    CE10 80        20     SUBA   #$20
        588    CE12 A1        80     ZCE12  CM=NPA       ,X+
        588    CE12 A1        80     ZCE12  CM=NPA       ,X+
        589    CE14 26        08     BNE    ZCE1E
        589    CE14 26        08     BNE    ZCE1E
        590    CE16 6D        84     TST    ,X
        590    CE16 6D        84     TST    ,X
        591    CE18 26        F0     BNE    ZCE0A
        591    CE18 26        F0     BNE    ZCE0A
        592    CE1A 6D        A4     TST    ,Y
        592    CE1A 6D        A4     TST    ,Y
        593    CE1C 27        0C     BEQ    ZCE2A
        593    CE1C 27        0C     BEQ    ZCE2A
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        595    CE20 26        FC     BNE    ZCE1E
        595    CE20 26        FC     BNE    ZCE1E
        596    CE22 30        02     >OLEAX       $02,X
        596    CE22 30        02     >OLEAX       $02,X
        597    CE24 6D        84     TST    ,X
        597    CE24 6D        84     TST    ,X
        598    CE26 26        DE     BNE    ZCE06
        598    CE26 26        DE     BNE    ZCE06
        599    CE28 1C        FB     ANDCC  #$FB
        599    CE28 1C        FB     ANDCC  #$FB
        600    CE2A 39        ZCE2A  RTS
        600    CE2A 39        ZCE2A  RTS
        601    *
        601    *
        602    ** GET USER COMMAND LINE
        602    ** GET USER COMMAND LINE
        603    *
        603    *
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        605    CE2E BF        CC14?P       
STX    >LINPTR
        605    CE2E BF        CC14?P       
STX    >LINPTR
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        607    CE34 B1        CC01   
CMPA   >DELCHR
        607    CE34 B1        CC01   
CMPA   >DELCHR
        608    CE37 27        1D     BEQ    ZCE56
        608    CE37 27        1D     BEQ    ZCE56
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        610    CE3C 27        1F     BEQ    ZCE5D
        610    CE3C 27        1F     BEQ    ZCE5D
        611    CE3E 81        0D     CMPA   #$0D
        611    CE3E 81        0D     CMPA   #$0D
        612    CE40 27        0D     BEQ@Q        ZCE4F
        612    CE40 27        0D     BEQ@Q        ZCE4F
        613    CE42 81        0A     CMPA   #$0A
        613    CE42 81        0A     CMPA   #$0A
        614    CE44 27        32     BEQ    ZCE78
        614    CE44 27        32     BEQ    ZCE78
        615    CE46 81        1F     CMPA   #$1F
        615    CE46 81        1F     CMPA   #$1F
        616    CE48 23        E7     BLS    ZCE31
        616    CE48 23        E7     BLS    ZCE31
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        618    CE4D 27        E2     BEQ    ZCE31
        618    CE4D 27        E2     BEQ    ZCE31
        619    CE4F A7        80     ZCE4F  STA    ,X+
        619    CE4F A7        80     ZCE4F  STA    ,X+
        6AR20        CE51 81        0D     CMPA   #$0D
        6AR20        CE51 81        0D     CMPA   #$0D
        621    CE53 26        DC     BNE    ZCE31
        621    CE53 26        DC     BNE    ZCE31
        622    CE55 39        RTS
        622    CE55 39        RTS
        623    
        623    
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        625    CE59 8D        26     BSR    PSTRG1
        625    CE59 8D        26     BSR    PSTRG1
        626    CE5B 20        CE     BRA    INBUF1
        626    CE5B 20        CE     BRA    INBUF1
        627    
        627    
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
BS
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
BS
        629    CE60 27        F4     BEQ    ZCE56
        629    CE60 27        F4     BEQ    ZCE56
        630    CE62 30        1F     LEAX   -$01,X
        630    CE62 30        1F     LEAX   -$01,X
        631    CE64 B6        CC07   
LDA    >BSECHR
        631    CE64 B6        CC07   
LDA    >BSECHR
        632    CE67 81        08     CMPA   #$08
        632    CE67 81        08     CMPA   #$08
        633    CE69 26        08     BNE    ZCE73
        633    CE69 26        08     BNE    ZCE73
        634    CE6B 86        20     LDA    #$20
        634    CE6B 86        20     LDA    #$20
        635    CE6D BD        CF66   
JSR    >ZCF66
        635    CE6D BD        CF66   
JSR    >ZCF66
        636    CE70 B6        CC0CT7       
LDA    >BSECHR
        636    CE70 B6        CC0CT7       
LDA    >BSECHR
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        638    CE76 20        B9     BRA    ZCE31
        638    CE76 20        B9     BRA    ZCE31
        639    
        639    
        640    CE78 86        0D     ZCE78  LDA    #$0D
        640    CE78 86        0D     ZCE78  LDA    #$0D
        641    CE7A BD        CF41   
JSR    >PUTCH1
        641    CE7A BD        CF41   
JSR    >PUTCH1
        642    CE7D 86        20     LDA    #$20
        642    CE7D 86        20     LDA    #$20
        643    CE7F 20        C9     BRA    ZCE4A
        643    CE7F 20        C9     BRA    ZCE4A
        644    
        644    
        645    EUCE81 8D    32     PSTRG1 BSR    PCRLF1
        645    EUCE81 8D    32     PSTRG1 BSR    PCRLF1
        646    CE83 A6        84     ZCE83  LDA    ,X
        646    CE83 A6        84     ZCE83  LDA    ,X
        647    CE85 81        04     CMPA   #$04
        647    CE85 81        04     CMPA   #$04
        648    CE87 27        6F     BEQ    ZCEF8
        648    CE87 27        6F     BEQ    ZCEF8
        649    CE89 BD        CF41   
JSR    >PUTCH1
        649    CE89 BD        CF41   
JSR    >PUTCH1
        650    CE8C 30        01     LEAX   $01,X
        650    CE8C 30        01     LEAX   $01,X
        651    CE8E 20        F3     BRA    ZCE83
        651    CE8E 20        F3     BRA    ZCE83
        652    
        652    
        653    Q0m&9''
'
        653    Q0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          FVCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
X4'ONZ&59}#&}&'}/'}$'S          FVCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
        654    CE93 27        65     BEQ    ZCEFA
        654    CE93 27        65     BEQ    ZCEFA
        655    CE95 AD        9F D3E5
        655    CE95 AD        9F D3E5
JSR     [ZD3E5]
JSR     [ZD3E5]
        656    CE99 81        13     CMPA   #'S-$40
        656    CE99 81        13     CMPA   #'S-$40
        657    CE9B 12        NOP
        657    CE9B 12        NOP
        658    CE9C 26        5C     BNE    ZCEFA
        658    CE9C 26        5C     BNE    ZCEFA
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        660    CEA1 AD        GW9F D3E5    ZCEA1  JSR    [ZD3E5]
        660    CEA1 AD        GW9F D3E5    ZCEA1  JSR    [ZD3E5]
        661    CEA5 81        11     CMPA   #'Q-$40
        661    CEA5 81        11     CMPA   #'Q-$40
        662    CEA7 12        NOP
        662    CEA7 12        NOP
        663    CEA8 27        50     BEQ    ZCEFA
        663    CEA8 27        50     BEQ    ZCEFA
        664    CEAA 81        03     CMPA   #$03   CTRL C
        664    CEAA 81        03     CMPA   #$03   CTRL C
        665    CEAC 26        F3     BNE    ZCEA1
        665    CEAC 26        F3     BNE    ZCEA1
        666    CEAE 7F        CC11   
CLR    >LASTRM
        666    CEAE 7F        CC11   
CLR    >LASTRM
        667    CEB1 6E        9F CC16
        667    CEB1 6E        9F CC16
HXJMP [ESCVEC]
HXJMP [ESCVEC]
        668    *
        668    *
        669    ** PRINT CR, LINEFEED
        669    ** PRINT CR, LINEFEED
        670    *
        670    *
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        672    CEB8 26        27     BNE    ZCEE1
        672    CEB8 26        27     BNE    ZCEE1
        673    CEBA 8D        D4     BSR    ZCE90
        673    CEBA 8D        D4     BSR    ZCE90
        674    CEBC B6        CC03   
LDA    >DEPCNT
        674    CEBC B6        CC03   
LDA    >DEPCNT
        675    CEBF 27        20     BEQ    ZCEE1
        675    CEBF 27        20     BEQ    ZCEE1
        676    CEC1IY B1    CC1A   
CMPA   >CURLIN
        676    CEC1IY B1    CC1A   
CMPA   >CURLIN
        677    CEC4 22        18     BHI    ZCEDE
        677    CEC4 22        18     BHI    ZCEDE
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        679    CEC9 7D        CC09   
TST    >PAUSE
        679    CEC9 7D        CC09   
TST    >PAUSE
        680    CECC 27        02     BEQ    ZCED0
        680    CECC 27        02     BEQ    ZCED0
        681    CECE 8D        CE     BSR    ZCE9E
        681    CECE 8D        CE     BSR    ZCE9E
        682    CED0 34        04     ZCED0  PSHS   B
        682    CED0 34        04     ZCED0  PSHS   B
        683    CED2 F6        CC08   
LJZDB        >EJTCNT
        683    CED2 F6        CC08   
LJZDB        >EJTCNT
        684    CED5 27        05     BEQ    ZCEDC
        684    CED5 27        05     BEQ    ZCEDC
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        686    CED9 5A        DECB
        686    CED9 5A        DECB
        687    CEDA 26        FB     BNE    ZCED7
        687    CEDA 26        FB     BNE    ZCED7
        688    CEDC 35        04     ZCEDC  PULS   B
        688    CEDC 35        04     ZCEDC  PULS   B
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        690    CEE1 86        0D     ZCEE1  LDA    #$0K[D
        690    CEE1 86        0D     ZCEE1  LDA    #$0K[D
        691    CEE3 8D        5C     BSR    PUTCH1
        691    CEE3 8D        5C     BSR    PUTCH1
        692    CEE5 86        0A     LDA    #$0A
        692    CEE5 86        0A     LDA    #$0A
        693    CEE7 8D        58     BSR    PUTCH1
        693    CEE7 8D        58     BSR    PUTCH1
        694    CEE9 34        04     PSHS   B
        694    CEE9 34        04     PSHS   B
        695    CEEB F6        CC05   
LDB    >NULCNT
        695    CEEB F6        CC05   
LDB    >NULCNT
        696    CEEE 27        06     BEQ    ZCEF6
        696    CEEE 27        06     BEQ    ZCEF6
        697    CEF0 4F        ZCEF0  CLRA
        697    CEF0 4F        ZCEF0  CLRA
        698    CEF1 8D        4E     BSR    PL\UTCH1
        698    CEF1 8D        4E     BSR    PL\UTCH1
        699    CEF3 5A        DECB
        699    CEF3 5A        DECB
        700    CEF4 26        FA     BNE    ZCEF0
        700    CEF4 26        FA     BNE    ZCEF0
        701    CEF6 35        04     ZCEF6  PULS   B
        701    CEF6 35        04     ZCEF6  PULS   B
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        703    CEFA 39        ZCEFA  RTS
        703    CEFA 39        ZCEFA  RTS
        704    *
        704    *
        705    ** GET A CHARACTER HONOURING TTYSET
        705    ** GET A CHARACTER HONOURING TTYSET
        706    *
        706    *
        707    CEFB 7D        CC23   GM]ETCH1     TST    >INPSWT
        707    CEFB 7D        CC23   GM]ETCH1     TST    >INPSWT
        708    CEFE 26        1A     BNE    ZCF1A
        708    CEFE 26        1A     BNE    ZCF1A
        709    CF00 7D        CC26   
TST    >FIPADR
        709    CF00 7D        CC26   
TST    >FIPADR
        710    CF03 27        10     BEQ    ZCF15
        710    CF03 27        10     BEQ    ZCF15
        711    CF05 8D        1A     BSR    ZCF21
        711    CF05 8D        1A     BSR    ZCF21
        712    CF07 7D        CC2F   
TST    >FIEFLG
        712    CF07 7D        CC2F   
TST    >FIEFLG
        713    CF0A 27        11     BEQ    ZCF1D
        713    CF0A 27        11     BEQ    ZCF1D
        714    CF0C 7D        CC24   
TST    >FOPN^ADR
        714    CF0C 7D        CC24   
TST    >FOPN^ADR
        715    CF0F 27        0C     BEQ    ZCF1D
        715    CF0F 27        0C     BEQ    ZCF1D
        716    CF11 8D        53     BSR    ZCF66
        716    CF11 8D        53     BSR    ZCF66
        717    CF13 20        08     BRA    ZCF1D
        717    CF13 20        08     BRA    ZCF1D
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        719    CF18 20        03     BRA    ZCF1D
        719    CF18 20        03     BRA    ZCF1D
        720    
        720    
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        722    CF1D 7F        CC1A   ZCF1DO_      CLR    >CURLIN
        722    CF1D 7F        CC1A   ZCF1DO_      CLR    >CURLIN
        723    CF20 39        RTS
        723    CF20 39        RTS
        724    
        724    
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        726    CF24 BE        CC26   
LDX    >FIPADR
        726    CF24 BE        CC26   
LDX    >FIPADR
        727    CF27 20        06     BRA    ZCF2F
        727    CF27 20        06     BRA    ZCF2F
        728    
        728    
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        730    CF2C BE        CC24   
LDX    >FOPADR
        730    CF2C BE        CC24   
LDX    >FOPADR
        731    CFP`2F BD    D406   ZCF2F  JSR    >FMS
        731    CFP`2F BD    D406   ZCF2F  JSR    >FMS
        732    CF32 26        04     BNE    ZCF38
        732    CF32 26        04     BNE    ZCF38
        733    CF34 BE        CC47   
LDX    >ZCC47
        733    CF34 BE        CC47   
LDX    >ZCC47
        734    CF37 39        RTS
        734    CF37 39        RTS
        735    
        735    
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        737    CF3B BD        D27F   
JSR    >RPTER1
        737    CF3B BD        D27F   
JSR    >RPTER1
        738    CF3E 7E        CD03   
JMP    >WARMS
        738    CF3E 7E        CD03   
JMP    >WARMS
        739    *
        739    *
Ra    740    ** OUTPUT CHARACTER HONOURING TTYSET
Ra    740    ** OUTPUT CHARACTER HONOURING TTYSET
        741    *
        741    *
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        743    CF44 26        20     BNE    ZCF66
        743    CF44 26        20     BNE    ZCF66
        744    CF46 81        1F     CMPA   #$1F
        744    CF46 81        1F     CMPA   #$1F
        745    CF48 22        05     BHI    ZCF4F
        745    CF48 22        05     BHI    ZCF4F
        746    CF4A 7F        CC29   
CLR    >CURCOL
        746    CF4A 7F        CC29   
CLR    >CURCOL
        747    CF4D 20        17     Bl9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994SbRA        ZCF66
        747    CF4D 20        17     Bl9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994SbRA        ZCF66
        748    
        748    
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        750    CF52 34        02     PSHS   A
        750    CF52 34        02     PSHS   A
        751    CF54 B6        CC04   
LDA    >WIDCNT
        751    CF54 B6        CC04   
LDA    >WIDCNT
        752    CF57 27        0B     BEQ    ZCF64
        752    CF57 27        0B     BEQ    ZCF64
        753    CF59 B1        CC29   
CMPA   >CURCOL
        753    CF59 B1        CC29   
CMPA   >CURCOL
        754    CF5C 24        06     BCC    ZCF64
        754    CF5C 24        06     BCC    ZCF64
        755    CF5E BD        CEB5   
JTcSR        >PCRLF1
        755    CF5E BD        CEB5   
JTcSR        >PCRLF1
        756    CF61 7C        CC29   
INC    >CURCOL
        756    CF61 7C        CC29   
INC    >CURCOL
        757    CF64 35        02     ZCF64  PULS   A
        757    CF64 35        02     ZCF64  PULS   A
        758    CF66 34        02     ZCF66  PSHS   A
        758    CF66 34        02     ZCF66  PSHS   A
        759    CF68 7D        CC22   
TST    >OUTSWT
        759    CF68 7D        CC22   
TST    >OUTSWT
        760    CF6B 26        13     BNE    ZCF80
        760    CF6B 26        13     BNE    ZCF80
        761    CF6D 7D        CC24   
TST    >FOPADR
        761    CF6D 7D        CC24   
TST    >FOPADR
        762    CF70 27        04     BEQ    ZCUdF76
        762    CF70 27        04     BEQ    ZCUdF76
        763    CF72 8D        B5     BSR    ZCF29
        763    CF72 8D        B5     BSR    ZCF29
        764    CF74 20        0D     BRA    ZCF83
        764    CF74 20        0D     BRA    ZCF83
        765    
        765    
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        767    CF79 26        08     BNE    ZCF83
        767    CF79 26        08     BNE    ZCF83
        768    CF7B BD        CD0F   
JSR    >OUTCH
        768    CF7B BD        CD0F   
JSR    >OUTCH
        769    CF7E 20        03     BRA    ZCF83
        769    CF7E 20        03     BRA    ZCF83
        770    CF80 BD        CD12   ZCF80  JSRVe        >OUTCH2
        770    CF80 BD        CD12   ZCF80  JSRVe        >OUTCH2
        771    CF83 35        02     ZCF83  PULS   A
        771    CF83 35        02     ZCF83  PULS   A
        772    CF85 39        RTS
        772    CF85 39        RTS
        773    
        773    
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        775    CF89 F7        CC1D   
STB    >TRNFLG
        775    CF89 F7        CC1D   
STB    >TRNFLG
        776    CF8C 86        04     LDA    #$04
        776    CF8C 86        04     LDA    #$04
        777    CF8E B7        CC4D   
STA    >ZCC4D
        777    CF8E B7        CC4D   
STA    >ZCC4D
        778    CF91 EC        84     LDD    ,X
        778    CF91 EC        84     LDD    ,X
        Wf779        CF93 8E        CCA0   
LDX    #DECTBL
        Wf779        CF93 8E        CCA0   
LDX    #DECTBL
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        781    CF98 30        02     LEAX   $02,X
        781    CF98 30        02     LEAX   $02,X
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        783    CF9D 26        F7     BNE    ZCF96
        783    CF9D 26        F7     BNE    ZCF96
        784    CF9F 1F        98     TFR    B,A
        784    CF9F 1F        98     TFR    B,A
        785    CFA1 20        3D     BRA    OUTHXR
        785    CFA1 20        3D     BRA    OUTHXR
        786    
        786    
        787    XgCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        787    XgCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        789    CFA9 25        07     BCS    ZCFB2
        789    CFA9 25        07     BCS    ZCFB2
        790    CFAB A3        84     SUBD   ,X
        790    CFAB A3        84     SUBD   ,X
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        792    CFB0 20        F4     BRA    ZCFA6
        792    CFB0 20        F4     BRA    ZCFA6
        793    
        793    
        794    CFB2 34        02     ZCFB2  PSHS   A
        794    CFB2 34        02     ZCFB2  PSHS   A
        79Yh5        CFB4 B6        CC4B   
LDA    >ZCC4B
        79Yh5        CFB4 B6        CC4B   
LDA    >ZCC4B
        796    CFB7 26        10     BNE    ZCFC9
        796    CFB7 26        10     BNE    ZCFC9
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        798    CFBC 26        0B     BNE    ZCFC9
        798    CFBC 26        0B     BNE    ZCFC9
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        800    CFC1 27        0B     BEQ    ZCFCE
        800    CFC1 27        0B     BEQ    ZCFCE
        801    CFC3 86        20     LDA    #$20
        801    CFC3 86        20     LDA    #$20
        802    CFC5 8D        23     BSRZi        ZCFEA
        802    CFC5 8D        23     BSRZi        ZCFEA
        803    CFC7 20        05     BRA    ZCFCE
        803    CFC7 20        05     BRA    ZCFCE
        804    
        804    
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        806    CFCC 8D        12     BSR    OUTHXR
        806    CFCC 8D        12     BSR    OUTHXR
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        808    *
        808    *
        809    ** DISPLAY HEX ADDRESS
        809    ** DISPLAY HEX ADDRESS
        810    *
        810    *
        811    CFD0 8D        02     OUTAD1 BSR    OUTH[jX1
        811    CFD0 8D        02     OUTAD1 BSR    OUTH[jX1
        812    CFD2 30        01     LEAX   $01,X
        812    CFD2 30        01     LEAX   $01,X
        813    *
        813    *
        814    ** OUPUT HEX BYTE
        814    ** OUPUT HEX BYTE
        815    *
        815    *
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        817    CFD6 8D        04     BSR    OUTHXL
        817    CFD6 8D        04     BSR    OUTHXL
        818    CFD8 A6        84     LDA    ,X
        818    CFD8 A6        84     LDA    ,X
        819    CFDA 20        04     BRA    OUTHXR
        819    CFDA 20        04     BRA    OUTHXR
        820    
        820    
        821    CFDC 44        OUTHXL LSRA\k
        821    CFDC 44        OUTHXL LSRA\k
        822    CFDD 44        LSRA
        822    CFDD 44        LSRA
        823    CFDE 44        LSRA
        823    CFDE 44        LSRA
        824    CFDF 44        LSRA
        824    CFDF 44        LSRA
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        826    CFE2 8B        30     ADDA   #$30
        826    CFE2 8B        30     ADDA   #$30
        827    CFE4 81        39     CMPA   #$39
        827    CFE4 81        39     CMPA   #$39
        828    CFE6 23        02     BLS    ZCFEA
        828    CFE6 23        02     BLS    ZCFEA
        829    CFE8 8B        07     ADDA   #$07
        829    CFE8 8B        07     ADDA   #$07
        830    CFEA 7E        ]lCF41       ZCFEA  JMP    >PUTCH1
        830    CFEA 7E        ]lCF41       ZCFEA  JMP    >PUTCH1
        831    *
        831    *
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        833    *
        833    *
        834    CFED 81        30     CLASS1 CMPA   #'0
        834    CFED 81        30     CLASS1 CMPA   #'0
        835    CFEF 25        14     BCS    ZD005
        835    CFEF 25        14     BCS    ZD005
        836    CFF1 81        39     CMPA   #'9
        836    CFF1 81        39     CMPA   #'9
        837    CFF3 23        16     BLS    ZD00B
        837    CFF3 23        16     BLS    ZD00B
        838    CFF5 81        41     CMPA   #'^mA
        838    CFF5 81        41     CMPA   #'^mA
        839    CFF7 25        0C     BCS    ZD005
        839    CFF7 25        0C     BCS    ZD005
        840    CFF9 81        5A     CMPA   #'Z
        840    CFF9 81        5A     CMPA   #'Z
        841    CFFB 23        0E     BLS    ZD00B
        841    CFFB 23        0E     BLS    ZD00B
        842    CFFD 81        61     CMPA   #'a    $61
        842    CFFD 81        61     CMPA   #'a    $61
        843    CFFF 25        04     BCS    ZD005
        843    CFFF 25        04     BCS    ZD005
        844    D001 81        7A     CMPA   #'z    $7A
        844    D001 81        7A     CMPA   #'z    $7A
        845    D003 23        06     BLS    ZD00B
        845    D003 23        06     BLS    ZD00B
        846    D005 1A        01_n ZD005  ORCC   #$01
        846    D005 1A        01_n ZD005  ORCC   #$01
        847    D007 B7        CC11   
STA    >LASTRM
        847    D007 B7        CC11   
STA    >LASTRM
        848    D00A 39        RTS
        848    D00A 39        RTS
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        850    D00D 39        RTS
        850    D00D 39        RTS
        851    *
        851    *
        852    ** GET NEXT CHARACTER FROM FILE
        852    ** GET NEXT CHARACTER FROM FILE
        853    *
        853    *
        854    D00E 34        10     NXTCH1 PSHS   X
        854    D00E 34        10     NXTCH1 PSHS   X
        855    D010 BE        `oCC14       
LDX    >LINPTR
        855    D010 BE        `oCC14       
LDX    >LINPTR
        856    D013 B6        CC18   
LDA    >CURCHR
        856    D013 B6        CC18   
LDA    >CURCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        858    D019 A6        80     ZD019  LDA    ,X+
        858    D019 A6        80     ZD019  LDA    ,X+
        859    D01B B7        CC18   
STA    >CURCHR
        859    D01B B7        CC18   
STA    >CURCHR
        860    D01E 81        0D     CMPA   #$0D
        860    D01E 81        0D     CMPA   #$0D
        861    D020 27        10     BEQ    ZD032
        861    D020 27        10     BEQ    ZD032
        862    D022 B1        CC02   
CapMPA       >EOLCHR
        862    D022 B1        CC02   
CapMPA       >EOLCHR
        863    D025 27        0B     BEQ    ZD032
        863    D025 27        0B     BEQ    ZD032
        864    D027 BF        CC14   
STX    >LINPTR
        864    D027 BF        CC14   
STX    >LINPTR
        865    D02A 81        20     CMPA   #$20
        865    D02A 81        20     CMPA   #$20
        866    D02C 26        04     BNE    ZD032
        866    D02C 26        04     BNE    ZD032
        867    D02E A1        84     CMPA   ,X
        867    D02E A1        84     CMPA   ,X
        868    D030 27        E7     BEQ    ZD019
        868    D030 27        E7     BEQ    ZD019
        869    D032 8D        B9     ZD032  BSR    CLASS1
        869    D032 8D        B9     ZD032  BSR    CLASS1
        87bq0        D034 35        90     PULS   PC,X
        87bq0        D034 35        90     PULS   PC,X
        871    *
        871    *
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        873    *
        873    *
        874    D036 86        15     GETFL1 LDA    #$15
        874    D036 86        15     GETFL1 LDA    #$15
        875    D038 A7        01     STA    $01,X
        875    D038 A7        01     STA    $01,X
        876    D03A 86        FF     LDA    #$FF
        876    D03A 86        FF     LDA    #$FF
        877    D03C A7        03     STA    $03,X
        877    D03C A7        03     STA    $03,X
        878    D03E 6F        04     CLR    $0cr4,X
        878    D03E 6F        04     CLR    $0cr4,X
        879    D040 6F        0C     CLR    $0C,X
        879    D040 6F        0C     CLR    $0C,X
        880    D042 BD        D0D4   
JSR    >ZD0D4
        880    D042 BD        D0D4   
JSR    >ZD0D4
        881    D045 86        08     LDA    #$08
        881    D045 86        08     LDA    #$08
        882    D047 B7        CC4B   
STA    >ZCC4B
        882    D047 B7        CC4B   
STA    >ZCC4B
        883    D04A 8D        34     BSR    ZD080
        883    D04A 8D        34     BSR    ZD080
        884    D04C 25        2E     BCS    ZD07C
        884    D04C 25        2E     BCS    ZD07C
        885    D04E 26        0F     BNE    ZD05F
        885    D04E 26        0F     BNE    ZD05F
        886    D050 8D        2Eds BSR    ZD080
        886    D050 8D        2Eds BSR    ZD080
        887    D052 25        28     BCS    ZD07C
        887    D052 25        28     BCS    ZD07C
        888    D054 26        09     BNE    ZD05F
        888    D054 26        09     BNE    ZD05F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        890    D059 27        6C     BEQ    ZD0C7
        890    D059 27        6C     BEQ    ZD0C7
        891    D05B 8D        23     BSR    ZD080
        891    D05B 8D        23     BSR    ZD080
        892    D05D 23        68     BLS    ZD0C7
        892    D05D 23        68     BLS    ZD0C7
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
et    894    D062 6D        04     TST    $04,X
et    894    D062 6D        04     TST    $04,X
        895    D064 27        61     BEQ    ZD0C7
        895    D064 27        61     BEQ    ZD0C7
        896    D066 6D        03     TST    $03,X
        896    D066 6D        03     TST    $03,X
        897    D068 2A        0F     BPL    ZD079
        897    D068 2A        0F     BPL    ZD079
        898    D06A 7D        CC0D   
TST    >ZCC0D
        898    D06A 7D        CC0D   
TST    >ZCC0D
        899    D06D 27        05     BEQ    ZD074
        899    D06D 27        05     BEQ    ZD074
        900    D06F B6        CC0B   
LDA    >SYSDRV
        900    D06F B6        CC0B   
LDA    >SYSDRV
        901    D072 20        03     BfuRA        ZD077
        901    D072 20        03     BfuRA        ZD077
        902    
        902    
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        904    D077 A7        03     ZD077  STA    $03,X
        904    D077 A7        03     ZD077  STA    $03,X
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        907    D07F 39        RTS
        907    D07F 39        RTS
        908    
        908    
        909    D080 8D        8C     ZD080  BSR    NXTCgvH1
        909    D080 8D        8C     ZD080  BSR    NXTCgvH1
        910    D082 25        43     BCS    ZD0C7
        910    D082 25        43     BCS    ZD0C7
        911    D084 81        39     CMPA   #$39
        911    D084 81        39     CMPA   #$39
        912    D086 22        15     BHI    ZD09D
        912    D086 22        15     BHI    ZD09D
        913    D088 BE        CC3F   
LDX    >ZCC3F
        913    D088 BE        CC3F   
LDX    >ZCC3F
        914    D08B 6D        03     TST    $03,X
        914    D08B 6D        03     TST    $03,X
        915    D08D 2A        38     BPL    ZD0C7
        915    D08D 2A        38     BPL    ZD0C7
        916    D08F 84        03     ANDA   #$03
        916    D08F 84        03     ANDA   #$03
        917    D091 A7        03     ShwTA        $03,X
        917    D091 A7        03     ShwTA        $03,X
        918    D093 BD        D00E   
JSR    >NXTCH1
        918    D093 BD        D00E   
JSR    >NXTCH1
        919    D096 24        2F     BCC    ZD0C7
        919    D096 24        2F     BCC    ZD0C7
        920    D098 81        2E     ZD098  CMPA   #$2E
        920    D098 81        2E     ZD098  CMPA   #$2E
        921    D09A 1C        FE     ANDCC  #$FE
        921    D09A 1C        FE     ANDCC  #$FE
        922    D09C 39        RTS
        922    D09C 39        RTS
        923    
        923    
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        925    D0A0 2B        25     BMI    ZD0Cix7
        925    D0A0 2B        25     BMI    ZD0Cix7
        926    D0A2 34        04     PSHS   B
        926    D0A2 34        04     PSHS   B
        927    D0A4 C0        05     SUBB   #$05
        927    D0A4 C0        05     SUBB   #$05
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        929    D0A9 35        04     PULS   B
        929    D0A9 35        04     PULS   B
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        931    D0AE 25        02     BCS    ZD0B2
        931    D0AE 25        02     BCS    ZD0B2
        932    D0B0 80        20     SUBA   #$20
        932    D0B0 80        20     SUBA   #$20
        933    D0B2 A7        0jy4 ZD0B2  STA    $04,X
        933    D0B2 A7        0jy4 ZD0B2  STA    $04,X
        934    D0B4 30        01     LEAX   $01,X
        934    D0B4 30        01     LEAX   $01,X
        935    D0B6 5A        DECB
        935    D0B6 5A        DECB
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        937    D0BA 24        08     BCC    ZD0C4
        937    D0BA 24        08     BCC    ZD0C4
        938    D0BC 81        2D     CMPA   #$2D
        938    D0BC 81        2D     CMPA   #$2D
        939    D0BE 27        04     BEQ    ZD0C4
        939    D0BE 27        04     BEQ    ZD0C4
        940    D0C0 81        5F     CMPA   #$5F
        940    D0C0 81        5F     CMPA   #$5F
        941    D0C2kz 26    06     BNE    ZD0CA
        941    D0C2kz 26    06     BNE    ZD0CA
        942    D0C4 5D        ZD0C4  TSTB
        942    D0C4 5D        ZD0C4  TSTB
        943    D0C5 26        E4     BNE    ZD0AB
        943    D0C5 26        E4     BNE    ZD0AB
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        945    D0C9 39        RTS
        945    D0C9 39        RTS
        946    
        946    
        947    D0CA 5D        ZD0CA  TSTB
        947    D0CA 5D        ZD0CA  TSTB
        948    D0CB 27        CB     BEQ    ZD098
        948    D0CB 27        CB     BEQ    ZD098
        949    D0CD 6F        04     CLR    $04,X
        949    D0CD 6F        04     CLR    $04,X
        950    Dm{0CF 30    01     LEAX   $01,X
        950    Dm{0CF 30    01     LEAX   $01,X
        951    D0D1 5A        DECB
        951    D0D1 5A        DECB
        952    D0D2 20        F6     BRA    ZD0CA
        952    D0D2 20        F6     BRA    ZD0CA
        953    
        953    
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        955    D0D7 BE        CC14   
LDX    >LINPTR
        955    D0D7 BE        CC14   
LDX    >LINPTR
        956    D0DA A6        84     ZD0DA  LDA    ,X
        956    D0DA A6        84     ZD0DA  LDA    ,X
        957    D0DC 81        20     CMPA   #$20
        957    D0DC 81        20     CMPA   #$20
        958    D0DE 26        04yľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10n| BNE    ZD0E4
        958    D0DE 26        04yľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10n| BNE    ZD0E4
        959    D0E0 30        01     LEAX   $01,X
        959    D0E0 30        01     LEAX   $01,X
        960    D0E2 20        F6     BRA    ZD0DA
        960    D0E2 20        F6     BRA    ZD0DA
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        963    D0EA 39        RTS
        963    D0EA 39        RTS
        964    *
        964    *
        965    ** DEFAULT FILE EXTENSION
        965    ** DEFAULT FILE EXTENSION
        966    *
        966    *
        967    D0EB 34        30     o}SETEX1     PSHS   Y,X
        967    D0EB 34        30     o}SETEX1     PSHS   Y,X
        968    D0ED E6        0C     LDB    $0C,X
        968    D0ED E6        0C     LDB    $0C,X
        969    D0EF 26        18     BNE    ZD109
        969    D0EF 26        18     BNE    ZD109
        970    D0F1 108E D10B 
LDY    #EXTTBL
        970    D0F1 108E D10B 
LDY    #EXTTBL
        971    D0F5 81        0B     CMPA   #$0B
        971    D0F5 81        0B     CMPA   #$0B
        972    D0F7 22        10     BHI    ZD109
        972    D0F7 22        10     BHI    ZD109
        973    D0F9 C6        03     LDB    #$03
        973    D0F9 C6        03     LDB    #$03
        974    D0FB 3D        MUL
        974    D0FB 3D        MUL
        975    D0FC 31        p~A5 LEAY   B,Y
        975    D0FC 31        p~A5 LEAY   B,Y
        976    D0FE C6        03     LDB    #$03
        976    D0FE C6        03     LDB    #$03
        977    D100 A6        A0     ZD100  LDA    ,Y+
        977    D100 A6        A0     ZD100  LDA    ,Y+
        978    D102 A7        0C     STA    $0C,X
        978    D102 A7        0C     STA    $0C,X
        979    D104 30        01     LEAX   $01,X
        979    D104 30        01     LEAX   $01,X
        980    D106 5A        DECB
        980    D106 5A        DECB
        981    D107 26        F7     BNE    ZD100
        981    D107 26        F7     BNE    ZD100
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        983    *
q
        983    *
q
        984    ** STANDARD FILE NAME EXTTENSIONS
        984    ** STANDARD FILE NAME EXTTENSIONS
        985    *
        985    *
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        987    D10E 54 58 54  FCC    "TXT"
        987    D10E 54 58 54  FCC    "TXT"
        988    D111 43 4D 44  FCC    "CMD"
        988    D111 43 4D 44  FCC    "CMD"
        989    D114 42 41 53  FCC    "BAS"
        989    D114 42 41 53  FCC    "BAS"
        990    D117 53 59 53  FCC    "SYS"
        990    D117 53 59 53  FCC    "SYS"
        991    D11A 42 41 4B  rFCC        "BAK"
        991    D11A 42 41 4B  rFCC        "BAK"
        992    D11D 53 43 52  FCC    "SCR"
        992    D11D 53 43 52  FCC    "SCR"
        993    D120 44 41 54  FCC    "DAT"
        993    D120 44 41 54  FCC    "DAT"
        994    D123 42 41 43  FCC    "BAC"
        994    D123 42 41 43  FCC    "BAC"
        995    D126 44 49 52  FCC    "DIR"
        995    D126 44 49 52  FCC    "DIR"
        996    D129 50 52 54  FCC    "PRT"
        996    D129 50 52 54  FCC    "PRT"
        997    D12C 4F 55 54  FCC    "OUT"
        997    D12C 4F 55 54  FCC    "OUT"
        998    *
        998    *
        999    ** READ A HEX ADDRsESS FROM THE LINE BUFFER
        999    ** READ A HEX ADDRsESS FROM THE LINE BUFFER
 1000   *
 1000   *
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1003   D135 25        22     BCS    ZD159
 1003   D135 25        22     BCS    ZD159
 1004   D137 8D        26     BSR    ZD15F
 1004   D137 8D        26     BSR    ZD15F
 1005   D139 25        18     BCS    ZD153
 1005   D139 25        18     BCS    ZD153
 1006   D13B 34        04     PSHS   B
 1006   D13B 34        04     PSHS   B
 1007t       D13D C6        04     LDB    #$04
 1007t       D13D C6        04     LDB    #$04
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1009   D142 79        CC1B   
ROL    >LODOFF
 1009   D142 79        CC1B   
ROL    >LODOFF
 1010   D145 5A        DECB
 1010   D145 5A        DECB
 1011   D146 26        F7     BNE    ZD13F
 1011   D146 26        F7     BNE    ZD13F
 1012   D148 35        04     PULS   B
 1012   D148 35        04     PULS   B
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1014   D14D B7        CC1C   
SuTA        >LODOFF+1
 1014   D14D B7        CC1C   
SuTA        >LODOFF+1
 1015   D150 5C        INCB
 1015   D150 5C        INCB
 1016   D151 20        DF     BRA    ZD132
 1016   D151 20        DF     BRA    ZD132
 1017   
 1017   
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1019   D156 24        FB     BCC    ZD153
 1019   D156 24        FB     BCC    ZD153
 1020   D158 39        RTS
 1020   D158 39        RTS
 1021   
 1021   
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1023   D15C 1C        FE     ANDCC  v#$FE
 1023   D15C 1C        FE     ANDCC  v#$FE
 1024   D15E 39        RTS
 1024   D15E 39        RTS
 1025   
 1025   
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1027   D161 2A        0F     BPL    ZD172
 1027   D161 2A        0F     BPL    ZD172
 1028   D163 8B        06     ADDA   #$06
 1028   D163 8B        06     ADDA   #$06
 1029   D165 2A        04     BPL    ZD16B
 1029   D165 2A        04     BPL    ZD16B
 1030   D167 8B        07     ADDA   #$07
 1030   D167 8B        07     ADDA   #$07
 1031   D169 2A        07     BPL    ZD172
 1031   D169 2A        07     BPL    ZD172
 1032   D16B 8B        w0A ZD16B  ADDA   #$0A
 1032   D16B 8B        w0A ZD16B  ADDA   #$0A
 1033   D16D 2B        03     BMI    ZD172
 1033   D16D 2B        03     BMI    ZD172
 1034   D16F 1C        FE     ANDCC  #$FE
 1034   D16F 1C        FE     ANDCC  #$FE
 1035   D171 39        RTS
 1035   D171 39        RTS
 1036   
 1036   
 1037   D172 1A        01     ZD172  ORCC   #$01
 1037   D172 1A        01     ZD172  ORCC   #$01
 1038   D174 39        RTS
 1038   D174 39        RTS
 1039   
 1039   
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1041   D178 BD        D00E   xZD178      JSR    >NXTCH1
 1041   D178 BD        D00E   xZD178      JSR    >NXTCH1
 1042   D17B 25        DC     BCS    ZD159
 1042   D17B 25        DC     BCS    ZD159
 1043   D17D 81        39     CMPA   #$39
 1043   D17D 81        39     CMPA   #$39
 1044   D17F 22        D2     BHI    ZD153
 1044   D17F 22        D2     BHI    ZD153
 1045   D181 84        0F     ANDA   #$0F
 1045   D181 84        0F     ANDA   #$0F
 1046   D183 34        04     PSHS   B
 1046   D183 34        04     PSHS   B
 1047   D185 34        02     PSHS   A
 1047   D185 34        02     PSHS   A
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1049   D1z8A 58    ASLB
 1049   D1z8A 58    ASLB
 1050   D18B 49        ROLA
 1050   D18B 49        ROLA
 1051   D18C 58        ASLB
 1051   D18C 58        ASLB
 1052   D18D 49        ROLA
 1052   D18D 49        ROLA
 1053   D18E 58        ASLB
 1053   D18E 58        ASLB
 1054   D18F 49        ROLA
 1054   D18F 49        ROLA
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1057   D196 EB        E0     ADDB   ,S+
 1057   D196 EB        E0     ADDB   ,S+
 1058   D198 89        00     ADCAZ&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
 1058   D198 89        00     ADCAZ&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
{        #$00
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
{        #$00
 1059   D19A FD        CC1B   
STD    >LODOFF
 1059   D19A FD        CC1B   
STD    >LODOFF
 1060   D19D 35        04     PULS   B
 1060   D19D 35        04     PULS   B
 1061   D19F 5C        INCB
 1061   D19F 5C        INCB
 1062   D1A0 20        D6     BRA    ZD178
 1062   D1A0 20        D6     BRA    ZD178
 1063   *
 1063   *
 1064   ** LOAD BINARY FILE
 1064   ** LOAD BINARY FILE
 1065   *
 1065   *
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD|1E4
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD|1E4
 1068   D1A7 81        02     CMPA   #$02
 1068   D1A7 81        02     CMPA   #$02
 1069   D1A9 27        15     BEQ    ZD1C0
 1069   D1A9 27        15     BEQ    ZD1C0
 1070   D1AB 81        16     CMPA   #$16
 1070   D1AB 81        16     CMPA   #$16
 1071   D1AD 26        F6     BNE    ZD1A5
 1071   D1AD 26        F6     BNE    ZD1A5
 1072   D1AF 8D        33     BSR    ZD1E4
 1072   D1AF 8D        33     BSR    ZD1E4
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1074   D1B4 8D        2E     BSR    ZD1E4
 1074   D1B4 8D        2E     BSR    ZD1E4
 1075   D1B6 B7        CC1}F       
STA    >TRNVEC+1
 1075   D1B6 B7        CC1}F       
STA    >TRNVEC+1
 1076   D1B9 86        01     LDA    #$01
 1076   D1B9 86        01     LDA    #$01
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1078   D1BE 20        E5     BRA    ZD1A5
 1078   D1BE 20        E5     BRA    ZD1A5
 1079   
 1079   
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1081   D1C2 1F        89     TFR    A,B
 1081   D1C2 1F        89     TFR    A,B
 1082   D1C4 8D        1E     BSR    ZD1E4
 1082   D1C4 8D        1E     BSR    ZD1E4
 1083   D1C6 1E        89     EXG    ~A,B
 1083   D1C6 1E        89     EXG    ~A,B
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1086   D1CE 8D        14     BSR    ZD1E4
 1086   D1CE 8D        14     BSR    ZD1E4
 1087   D1D0 1F        89     TFR    A,B
 1087   D1D0 1F        89     TFR    A,B
 1088   D1D2 4D        TSTA
 1088   D1D2 4D        TSTA
 1089   D1D3 27        D0     BEQ    ZD1A5
 1089   D1D3 27        D0     BEQ    ZD1A5
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1091   D1D7 BE        CC3D       
LDX    >ZCC3D
 1091   D1D7 BE        CC3D       
LDX    >ZCC3D
 1092   D1DA A7        80     STA    ,X+
 1092   D1DA A7        80     STA    ,X+
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1094   D1DF 5A        DECB
 1094   D1DF 5A        DECB
 1095   D1E0 26        F3     BNE    ZD1D5
 1095   D1E0 26        F3     BNE    ZD1D5
 1096   D1E2 20        C1     BRA    ZD1A5
 1096   D1E2 20        C1     BRA    ZD1A5
 1097   
 1097   
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1099   D1E7 BD        D406   
JSR    >FMS
 1099   D1E7 BD        D406   
JSR    >FMS
 1100       D1EA 27        11     BEQ    ZD1FD
 1100       D1EA 27        11     BEQ    ZD1FD
 1101   D1EC A6        01     LDA    $01,X
 1101   D1EC A6        01     LDA    $01,X
 1102   D1EE 81        08     CMPA   #$08
 1102   D1EE 81        08     CMPA   #$08
 1103   D1F0 26        0E     BNE    ZD200
 1103   D1F0 26        0E     BNE    ZD200
 1104   D1F2 32        62     LEAS   $02,S
 1104   D1F2 32        62     LEAS   $02,S
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1106   D1F6 A7        84     STA    ,X
 1106   D1F6 A7        84     STA    ,X
 1107   D1F8 BD        D406   
JSR    >FMS
 1107   D1F8 BD        D406   
JSR    >FMS
 1108   D1FB 26        0D     BNE    ZD20A
 1108   D1FB 26        0D     BNE    ZD20A
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1110   D1FF 39        RTS
 1110   D1FF 39        RTS
 1111   
 1111   
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1113   D203 81        04     CMPA   #$04
 1113   D203 81        04     CMPA   #$04
 1114   D205 26        03     BNE    ZD20A
 1114   D205 26        03     BNE    ZD20A
 1115   D207 1A        01     ORCC   #$01
 1115   D207 1A        01     ORCC   #$01
 1116       D209 39        RTS
 1116       D209 39        RTS
 1117   
 1117   
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1120   *
 1120   *
 1121   ** 'GET' - LOAD BINARY FILE
 1121   ** 'GET' - LOAD BINARY FILE
 1122   *
 1122   *
 1123   D20F 86        00     GETCMD LDA    #$00
 1123   D20F 86        00     GETCMD LDA    #$00
 1124   D211 8D        35     BSR    ZD248
 1124   D211 8D        35     BSR    ZD248
 1125   D213 25        0F     BCS    ZD224
 1125   D213 25        0F     BCS    ZD224
 1126   D215 8D        07     BSR    ZD21E
 1126   D215 8D        07     BSR    ZD21E
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1128   D21A 8D        86     BSR    LOAD1
 1128   D21A 8D        86     BSR    LOAD1
 1129   D21C 20        F1     BRA    GETCMD
 1129   D21C 20        F1     BRA    GETCMD
 1130   
 1130   
 1131   D21E 4F        ZD21E  CLRA
 1131   D21E 4F        ZD21E  CLRA
 1132   D21F 5F        CLRB
 1132   D21F 5F        CLRB
 1133   D220 FD        CC1B   
STD    >LODOFF
 1133   D220 FD        CC1B   
STD    >LODOFF
 1134   D223 39        RTS
 1134   D223 39        RTS
 1135   
 1135   
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1138   D22B 7E        CD03   
JMP    >WARMS
 1138   D22B 7E        CD03   
JMP    >WARMS
 1139   
 1139   
 1140   D22E 86        02     ZD22E  LDA    #$02
 1140   D22E 86        02     ZD22E  LDA    #$02
 1141   D230 8D        22     BSR    ZD254
 1141   D230 8D        22     BSR    ZD254
 1142   D232 8D        EA     BSR    ZD21E
 1142   D232 8D        EA     BSR    ZD21E
 1143   D234 BD        D1A2       
JSR    >LOAD1
 1143   D234 BD        D1A2       
JSR    >LOAD1
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1145   D23A 27        04     BEQ    ZD240
 1145   D23A 27        04     BEQ    ZD240
 1146   D23C 6E        9F CC1E
 1146   D23C 6E        9F CC1E
JMP     [TRNVEC]
JMP     [TRNVEC]
 1147   
 1147   
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1149   D243 86        81     LDA    #$81
 1149   D243 86        81     LDA    #$81
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1151   
 1151   
 1152   D248 34        02     ZD248  PSHS   A
 1152   D248 34        02     ZD248  PSHS   A
 1153   D24A 8E        C840   
LDX    #FCB
 1153   D24A 8E        C840   
LDX    #FCB
 1154   D24D BD        D036   
JSR    >GETFL1
 1154   D24D BD        D036   
JSR    >GETFL1
 1155   D250 35        02     PULS   A
 1155   D250 35        02     PULS   A
 1156   D252 25        1A     BCS    ZD26E
 1156   D252 25        1A     BCS    ZD26E
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1159       9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ D25A 8E        C840   
LDX    #FCB
 1159       9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ D25A 8E        C840   
LDX    #FCB
 1160   D25D 86        01     LDA    #$01
 1160   D25D 86        01     LDA    #$01
 1161   D25F A7        84     STA    ,X
 1161   D25F A7        84     STA    ,X
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1163   D264 1025 00BB 
LBCS   ZD323
 1163   D264 1025 00BB 
LBCS   ZD323
 1164   D268 86        FF     LDA    #$FF
 1164   D268 86        FF     LDA    #$FF
 1165   D26A A7        88 3B  STA    $3B,X
 1165   D26A A7        88 3B  STA    $3B,X
 1166   D26D 39        RTS
 1166   D26D 39        RTS
 1167   
 1167   
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1169   D271 81        0D     CMPA   #$0D
 1169   D271 81        0D     CMPA   #$0D
 1170   D273 27        07     BEQ    ZD27C
 1170   D273 27        07     BEQ    ZD27C
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1174   D27E 39        RTS
 1174   D27E 39        RTS
 1175   
 1175   
 1176       D27F 34        30     RPTER1 PSHS   Y,X
 1176       D27F 34        30     RPTER1 PSHS   Y,X
 1177   D281 A6        01     LDA    $01,X
 1177   D281 A6        01     LDA    $01,X
 1178   D283 B7        CC20   
STA    >ERRTYP
 1178   D283 B7        CC20   
STA    >ERRTYP
 1179   D286 27        63     BEQ    ZD2EB
 1179   D286 27        63     BEQ    ZD2EB
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1182   D28F 26        08     BNE    ZD299
 1182   D28F 26        08     BNE    ZD299
 1183   D291 81    10     CMPA   #$10
 1183   D291 81    10     CMPA   #$10
 1184   D293 27        58     BEQ    ZD2ED
 1184   D293 27        58     BEQ    ZD2ED
 1185   D295 108E D361 
LDY    #ZD361
 1185   D295 108E D361 
LDY    #ZD361
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1187   D29C 6D        02     TST    $02,X
 1187   D29C 6D        02     TST    $02,X
 1188   D29E 27        09     BEQ    ZD2A9
 1188   D29E 27        09     BEQ    ZD2A9
 1189   D2A0 86        04     LDA    #$04
 1189   D2A0 86        04     LDA    #$04
 1190   D2A2 A7        84     STA    ,X
 1190   D2A2 A7        84     STA    ,X
 1191   D2A4 BD        D406   
JSR    >FMS
 1191   D2A4 BD        D406   
JSR    >FMS
 1192   D2A7 26        2E     BNE    ZD2D7
 1192   D2A7 26        2E     BNE    ZD2D7
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1194   D2AC C6        0B     LDB    #$0B
 1194   D2AC C6        0B     LDB    #$0B
 1195   D2AE 8D        6E     BSR    ZD31E
 1195   D2AE 8D        6E     BSR    ZD31E
 1196   D2B0 8E        C840   
LDX    #FCB
 1196   D2B0 8E        C840   
LDX    #FCB
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1198   D2B6 A7    03     STA    $03,X
 1198   D2B6 A7    03     STA    $03,X
 1199   D2B8 86        01     LDA    #$01
 1199   D2B8 86        01     LDA    #$01
 1200   D2BA A7        84     STA    ,X
 1200   D2BA A7        84     STA    ,X
 1201   D2BC BD        D406   
JSR    >FMS
 1201   D2BC BD        D406   
JSR    >FMS
 1202   D2BF 26        16     BNE    ZD2D7
 1202   D2BF 26        16     BNE    ZD2D7
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1204   D2C4 4A        DECA
 1204   D2C4 4A        DECA
 1205   D2C5 47        ASRA
 1205   D2C5 47        ASRA
 1206   D2C6 47        ASRA
 1206   D2C6 47        ASRA
 1207       D2C7 4C        INCA
 1207       D2C7 4C        INCA
 1208   D2C8 6F        88 20  CLR    $20,X
 1208   D2C8 6F        88 20  CLR    $20,X
 1209   D2CB A7        88 21  STA    $21,X
 1209   D2CB A7        88 21  STA    $21,X
 1210   D2CE 86        15     LDA    #$15
 1210   D2CE 86        15     LDA    #$15
 1211   D2D0 A7        84     STA    ,X
 1211   D2D0 A7        84     STA    ,X
 1212   D2D2 BD        D406   
JSR    >FMS
 1212   D2D2 BD        D406   
JSR    >FMS
 1213   D2D5 27        1E     BEQ    ZD2F5
 1213   D2D5 27        1E     BEQ    ZD2F5
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DERMSG
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DERMSG
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1218   D2E3 A7        01     STA    $01,X
 1218   D2E3 A7        01     STA    $01,X
 1219   D2E5 6F        84     CLR    ,X
 1219   D2E5 6F        84     CLR    ,X
 1220   D2E7 5F        CLRB
 1220   D2E7 5F        CLRB
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1222   D2EB 35        B0     ZD2EB      PULS   PC,Y,X
 1222   D2EB 35        B0     ZD2EB      PULS   PC,Y,X
 1223   
 1223   
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1226   D2F3 20        F6     BRA    ZD2EB
 1226   D2F3 20        F6     BRA    ZD2EB
 1227   
 1227   
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1229   D2F8 8E        C840   
LDX    #FCB
 1229   D2F8 8E        C840   
LDX    #FCB
 1230   D2FB B6        CC20   
LDA    >ERRTYP
 1230   D2FB B6        CC20   
LDA    >ERRTYP
 1231   D2FE 4A        DECA
 1231   D2FE 4A        DECA
 1232   D2FF 84        03     ANDA   #$03
 1232   D2FF 84        03     ANDA   #$03
 1233   D301 C6        3F     LDB    #$3F
 1233   D301 C6        3F     LDB    #$3F
 1234   D303 3D        MUL
 1234   D303 3D        MUL
 1235   D304 CB        04     ADDB   #$04
 1235   D304 CB        04     ADDB   #$04
 1236   D306 E7        88 22  STB    $22,X
 1236   D306 E7        88 22  STB    $22,X
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1238   D30C 26        C9     BNE    ZD2D7
 1238   D30C 26        C9     BNE    ZD2D7
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1240   D311 81        0D     CMPA   #$0D
 1240   D311 81        0D     CMPA   #$0D
 1241   D313 26        F4     BNE    ZD309
 1241   D313 26        F4     BNE    ZD309
 1242   D315 86        04     LDA    #$04
 1242   D315 86        04     LDA    #$04
 1243   D317 A7        84     STA    ,X
 1243   D317 A7        84     STA    ,X
 1244   D319 BD        D406   
JSR    >FMS
 1244   D319 BD        D406   
JSR    >FMS
 1245   D31C 20        CD     BRA    ZD2EB
 1245   D31C 20        CD     BRA    ZD2EB
 1246   D31E 34        30     ZD31E
 1246   D31E 34        30     ZD31E
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR    PSHS   Y,X
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR    PSHS   Y,X
 1247   D320 7E        D100   
JMP    >ZD100
 1247   D320 7E        D100   
JMP    >ZD100
 1248   
 1248   
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1251   *
 1251   *
 1252   ** CALL FLEX AS A SUBROUTINE
 1252   ** CALL FLEX AS A SUBROUTINE
 1253   *
 1253   *
 1254   D329 35        06     DOCMD1 PULS   B,A
 1254   D329 35        06     DOCMD1 PULS   B,A
 1255   D32B FD    CC43   
STD    >ZCC43
 1255   D32B FD    CC43   
STD    >ZCC43
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1258   D335 7C        CC28   
INC    >CMDFLG
 1258   D335 7C        CC28   
INC    >CMDFLG
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1261   D33E 10FE CC45 
LDS    >ZCC45
 1261   D33E 10FE CC45 
LDS    >ZCC45
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1263   D345 6E        9F CC43
 1263   D345 6E        9F CC43
JMP     [ZCC43]
JMP     [ZCC43]
 1264   *
 1264   *
 1265   ** ADD ACCB TO IX
 1265   ** ADD ACCB TO IX
 1266   *
 1266   *
 1267   D349 3A        ADDBX1 ABX
 1267   D349 3A        ADDBX1 ABX
 1268   D34A 39        RTS
 1268   D34A 39        RTS
 1269   
 1269   
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1271   D34E 26        04     BNE    ZD354
 1271   D34E 26        04     BNE    ZD354
 1272   D350 6E        9F D3F3
 1272   D350 6E        9F D3F3
JMP     [MONVEC]
JMP     [MONVEC]
 1273   
 1273   
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1275   D357 86        1B     LDA    #$1B
 1275   D357 86        1B     LDA    #$1B
 1276   D359 A7        01     STA    $01,X
 1276   D359 A7        01     STA    $01,X
 1277   D35B BD        D27F   
JSR    >RPTER1
 1277   D35B BD        D27F   
JSR    >RPTER1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1279   
 1279   
 1280   D361 45 52 52 4F   ZD361  FCC    /ERRORS/
 1280   D361 45 52 52 4F   ZD361  FCC    /ERRORS/
 1281   D367 00 00     FCB    $00,$00
 1281   D367 00 00     FCB    $00,$00
 1282   D369 53 59 53  FCC    /SYS/
 1282   D369 53 59 53  FCC    /SYS/
 1283   END
 1283   END
 1285   *
 1285   *
 1286   ** TERMINAL AND PRINTER DRIVERS
 1286   ** TERMINAL AND PRINTER DRIVERS
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1288   *
 1288   *
 1289   ** FLEX DRIVER MEMORY MAP:
 1289   ** FLEX DRIVER MEMORY MAP:
 1290       ** C700 - C83F PRINTER SPOOLER
 1290       ** C700 - C83F PRINTER SPOOLER
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1294   *
 1294   *
 1295   *
 1295   *
 1296   ** INTERRUPT VECTORS
 1296   ** INTERRUPT VECTORS
 1297   *
 1297   *
 1298   DFC8   IRQVEC EQU    MONRAM+$08

 1298   DFC8   IRQVEC EQU    MONRAM+$08

 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1300   *
 1300   *
 1301   ** PRINTER DRIVERS
 1301   ** PRINTER DRIVERS
 1302   *
 1302   *
 1303   CCC0   ORG    $CCC0
 1303   CCC0   ORG    $CCC0
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1305   CCD8   ORG    $CCD8
 1305   CCD8   ORG    $CCD8
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHECK IF PRINTER READY
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHECK IF PRINTER READY
 1307   CCE4   ORG    $CCE4
 1307   CCE4   ORG    $CCE4
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1309   CCF8   ORG    $CCF8
 1309   CCF8   ORG    $CCF8
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1312   *
 1312   *
 1313   ** CONSOLE DRIVER PATCHES:
 1313   ** CONSOLE DRIVER PATCHES:
 1314   *
 1314   *
 1315   D370   ORG    $D370
 1315   D370   ORG    $D370
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1317   D370   TMON   EQU    *              TIMER ON
 1317   D370   TMON   EQU    *              TIMER ON
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1320   D370       DUMRTS EQU    *
 1320   D370       DUMRTS EQU    *
 1321   D370 39        RTS
 1321   D370 39        RTS
 1322   *
 1322   *
 1323   ** SBUG MONITOR I/O CALLS
 1323   ** SBUG MONITOR I/O CALLS
 1324   *
 1324   *
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1327   D378 6E        9F F800        MONITR     JMP    [MONROM+$00]
 1327   D378 6E        9F F800        MONITR     JMP    [MONROM+$00]
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1331   
 1331   
 1332       *
 1332       *
 1333   ** AUTO BLOCK FDBS
 1333   ** AUTO BLOCK FDBS
 1334   *
 1334   *
 1335   D3E5   ORG    $D3E5
 1335   D3E5   ORG    $D3E5
 1336   D3E5 D374
 1336   D3E5 D374
ZD3E5   FDB    INCHNE INPUT - NO ECHO
ZD3E5   FDB    INCHNE INPUT - NO ECHO
 1337   D3E7 D370
 1337   D3E7 D370
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
 1338   D3E9 DFC2
 1338   D3E9 DFC2
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
 1339   D3EB DFC8
 1339   D3EB DFC8
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
 1340   D3ED D370
 1340   D3ED D370
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
 1341   D3EF D370
 1341   D3EF D370
TONVEC  FDB    TMON   TIMER ON ROUTINE
TONVEC  FDB    TMON   TIMER ON ROUTINE
 1342   D3F1 D370
 1342   D3F1 D370
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
 1343   D3F3 D378
 1343   D3F3 D378
MONVEC  FDB        MONITR MONITOR RETURN ADDRESS
MONVEC  FDB        MONITR MONITOR RETURN ADDRESS
 1344   D3F5 D371
 1344   D3F5 D371
TERVEC  FDB    TERINZ TERMINAL INITIATION
TERVEC  FDB    TERINZ TERMINAL INITIATION
 1345   D3F7 D37C
 1345   D3F7 D37C
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
 1346   D3F9 D380
 1346   D3F9 D380
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
 1347   D3FB D384
 1347   D3FB D384
INVEC   FDB    INEEE      TERMINAL INPUT CHARACTER
INVEC   FDB    INEEE      TERMINAL INPUT CHARACTER
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1349   END
 1349   END
 1351   *
 1351   *
 1352   ** FILE MANAGEMENT SYSTEM
 1352   ** FILE MANAGEMENT SYSTEM
 1353   *
 1353   *
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1356   >D406 7E       D47B   FMS        JMP    >FMS1
 1356   >D406 7E       D47B   FMS        JMP    >FMS1
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1360   D409   ORG    CPYMSG
 1360   D409   ORG    CPYMSG
 1361   D409   FCBPTR RMB    2

 1361   D409   FCBPTR RMB    2

 1362   D40B   CURFCB RMB    4
 1362   D40B   CURFCB RMB    4
 1363   D40F   ZD40F  RMB    2
 1363   D40F   ZD40F  RMB    2
 1364   D411   ZD411  RMB    1
 1364   D411   ZD411  RMB    1
 1365   D412   ZD412  RMB    1
 1365   D412   ZD412  RMB    1
 1366   D413   ZD413  RMB    1
 1366   D413   ZD413  RMB    1
 1367   D414   ZD414  RMB    1
 1367   D414   ZD414  RMB    1
 1368   D415   ZD415  RMB    2
 1368   D415   ZD415  RMB    2
 1369   D417   ZD417  RMB    1
 1369   D417   ZD417  RMB    1
 1370   D418   ZD418  RMB    2
 1370   D418   ZD418  RMB    2
 1371   D41A   ZD41A  RMB    1
 1371   D41A   ZD41A  RMB    1
 1372   D41B   ZD41B  RMB    2
 1372   D41B   ZD41B  RMB    2
 1373   D41D   ZD41D  RMB    24
 1373   D41D   ZD41D  RMB    24
 1374   D435 FF        VERFLG FCB    $FF
 1374   D435 FF        VERFLG FCB    $FF
 1375   *
 1375   *
 1376   **
 1376   **
 1377   *
 1377   *
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1380   D43C C6        0A     LIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
 1380   D43C C6        0A     LIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽDB      #$0A
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽDB      #$0A
 1381   D43E 8D        11     BSR    ZD451
 1381   D43E 8D        11     BSR    ZD451
 1382   D440 8E        0005   
LDX    #Z0005
 1382   D440 8E        0005   
LDX    #Z0005
 1383   D443 BF        D413   
STX    >ZD413
 1383   D443 BF        D413   
STX    >ZD413
 1384   D446 BF        D415   
STX    >ZD415
 1384   D446 BF        D415   
STX    >ZD415
 1385   D449 7F        D41A   
CLR    >ZD41A
 1385   D449 7F        D41A   
CLR    >ZD41A
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1387   D44F C6        1A     LDB    #$1A
 1387   D44F C6        1A     LDB    #$1A
 1388   D451 6F        80     ZD451  CLR    ,X+
 1388   D451 6F        80     ZD451  CLR    ,X+
 1389   D453 5A        DECB
 1389   D453 5A        DECB
 1390   D454 26        FB     BNE    ZD451
 1390   D454 26        FB     BNE    ZD451
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1392   
 1392   
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1395   D45F 27        EB     BEQ    ZD44C
 1395   D45F 27        EB     BEQ    ZD44C
 1396   D461 30        88 E4  LEAX   -$1C,X
 1396   D461 30        88 E4  LEAX   -$1C,X
 1397   D464 BF        D40B   
STX    >CURFCB
 1397   D464 BF        D40B   
STX    >CURFCB
 1398   D467 34        20     PSHS   Y
 1398   D467 34        20     PSHS   Y
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1400   D46C 35        20     PULS   Y
 1400   D46C 35        20     PULS   Y
 1401   D46E 24        EC     BCC    ZD45C
 1401   D46E 24        EC     BCC    ZD45C
 1402   D470 BE        D40B   
LDX    >CURFCB
 1402   D470 BE        D40B   
LDX    >CURFCB
 1403   D473 6F    02     CLR    $02,X
 1403   D473 6F    02     CLR    $02,X
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1405   D478 C6        FF     LDB    #$FF
 1405   D478 C6        FF     LDB    #$FF
 1406   D47A 39        RTS
 1406   D47A 39        RTS
 1407   
 1407   
 1408   *
 1408   *
 1409   ** FMS CALL, PROCESSING
 1409   ** FMS CALL, PROCESSING
 1410   *
 1410   *
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1412   D47E 27        03     BEQ    ZD483
 1412   D47E 27        03     BEQ    ZD483
 1413   D480 BD    C709   
JSR    >PRSPL4
 1413   D480 BD    C709   
JSR    >PRSPL4
 1414   D483 34        24     ZD483  PSHS   Y,B
 1414   D483 34        24     ZD483  PSHS   Y,B
 1415   D485 BF        D40B   
STX    >CURFCB
 1415   D485 BF        D40B   
STX    >CURFCB
 1416   D488 6F        01     CLR    $01,X
 1416   D488 6F        01     CLR    $01,X
 1417   D48A E6        84     LDB    ,X
 1417   D48A E6        84     LDB    ,X
 1418   D48C 26        22     BNE    DOFUNC
 1418   D48C 26        22     BNE    DOFUNC
 1419   *
 1419   *
 1420   ** READ/WRITE CHAR/BYTE
 1420   ** READ/WRITE CHAR/BYTE
 1421   *
 1421   *
 1422   D48E E6    02     LDB    $02,X
 1422   D48E E6    02     LDB    $02,X
 1423   D490 27        1A     BEQ    ZD4AC
 1423   D490 27        1A     BEQ    ZD4AC
 1424   D492 C1        02     CMPB   #$02
 1424   D492 C1        02     CMPB   #$02
 1425   D494 27        11     BEQ    ZD4A7
 1425   D494 27        11     BEQ    ZD4A7
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1428   D49C 25        26     BCS    ZD4C4
 1428   D49C 25        26     BCS    ZD4C4
 1429   D49E 7D        CCFC   
TST        >ZCCFC
 1429   D49E 7D        CCFC   
TST        >ZCCFC
 1430   D4A1 26        23     BNE    ZD4C6
 1430   D4A1 26        23     BNE    ZD4C6
 1431   D4A3 5F        CLRB
 1431   D4A3 5F        CLRB
 1432   D4A4 35        24     PULS   Y,B
 1432   D4A4 35        24     PULS   Y,B
 1433   D4A6 39        RTS
 1433   D4A6 39        RTS
 1434   
 1434   
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1436   D4AA 20        ED     BRA    ZD499
 1436   D4AA 20        ED     BRA    ZD499
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1438   D4AE 20    14     BRA    ZD4C4
 1438   D4AE 20    14     BRA    ZD4C4
 1439   
 1439   
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1441   D4B2 23        04     BLS    DOFUN1
 1441   D4B2 23        04     BLS    DOFUN1
 1442   D4B4 C6        01     LDB    #$01
 1442   D4B4 C6        01     LDB    #$01
 1443   D4B6 20        0C     BRA    ZD4C4
 1443   D4B6 20        0C     BRA    ZD4C4
 1444   D4B8 5A        DOFUN1 DECB
 1444   D4B8 5A        DOFUN1 DECB
 1445   D4B9 58        ASLB
 1445   D4B9 58        ASLB
 1446   D4BA 8E        D4CE   
LDX    #FMSTBL
 1446   D4BA 8E        D4CE   
LDX    #FMSTBL
 1447   D4BD AD        95     JSR    [B,X]
 1447   D4BD AD        95     JSR    [B,X]
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1449   D4C2 24        02     BCC    ZD4C6
 1449   D4C2 24        02     BCC    ZD4C6
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1452   D4C9 6D        01     TST    $01,X
 1452   D4C9 6D        01     TST    $01,X
 1453   D4CB 35        24     PULS   Y,B
 1453   D4CB 35        24     PULS   Y,B
 1454       D4CD 39        RTS
 1454       D4CD 39        RTS
 1455   *
 1455   *
 1456   ** FMS COMMAND VECTOR TABLE
 1456   ** FMS COMMAND VECTOR TABLE
 1457   *
 1457   *
 1458   D4CE D986
 1458   D4CE D986
FMSTBL  FDB    OPENRD FC 1
FMSTBL  FDB    OPENRD FC 1
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1462   D4D6 D5E2      FDB    REWIND     FC 5
 1462   D4D6 D5E2      FDB    REWIND     FC 5
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1464   D4DA D838      FDB    GETREC FC 7
 1464   D4DA D838      FDB    GETREC FC 7
 1465   D4DC D876      FDB    PUTREC FC 8
 1465   D4DC D876      FDB    PUTREC FC 8
 1466   D4DE D641      FDB    RDSECT FC 9
 1466   D4DE D641      FDB    RDSECT FC 9
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1468   D4E2 D969      FDB    RESV1  FC 11
 1468   D4E2 D969      FDB    RESV1  FC 11
 1469   D4E4 DBD6      FDB        DELETE FC 12
 1469   D4E4 DBD6      FDB        DELETE FC 12
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1471   D4E8 D699      FDB    RESV2  FC 14
 1471   D4E8 D699      FDB    RESV2  FC 14
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1473   D4EC D810      FDB    OPNREC FC 16
 1473   D4EC D810      FDB    OPNREC FC 16
 1474   D4EE D56F      FDB    GETBYT FC 17
 1474   D4EE D56F      FDB    GETBYT FC 17
 1475   D4F0 D590      FDB    PUTBYT FC 18
 1475   D4F0 D590      FDB    PUTBYT FC 18
 1476       D4F2 DB07      FDB    RESV3  FC 19
 1476       D4F2 DB07      FDB    RESV3  FC 19
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1480   *
 1480   *
 1481   **
 1481   **
 1482   *
 1482   *
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1484   D4FC 26        05     BNE    ZD503
 1484   D4FC 26        05     BNE    ZD503
 1485       D4FE C6        02     LDB    #$02
 1485       D4FE C6        02     LDB    #$02
 1486   D500 1A        01     ORCC   #$01
 1486   D500 1A        01     ORCC   #$01
 1487   D502 39        RTS
 1487   D502 39        RTS
 1488   
 1488   
 1489   D503 ED        84     ZD503  STD    ,X
 1489   D503 ED        84     ZD503  STD    ,X
 1490   D505 AE        84     LDX    ,X
 1490   D505 AE        84     LDX    ,X
 1491   D507 6F        84     CLR    ,X
 1491   D507 6F        84     CLR    ,X
 1492   D509 6F        01     CLR    $01,X
 1492   D509 6F        01     CLR    $01,X
 1493   D50B 39        RTS
 1493   D50B 39        RTS
 1494   
 1494   
 1495   D50C 8D    0E     ZD50C  BSR    ZD51C
 1495   D50C 8D    0E     ZD50C  BSR    ZD51C
 1496   D50E 27        05     BEQ    ZD515
 1496   D50E 27        05     BEQ    ZD515
 1497   D510 C6        0D     LDB    #$0D
 1497   D510 C6        0D     LDB    #$0D
 1498   D512 1A        01     ORCC   #$01
 1498   D512 1A        01     ORCC   #$01
 1499   D514 39        RTS
 1499   D514 39        RTS
 1500   
 1500   
 1501   D515 EC        94     ZD515  LDD    [,X]
 1501   D515 EC        94     ZD515  LDD    [,X]
 1502   D517 ED        84     STD    ,X
 1502   D517 ED        84     STD    ,X
 1503   D519 1C        FE     ANDCC  #$FE
 1503   D519 1C        FE     ANDCC  #$FE
 1504   D51B 39        RTS
 1504   D51B 39        RTS
 1505   
 1505   
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1507   D51F C3        001C   
ADDD   #$001C
 1507   D51F C3        001C   
ADDD   #$001C
 1508   D522 8E        D409   
LDX    #FCBPTR
 1508   D522 8E        D409   
LDX    #FCBPTR
 1509   D525 10AE 84   ZD525  LDY    ,X
 1509   D525 10AE 84   ZD525  LDY    ,X
 1510   D528 26        03     BNE    ZD52D
 1510   D528 26        03     BNE    ZD52D
 1511   D52A 1C        FB     ANDCC  #$FB

 1511   D52A 1C        FB     ANDCC  #$FB

 1512   D52C 39        RTS
 1512   D52C 39        RTS
 1513   
 1513   
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1515   D530 26        01     BNE    ZD533
 1515   D530 26        01     BNE    ZD533
 1516   D532 39        RTS
 1516   D532 39        RTS
 1517   D533 AE        84     ZD533  LDX    ,X
 1517   D533 AE        84     ZD533  LDX    ,X
 1518   D535 20        EE     BRA    ZD525
 1518   D535 20        EE     BRA    ZD525
 1519   
 1519   
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1521   D53A 4F    CLRA
 1521   D53A 4F    CLRA
 1522   D53B 5F        CLRB
 1522   D53B 5F        CLRB
 1523   D53C 8D        02     BSR    ZD540
 1523   D53C 8D        02     BSR    ZD540
 1524   D53E C6        2F     LDB    #$2F
 1524   D53E C6        2F     LDB    #$2F
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1526   D543 30        01     LEAX   $01,X
 1526   D543 30        01     LEAX   $01,X
 1527   D545 5A        DECB
 1527   D545 5A        DECB
 1528   D546 26        F8     BNE    ZD540
 1528   D546 26        F8     BNE    ZD540
 1529   D548 39        RTS
 1529   D548 39        RTS
 1530       
 1530       
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1532   D54C C6        0B     LDB    #$0B
 1532   D54C C6        0B     LDB    #$0B
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1534   D550 A7        88 24  STA    $24,X
 1534   D550 A7        88 24  STA    $24,X
 1535   D553 30        01     LEAX   $01,X
 1535   D553 30        01     LEAX   $01,X
 1536   D555 5A        DECB
 1536   D555 5A        DECB
 1537   D556 26        F6     BNE    ZD54E
 1537   D556 26        F6     BNE    ZD54E
 1538   D558 39    RTS
 1538   D558 39    RTS
 1539   
 1539   
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1541   D55C C6        0B     LDB    #$0B
 1541   D55C C6        0B     LDB    #$0B
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1543   D560 34        02     PSHS   A
 1543   D560 34        02     PSHS   A
 1544   D562 A6        88 24  LDA    $24,X
 1544   D562 A6        88 24  LDA    $24,X
 1545   D565 A1        E0     CMPA   ,S+
 1545   D565 A1        E0     CMPA   ,S+
 1546   D567 26        05     BNE    ZD56E
 1546   D567 26        05     BNE    ZD56E
 1547   D569 30        01     LEAX   $01,X
 1547   D569 30        01     LEAX   $01,X
 1548   D56B 5A        DECB
 1548   D56B 5A        DECB
 1549   D56C 26        F0     BNE    ZD55E
 1549   D56C 26        F0     BNE    ZD55E
 1550   D56E 39        ZD56E  RTS
 1550   D56E 39        ZD56E  RTS
 1551   *
 1551   *
 1552   ** GET RANDOM BYTE FROM SECTOR
 1552   ** GET RANDOM BYTE FROM SECTOR
 1553   *
 1553   *
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1555   D572 E6        02     LDB    $02,X
 1555   D572 E6        02     LDB    $02,X
 1556   D574 54        LSRB
 1556   D574 54        LSRB
 1557   D575 24        79     BCC    ZD5F0
 1557   D575 24        79     BCC    ZD5F0
 1558   D577 E6        88 23  LDB    $23,X
 1558   D577 E6        88 23  LDB    $23,X
 1559   D57A 7E        D600   
JMP    >ZD600
 1559   D57A 7E        D600   
JMP    >ZD600
 1560   
 1560   
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1562   D580 E6        88 22  LDB    $22,X
 1562   D580 E6        88 22  LDB    $22,X
 1563   D583 6C        88 22  INC    $22,X
 1563   D583 6C        88 22  INC    $22,X
 1564       D586 3A        ABX
 1564       D586 3A        ABX
 1565   D587 A7        88 40  STA    $40,X
 1565   D587 A7        88 40  STA    $40,X
 1566   D58A 5C        INCB
 1566   D58A 5C        INCB
 1567   D58B 26        1F     BNE    ZD5AC
 1567   D58B 26        1F     BNE    ZD5AC
 1568   D58D 1A        01     ORCC   #$01
 1568   D58D 1A        01     ORCC   #$01
 1569   D58F 39        RTS
 1569   D58F 39        RTS
 1570   *
 1570   *
 1571   ** PUT RANDOM BYTE IN SECTOR
 1571   ** PUT RANDOM BYTE IN SECTOR
 1572   *
 1572   *
 1573   D590 BE        D40B   PUTBYT LDX    >CURFCB
 1573   D590 BE        D40B   PUTBYT LDX    >CURFCB
 1574   D593 E6        02     LDB    $02,X
 1574   D593 E6        02     LDB    $02,X
 1575   D595 C4        03     ANDB   #$03
 1575   D595 C4        03     ANDB   #$03
 1576   D597 C1        03     CMPB   #$03
 1576   D597 C1        03     CMPB   #$03
 1577   D599 26        55     BNE    ZD5F0
 1577   D599 26        55     BNE    ZD5F0
 1578   D59B CA        80     ORB    #$80
 1578   D59B CA        80     ORB    #$80
 1579   D59D E7        02     STB    $02,X
 1579   D59D E7        02     STB    $02,X
 1580   D59F E6        0F     LDB    $0F,X
 1580   D59F E6        0F     LDB    $0F,X
 1581   D5A1 C5        80     BITB       #$80
 1581   D5A1 C5        80     BITB       #$80
 1582   D5A3 26        0A     BNE    ZD5AF
 1582   D5A3 26        0A     BNE    ZD5AF
 1583   D5A5 E6        88 23  LDB    $23,X
 1583   D5A5 E6        88 23  LDB    $23,X
 1584   D5A8 3A        ABX
 1584   D5A8 3A        ABX
 1585   D5A9 A7        88 40  STA    $40,X
 1585   D5A9 A7        88 40  STA    $40,X
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1587   D5AE 39        RTS
 1587   D5AE 39        RTS
 1588   
 1588   
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1590   D5B1 1A    01     ORCC   #$01
 1590   D5B1 1A    01     ORCC   #$01
 1591   D5B3 39        RTS
 1591   D5B3 39        RTS
 1592   
 1592   
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1594   D5B7 2B        3C     BMI    ZD5F5
 1594   D5B7 2B        3C     BMI    ZD5F5
 1595   D5B9 27        07     BEQ    ZD5C2
 1595   D5B9 27        07     BEQ    ZD5C2
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1597   D5BE 86        20     LDA    #$20
 1597   D5BE 86        20     LDA    #$20
 1598   D5C0 20        1D     BRA    ZD &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
 1598   D5C0 20        1D     BRA    ZD &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠5DF
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠5DF
 1599   
 1599   
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1601   D5C4 25        1B     BCS    ZD5E1
 1601   D5C4 25        1B     BCS    ZD5E1
 1602   D5C6 81        18     CMPA   #$18
 1602   D5C6 81        18     CMPA   #$18
 1603   D5C8 22        15     BHI    ZD5DF
 1603   D5C8 22        15     BHI    ZD5DF
 1604   D5CA 27        F6     BEQ    ZD5C2
 1604   D5CA 27        F6     BEQ    ZD5C2
 1605   D5CC 81        09     CMPA   #$09
 1605   D5CC 81        09     CMPA   #$09
 1606   D5CE 26        0C     BNE    ZD5DC
 1606   D5CE 26        0C     BNE    ZD5DC
 1607   D5D0 8D    23     BSR    ZD5F5
 1607   D5D0 8D    23     BSR    ZD5F5
 1608   D5D2 25        0D     BCS    ZD5E1
 1608   D5D2 25        0D     BCS    ZD5E1
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1610   D5D7 A7        88 3B  STA    $3B,X
 1610   D5D7 A7        88 3B  STA    $3B,X
 1611   D5DA 20        D8     BRA    ZD5B4
 1611   D5DA 20        D8     BRA    ZD5B4
 1612   
 1612   
 1613   D5DC 4D        ZD5DC  TSTA
 1613   D5DC 4D        ZD5DC  TSTA
 1614   D5DD 27        E3     BEQ    ZD5C2
 1614   D5DD 27        E3     BEQ    ZD5C2
 1615   D5DF 1C        FE     ZD5DF      ANDCC  #$FE
 1615   D5DF 1C        FE     ZD5DF      ANDCC  #$FE
 1616   D5E1 39        ZD5E1  RTS
 1616   D5E1 39        ZD5E1  RTS
 1617   *
 1617   *
 1618   ** REWIND FILE
 1618   ** REWIND FILE
 1619   *
 1619   *
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1621   D5E5 25        09     BCS    ZD5F0
 1621   D5E5 25        09     BCS    ZD5F0
 1622   D5E7 85        01     BITA   #$01
 1622   D5E7 85        01     BITA   #$01
 1623   D5E9 27        05     BEQ    ZD5F0
 1623   D5E9 27        05     BEQ    ZD5F0
 1624   D5EB A7        84     STA    ,X
 1624   D5EB A7        84     STA    ,X
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1626   
 1626   
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1628   D5F2 1A        01     ORCC   #$01
 1628   D5F2 1A        01     ORCC   #$01
 1629   D5F4 39        RTS
 1629   D5F4 39        RTS
 1630   
 1630   
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1632   D5F8 E6        88 22  LDB    $22,X
 1632   D5F8 E6        88 22  LDB    $22,X
 1633   D5FB 27        0A     BEQ    ZD607
 1633   D5FB 27        0A     BEQ    ZD607
 1634   D5FD 6C        88 22  INC    $22,X
 1634   D5FD 6C        88 22  INC    $22,X
 1635   D600 3A        ZD600  ABX
 1635   D600 3A        ZD600  ABX
 1636   D601 A6        88 40  LDA    $40,X
 1636   D601 A6        88 40  LDA    $40,X
 1637   D604 1C        FE     ANDCC  #$FE
 1637   D604 1C        FE     ANDCC  #$FE
 1638   D606 39        RTS
 1638   D606 39        RTS
 1639   
 1639   
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1641   D609 24        EA     BCC    ZD5F5
 1641   D609 24        EA     BCC    ZD5F5
 1642   D60B 39    RTS
 1642   D60B 39    RTS
 1643   
 1643   
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1645   D60F EC        88 40  LDD    $40,X
 1645   D60F EC        88 40  LDD    $40,X
 1646   D612 6C        88 21  INC    $21,X
 1646   D612 6C        88 21  INC    $21,X
 1647   D615 26        03     BNE    ZD61A
 1647   D615 26        03     BNE    ZD61A
 1648   D617 6C        88 20  INC    $20,X
 1648   D617 6C        88 20  INC    $20,X
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1650   D61E 27    1C     BEQ    ZD63C
 1650   D61E 27    1C     BEQ    ZD63C
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1652   D623 34        02     PSHS   A
 1652   D623 34        02     PSHS   A
 1653   D625 86        04     LDA    #$04
 1653   D625 86        04     LDA    #$04
 1654   D627 A7        88 22  STA    $22,X
 1654   D627 A7        88 22  STA    $22,X
 1655   D62A 35        02     PULS   A
 1655   D62A 35        02     PULS   A
 1656   D62C 8D        13     BSR    RDSECT
 1656   D62C 8D        13     BSR    RDSECT
 1657   D62E 24        10     BCC    ZD640
 1657   D62E 24        10     BCC    ZD640
 1658       D630 C5        80     BITB   #$80
 1658       D630 C5        80     BITB   #$80
 1659   D632 27        04     BEQ    ZD638
 1659   D632 27        04     BEQ    ZD638
 1660   D634 C6        10     LDB    #$10
 1660   D634 C6        10     LDB    #$10
 1661   D636 20        06     BRA    ZD63E
 1661   D636 20        06     BRA    ZD63E
 1662   
 1662   
 1663   D638 C6        09     ZD638  LDB    #$09
 1663   D638 C6        09     ZD638  LDB    #$09
 1664   D63A 20        02     BRA    ZD63E
 1664   D63A 20        02     BRA    ZD63E
 1665   
 1665   
 1666   D63C C6        08     ZD63C  LDB    #$08

 1666   D63C C6        08     ZD63C  LDB    #$08

 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1668   D640 39        ZD640  RTS
 1668   D640 39        ZD640  RTS
 1669   *
 1669   *
 1670   ** READ SINGLE SECTOR
 1670   ** READ SINGLE SECTOR
 1671   *
 1671   *
 1672   D641 8D        25     RDSECT BSR    ZD668
 1672   D641 8D        25     RDSECT BSR    ZD668
 1673   D643 BE        D40B   
LDX    >CURFCB
 1673   D643 BE        D40B   
LDX    >CURFCB
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1675   D649 25        12     BCS        ZD65D
 1675   D649 25        12     BCS        ZD65D
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1677   D64D BD        DE00   
JSR    >READ
 1677   D64D BD        DE00   
JSR    >READ
 1678   D650 26        03     BNE    ZD655
 1678   D650 26        03     BNE    ZD655
 1679   D652 1C        FE     ANDCC  #$FE
 1679   D652 1C        FE     ANDCC  #$FE
 1680   D654 39        RTS
 1680   D654 39        RTS
 1681   
 1681   
 1682   D655 34        04     ZD655  PSHS   B
 1682   D655 34        04     ZD655  PSHS   B
 1683   D657 8D        17     BSR    ZD670
 1683   D657 8D        17     BSR    ZD670
 1684   D659 35    04     PULS   B
 1684   D659 35    04     PULS   B
 1685   D65B 24        EE     BCC    ZD64B
 1685   D65B 24        EE     BCC    ZD64B
 1686   D65D 39        ZD65D  RTS
 1686   D65D 39        ZD65D  RTS
 1687   
 1687   
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1689   D661 EC        88 1E  LDD    $1E,X
 1689   D661 EC        88 1E  LDD    $1E,X
 1690   D664 30        88 40  LEAX   $40,X
 1690   D664 30        88 40  LEAX   $40,X
 1691   D667 39        RTS
 1691   D667 39        RTS
 1692   
 1692   
 1693   D668 4F        ZD668      CLRA
 1693   D668 4F        ZD668      CLRA
 1694   D669 B7        D411   
STA    >ZD411
 1694   D669 B7        D411   
STA    >ZD411
 1695   D66C B7        D412   
STA    >ZD412
 1695   D66C B7        D412   
STA    >ZD412
 1696   D66F 39        RTS
 1696   D66F 39        RTS
 1697   
 1697   
 1698   D670 C5        10     ZD670  BITB   #$10
 1698   D670 C5        10     ZD670  BITB   #$10
 1699   D672 26        11     BNE    ZD685
 1699   D672 26        11     BNE    ZD685
 1700   D674 C5        80     BITB   #$80
 1700   D674 C5        80     BITB   #$80
 1701   D676 26        24     BNE    ZD69C
 1701   D676 26        24     BNE    ZD69C
 1702       D678 F6        D411   
LDB    >ZD411
 1702       D678 F6        D411   
LDB    >ZD411
 1703   D67B 5C        INCB
 1703   D67B 5C        INCB
 1704   D67C C1        07     CMPB   #$07
 1704   D67C C1        07     CMPB   #$07
 1705   D67E 27        05     BEQ    ZD685
 1705   D67E 27        05     BEQ    ZD685
 1706   D680 F7        D411   
STB    >ZD411
 1706   D680 F7        D411   
STB    >ZD411
 1707   D683 20        14     BRA    RESV2
 1707   D683 20        14     BRA    RESV2
 1708   
 1708   
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1710   D688 F6        D4
9"'
 1710   D688 F6        D4
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]12    
LDB    >ZD412
5'7'2@&45$9 9;+= &\;& 
$9]12    
LDB    >ZD412
 1711   D68B 5C        INCB
 1711   D68B 5C        INCB
 1712   D68C C1        04     CMPB   #$04
 1712   D68C C1        04     CMPB   #$04
 1713   D68E 27        0C     BEQ    ZD69C
 1713   D68E 27        0C     BEQ    ZD69C
 1714   D690 F7        D412   
STB    >ZD412
 1714   D690 F7        D412   
STB    >ZD412
 1715   D693 BE        D40B   
LDX    >CURFCB
 1715   D693 BE        D40B   
LDX    >CURFCB
 1716   D696 BD        DE09   
JSR    >RESTOR
 1716   D696 BD        DE09   
JSR    >RESTOR
 1717   *
 1717   *
 1718   ** RESERVED
 1718   ** RESERVED
 1719   *
 1719   *
 1720       D699 1C        FE     RESV2  ANDCC  #$FE
 1720       D699 1C        FE     RESV2  ANDCC  #$FE
 1721   D69B 39        RTS
 1721   D69B 39        RTS
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1723   D69E 39        RTS
 1723   D69E 39        RTS
 1724   *
 1724   *
 1725   ** WRITE SINGLE SECTOR
 1725   ** WRITE SINGLE SECTOR
 1726   *
 1726   *
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1729   D6A4 BD    DE0C   
JSR    >DRIVE
 1729   D6A4 BD    DE0C   
JSR    >DRIVE
 1730   D6A7 25        20     BCS    ZD6C9
 1730   D6A7 25        20     BCS    ZD6C9
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1732   D6AC 8D        B0     BSR    ZD65E
 1732   D6AC 8D        B0     BSR    ZD65E
 1733   D6AE BD        DE03   
JSR    >WRITE
 1733   D6AE BD        DE03   
JSR    >WRITE
 1734   D6B1 26        0A     BNE    ZD6BD
 1734   D6B1 26        0A     BNE    ZD6BD
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1736   D6B6 27    37     BEQ    ZD6EF
 1736   D6B6 27    37     BEQ    ZD6EF
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1738   D6BB 27        32     BEQ    ZD6EF
 1738   D6BB 27        32     BEQ    ZD6EF
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1740   D6BF 26        0B     BNE    ZD6CC
 1740   D6BF 26        0B     BNE    ZD6CC
 1741   D6C1 34        04     PSHS   B
 1741   D6C1 34        04     PSHS   B
 1742   D6C3 8D        AB     BSR    ZD670
 1742   D6C3 8D        AB     BSR    ZD670
 1743   D6C5 35        04     PULS   B
 1743   D6C5 35        04     PULS   B
 1744       D6C7 24        E0     BCC    ZD6A9
 1744       D6C7 24        E0     BCC    ZD6A9
 1745   D6C9 39        ZD6C9  RTS
 1745   D6C9 39        ZD6C9  RTS
 1746   
 1746   
 1747   D6CA C6        20     LDB    #$20
 1747   D6CA C6        20     LDB    #$20
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1749   D6CE 39        RTS
 1749   D6CE 39        RTS
 1750   
 1750   
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1753   D6D5 2B    3D     BMI    ZD714
 1753   D6D5 2B    3D     BMI    ZD714
 1754   D6D7 81        20     CMPA   #$20
 1754   D6D7 81        20     CMPA   #$20
 1755   D6D9 26        0F     BNE    ZD6EA
 1755   D6D9 26        0F     BNE    ZD6EA
 1756   D6DB 5C        INCB
 1756   D6DB 5C        INCB
 1757   D6DC E7        88 3B  STB    $3B,X
 1757   D6DC E7        88 3B  STB    $3B,X
 1758   D6DF C1        7F     CMPB   #$7F
 1758   D6DF C1        7F     CMPB   #$7F
 1759   D6E1 26        0C     BNE    ZD6EF
 1759   D6E1 26        0C     BNE    ZD6EF
 1760   D6E3 20        0D     BRA    ZD6F2
 1760   D6E3 20        0D     BRA    ZD6F2
 1761   
 1761   
 1762       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 1762       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 1763   D6E7 24        E6     BCC    ZD6CF
 1763   D6E7 24        E6     BCC    ZD6CF
 1764   D6E9 39        RTS
 1764   D6E9 39        RTS
 1765   
 1765   
 1766   D6EA 5D        ZD6EA  TSTB
 1766   D6EA 5D        ZD6EA  TSTB
 1767   D6EB 27        27     BEQ    ZD714
 1767   D6EB 27        27     BEQ    ZD714
 1768   D6ED 20        F6     BRA    ZD6E5
 1768   D6ED 20        F6     BRA    ZD6E5
 1769   
 1769   
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1771   D6F1 39    RTS
 1771   D6F1 39    RTS
 1772   
 1772   
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1774   D6F4 C1        01     CMPB   #$01
 1774   D6F4 C1        01     CMPB   #$01
 1775   D6F6 26        04     BNE    ZD6FC
 1775   D6F6 26        04     BNE    ZD6FC
 1776   D6F8 86        20     LDA    #$20
 1776   D6F8 86        20     LDA    #$20
 1777   D6FA 20        10     BRA    ZD70C
 1777   D6FA 20        10     BRA    ZD70C
 1778   
 1778   
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1780   D6FE 8D        14     BSR    ZD714
 1780   D6FE 8D        14     BSR    ZD714
 1781   D700 35        02     PULS   A
 1781   D700 35        02     PULS   A
 1782   D702 25        0F     BCS    ZD713
 1782   D702 25        0F     BCS    ZD713
 1783   D704 34        02     PSHS   A
 1783   D704 34        02     PSHS   A
 1784   D706 BE        D40B   
LDX    >CURFCB
 1784   D706 BE        D40B   
LDX    >CURFCB
 1785   D709 A6        88 3B  LDA    $3B,X
 1785   D709 A6        88 3B  LDA    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1787   D70F 8D        03     BSR    ZD714
 1787   D70F 8D        03     BSR    ZD714
 1788   D711 35    02     PULS   A
 1788   D711 35    02     PULS   A
 1789   D713 39        ZD713  RTS
 1789   D713 39        ZD713  RTS
 1790   
 1790   
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1792   D717 E6        02     LDB    $02,X
 1792   D717 E6        02     LDB    $02,X
 1793   D719 C1        02     CMPB   #$02
 1793   D719 C1        02     CMPB   #$02
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1795   D71F E6        88 22  LDB    $22,X
 1795   D71F E6        88 22  LDB    $22,X
 1796   D722 C1        04 CMPB   #$04
 1796   D722 C1        04 CMPB   #$04
 1797   D724 26        08     BNE    ZD72E
 1797   D724 26        08     BNE    ZD72E
 1798   D726 34        02     PSHS   A
 1798   D726 34        02     PSHS   A
 1799   D728 8D        21     BSR    ZD74B
 1799   D728 8D        21     BSR    ZD74B
 1800   D72A 35        02     PULS   A
 1800   D72A 35        02     PULS   A
 1801   D72C 25        0F     BCS    ZD73D
 1801   D72C 25        0F     BCS    ZD73D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1803   D731 24        0A     BCC    ZD73D
 1803   D731 24        0A     BCC    ZD73D
 1804   D733 C6    04     LDB    #$04
 1804   D733 C6    04     LDB    #$04
 1805   D735 BE        D40B   
LDX    >CURFCB
 1805   D735 BE        D40B   
LDX    >CURFCB
 1806   D738 E7        88 22  STB    $22,X
 1806   D738 E7        88 22  STB    $22,X
 1807   D73B 1C        FE     ANDCC  #$FE
 1807   D73B 1C        FE     ANDCC  #$FE
 1808   D73D 39        ZD73D  RTS
 1808   D73D 39        ZD73D  RTS
 1809   
 1809   
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1811   D741 4F        CLRA
 1811   D741 4F        CLRA
 1812   D742 5F        CLRB
 1812   D742 5F        CLRB
 1'' 94&  	5%4;o;59&"&4!5%}$
 1'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooo813   D743 ED        88 20  STD    $20,X
ooo813   D743 ED        88 20  STD    $20,X
 1814   D746 ED        88 42  STD    $42,X
 1814   D746 ED        88 42  STD    $42,X
 1815   D749 20        27     BRA    ZD772
 1815   D749 20        27     BRA    ZD772
 1816   
 1816   
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1818   D74E 26        22     BNE    ZD772
 1818   D74E 26        22     BNE    ZD772
 1819   D750 E6        88 17  LDB    $17,X
 1819   D750 E6        88 17  LDB    $17,X
 1820   D753 27        44     BEQ    ZD799
 1820   D753 27        44     BEQ    ZD799
 1821       D755 6F        88 17  CLR    $17,X
 1821       D755 6F        88 17  CLR    $17,X
 1822   D758 8D        3F     BSR    ZD799
 1822   D758 8D        3F     BSR    ZD799
 1823   D75A 25        2A     BCS    ZD786
 1823   D75A 25        2A     BCS    ZD786
 1824   D75C 8D        E0     BSR    ZD73E
 1824   D75C 8D        E0     BSR    ZD73E
 1825   D75E 25        26     BCS    ZD786
 1825   D75E 25        26     BCS    ZD786
 1826   D760 8D        DC     BSR    ZD73E
 1826   D760 8D        DC     BSR    ZD73E
 1827   D762 25        22     BCS    ZD786
 1827   D762 25        22     BCS    ZD786
 1828   D764 BE        D40B   
LDX    >CURFCB
 1828   D764 BE        D40B   
LDX    >CURFCB
 1829   D767 C6        02     LDB    #$02
 1829   D767 C6        02     LDB    #$02
 1830   D769 E7        88 17  STB    $17,X
 1830   D769 E7        88 17  STB    $17,X
 1831   D76C EC        88 11  LDD    $11,X
 1831   D76C EC        88 11  LDD    $11,X
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1833   
 1833   
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1835   D774 BE        D40B   
LDX    >CURFCB
 1835   D774 BE        D40B   
LDX    >CURFCB
 1836   D777 ED        88 40  STD        $40,X
 1836   D777 ED        88 40  STD        $40,X
 1837   D77A BD        D69F   
JSR    >WRSECT
 1837   D77A BD        D69F   
JSR    >WRSECT
 1838   D77D 24        1A     BCC    ZD799
 1838   D77D 24        1A     BCC    ZD799
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1840   
 1840   
 1841   D782 8D        03     ZD782  BSR    ZD787
 1841   D782 8D        03     ZD782  BSR    ZD787
 1842   D784 EC        84     LDD    ,X
 1842   D784 EC        84     LDD    ,X
 1843   D786 39        ZD786  RTS
 1843   D786 39        ZD786  RTS
 1844   
 1844   
 1845   D787 BE        D40B   ZD787      LDX    >CURFCB
 1845   D787 BE        D40B   ZD787      LDX    >CURFCB
 1846   D78A E6        03     LDB    $03,X
 1846   D78A E6        03     LDB    $03,X
 1847   D78C 86        06     LDA    #$06
 1847   D78C 86        06     LDA    #$06
 1848   D78E 3D        MUL
 1848   D78E 3D        MUL
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1850   D792 3A        ABX
 1850   D792 3A        ABX
 1851   D793 BF        D41B   
STX    >ZD41B
 1851   D793 BF        D41B   
STX    >ZD41B
 1852   D796 6D        84     TST    ,X
 1852   D796 6D        84     TST    ,X
 1853   D798 39        RTS
 1853   D798 39        RTS
 1854   
 1854   
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1856   D79B 26        05     BNE    ZD7A2
 1856   D79B 26        05     BNE    ZD7A2
 1857   D79D C6        07     LDB    #$07
 1857   D79D C6        07     LDB    #$07
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1859   D7A1 39        RTS
 1859   D7A1 39        RTS
 1860   
 1860   
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1862   D7A5 ED        88 13  STD    $13,X
 1862   D7A5 ED        88 13  STD    $13,X
 1863       D7A8 6D        88 12  TST    $12,X
 1863       D7A8 6D        88 12  TST    $12,X
 1864   D7AB 26        03     BNE    ZD7B0
 1864   D7AB 26        03     BNE    ZD7B0
 1865   D7AD ED        88 11  STD    $11,X
 1865   D7AD ED        88 11  STD    $11,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1867   D7B3 26        03     BNE    ZD7B8
 1867   D7B3 26        03     BNE    ZD7B8
 1868   D7B5 6C        88 15  INC    $15,X
 1868   D7B5 6C        88 15  INC    $15,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
 1870       D7BB 27        0B     BEQ    ZD7C8
 1870       D7BB 27        0B     BEQ    ZD7C8
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1872   D7C0 25        DD     BCS    ZD79F
 1872   D7C0 25        DD     BCS    ZD79F
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1874   D7C5 EC        88 13  LDD    $13,X
 1874   D7C5 EC        88 13  LDD    $13,X
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1876   D7CB 25        D2     BCS    ZD79F
 1876   D7CB 25        D2     BCS    ZD79F
 1877   D7CD BE    D40B   
LDX    >CURFCB
 1877   D7CD BE    D40B   
LDX    >CURFCB
 1878   D7D0 EC        88 40  LDD    $40,X
 1878   D7D0 EC        88 40  LDD    $40,X
 1879   D7D3 34        06     PSHS   B,A
 1879   D7D3 34        06     PSHS   B,A
 1880   D7D5 8D        B0     BSR    ZD787
 1880   D7D5 8D        B0     BSR    ZD787
 1881   D7D7 35        06     PULS   B,A
 1881   D7D7 35        06     PULS   B,A
 1882   D7D9 ED        84     STD    ,X
 1882   D7D9 ED        84     STD    ,X
 1883   D7DB 26        0A     BNE    ZD7E7
 1883   D7DB 26        0A     BNE    ZD7E7
 1884   D7DD 6F        02     CLR    $02,X
 1884   D7DD 6F        02     CLR    $02,X
 1885       D7DF 6F        03     CLR    $03,X
 1885       D7DF 6F        03     CLR    $03,X
 1886   D7E1 6F        04     CLR    $04,X
 1886   D7E1 6F        04     CLR    $04,X
 1887   D7E3 6F        05     CLR    $05,X
 1887   D7E3 6F        05     CLR    $05,X
 1888   D7E5 20        08     BRA    ZD7EF
 1888   D7E5 20        08     BRA    ZD7EF
 1889   
 1889   
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1891   D7EA 31        3F     LEAY   -$01,Y
 1891   D7EA 31        3F     LEAY   -$01,Y
 1892   D7EC 10AF 04   STY    $04,X
 1892   D7EC 10AF 04   STY    $04,X
 1893   D7EF 4F    ZD7EF  CLRA
 1893   D7EF 4F    ZD7EF  CLRA
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1895   D7F3 6C        88 21  INC    $21,X
 1895   D7F3 6C        88 21  INC    $21,X
 1896   D7F6 26        03     BNE    ZD7FB
 1896   D7F6 26        03     BNE    ZD7FB
 1897   D7F8 6C        88 20  INC    $20,X
 1897   D7F8 6C        88 20  INC    $20,X
 1898   D7FB 5F        ZD7FB  CLRB
 1898   D7FB 5F        ZD7FB  CLRB
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1900   D7FF 30        01     LEAX       $01,X
 1900   D7FF 30        01     LEAX       $01,X
 1901   D801 5A        DECB
 1901   D801 5A        DECB
 1902   D802 26        F8     BNE    ZD7FC
 1902   D802 26        F8     BNE    ZD7FC
 1903   D804 BE        D40B   
LDX    >CURFCB
 1903   D804 BE        D40B   
LDX    >CURFCB
 1904   D807 EC        88 20  LDD    $20,X
 1904   D807 EC        88 20  LDD    $20,X
 1905   D80A ED        88 42  STD    $42,X
 1905   D80A ED        88 42  STD    $42,X
 1906   D80D 1C        FE     ANDCC  #$FE
 1906   D80D 1C        FE     ANDCC  #$FE
 1907   D80F 39        RTS
 1907   D80F 39        RTS
 1908   *
 1908   *
 1909   ** OPEN SYSTo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ EM INFO. RECORD
 1909   ** OPEN SYSTo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ EM INFO. RECORD
 1910   *
 1910   *
 1911   D810 5F        OPNREC CLRB
 1911   D810 5F        OPNREC CLRB
 1912   D811 34        04     PSHS   B
 1912   D811 34        04     PSHS   B
 1913   D813 C6        03     LDB    #$03
 1913   D813 C6        03     LDB    #$03
 1914   D815 20        0E     BRA    ZD825
 1914   D815 20        0E     BRA    ZD825
 1915   D817 BE        D415   
LDX    >ZD415
 1915   D817 BE        D415   
LDX    >ZD415
 1916   D81A BF        D413   
STX    >ZD413
 1916   D81A BF        D413   
STX    >ZD413
 1917   D81D F6        D413   OPNDIR LDB        >ZD413
 1917   D81D F6        D413   OPNDIR LDB        >ZD413
 1918   D820 34        04     PSHS   B
 1918   D820 34        04     PSHS   B
 1919   D822 F6        D414   
LDB    >ZD414
 1919   D822 F6        D414   
LDB    >ZD414
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1921   D828 E7        88 41  STB    $41,X
 1921   D828 E7        88 41  STB    $41,X
 1922   D82B 35        04     PULS   B
 1922   D82B 35        04     PULS   B
 1923   D82D E7        88 40  STB    $40,X
 1923   D82D E7        88 40  STB    $40,X
 1924   D830 7F        D418   
CLR    >ZD418
 1924   D830 7F        D418   
CLR    >ZD418
 1925       D833 5F        CLRB
 1925       D833 5F        CLRB
 1926   D834 E7        88 22  STB    $22,X
 1926   D834 E7        88 22  STB    $22,X
 1927   D837 39        RTS
 1927   D837 39        RTS
 1928   *
 1928   *
 1929   ** GET INFO RECORD
 1929   ** GET INFO RECORD
 1930   *
 1930   *
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1932   D83B E6        88 22  LDB    $22,X
 1932   D83B E6        88 22  LDB    $22,X
 1933   D83E 26        1D     BNE    ZD85D
 1933   D83E 26        1D     BNE    ZD85D
 1934   D840 BD        D60C       
JSR    >ZD60C
 1934   D840 BD        D60C       
JSR    >ZD60C
 1935   D843 25        30     BCS    ZD875
 1935   D843 25        30     BCS    ZD875
 1936   D845 BE        D40B   
LDX    >CURFCB
 1936   D845 BE        D40B   
LDX    >CURFCB
 1937   D848 7D        D418   
TST    >ZD418
 1937   D848 7D        D418   
TST    >ZD418
 1938   D84B 26        05     BNE    ZD852
 1938   D84B 26        05     BNE    ZD852
 1939   D84D DC        44     LDD    
 1939   D84D DC        44     LDD    
 1940   D84F FD        D418   
STD    >ZD418
 1940   D84F FD        D418   
STD    >ZD418
 1941   D852 86        10     ZD852  LDA    #$10
 1941   D852 86        10     ZD852  LDA    #$10
 1942   D854 A7        88 22  STA    $22,X
 1942   D854 A7        88 22  STA    $22,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1944   D85A ED        88 2F  STD    $2F,X
 1944   D85A ED        88 2F  STD    $2F,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1946   D860 A7        88 31  STA    $31,X
 1946   D860 A7        88 31  STA    $31,X
 1947   D863 C6        18     LDB    #$18
 1947   D863 C6        18     LDB    #$18
 1948   D865 34        14     ZD865  PSHS   X,B
 1948   D865 34        14     ZD865  PSHS   X,B
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1950   D86A 35        14     PULS   X,B
 1950   D86A 35        14     PULS   X,B
 1951   D86C A7        04     STA    $04,X
 1951   D86C A7        04     STA    $04,X
 1952   D86E 30        01     LEAX   $01,X
 1952   D86E 30        01     LEAX   $01,X
 1953   D870 5A        DECB
 1953   D870 5A        DECB
 1954   D871 26        F2     BNE    ZD865
 1954   D871 26        F2     BNE    ZD865
 1955   D873 1C        FE     ANDCC  #$FE
 1955   D873 1C        FE     ANDCC  #$FE
 1956   D875 39        ZD875  RTS
 1956   D875 39        ZD875  RTS
 1957       *
 1957       *
 1958   ** PUT INFORMATION RECORD
 1958   ** PUT INFORMATION RECORD
 1959   *
 1959   *
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1961   D879 A6        88 31  LDA    $31,X
 1961   D879 A6        88 31  LDA    $31,X
 1962   D87C A7        88 22  STA    $22,X
 1962   D87C A7        88 22  STA    $22,X
 1963   D87F C6        18     LDB    #$18
 1963   D87F C6        18     LDB    #$18
 1964   D881 34        14     ZD881  PSHS   X,B
 1964   D881 34        14     ZD881  PSHS   X,B
 1965   D883 A6        04 LDA    $04,X
 1965   D883 A6        04 LDA    $04,X
 1966   D885 BD        D714   
JSR    >ZD714
 1966   D885 BD        D714   
JSR    >ZD714
 1967   D888 35        14     PULS   X,B
 1967   D888 35        14     PULS   X,B
 1968   D88A 30        01     LEAX   $01,X
 1968   D88A 30        01     LEAX   $01,X
 1969   D88C 5A        DECB
 1969   D88C 5A        DECB
 1970   D88D 26        F2     BNE    ZD881
 1970   D88D 26        F2     BNE    ZD881
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1972   
 1972   
 1973   D892 BE        D40B   ZD892  LDX    >CURFCB
 1973   D892 BE        D40B   ZD892  LDX    >CURFCB
 1974   D895 A6        03     LDA    $03,X
 1974   D895 A6        03     LDA    $03,X
 1975   D897 A7        88 23  STA    $23,X
 1975   D897 A7        88 23  STA    $23,X
 1976   D89A B6        D417   
LDA    >ZD417
 1976   D89A B6        D417   
LDA    >ZD417
 1977   D89D 7D        D41A   
TST    >ZD41A
 1977   D89D 7D        D41A   
TST    >ZD41A
 1978   D8A0 26        31     BNE    ZD8D3
 1978   D8A0 26        31     BNE    ZD8D3
 1979   D8A2 A7        03     STA    $03,X
 1979   D8A2 A7        03     STA    $03,X
 1980   D8A4 BE        D415   
LDX    >ZD415
 1980   D8A4 BE        D415   
LDX    >ZD415
 1981   D8A7 BF    D413   
STX    >ZD413
 1981   D8A7 BF    D413   
STX    >ZD413
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1983   D8AD 27        0C     BEQ    ZD8BB
 1983   D8AD 27        0C     BEQ    ZD8BB
 1984   D8AF 8D        22     BSR    ZD8D3
 1984   D8AF 8D        22     BSR    ZD8D3
 1985   D8B1 23        37     BLS    ZD8EA
 1985   D8B1 23        37     BLS    ZD8EA
 1986   D8B3 BE        D418   
LDX    >ZD418
 1986   D8B3 BE        D418   
LDX    >ZD418
 1987   D8B6 BF        D413   
STX    >ZD413
 1987   D8B6 BF        D413   
STX    >ZD413
 1988   D8B9 20        EF BRA    ZD8AA
 1988   D8B9 20        EF BRA    ZD8AA
 1989   
 1989   
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1991   D8BE A6        88 23  LDA    $23,X
 1991   D8BE A6        88 23  LDA    $23,X
 1992   D8C1 A7        03     STA    $03,X
 1992   D8C1 A7        03     STA    $03,X
 1993   D8C3 2A        0E     BPL    ZD8D3
 1993   D8C3 2A        0E     BPL    ZD8D3
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1995   D8C8 25        36     BCS    ZD900
 1995   D8C8 25        36     BCS    ZD900
 1996   D8CA 8D    07     BSR    ZD8D3
 1996   D8CA 8D    07     BSR    ZD8D3
 1997   D8CC 23        1C     BLS    ZD8EA
 1997   D8CC 23        1C     BLS    ZD8EA
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1999   D8D1 20        F2     BRA    ZD8C5
 1999   D8D1 20        F2     BRA    ZD8C5
 2000   
 2000   
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2003   D8D9 BD        D549   
JSR    >ZD549
 2003   D8D9 BD        D549   
JSR    >ZD549
 2004   D8DC BD    D81D   
JSR    >OPNDIR
 2004   D8DC BD    D81D   
JSR    >OPNDIR
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2006   D8E2 24        07     BCC    ZD8EB
 2006   D8E2 24        07     BCC    ZD8EB
 2007   D8E4 C1        08     CMPB   #$08
 2007   D8E4 C1        08     CMPB   #$08
 2008   D8E6 27        18     BEQ    ZD900
 2008   D8E6 27        18     BEQ    ZD900
 2009   D8E8 1A        01     ORCC   #$01
 2009   D8E8 1A        01     ORCC   #$01
 2010   D8EA 39        ZD8EA  RTS
 2010   D8EA 39        ZD8EA  RTS
 2011   
 2011   
 2012   D8EB BE        D40B       ZD8EB  LDX    >CURFCB
 2012   D8EB BE        D40B       ZD8EB  LDX    >CURFCB
 2013   D8EE A6        04     LDA    $04,X
 2013   D8EE A6        04     LDA    $04,X
 2014   D8F0 27        0C     BEQ    ZD8FE
 2014   D8F0 27        0C     BEQ    ZD8FE
 2015   D8F2 2A        02     BPL    ZD8F6
 2015   D8F2 2A        02     BPL    ZD8F6
 2016   D8F4 8D        0F     BSR    ZD905
 2016   D8F4 8D        0F     BSR    ZD905
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2018   D8F9 26        E4     BNE    ZD8DF
 2018   D8F9 26        E4     BNE    ZD8DF
 2019   D8FB 1C        FE     ANDCC  #$FE
 2019   D8FB 1C        FE     ANDCC  #$FE
 2020   D8FD 39        RTS
 2020   D8FD 39        RTS
 2021   
 2021   
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2024   D902 1C        FE     ANDCC  #$FE
 2024   D902 1C        FE     ANDCC  #$FE
 2025   D904 39        RTS
 2025   D904 39        RTS
 2026   
 2026   
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2028   D908 26        0C     BNE    ZD916

 2028   D908 26        0C     BNE    ZD916

 2029   D90A EC        88 2F  LDD    $2F,X
 2029   D90A EC        88 2F  LDD    $2F,X
 2030   D90D ED        88 32  STD    $32,X
 2030   D90D ED        88 32  STD    $32,X
 2031   D910 A6        88 31  LDA    $31,X
 2031   D910 A6        88 31  LDA    $31,X
 2032   D913 A7        88 34  STA    $34,X
 2032   D913 A7        88 34  STA    $34,X
 2033   D916 39        ZD916  RTS
 2033   D916 39        ZD916  RTS
 2034   
 2034   
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2036   D91A 26        17     BNE    ZD933
 2036   D91A 26        17     BNE    ZD933
 2037       D91C 8D        18     BSR    ZD936
 2037       D91C 8D        18     BSR    ZD936
 2038   D91E 25        15     BCS    ZD935
 2038   D91E 25        15     BCS    ZD935
 2039   D920 C6        06     LDB    #$06
 2039   D920 C6        06     LDB    #$06
 2040   D922 10BE D40B 
LDY    >CURFCB
 2040   D922 10BE D40B 
LDY    >CURFCB
 2041   D926 BE        D41B   
LDX    >ZD41B
 2041   D926 BE        D41B   
LDX    >ZD41B
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2043   D92C 31        21     LEAY   $01,Y
 2043   D92C 31        21     LEAY   $01,Y
 2044   D92E A7    80     STA    ,X+
 2044   D92E A7    80     STA    ,X+
 2045   D930 5A        DECB
 2045   D930 5A        DECB
 2046   D931 26        F6     BNE    ZD929
 2046   D931 26        F6     BNE    ZD929
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2048   D935 39        ZD935  RTS
 2048   D935 39        ZD935  RTS
 2049   
 2049   
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2051   D939 BD        D60C   
JSR    >ZD60C
 2051   D939 BD        D60C   
JSR    >ZD60C
 2052   D93C 25        08     BCS        ZD946
 2052   D93C 25        08     BCS        ZD946
 2053   D93E BE        D40B   
LDX    >CURFCB
 2053   D93E BE        D40B   
LDX    >CURFCB
 2054   D941 C6        10     LDB    #$10
 2054   D941 C6        10     LDB    #$10
 2055   D943 E7        88 22  STB    $22,X
 2055   D943 E7        88 22  STB    $22,X
 2056   D946 39        ZD946  RTS
 2056   D946 39        ZD946  RTS
 2057   
 2057   
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2059   D94A 8D        EA     BSR    ZD936
 2059   D94A 8D        EA     BSR    ZD936
 2060   D94C 25        F8     BCS    ZD946
 2060   D94C 25        F8     BCS    ZD946
 2061   D94E C6        06     LDB    #$06
 2061   D94E C6        06     LDB    #$06
 2062   D950 10BE D40B 
LDY    >CURFCB
 2062   D950 10BE D40B 
LDY    >CURFCB
 2063   D954 BE        D41B   
LDX    >ZD41B
 2063   D954 BE        D41B   
LDX    >ZD41B
 2064   D957 A6        80     ZD957  LDA    ,X+
 2064   D957 A6        80     ZD957  LDA    ,X+
 2065   D959 A7        A8 5D  STA    $5D,Y
 2065   D959 A7        A8 5D  STA    $5D,Y
 2066   D95C 31        21     LEAY   $01,Y
 2066   D95C 31        21     LEAY   $01,Y
 2067   D95E 5A        DECB
 2067   D95E 5A        DECB
 2068   D95F 26        F6     BNE        ZD957
 2068   D95F 26        F6     BNE        ZD957
 2069   D961 BD        D69F   
JSR    >WRSECT
 2069   D961 BD        D69F   
JSR    >WRSECT
 2070   D964 24        E0     BCC    ZD946
 2070   D964 24        E0     BCC    ZD946
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2072   *
 2072   *
 2073   **
 2073   **
 2074   *
 2074   *
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2076   D96C 86        02     LDA    #$02
 2076   D96C 86        02     LDA    #$02
 2077   D96E A7        02     STA    $02,X
 2077   D96E A7        02     STA    $02,X
 2078       D970 EC        88 2F  LDD    $2F,X
 2078       D970 EC        88 2F  LDD    $2F,X
 2079   D973 ED        88 1E  STD    $1E,X
 2079   D973 ED        88 1E  STD    $1E,X
 2080   D976 BD        D641   
JSR    >RDSECT
 2080   D976 BD        D641   
JSR    >RDSECT
 2081   D979 25        08     BCS    ZD983
 2081   D979 25        08     BCS    ZD983
 2082   D97B BD        D876   
JSR    >PUTREC
 2082   D97B BD        D876   
JSR    >PUTREC
 2083   D97E 24        05     BCC    ZD985
 2083   D97E 24        05     BCC    ZD985
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2085   
 2085   
 2086       D983 C6        0A     ZD983  LDB    #$0A
 2086       D983 C6        0A     ZD983  LDB    #$0A
 2087   D985 39        ZD985  RTS
 2087   D985 39        ZD985  RTS
 2088   *
 2088   *
 2089   ** OPEN FOR READ
 2089   ** OPEN FOR READ
 2090   *
 2090   *
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2092   D989 25        3D     BCS    ZD9C8
 2092   D989 25        3D     BCS    ZD9C8
 2093   D98B BD        D892   
JSR    >ZD892
 2093   D98B BD        D892   
JSR    >ZD892
 2094   D98E 25        38     BCS    ZD9C8
 2094   D98E 25        38     BCS    ZD9C8
 I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
 I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 2095       D990 26        3B     BNE    ZD9CD
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 2095       D990 26        3B     BNE    ZD9CD
 2096   D992 BE        D40B   
LDX    >CURFCB
 2096   D992 BE        D40B   
LDX    >CURFCB
 2097   D995 7D        D41A   
TST    >ZD41A
 2097   D995 7D        D41A   
TST    >ZD41A
 2098   D998 27        06     BEQ    ZD9A0
 2098   D998 27        06     BEQ    ZD9A0
 2099   D99A A6        0F     LDA    $0F,X
 2099   D99A A6        0F     LDA    $0F,X
 2100   D99C 85        20     BITA   #$20
 2100   D99C 85        20     BITA   #$20
 2101   D99E 26        29     BNE    ZD9C9
 2101   D99E 26        29     BNE    ZD9C9
 2102   D9A0 BD        DCC0   ZD9A0      JSR    >ZDCC0
 2102   D9A0 BD        DCC0   ZD9A0      JSR    >ZDCC0
 2103   D9A3 25        2A     BCS    ZD9CF
 2103   D9A3 25        2A     BCS    ZD9CF
 2104   D9A5 EC        88 11  LDD    $11,X
 2104   D9A5 EC        88 11  LDD    $11,X
 2105   D9A8 ED        88 40  STD    $40,X
 2105   D9A8 ED        88 40  STD    $40,X
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2107   D9AE E6        88 17  LDB    $17,X
 2107   D9AE E6        88 17  LDB    $17,X
 2108   D9B1 27        13     BEQ    ZD9C6
 2108   D9B1 27        13     BEQ    ZD9C6
 2109   D9B3 34        04     ZD9B3  P   SHS     B
 2109   D9B3 34        04     ZD9B3  P   SHS     B
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2111   D9B8 35        04     PULS   B
 2111   D9B8 35        04     PULS   B
 2112   D9BA 25        0C     BCS    ZD9C8
 2112   D9BA 25        0C     BCS    ZD9C8
 2113   D9BC 5A        DECB
 2113   D9BC 5A        DECB
 2114   D9BD 26        F4     BNE    ZD9B3
 2114   D9BD 26        F4     BNE    ZD9B3
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2116   D9C2 5F        CLRB
 2116   D9C2 5F        CLRB
 2117   D9C3 E7        88 22  STB    $22,X
 2117   D9C3 E7        88 22  STB    $22,X
 
 
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
 2119   D9C8 39        ZD9C8  RTS
 2119   D9C8 39        ZD9C8  RTS
 2120   
 2120   
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2122   D9CB 20        02     BRA    ZD9CF
 2122   D9CB 20        02     BRA    ZD9CF
 2123   
 2123   
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2126   D9D1 BD        D50C   
JSR        >ZD50C
 2126   D9D1 BD        D50C   
JSR        >ZD50C
 2127   D9D4 35        04     PULS   B
 2127   D9D4 35        04     PULS   B
 2128   D9D6 1A        01     ORCC   #$01
 2128   D9D6 1A        01     ORCC   #$01
 2129   D9D8 39        RTS
 2129   D9D8 39        RTS
 2130   
 2130   
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2132   D9DC 6D        03     TST    $03,X
 2132   D9DC 6D        03     TST    $03,X
 2133   D9DE 2A        08     BPL    ZD9E8
 2133   D9DE 2A        08     BPL    ZD9E8
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2135       D9E3 24        03     BCC    ZD9E8
 2135       D9E3 24        03     BCC    ZD9E8
 2136   D9E5 C6        10     LDB    #$10
 2136   D9E5 C6        10     LDB    #$10
 2137   D9E7 39        RTS
 2137   D9E7 39        RTS
 2138   
 2138   
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2140   D9EB 25        E2     BCS    ZD9CF
 2140   D9EB 25        E2     BCS    ZD9CF
 2141   D9ED BD        D537   
JSR    >ZD537
 2141   D9ED BD        D537   
JSR    >ZD537
 2142   D9F0 BD        D917   
JSR    >ZD917
 2142   D9F0 BD        D917   
JSR    >ZD917
 2143   D9F3 25        DA           
BCS   ZD9CF
 2143   D9F3 25        DA           
BCS   ZD9CF
 2144   D9F5 BD        D892   
JSR    >ZD892
 2144   D9F5 BD        D892   
JSR    >ZD892
 2145   D9F8 25        D5     BCS    ZD9CF
 2145   D9F8 25        D5     BCS    ZD9CF
 2146   D9FA 26        04     BNE    ZDA00
 2146   D9FA 26        04     BNE    ZDA00
 2147   D9FC C6        03     LDB    #$03
 2147   D9FC C6        03     LDB    #$03
 2148   D9FE 20        CF     BRA    ZD9CF
 2148   D9FE 20        CF     BRA    ZD9CF
 2149   
 2149   
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2151   DA03 25        CA     BCS    ZD
 2151   DA03 25        CA     BCS    ZD
9CF
9CF
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2153   DA08 C6        0A     LDB    #$0A
 2153   DA08 C6        0A     LDB    #$0A
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2155   DA0C 30        01     LEAX   $01,X
 2155   DA0C 30        01     LEAX   $01,X
 2156   DA0E 5A        DECB
 2156   DA0E 5A        DECB
 2157   DA0F 26        F9     BNE    ZDA0A
 2157   DA0F 26        F9     BNE    ZDA0A
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2159   DA14 EC        88 32      LDD    $32,X
 2159   DA14 EC        88 32      LDD    $32,X
 2160   DA17 27        27     BEQ    ZDA40
 2160   DA17 27        27     BEQ    ZDA40
 2161   DA19 ED        88 2F  STD    $2F,X
 2161   DA19 ED        88 2F  STD    $2F,X
 2162   DA1C A6        88 34  LDA    $34,X
 2162   DA1C A6        88 34  LDA    $34,X
 2163   DA1F A7        88 31  STA    $31,X
 2163   DA1F A7        88 31  STA    $31,X
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2165   DA25 ED        88 19  STD    $19,X
 2165   DA25 ED        88 19  STD    $19,X
 2166   DA28 B6        CC10   
LDA    >YEAR
 2166   DA28 B6        CC10   
LDA    >YEAR
 2167   DA2B A7        88 1B  STA    $1B,X
 2167   DA2B A7        88 1B  STA    $1B,X
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2169   DA31 BD        D969   
JSR    >RESV1
 2169   DA31 BD        D969   
JSR    >RESV1
 2170   DA34 25        99     BCS    ZD9CF
 2170   DA34 25        99     BCS    ZD9CF
 2171   DA36 8D        3E     BSR    ZDA76
 2171   DA36 8D        3E     BSR    ZDA76
 2172   DA38 86        04     LDA    #$04
 2172   DA38 86        04     LDA    #$04
 2173   DA3A A7        88 22  STA    $22,X
 2173   DA3A A7        88 22  STA    $22,X
 2174   DA3
D 1C    FE     ANDCC  #$FE
 2174   DA3
D 1C    FE     ANDCC  #$FE
 2175   DA3F 39        RTS
 2175   DA3F 39        RTS
 2176   
 2176   
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2178   DA43 6F        88 17  CLR    $17,X
 2178   DA43 6F        88 17  CLR    $17,X
 2179   DA46 6C        88 12  INC    $12,X
 2179   DA46 6C        88 12  INC    $12,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2181   DA4C BD        D620   
JSR    >ZD620
 2181   DA4C BD        D620   
JSR    >ZD620
 2182   DA4F 25        0D BCS    ZDA5E
 2182   DA4F 25        0D BCS    ZDA5E
 2183   DA51 BD        D772   
JSR    >ZD772
 2183   DA51 BD        D772   
JSR    >ZD772
 2184   DA54 25        08     BCS    ZDA5E
 2184   DA54 25        08     BCS    ZDA5E
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2186   DA59 24        06     BCC    ZDA61
 2186   DA59 24        06     BCC    ZDA61
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2189   
 2189   
 2190   DA61 BE        459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
 2190   DA61 BE        459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1D40B    ZDA61  LDX    >CURFCB
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1D40B    ZDA61  LDX    >CURFCB
 2191   DA64 EC        88 1E  LDD    $1E,X
 2191   DA64 EC        88 1E  LDD    $1E,X
 2192   DA67 ED        88 32  STD    $32,X
 2192   DA67 ED        88 32  STD    $32,X
 2193   DA6A 86        10     LDA    #$10
 2193   DA6A 86        10     LDA    #$10
 2194   DA6C A7        88 34  STA    $34,X
 2194   DA6C A7        88 34  STA    $34,X
 2195   DA6F BD        D947   
JSR    >ZD947
 2195   DA6F BD        D947   
JSR    >ZD947
 2196   DA72 25        EA     BCS    ZDA5E
 2196   DA72 25        EA     BCS    ZDA5E
 2197   DA74 20        8A     BRA        ZDA00
 2197   DA74 20        8A     BRA        ZDA00
 2198   
 2198   
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2200   DA79 A6        84     LDA    ,X
 2200   DA79 A6        84     LDA    ,X
 2201   DA7B A7        02     STA    $02,X
 2201   DA7B A7        02     STA    $02,X
 2202   DA7D 6F        84     CLR    ,X
 2202   DA7D 6F        84     CLR    ,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2204   DA82 4F        CLRA
 2204   DA82 4F        CLRA
 2205   DA83 A7        88 22  STA    $22,X
 2205   DA83 A7        88 22  STA    $22,X
 2206   DA86 39    RTS
 2206   DA86 39    RTS
 2207   *
 2207   *
 2208   ** READ/WRITE NEXT SECTOR
 2208   ** READ/WRITE NEXT SECTOR
 2209   *
 2209   *
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2211   DA89 25        0E     BCS    ZDA99
 2211   DA89 25        0E     BCS    ZDA99
 2212   DA8B 6F        84     CLR    ,X
 2212   DA8B 6F        84     CLR    ,X
 2213   DA8D 44        LSRA
 2213   DA8D 44        LSRA
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2215   DA92 C6        04     LDB    #$04
 2215   DA92 C6        04     LDB    #$04
 2216   DA94 E7        88 22  STB    $22,X
 2216   DA94 E7        88 22  STB    $22,X
 2217   DA97 1C        FE     ANDCC  #$FE
 2217   DA97 1C        FE     ANDCC  #$FE
 2218   DA99 39        ZDA99  RTS
 2218   DA99 39        ZDA99  RTS
 2219   
 2219   
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2221   DA9D A6        02     LDA    $02,X
 2221   DA9D A6        02     LDA    $02,X
 2222   DA9F 81        83     CMPA   #$83
 2222   DA9F 81        83     CMPA   #$83
 2223   DAA1 26        0B     BNE    ZDAAE
 2223   DAA1 26        0B     BNE    ZDAAE
 2224       DAA3 86        03     LDA    #$03
 2224       DAA3 86        03     LDA    #$03
 2225   DAA5 A7        02     STA    $02,X
 2225   DAA5 A7        02     STA    $02,X
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2229   DAB0 39        RTS
 2229   DAB0 39        RTS
 2230   
 2230   
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 2232       DAB3 25        0D     BCS    ZDAC2
 2232       DAB3 25        0D     BCS    ZDAC2
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2234   DAB8 A6        02     LDA    $02,X
 2234   DAB8 A6        02     LDA    $02,X
 2235   DABA 81        03     CMPA   #$03
 2235   DABA 81        03     CMPA   #$03
 2236   DABC 23        F0     BLS    ZDAAE
 2236   DABC 23        F0     BLS    ZDAAE
 2237   DABE C6        12     LDB    #$12
 2237   DABE C6        12     LDB    #$12
 2238   DAC0 1A        01     ORCC   #$01
 2238   DAC0 1A        01     ORCC   #$01
 2239   DAC2 39        ZDAC2  RTS
 2239   DAC2 39        ZDAC2  RTS
 2240       
 2240       
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2242   DAC5 25        31     BCS    ZDAF8
 2242   DAC5 25        31     BCS    ZDAF8
 2243   DAC7 81        02     CMPA   #$02
 2243   DAC7 81        02     CMPA   #$02
 2244   DAC9 27        08     BEQ    ZDAD3
 2244   DAC9 27        08     BEQ    ZDAD3
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2246   DACE 6F        02     CLR    $02,X
 2246   DACE 6F        02     CLR    $02,X
 2247   DAD0 7E        D50C   
JMP    >ZD50C
 2247   DAD0 7E        D50C   
JMP    >ZD50C
 2248   
 2248   
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2250   DAD6 26        05     BNE    ZDADD
 2250   DAD6 26        05     BNE    ZDADD
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2252   DADB 20        19     BRA    ZDAF6
 2252   DADB 20        19     BRA    ZDAF6
 2253   
 2253   
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2255   DADF 25        17     BCS    ZDAF8
 2255   DADF 25        17     BCS    ZDAF8
 2256   DAE1 BE        D40B       
LDX    >CURFCB
 2256   DAE1 BE        D40B       
LDX    >CURFCB
 2257   DAE4 6D        88 17  TST    $17,X
 2257   DAE4 6D        88 17  TST    $17,X
 2258   DAE7 27        05     BEQ    ZDAEE
 2258   DAE7 27        05     BEQ    ZDAEE
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2260   DAEC 25        0A     BCS    ZDAF8
 2260   DAEC 25        0A     BCS    ZDAF8
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2262   DAF1 25        05     BCS    ZDAF8
 2262   DAF1 25        05     BCS    ZDAF8
 2263   DAF3 BD        D947   
JSR    >ZD947
 2263   DAF3 BD        D947   
JSR    >ZD947
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2265   DAF8 39        ZDAF8  RTS
 2265   DAF8 39        ZDAF8  RTS
 2266   *
 2266   *
 2267   ** OPEN FOR UPDATE
 2267   ** OPEN FOR UPDATE
 2268   *
 2268   *
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2270   DAFC 25        28     BCS    ZDB26
 2270   DAFC 25        28     BCS    ZDB26
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2272   DB01 25        23     BCS        ZDB26
 2272   DB01 25        23     BCS        ZDB26
 2273   DB03 86        03     LDA    #$03
 2273   DB03 86        03     LDA    #$03
 2274   DB05 20        18     BRA    ZDB1F
 2274   DB05 20        18     BRA    ZDB1F
 2275   *
 2275   *
 2276   **
 2276   **
 2277   *
 2277   *
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2279   DB0A 25        1A     BCS    ZDB26
 2279   DB0A 25        1A     BCS    ZDB26
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2281   DB0F A6        0F     LDA    $0F,X
 2281   DB0F A6        0F     LDA    $0F,X
 2282       DB11 85        80     BITA   #$80
 2282       DB11 85        80     BITA   #$80
 2283   DB13 26        12     BNE    ZDB27
 2283   DB13 26        12     BNE    ZDB27
 2284   DB15 EC        88 13  LDD    $13,X
 2284   DB15 EC        88 13  LDD    $13,X
 2285   DB18 BD        D620   
JSR    >ZD620
 2285   DB18 BD        D620   
JSR    >ZD620
 2286   DB1B 25        09     BCS    ZDB26
 2286   DB1B 25        09     BCS    ZDB26
 2287   DB1D 86        02     LDA    #$02
 2287   DB1D 86        02     LDA    #$02
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2289   DB22 A7        )'o~&ۧ %m'ܘ%
 2289   DB22 A7        )'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟02       STA    $02,X
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟02       STA    $02,X
 2290   DB24 1C        FE     ANDCC  #$FE
 2290   DB24 1C        FE     ANDCC  #$FE
 2291   DB26 39        ZDB26  RTS
 2291   DB26 39        ZDB26  RTS
 2292   
 2292   
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2294   DB29 1A        01     ORCC   #$01
 2294   DB29 1A        01     ORCC   #$01
 2295   DB2B 39        RTS
 2295   DB2B 39        RTS
 2296   *
 2296   *
 2297   ** RENAME FILE
 2297   ** RENAME FILE
 2298   *
 2298   *
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2300   DB2E BD        D892   
JSR    >ZD892
 2300   DB2E BD        D892   
JSR    >ZD892
 2301   DB31 25        2A     BCS    ZDB5D
 2301   DB31 25        2A     BCS    ZDB5D
 2302   DB33 27        24     BEQ    ZDB59
 2302   DB33 27        24     BEQ    ZDB59
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2304   DB38 C6        0B     LDB    #$0B
 2304   DB38 C6        0B     LDB    #$0B
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2306   DB3D A7        04     STA    $04,X
 2306   DB3D A7        04     STA    $04,X
 23!07       DB3F 30        01     LEAX   $01,X
 23!07       DB3F 30        01     LEAX   $01,X
 2308   DB41 5A        DECB
 2308   DB41 5A        DECB
 2309   DB42 26        F6     BNE    ZDB3A
 2309   DB42 26        F6     BNE    ZDB3A
 2310   DB44 8D        4D     BSR    ZDB93
 2310   DB44 8D        4D     BSR    ZDB93
 2311   DB46 25        15     BCS    ZDB5D
 2311   DB46 25        15     BCS    ZDB5D
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2313   DB4B A6        0F     LDA    $0F,X
 2313   DB4B A6        0F     LDA    $0F,X
 2314   DB4D 85        80     BITA   #$80
 2314   DB4D 85        80     BITA   #$80
 231 "5       DB4F 26        D6     BNE    ZDB27
 231 "5       DB4F 26        D6     BNE    ZDB27
 2316   DB51 85        60     BITA   #$60
 2316   DB51 85        60     BITA   #$60
 2317   DB53 26        09     BNE    ZDB5E
 2317   DB53 26        09     BNE    ZDB5E
 2318   DB55 8D        0C     BSR    ZDB63
 2318   DB55 8D        0C     BSR    ZDB63
 2319   DB57 20        55     BRA    ZDBAE
 2319   DB57 20        55     BRA    ZDBAE
 2320   
 2320   
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2322   DB5B 1A        01     ORCC   #$01
 2322   DB5B 1A        01     ORCC   #$01
 2323   DB5D 39        Z!#DB5D      RTS
 2323   DB5D 39        Z!#DB5D      RTS
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2325   DB60 1A        01     ORCC   #$01
 2325   DB60 1A        01     ORCC   #$01
 2326   DB62 39        RTS
 2326   DB62 39        RTS
 2327   
 2327   
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2329   DB66 86        0B     LDA    #$0B
 2329   DB66 86        0B     LDA    #$0B
 2330   DB68 B7        D411   
STA    >ZD411
 2330   DB68 B7        D411   
STA    >ZD411
 2331   DB6B A6        04     ZDB6B  LDA    "$$04,X
 2331   DB6B A6        04     ZDB6B  LDA    "$$04,X
 2332   DB6D E6        88 35  LDB    $35,X
 2332   DB6D E6        88 35  LDB    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2334   DB73 E7        04     STB    $04,X
 2334   DB73 E7        04     STB    $04,X
 2335   DB75 30        01     LEAX   $01,X
 2335   DB75 30        01     LEAX   $01,X
 2336   DB77 7A        D411   
DEC    >ZD411
 2336   DB77 7A        D411   
DEC    >ZD411
 2337   DB7A 26        EF     BNE    ZDB6B
 2337   DB7A 26        EF     BNE    ZDB6B
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2339   #%DB7F A6    0C     LDA    $0C,X
 2339   #%DB7F A6    0C     LDA    $0C,X
 2340   DB81 26        0C     BNE    ZDB8F
 2340   DB81 26        0C     BNE    ZDB8F
 2341   DB83 C6        03     LDB    #$03
 2341   DB83 C6        03     LDB    #$03
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2343   DB88 A7        0C     STA    $0C,X
 2343   DB88 A7        0C     STA    $0C,X
 2344   DB8A 30        01     LEAX   $01,X
 2344   DB8A 30        01     LEAX   $01,X
 2345   DB8C 5A        DECB
 2345   DB8C 5A        DECB
 2346   DB8D 26        F6     BNE    ZDB85
 2346   DB8D 26        F6     BNE    ZDB85
 23$&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 23$&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 2348   DB92 39        RTS
 2348   DB92 39        RTS
 2349   
 2349   
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2352   DB98 25        07     BCS    ZDBA1
 2352   DB98 25        07     BCS    ZDBA1
 2353   DB9A 26        06     BNE    ZDBA2
 2353   DB9A 26        06     BNE    ZDBA2
 2354   DB9C BE        D40B   
LDX    >CURFCB
 2354   DB9C BE        D40B   
LDX    >CURFCB
 %'2355       DB9F 1C        FE     ANDCC  #$FE
 %'2355       DB9F 1C        FE     ANDCC  #$FE
 2356   DBA1 39        ZDBA1  RTS
 2356   DBA1 39        ZDBA1  RTS
 2357   
 2357   
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2359   DBA4 1A        01     ORCC   #$01
 2359   DBA4 1A        01     ORCC   #$01
 2360   DBA6 39        RTS
 2360   DBA6 39        RTS
 2361   
 2361   
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2363   DBAA 86        FF     LDA    #$FF
 2363   DBAA 86        FF     LDA    #$FF
 2364   DB&(AC A7    04     STA    $04,X
 2364   DB&(AC A7    04     STA    $04,X
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2367   DBB4 86        00     LDA    #$00
 2367   DBB4 86        00     LDA    #$00
 2368   DBB6 A7        02     STA    $02,X
 2368   DBB6 A7        02     STA    $02,X
 2369   DBB8 39        RTS
 2369   DBB8 39        RTS
 2370   
 2370   
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2372   DBBC BD        ')D69F       
JSR    >WRSECT
 2372   DBBC BD        ')D69F       
JSR    >WRSECT
 2373   DBBF 24        14     BCC    ZDBD5
 2373   DBBF 24        14     BCC    ZDBD5
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2375   DBC3 26        08     BNE    ZDBCD
 2375   DBC3 26        08     BNE    ZDBCD
 2376   DBC5 C5        80     BITB   #$80
 2376   DBC5 C5        80     BITB   #$80
 2377   DBC7 27        0A     BEQ    ZDBD3
 2377   DBC7 27        0A     BEQ    ZDBD3
 2378   DBC9 C6        10     LDB    #$10
 2378   DBC9 C6        10     LDB    #$10
 2379   DBCB 20        06     BRA    ZDBD3
 2379   DBCB 20        06     BRA    ZDBD3
 2(*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2(*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2381   DBCF 20        02     BRA    ZDBD3
 2381   DBCF 20        02     BRA    ZDBD3
 2382   
 2382   
 2383   DBD1 C6        0A     LDB    #$0A
 2383   DBD1 C6        0A     LDB    #$0A
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2385   DBD5 39        ZDBD5  RTS
 2385   DBD5 39        ZDBD5  RTS
 2386   *
 2386   *
 2387   ** DELETE FILE
 2387   ** DELETE FILE
 2388   *
 2388   *
 2389   DBD6 BD        D917   DELETE JSR    *+>ZD917
 2389   DBD6 BD        D917   DELETE JSR    *+>ZD917
 2390   DBD9 25        5E     BCS    ZDC39
 2390   DBD9 25        5E     BCS    ZDC39
 2391   DBDB 8D        B8     BSR    ZDB95
 2391   DBDB 8D        B8     BSR    ZDB95
 2392   DBDD 25        5A     BCS    ZDC39
 2392   DBDD 25        5A     BCS    ZDC39
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2394   DBE2 A6        0F     LDA    $0F,X
 2394   DBE2 A6        0F     LDA    $0F,X
 2395   DBE4 85        80     BITA   #$80
 2395   DBE4 85        80     BITA   #$80
 2396   DBE6 26        52     BNE    ZDC3A
 2396   DBE6 26        52     BNE    ZDC3A
 2397   DBE8 85        A$@&ŀ'
 2397   DBE8 85        A$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@+,60 BITA   #$60
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@+,60 BITA   #$60
 2398   DBEA 26        52     BNE    ZDC3E
 2398   DBEA 26        52     BNE    ZDC3E
 2399   DBEC BD        D787   
JSR    >ZD787
 2399   DBEC BD        D787   
JSR    >ZD787
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2401   DBF2 EC        02     LDD    $02,X
 2401   DBF2 EC        02     LDD    $02,X
 2402   DBF4 26        0F     BNE    ZDC05
 2402   DBF4 26        0F     BNE    ZDC05
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2404   DBF9 EC        88 11  LDD    $11,X,-
 2404   DBF9 EC        88 11  LDD    $11,X,-
 2405   DBFC 27        33     BEQ    ZDC31
 2405   DBFC 27        33     BEQ    ZDC31
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2407   DC01 ED        84     STD    ,X
 2407   DC01 ED        84     STD    ,X
 2408   DC03 20        14     BRA    ZDC19
 2408   DC03 20        14     BRA    ZDC19
 2409   
 2409   
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2411   DC08 BD        D620   
JSR    >ZD620
 2411   DC08 BD        D620   
JSR    >ZD620
 2412   DC0B 25        2C     BCS    ZDC39
 2412   DC0B 25        2C     BCS    ZDC39
 24-.13       DC0D BE        D40B   
LDX    >CURFCB
 24-.13       DC0D BE        D40B   
LDX    >CURFCB
 2414   DC10 EC        88 11  LDD    $11,X
 2414   DC10 EC        88 11  LDD    $11,X
 2415   DC13 27        1C     BEQ    ZDC31
 2415   DC13 27        1C     BEQ    ZDC31
 2416   DC15 8D        A2     BSR    ZDBB9
 2416   DC15 8D        A2     BSR    ZDBB9
 2417   DC17 25        20     BCS    ZDC39
 2417   DC17 25        20     BCS    ZDC39
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2419   DC1C EC        88 13  LDD    $13,X
 2419   DC1C EC        88 13  LDD    $13,X
 2420   DC1./F BE    D41B   
LDX    >ZD41B
 2420   DC1./F BE    D41B   
LDX    >ZD41B
 2421   DC22 ED        02     STD    $02,X
 2421   DC22 ED        02     STD    $02,X
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2423   DC27 EC        88 15  LDD    $15,X
 2423   DC27 EC        88 15  LDD    $15,X
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2425   DC2D E3        04     ADDD   $04,X
 2425   DC2D E3        04     ADDD   $04,X
 2426   DC2F ED        04     STD    $04,X
 2426   DC2F ED        04     STD    $04,X
 2427   DC31 BD        DBA7   ZD/0C31      JSR    >ZDBA7
 2427   DC31 BD        DBA7   ZD/0C31      JSR    >ZDBA7
 2428   DC34 25        03     BCS    ZDC39
 2428   DC34 25        03     BCS    ZDC39
 2429   DC36 BD        D947   
JSR    >ZD947
 2429   DC36 BD        D947   
JSR    >ZD947
 2430   DC39 39        ZDC39  RTS
 2430   DC39 39        ZDC39  RTS
 2431   
 2431   
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2433   DC3C 20        02     BRA    ZDC40
 2433   DC3C 20        02     BRA    ZDC40
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2435   DC40 1A        01     ZD01C40      ORCC   #$01
 2435   DC40 1A        01     ZD01C40      ORCC   #$01
 2436   DC42 39        RTS
 2436   DC42 39        RTS
 2437   
 2437   
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2439   DC46 5C        INCB
 2439   DC46 5C        INCB
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2441   DC4A 23        03     BLS    ZDC4F
 2441   DC4A 23        03     BLS    ZDC4F
 2442   DC4C C6        01     LDB    #$01
 2442   DC4C C6        01     LDB    #$01
 2443   DC4E 4C        INCA
 2443   DC4E 4C        INCA
 2444   DC4F 10A3 88 1213    ZDC4F  CMPD   $13,X
 2444   DC4F 10A3 88 1213    ZDC4F  CMPD   $13,X
 2445   DC53 26        0E     BNE    ZDC63
 2445   DC53 26        0E     BNE    ZDC63
 2446   DC55 A6        88 37  LDA    $37,X
 2446   DC55 A6        88 37  LDA    $37,X
 2447   DC58 81        FF     CMPA   #$FF
 2447   DC58 81        FF     CMPA   #$FF
 2448   DC5A 27        07     BEQ    ZDC63
 2448   DC5A 27        07     BEQ    ZDC63
 2449   DC5C 4C        INCA
 2449   DC5C 4C        INCA
 2450   DC5D A7        88 37  STA    $37,X
 2450   DC5D A7        88 37  STA    $37,X
 2451   DC60 1C        FE     ANDCC  #$FE
 2451   DC60 1C        FE     ANDCC  #$FE
 2452   23DC62 39    RTS
 2452   23DC62 39    RTS
 2453   
 2453   
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2455   DC65 25        30     BCS    ZDC97
 2455   DC65 25        30     BCS    ZDC97
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2457   DC6A A6        88 3A  LDA    $3A,X
 2457   DC6A A6        88 3A  LDA    $3A,X
 2458   DC6D 8B        03     ADDA   #$03
 2458   DC6D 8B        03     ADDA   #$03
 2459   DC6F 26        16     BNE    ZDC87
 2459   DC6F 26        16     BNE    ZDC87
 2460   DC71 EC        88 1E  34LDD        $1E,X
 2460   DC71 EC        88 1E  34LDD        $1E,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2462   DC78 27        05     BEQ    ZDC7F
 2462   DC78 27        05     BEQ    ZDC7F
 2463   DC7A C6        17     LDB    #$17
 2463   DC7A C6        17     LDB    #$17
 2464   DC7C 1A        01     ORCC   #$01
 2464   DC7C 1A        01     ORCC   #$01
 2465   DC7E 39        RTS
 2465   DC7E 39        RTS
 2466   
 2466   
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2468   DC82 ED        88 38  ZDC82  STD    $4538,X
 2468   DC82 ED        88 38  ZDC82  STD    $4538,X
 2469   DC85 86        04     LDA    #$04
 2469   DC85 86        04     LDA    #$04
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2471   DC8A EC        88 13  LDD    $13,X
 2471   DC8A EC        88 13  LDD    $13,X
 2472   DC8D ED        88 35  STD    $35,X
 2472   DC8D ED        88 35  STD    $35,X
 2473   DC90 86        01     LDA    #$01
 2473   DC90 86        01     LDA    #$01
 2474   DC92 A7        88 37  STA    $37,X
 2474   DC92 A7        88 37  STA    $37,X
 2475   DC95 1C        FE     ANDCC  #$FE
 2475   DC95 1C        FE     ANDCC  #$FE
 247566       DC97 39        ZDC97  RTS
 247566       DC97 39        ZDC97  RTS
 2477   
 2477   
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2479   DC9B BD        D620   
JSR    >ZD620
 2479   DC9B BD        D620   
JSR    >ZD620
 2480   DC9E 25        F7     BCS    ZDC97
 2480   DC9E 25        F7     BCS    ZDC97
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2482   DCA3 1F        12     TFR    X,Y
 2482   DCA3 1F        12     TFR    X,Y
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2484   DC67A8 3A    ABX
 2484   DC67A8 3A    ABX
 2485   DCA9 C6        03     LDB    #$03
 2485   DCA9 C6        03     LDB    #$03
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2488   DCB0 A7        88 40  STA    $40,X
 2488   DCB0 A7        88 40  STA    $40,X
 2489   DCB3 30        01     LEAX   $01,X
 2489   DCB3 30        01     LEAX   $01,X
 2490   DCB5 5A        DECB
 2490   DCB5 5A        DECB
 2491   DCB6 26        F3     BNE    ZDCAB
 2491   DCB6 26        F3     BNE    ZDCAB
 2492   DCB8 78BD    D69F   
JSR    >WRSECT
 2492   DCB8 78BD    D69F   
JSR    >WRSECT
 2493   DCBB 24        DA     BCC    ZDC97
 2493   DCBB 24        DA     BCC    ZDC97
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2495   
 2495   
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2498   DCC6 25        46     BCS    ZDD0E
 2498   DCC6 25        46     BCS    ZDD0E
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2500   89DCCB 4F    CLRA
 2500   89DCCB 4F    CLRA
 2501   DCCC 5F        CLRB
 2501   DCCC 5F        CLRB
 2502   DCCD ED        88 20  STD    $20,X
 2502   DCCD ED        88 20  STD    $20,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2505   DCD6 5F        CLRB
 2505   DCD6 5F        CLRB
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2507   DCDA 30        01     LEAX   $01,X
 2507   DCDA 30        01     LEAX   $01,X
 2508   DCDC 9:5A    DECB
 2508   DCDC 9:5A    DECB
 2509   DCDD 26        F8     BNE    ZDCD7
 2509   DCDD 26        F8     BNE    ZDCD7
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2511   DCE2 1C        FE     ANDCC  #$FE
 2511   DCE2 1C        FE     ANDCC  #$FE
 2512   DCE4 39        RTS
 2512   DCE4 39        RTS
 2513   *
 2513   *
 2514   ** BACKUP ONE RECORD
 2514   ** BACKUP ONE RECORD
 2515   *
 2515   *
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2517   DCE8 A6        88 17  LDA    :;$17,X
 2517   DCE8 A6        88 17  LDA    :;$17,X
 2518   DCEB 27        1D     BEQ    ZDD0A
 2518   DCEB 27        1D     BEQ    ZDD0A
 2519   DCED EC        88 20  LDD    $20,X
 2519   DCED EC        88 20  LDD    $20,X
 2520   DCF0 83        0001   
SUBD   #$0001
 2520   DCF0 83        0001   
SUBD   #$0001
 2521   DCF3 2A        03     BPL    ZDCF8
 2521   DCF3 2A        03     BPL    ZDCF8
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2523   *
 2523   *
 2524   ** POSITION TO RECORD N
 2524   ** POSITION TO RECORD N
 2525   *
 2525   *
 2526   DCF8 ED        88 20  ;<ZDCF8      STD    $20,X
 2526   DCF8 ED        88 20  ;<ZDCF8      STD    $20,X
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2528   DCFE 25        0E     BCS    ZDD0E
 2528   DCFE 25        0E     BCS    ZDD0E
 2529   DD00 46        RORA
 2529   DD00 46        RORA
 2530   DD01 24        07     BCC    ZDD0A
 2530   DD01 24        07     BCC    ZDD0A
 2531   DD03 6F        84     CLR    ,X
 2531   DD03 6F        84     CLR    ,X
 2532   DD05 A6        88 17  LDA    $17,X
 2532   DD05 A6        88 17  LDA    $17,X
 2533   DD08 26        05     BNE    ZDD0F
 2533   DD08 26        05     BNE    ZDD0F
 2534   <=DD0A C6    12     ZDD0A  LDB    #$12
 2534   <=DD0A C6    12     ZDD0A  LDB    #$12
 2535   DD0C 1A        01     ORCC   #$01
 2535   DD0C 1A        01     ORCC   #$01
 2536   DD0E 39        ZDD0E  RTS
 2536   DD0E 39        ZDD0E  RTS
 2537   
 2537   
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2539   DD12 EC        88 11  LDD    $11,X
 2539   DD12 EC        88 11  LDD    $11,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2541   DD19 27        6A     BEQ    ZDD85
 2541   DD19 27        6A     BEQ    ZDD85
 2542   =>DD1B BD    DD9F   
JSR    >ZDD9F
 2542   =>DD1B BD    DD9F   
JSR    >ZDD9F
 2543   DD1E 25        EE     BCS    ZDD0E
 2543   DD1E 25        EE     BCS    ZDD0E
 2544   DD20 4F        CLRA
 2544   DD20 4F        CLRA
 2545   DD21 5F        CLRB
 2545   DD21 5F        CLRB
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2547   DD24 27        74     BEQ    ZDD9A
 2547   DD24 27        74     BEQ    ZDD9A
 2548   DD26 EB        02     ADDB   $02,X
 2548   DD26 EB        02     ADDB   $02,X
 2549   DD28 89        00     ADCA   #$00
 2549   DD28 89        00     ADCA   #$00
 2550   DD2A >?BF    D40F   
STX    >ZD40F
 2550   DD2A >?BF    D40F   
STX    >ZD40F
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2552   DD30 10A3 88 20        CMPD   $20,X
 2552   DD30 10A3 88 20        CMPD   $20,X
 2553   DD34 24        2C     BCC    ZDD62
 2553   DD34 24        2C     BCC    ZDD62
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2555   DD39 30        03     LEAX   $03,X
 2555   DD39 30        03     LEAX   $03,X
 2556   DD3B 34        02     PSHS   A
 2556   DD3B 34        02     PSHS   A
 2557   DD3D B6        D411   
LDA    ?@>ZD411
 2557   DD3D B6        D411   
LDA    ?@>ZD411
 2558   DD40 4C        INCA
 2558   DD40 4C        INCA
 2559   DD41 B7        D411   
STA    >ZD411
 2559   DD41 B7        D411   
STA    >ZD411
 2560   DD44 81        54     CMPA   #$54
 2560   DD44 81        54     CMPA   #$54
 2561   DD46 27        08     BEQ    ZDD50
 2561   DD46 27        08     BEQ    ZDD50
 2562   DD48 81        A8     CMPA   #$A8
 2562   DD48 81        A8     CMPA   #$A8
 2563   DD4A 35        02     PULS   A
 2563   DD4A 35        02     PULS   A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2565   DD4E 20        D2     BRA    ZDD22@A
 2565   DD4E 20        D2     BRA    ZDD22@A
 2566   
 2566   
 2567   DD50 34        04     ZDD50  PSHS   B
 2567   DD50 34        04     ZDD50  PSHS   B
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2569   DD55 EC        88 40  LDD    $40,X
 2569   DD55 EC        88 40  LDD    $40,X
 2570   DD58 8D        45     BSR    ZDD9F
 2570   DD58 8D        45     BSR    ZDD9F
 2571   DD5A 25        3E     BCS    ZDD9A
 2571   DD5A 25        3E     BCS    ZDD9A
 2572   DD5C 35        04     PULS   B
 2572   DD5C 35        04     PULS   B
 2573   DD5E 35        02     PULS   A
 2573   DD5E 35        02     PULS   A
 2574   DD60 BB20    C0     BRA    ZDD22
 2574   DD60 BB20    C0     BRA    ZDD22
 2575   
 2575   
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2578   DD68 A6        02     LDA    $02,X
 2578   DD68 A6        02     LDA    $02,X
 2579   DD6A 34        04     PSHS   B
 2579   DD6A 34        04     PSHS   B
 2580   DD6C A0        E0     SUBA   ,S+
 2580   DD6C A0        E0     SUBA   ,S+
 2581   DD6E 4A        DECA
 2581   DD6E 4A        DECA
 2582   DD6F 1F        89     TFR    A,B
 2582   DD6F 1F        89     TFR    A,B
 P0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 P0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 2584   DD73 EB        01     ADDB   $01,X
 2584   DD73 EB        01     ADDB   $01,X
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2586   DD78 25        05     BCS    ZDD7F
 2586   DD78 25        05     BCS    ZDD7F
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2588   DD7D 23        06     BLS    ZDD85
 2588   DD7D 23        06     BLS    ZDD85
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2590DD       DD82 4C        INCA
 2590DD       DD82 4C        INCA
 2591   DD83 20        F5     BRA    ZDD7A
 2591   DD83 20        F5     BRA    ZDD7A
 2592   
 2592   
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2594   DD88 25        14     BCS    ZDD9E
 2594   DD88 25        14     BCS    ZDD9E
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2596   DD8D EC        88 42  LDD    $42,X
 2596   DD8D EC        88 42  LDD    $42,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2598   DD94 EE27    14     BEQ    ZDDAA
 2598   DD94 EE27    14     BEQ    ZDDAA
 2599   DD96 C6        19     LDB    #$19
 2599   DD96 C6        19     LDB    #$19
 2600   DD98 20        02     BRA    ZDD9C
 2600   DD98 20        02     BRA    ZDD9C
 2601   
 2601   
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2604   DD9E 39        ZDD9E  RTS
 2604   DD9E 39        ZDD9E  RTS
 2605   
 2605   
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 260FF7       DDA2 25        08     BCS    ZDDAC
 260FF7       DDA2 25        08     BCS    ZDDAC
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2609   DDA7 C6        44     LDB    #$44
 2609   DDA7 C6        44     LDB    #$44
 2610   DDA9 3A        ABX
 2610   DDA9 3A        ABX
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2612   DDAC 39        ZDDAC  RTS
 2612   DDAC 39        ZDDAC  RTS
 2613   
 2613   
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2615   DDB0 C6        GG0B LDB    #$0B
 2615   DDB0 C6        GG0B LDB    #$0B
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2617   DDB5 A7        04     STA    $04,X
 2617   DDB5 A7        04     STA    $04,X
 2618   DDB7 30        01     LEAX   $01,X
 2618   DDB7 30        01     LEAX   $01,X
 2619   DDB9 5A        DECB
 2619   DDB9 5A        DECB
 2620   DDBA 26        F6     BNE    ZDDB2
 2620   DDBA 26        F6     BNE    ZDDB2
 2621   DDBC 39        RTS
 2621   DDBC 39        RTS
 2622   *
 2622   *
 2623   ** FIND NEXT DRIVE
 2623   ** FIND NEXT DRIVE
 2624   *
 2624   *
 2625   DHHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2625   DHHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2626   DDC0 A6        03     LDA    $03,X
 2626   DDC0 A6        03     LDA    $03,X
 2627   DDC2 4C        INCA
 2627   DDC2 4C        INCA
 2628   DDC3 81        04     CMPA   #$04
 2628   DDC3 81        04     CMPA   #$04
 2629   DDC5 24        0F     BCC    ZDDD6
 2629   DDC5 24        0F     BCC    ZDDD6
 2630   DDC7 A7        03     STA    $03,X
 2630   DDC7 A7        03     STA    $03,X
 2631   DDC9 26        05     BNE    ZDDD0
 2631   DDC9 26        05     BNE    ZDDD0
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIIY
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIIY
 2633   DDCE 20        03     BRA    ZDDD3
 2633   DDCE 20        03     BRA    ZDDD3
 2634   
 2634   
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2637   DDD5 39        RTS
 2637   DDD5 39        RTS
 2638   
 2638   
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2640   DDD8 1A        01     ORCC   #$01
 2640   DDD8 1A        01     ORCC   #$01
 2641   DDDA 39        RTS
 2641   DDDA 39        RTS
 264JJ2       END
 264JJ2       END
 2643   
 2643   
 2645   *
 2645   *
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2647   *
 2647   *
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2649   * WITH I/O MAPPED AT $XE000
 2649   * WITH I/O MAPPED AT $XE000
 2650   * AND ROM MAPPED AT $XF000
 2650   * AND ROM MAPPED AT $XF000
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKKM
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKKM
 2652   * THE FIRST 64K IS USED BY FLEX,
 2652   * THE FIRST 64K IS USED BY FLEX,
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2654   *
 2654   *
 2655   *
 2655   *
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 LL2659       *
 LL2659       *
 2660   E040   CF_BASE EQU    $E040
 2660   E040   CF_BASE EQU    $E040
 2661   E040   CF_DATA EQU    CF_BASE+0
 2661   E040   CF_DATA EQU    CF_BASE+0
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2664   E042   CF_SECCNT EQU  CF_BASE+2
 2664   E042   CF_SECCNT EQU  CF_BASE+2
***     MULTIPLY DEFINED SYMBOLMM
***     MULTIPLY DEFINED SYMBOLMM
 2665   E043   CF_SECNUM EQU  CF_BASE+3
 2665   E043   CF_SECNUM EQU  CF_BASE+3
***     MULTIPLY DEFINED SYMBOL
***     MULTIPLY DEFINED SYMBOL
 2666   E044   CF_CYLLO EQU   CF_BASE+4
 2666   E044   CF_CYLLO EQU   CF_BASE+4
***     MULTIPLY DEFINED SYMBOL
***     MULTIPLY DEFINED SYMBOL
 2667   E045   CF_CYLHI EQU   CF_BASE+5
 2667   E045   CF_CYLHI EQU   CF_BASE+5
***     MULTIPLY DEFINED SYMBOL
***     MULTIPLY DEFINED SYMBOL
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2669   ENN047       CF_STATUS EQU  CF_BASE+7 ; read status
 2669   ENN047       CF_STATUS EQU  CF_BASE+7 ; read status
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2671   *
 2671   *
 2672   * Command Equates
 2672   * Command Equates
 2673   *
 2673   *
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2675   0030   CMDWRITE EQU   $30    ; Write Single sectorOO
 2675   0030   CMDWRITE EQU   $30    ; Write Single sectorOO
 2676   00EF   CMDFEATURE EQU $EF
 2676   00EF   CMDFEATURE EQU $EF
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2678   00E0   HEADLBA EQU    $E0
 2678   00E0   HEADLBA EQU    $E0
 2679   *
 2679   *
 2680   * Status bit equates
 2680   * Status bit equates
 2681   *
 2681   *
 2682   0080   BSY    EQU    $80
 2682   0080   BSY    EQU    $80
 2683   0040   DRDY   EQU    $40
 2683   0040   DRDY   EQU    $40
 2684   0008   DRQ    EQU    QP$08
 2684   0008   DRQ    EQU    QP$08
 2685   0001   ERR    EQU    $01
 2685   0001   ERR    EQU    $01
 2686   DE00   ORG    $DE00
 2686   DE00   ORG    $DE00
 2687   *      
 2687   *      
 2688   * DISK DRIVER JUMP TABLE
 2688   * DISK DRIVER JUMP TABLE
 2689   *
 2689   *
 2690   >DE00 7E       DE4B   READ   JMP    READSC
 2690   >DE00 7E       DE4B   READ   JMP    READSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2693   >DE09
9$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCEEC_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9RQ 7E   DE32   RESTOR JMP    RESTR1
 2693   >DE09
9$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCEEC_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9RQ 7E   DE32   RESTOR JMP    RESTR1
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2696   DE12 7E        DE9C   QUICK  JMP    CHKDRV
 2696   DE12 7E        DE9C   QUICK  JMP    CHKDRV
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2699SR       >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2699SR       >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2700   *
 2700   *
 2701   * RAM SPACE
 2701   * RAM SPACE
 2702   *
 2702   *
 2703   DE1E 00        DRVNUM FCB    0
 2703   DE1E 00        DRVNUM FCB    0
 2704   *
 2704   *
 2705   *
 2705   *
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2707   *
 2707   *
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2709   DE21 86        E0     LDATS        #HEADLBA
 2709   DE21 86        E0     LDATS        #HEADLBA
 2710   DE23 B7        E046   
STA    CF_HEAD
 2710   DE23 B7        E046   
STA    CF_HEAD
 2711   DE26 86        01     LDA    #FEAT8BIT
 2711   DE26 86        01     LDA    #FEAT8BIT
 2712   DE28 B7        E041   
STA    CF_FEATURE
 2712   DE28 B7        E041   
STA    CF_FEATURE
 2713   DE2B 86        EF     LDA    #CMDFEATURE
 2713   DE2B 86        EF     LDA    #CMDFEATURE
 2714   DE2D B7        E047   
STA    CF_COMAND
 2714   DE2D B7        E047   
STA    CF_COMAND
 2715   DE30 20        6E     BRA    WAITRDY
 2715   DE30 20        6E     BRA    WAITRDY
 2716   *      
 2716   *      
 2717   UT* RESTORE DISK DRIVER (SEEK TRACK 00)
 2717   UT* RESTORE DISK DRIVER (SEEK TRACK 00)
 2718   *      
 2718   *      
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2720   DE34 4F        CLRA   
; Track 0
 2720   DE34 4F        CLRA   
; Track 0
 2721   DE35 C6        01     LDB    #$01   ; Sector 1
 2721   DE35 C6        01     LDB    #$01   ; Sector 1
 2722   *
 2722   *
 2723   * Seek track and sector
 2723   * Seek track and sector
 2724   * A holds track number (0 - ??)
 2724   * A holds track number (0 - ??)
 2VU725       * B holds sector number (1 - ??)
 2VU725       * B holds sector number (1 - ??)
 2726   * Sector numbers starts from 1
 2726   * Sector numbers starts from 1
 2727   * subtract 1 to start from sector 0 on CF
 2727   * subtract 1 to start from sector 0 on CF
 2728   *
 2728   *
 2729   DE37 5A        SEEKTS DECB
 2729   DE37 5A        SEEKTS DECB
 2730   DE38 F7        E043   
STB    CF_SECNUM
 2730   DE38 F7        E043   
STB    CF_SECNUM
 2731   DE3B B7        E045   
STA    CF_CYLLO
 2731   DE3B B7        E045   
STA    CF_CYLLO
 2732   DEWV3E F6    DE1E   
LDB    DRVNUM
 2732   DEWV3E F6    DE1E   
LDB    DRVNUM
 2733   DE41 F7        E045   
STB    CF_CYLHI
 2733   DE41 F7        E045   
STB    CF_CYLHI
 2734   DE44 C6        01     LDB    #$01
 2734   DE44 C6        01     LDB    #$01
 2735   DE46 F7        E043   
STB    CF_SECCNT
 2735   DE46 F7        E043   
STB    CF_SECCNT
 2736   DE49 5F        CLRB
 2736   DE49 5F        CLRB
 2737   DE4A 39        WARMD1 RTS
 2737   DE4A 39        WARMD1 RTS
 2738   *
 2738   *
 2739   * READ SECTORS FROM CF
 2739   * READ SECTORS FROM CF
 2740   *
 2740   *
 2741   *
 2741   *
 2742   DXWE4B 8D    EA     READSC BSR    SEEKTS
 2742   DXWE4B 8D    EA     READSC BSR    SEEKTS
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2744   DE4F B7        E047   
STA    CF_COMAND
 2744   DE4F B7        E047   
STA    CF_COMAND
 2745   DE52 8D        4C     BSR    WAITRDY
 2745   DE52 8D        4C     BSR    WAITRDY
 2746   *
 2746   *
 2747   * READ LOOP
 2747   * READ LOOP
 2748   *
 2748   *
 2749   DE54 5F        CLRB
 2749   DE54 5F        CLRB
 2750   DE55 8D        58     RDLP1  BSYXR        WAITDRQ
 2750   DE55 8D        58     RDLP1  BSYXR        WAITDRQ
 2751   DE57 B6        E040   
LDA    CF_DATA
 2751   DE57 B6        E040   
LDA    CF_DATA
 2752   DE5A A7        80     STA    ,X+
 2752   DE5A A7        80     STA    ,X+
 2753   DE5C 5A        DECB
 2753   DE5C 5A        DECB
 2754   DE5D 26        F6     BNE    RDLP1
 2754   DE5D 26        F6     BNE    RDLP1
 2755   *
 2755   *
 2756   DE5F 5F        CLRB
 2756   DE5F 5F        CLRB
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2758   DE62 B6        E040   
LDA    CF_DATA
 2758   DE62 B6        E040   
LDA    CF_DATA
 2759   DE65ZY 5A    DECB
 2759   DE65ZY 5A    DECB
 2760   DE66 26        F8     BNE    RDLP2
 2760   DE66 26        F8     BNE    RDLP2
 2761   *
 2761   *
 2762   DE68 8D        36     BSR    WAITRDY
 2762   DE68 8D        36     BSR    WAITRDY
 2763   DE6A 5F        CLRB
 2763   DE6A 5F        CLRB
 2764   DE6B 39        RTS
 2764   DE6B 39        RTS
 2765   *      
 2765   *      
 2766   * WRITE SECTOR TO CF
 2766   * WRITE SECTOR TO CF
 2767   *      
 2767   *      
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2769[Z       DE6E 86        30     LDA    #CMDWRITE; IDE WRITE MULTIPLE
 2769[Z       DE6E 86        30     LDA    #CMDWRITE; IDE WRITE MULTIPLE
***     SYNTAX ERROR
***     SYNTAX ERROR
 2770   DE70 B7        E047   
STA    CF_COMAND
 2770   DE70 B7        E047   
STA    CF_COMAND
 2771   DE73 8D        2B     BSR    WAITRDY
 2771   DE73 8D        2B     BSR    WAITRDY
 2772   *
 2772   *
 2773   * WRITE LOOP
 2773   * WRITE LOOP
 2774   *
 2774   *
 2775   DE75 5F        CLRB
 2775   DE75 5F        CLRB
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2777\[       DE78 A6        80     LDA    ,X+
 2777\[       DE78 A6        80     LDA    ,X+
 2778   DE7A B7        E040   
STA    CF_DATA
 2778   DE7A B7        E040   
STA    CF_DATA
 2779   DE7D 5A        DECB
 2779   DE7D 5A        DECB
 2780   DE7E 26        F6     BNE    WRTLP1
 2780   DE7E 26        F6     BNE    WRTLP1
 2781   *
 2781   *
 2782   DE80 5F        CLRB
 2782   DE80 5F        CLRB
 2783   DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 2783   DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 2784   DE83 4F        CLRA
 2784   DE83 4F        CLRA
 2785   DE84 B7        E040   
STA    CF_DATA
 2785   DE84 B7        E040   
STA    CF_DATA
 278]\6       DE87 5A        DECB
 278]\6       DE87 5A        DECB
 2787   DE88 26        F7     BNE    WRTLP2
 2787   DE88 26        F7     BNE    WRTLP2
 2788   *
 2788   *
 2789   DE8A 8D        14     BSR    WAITRDY
 2789   DE8A 8D        14     BSR    WAITRDY
 2790   DE8C 5F        CLRB
 2790   DE8C 5F        CLRB
 2791   DE8D 39        RTS
 2791   DE8D 39        RTS
 2792   *      
 2792   *      
 2793   * CHECK FOR BUSY       
 2793   * CHECK FOR BUSY       
 2794   * Doubles as VERIFY
 2794   * Doubles as VERIFY
 2795   *      
 2795   *      
 2796   DE8E 5F        BUSY   CLRB   
Never b^]usy
 2796   DE8E 5F        BUSY   CLRB   
Never b^]usy
 2797   DE8F 39        RTS
 2797   DE8F 39        RTS
 2798   *      
 2798   *      
 2799   * DRIVE SELECT DISK DRIVER
 2799   * DRIVE SELECT DISK DRIVER
 2800   *      
 2800   *      
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE # FROM FCB
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE # FROM FCB
 2802   DE92 81        03     CMPA   #3
 2802   DE92 81        03     CMPA   #3
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2804   DE96 4F        CLRA
 2804   DE96 4F        CLRA
_^ 2805       DE97 B7        DE1E   DRVS2  STA    DRVNUM
_^ 2805       DE97 B7        DE1E   DRVS2  STA    DRVNUM
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2807   DE9B 39        RTS
 2807   DE9B 39        RTS
 2808   *      
 2808   *      
 2809   * CHECK DRIVE READY DISK DRIVER
 2809   * CHECK DRIVE READY DISK DRIVER
 2810   *      
 2810   *      
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2813   `_DE9F 39    RTS
 2813   `_DE9F 39    RTS
 2814   *
 2814   *
 2815   * WAIT UNTIL READY
 2815   * WAIT UNTIL READY
 2816   *
 2816   *
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2818   DEA3 85        80     BITA   #BSY
 2818   DEA3 85        80     BITA   #BSY
 2819   DEA5 26        F9     BNE    WAITRDY
 2819   DEA5 26        F9     BNE    WAITRDY
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2821   DEAA 85        40     BITA   #DRDY
 2821   DEAA 85        40     BITA   #DRDY
 2822   Da`EAC 27    F2     BEQ    WAITRDY
 2822   Da`EAC 27    F2     BEQ    WAITRDY
 2823   DEAE 39        RTS
 2823   DEAE 39        RTS
 2824   *
 2824   *
 2825   * WAIT FOR DATA REQUEST
 2825   * WAIT FOR DATA REQUEST
 2826   *
 2826   *
 2827   DEAF B6        E047   WAITDRQ LDA    CF_STATUS
 2827   DEAF B6        E047   WAITDRQ LDA    CF_STATUS
 2828   DEB2 85        08     BITA   #DRQ
 2828   DEB2 85        08     BITA   #DRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2830   DEB6 39        RTS
 2830   DEB6 39        RTS
 2831   *
 2831   *
 2832   ENDba
 2832   ENDba
 2833   
 2833   
 2834   END    COLDS
 2834   END    COLDS
5 ERROR(S) DETECTED
5 ERROR(S) DETECTED
SYMBOL TABLE:
SYMBOL TABLE:
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE3   
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE3   
BSECHR CC07     BSPCHR CC00    BSY    0080   BUSY   DE8E   CF_BAS E040    
BSECHR CC07     BSPCHR CC00    BSY    0080   BUSY   DE8E   CF_BAS E040    
CF_COM E047     CF_CYL E045    CF_DAT E040    CF_ERR E04cb1        CF_FEA E041    
CF_COM E047     CF_CYL E045    CF_DAT E040    CF_ERR E04cb1        CF_FEA E041    
CF_HEA E046     CF_SEC E043    CF_STA E047    CHKDRV DE9C    CLASS  CD21   
CF_HEA E046     CF_SEC E043    CF_STA E047    CHKDRV DE9C    CLASS  CD21   
CLASS1 CFED     CLOSE  DAC3   CMDFEA 00EF    CMDFLG CC28    CMDREA 0020    
CLASS1 CFED     CLOSE  DAC3   CMDFEA 00EF    CMDFLG CC28    CMDREA 0020    
CMDTBL CC93     CMDWRI 0030    COLADX DFFB    COLD1  CD57   COLDDR DE15    
CMDTBL CC93     CMDWRI 0030    COLADX DFFB    COLD1  CD57   COLDDR DE15    
COLDS   CD00   CPORT  DFE0   CPYMSG dcD409        CURCHR CC18    CURCOL CC29    
COLDS   CD00   CPORT  DFE0   CPYMSG dcD409        CURCHR CC18    CURCOL CC29    
CURFCB D40B     CURLIN CC1A    DATERG CC0E    DATREG FFF0    DATSTR CAEC    
CURFCB D40B     CURLIN CC1A    DATERG CC0E    DATREG FFF0    DATSTR CAEC    
DAY     CC0F   DECTBL CCA0    DELCHR CC01    DELETE DBD6    DEPCNT CC03    
DAY     CC0F   DECTBL CCA0    DELCHR CC01    DELETE DBD6    DEPCNT CC03    
DERMSG CC75     DNRMSG CC82    DOCMD1 D329    DOCMND CD4B    DOFUN1 D4B8    
DERMSG CC75     DNRMSG CC82    DOCMD1 D329    DOCMND CD4B    DOFUN1 D4B8    
DOFUNC D4B0     DRDY   ed0040       DRIVE  DE0C   DRQ    0008   DRVNUM DE1E    
DOFUNC D4B0     DRDY   ed0040       DRIVE  DE0C   DRQ    0008   DRVNUM DE1E    
DRVRDY DE0F     DRVS2  DE97   DRVSEL DE90    DUMRTS D370    ECHO   DFE2   
DRVRDY DE0F     DRVS2  DE97   DRVSEL DE90    DUMRTS D370    ECHO   DFE2   
EJTCNT CC08     EOLCHR CC02    ERR    0001   ERRTYP CC20    ERRVEC CC2D    
EJTCNT CC08     EOLCHR CC02    ERR    0001   ERRTYP CC20    ERRVEC CC2D    
ESCCHR CC0A     ESCFLG DFFE    ESCVEC CC16    EXTTBL D10B    FCB    C840   
ESCCHR CC0A     ESCFLG DFFE    ESCVEC CC16    EXTTBL D10B    FCB    C840   
FCBPTR D409fe FEAT8B 0001    FIEFLG CC2F    FIPADR CC26    FIRQ   DFC6   
FCBPTR D409fe FEAT8B 0001    FIEFLG CC2F    FIPADR CC26    FIRQ   DFC6   
FMASK   0040   FMS    D406   FMS1   D47B   FMSCLS D403    FMSTBL D4CE    
FMASK   0040   FMS    D406   FMS1   D47B   FMSCLS D403    FMSTBL D4CE    
FOPADR CC24     GETBYT D56F    GETCH1 CEFB    GETCHR CD15    GETCMD D20F    
FOPADR CC24     GETBYT D56F    GETCH1 CEFB    GETCHR CD15    GETCMD D20F    
GETFIL CD2D     GETFL1 D036    GETHEX CD42    GETHX1 D12F    GETREC D838    
gf
GETFIL CD2D     GETFL1 D036    GETHEX CD42    GETHX1 D12F    GETREC D838    
gf
HEADLB 00E0     IC11   FFF0   IHND   D370   IHNDVC D3E7    IMASK  0010   
HEADLB 00E0     IC11   FFF0   IHND   D370   IHNDVC D3E7    IMASK  0010   
INBUF1 CE2B     INBUFF CD1B    INCH   CD09   INCH2  CD0C   INCHEK D37C    
INBUF1 CE2B     INBUFF CD1B    INCH   CD09   INCH2  CD0C   INCHEK D37C    
INCHEV F806     INCHKV F808    INCHNE D374    INCHV  F804   INDEC  CD48   
INCHEV F806     INCHKV F808    INCHNE D374    INCHV  F804   INDEC  CD48   
INDEC1 D175     INEEE  D384   INITDR DE1F    INPSWT CC23    IhgNVEC      D3FB   
INDEC1 D175     INEEE  D384   INITDR DE1F    INPSWT CC23    IhgNVEC      D3FB   
IRQ     DFC8   IRQVEC DFC8    IRQVVC D3EB    LASTRM CC11    LINBUF C080    
IRQ     DFC8   IRQVEC DFC8    IRQVVC D3EB    LASTRM CC11    LINBUF C080    
LINLEN 0050     LINPTR CC14    LOAD   CD30   LOAD1  D1A2   LODOFF CC1B    
LINLEN 0050     LINPTR CC14    LOAD   CD30   LOAD1  D1A2   LODOFF CC1B    
LRARAM DFD0     LRAV   F812   MAPUP  CC49   MEMEND CC2B    MONEXT F000    
LRARAM DFD0     LRAV   F812   MAPUP  CC49   MEMEND CC2B    MONEXT F000    
MONIO   E000   MONITR D378    MONITV F800    MOihNRAM DFC0        MONROM F800    
MONIO   E000   MONITR D378    MONITV F800    MOihNRAM DFC0        MONROM F800    
MONTH   CC0E   MONVEC D3F3    NEWROW DFFD    NFDMSG CC6B    NTRMSG CC5C    
MONTH   CC0E   MONVEC D3F3    NEWROW DFFD    NFDMSG CC6B    NTRMSG CC5C    
NULCNT CC05     NUMLIN 0019    NXTCH  CD27   NXTCH1 D00E    NXTCMV F802    
NULCNT CC05     NUMLIN 0019    NXTCH  CD27   NXTCH1 D00E    NXTCMV F802    
NXTDRV DDBD     NXTSEC DA87    OPENRD D986    OPENUD DAF9    OPENWR D9D9    
NXTDRV DDBD     NXTSEC DA87    OPENRD D986    OPENUD DAF9    OPENWR D9D9    
OPNDIR D81D     OPNREC D810    jiOUTAD1 CFD0        OUTADR CD45    OUTCH  CD0F   
OPNDIR D81D     OPNREC D810    jiOUTAD1 CFD0        OUTADR CD45    OUTCH  CD0F   
OUTCH2 CD12     OUTCHV F80A    OUTDC1 CF86    OUTDEC CD39    OUTEEE D380    
OUTCH2 CD12     OUTCHV F80A    OUTDC1 CF86    OUTDEC CD39    OUTEEE D380    
OUTHEX CD3C     OUTHX1 CFD4    OUTHXL CFDC    OUTHXR CFE0    OUTSWT CC22    
OUTHEX CD3C     OUTHX1 CFD4    OUTHXL CFDC    OUTHXR CFE0    OUTSWT CC22    
OUTVEC D3F9     PAUSE  CC09   PCHK   CCD8   PCLKHI 0001    PCLKLO 0000    
OUTVEC D3F9     PAUSE  CC09   PCHK   CCD8   PCLKHI 0001    PCLKLO 0000    
PCRLF   CD2kj4       PCRLF1 CEB5    PCRLFV F80E    PDATAV F80C    PINIT  CCC0   
PCRLF   CD2kj4       PCRLF1 CEB5    PCRLFV F80E    PDATAV F80C    PINIT  CCC0   
PMTSTR CC4E     POSREC DCFB    POUT   CCE4   PROMRE E0C0    PRSPL1 C700    
PMTSTR CC4E     POSREC DCFB    POUT   CCE4   PROMRE E0C0    PRSPL1 C700    
PRSPL2 C703     PRSPL3 C706    PRSPL4 C709    PRSPL5 C70C    PRSPL6 C70F    
PRSPL2 C703     PRSPL3 C706    PRSPL4 C709    PRSPL5 C70C    PRSPL6 C70F    
PRSTHI 0002     PRSTLO 0000    PRVCHR CC19    PS2KBD E020    PSTRG1 CE8lk1        
PRSTHI 0002     PRSTLO 0000    PRVCHR CC19    PS2KBD E020    PSTRG1 CE8lk1        
PSTRGV F810     PSTRNG CD1E    PUTBYT D590    PUTCH1 CF41    PUTCHR CD18    
PSTRGV F810     PSTRNG CD1E    PUTBYT D590    PUTCH1 CF41    PUTCHR CD18    
PUTREC D876     QCNT   C71B   QRYSTR CC52    QUICK  DE12   RDLP1  DE55   
PUTREC D876     QCNT   C71B   QRYSTR CC52    QUICK  DE12   RDLP1  DE55   
RDLP2   DE60   RDSECT D641    READ   DE00   READSC DE4B    RENAME DB2C    
RDLP2   DE60   RDSECT D641    READ   DE00   READSC DE4B    RENAME DB2C    
RENT1   CDB1   RENTER CD06    RESTOR DE09    RESTR1 DEml32        RESV1  D969   
RENT1   CDB1   RENTER CD06    RESTOR DE09    RESTR1 DEml32        RESV1  D969   
RESV2   D699   RESV3  DB07   REWIND D5E2    ROWADX DFFC    RPTER1 D27F    
RESV2   D699   RESV3  DB07   REWIND D5E2    ROWADX DFFC    RPTER1 D27F    
RPTERR CD3F     RSTIO1 CDEA    RSTRIO CD2A    SEEK   DE1B   SEEKTS DE37    
RPTERR CD3F     RSTIO1 CDEA    RSTRIO CD2A    SEEK   DE1B   SEEKTS DE37    
SETEX1 D0EB     SETEXT CD33    SIOFLG CC21    STACK  DFC0   STAVEC D3F7    
SETEX1 D0EB     SETEXT CD33    SIOFLG CC21    STACK  DFC0   STAVEC D3F7    
SVCVL   DFCE   SVCVO  DFCC   SWI    DFnmCA       SWI2   DFC4   SWI3   DFC2   
SVCVL   DFCE   SVCVO  DFCC   SWI    DFnmCA       SWI2   DFC4   SWI3   DFC2   
SWIVEC DFC2     SWIVVC D3E9    SYNCHI AA55    SYNCLO FF00    SYSDRV CC0B    
SWIVEC DFC2     SWIVVC D3E9    SYNCHI AA55    SYNCLO FF00    SYSDRV CC0B    
TABCHR CC06     TERINZ D371    TERVEC D3F5    TINVEC D3F1    TMINT  D370   
TABCHR CC06     TERINZ D371    TERVEC D3F5    TINVEC D3F1    TMINT  D370   
TMOFF   D370   TMON   D370   TOFVEC D3ED    TONVEC D3EF    TRNFLG CC1D    
TMOFF   D370   TMON   D370   TOFVEC D3ED    TONVEC D3EF    TRNFLG CC1D    
TRNVEC CC1E     TTLSTR CAonDC        UCTVEC CC12    VDU    E030   VDUATT 0001    
TRNVEC CC1E     TTLSTR CAonDC        UCTVEC CC12    VDU    E030   VDUATT 0001    
VDUCHR 0000     VDUCOL 0002    VDUOFF 0004    VDUROW 0003    VERFLG D435    
VDUCHR 0000     VDUCOL 0002    VDUOFF 0004    VDUROW 0003    VERFLG D435    
VERIFY DE06     WAITDR DEAF    WAITRD DEA0    WARM1  CD67   WARMD1 DE4A    
VERIFY DE06     WAITDR DEAF    WAITRD DEA0    WARM1  CD67   WARMD1 DE4A    
WARMDR DE18     WARMS  CD03   WIDCNT CC04    WOTMSG CC56    WRITE  DE03   
WARMDR DE18     WARMS  CD03   WIDCNT CC04    WOTMSG CC56    WRITE  DE03   
WRITSC DpoE6C WRKDRV CC0C    WRSECT D69F    WRTLP1 DE76    WRTLP2 DE81    
WRITSC DpoE6C WRKDRV CC0C    WRSECT D69F    WRTLP1 DE76    WRTLP2 DE81    
YEAR    CC10   Z0000  0000   Z0005  0005   Z0044  0044   Z00A0  00A0   
YEAR    CC10   Z0000  0000   Z0005  0005   Z0044  0044   Z00A0  00A0   
ZC07F   C07F   ZC0FF  C0FF   ZC712  C712   ZC719  C719   ZC71C  C71C   
ZC07F   C07F   ZC0FF  C0FF   ZC712  C712   ZC719  C719   ZC71C  C71C   
ZC71D   C71D   ZC71E  C71E   ZC71F  C71F   ZC721  C721   ZC738  Cqp738       
ZC71D   C71D   ZC71E  C71E   ZC71F  C71F   ZC721  C721   ZC738  Cqp738       
ZC73F   C73F   ZC747  C747   ZC76D  C76D   ZC777  C777   ZC779  C779   
ZC73F   C73F   ZC747  C747   ZC76D  C76D   ZC777  C777   ZC779  C779   
ZC785   C785   ZC791  C791   ZC795  C795   ZC79B  C79B   ZC7BC  C7BC   
ZC785   C785   ZC791  C791   ZC795  C795   ZC79B  C79B   ZC7BC  C7BC   
ZC7C3   C7C3   ZC7C7  C7C7   ZC7E3  C7E3   ZC7ED  C7ED   ZC7F6  C7F6   
ZC7C3   C7C3   ZC7C7  C7C7   ZC7E3  C7E3   ZC7ED  C7ED   ZC7F6  C7F6   
ZC800   C800   ZC810  C810   ZC838  C838   ZC844rq      C844   ZCA00  CA00   
ZC800   C800   ZC810  C810   ZC838  C838   ZC844rq      C844   ZCA00  CA00   
ZCA02   CA02   ZCA06  CA06   ZCA08  CA08   ZCA38  CA38   ZCA4C  CA4C   
ZCA02   CA02   ZCA06  CA06   ZCA08  CA08   ZCA38  CA38   ZCA4C  CA4C   
ZCA7B   CA7B   ZCA7E  CA7E   ZCA8E  CA8E   ZCAAC  CAAC   ZCAC0  CAC0   
ZCA7B   CA7B   ZCA7E  CA7E   ZCA8E  CA8E   ZCAAC  CAAC   ZCAC0  CAC0   
ZCACB   CACB   ZCAD9  CAD9   ZCADB  CADB   ZCC0D  CC0D   ZCC30  CC30   
ZCACB   CACB   ZCAD9  CAD9   ZCADB  CADB   ZCC0D  CC0D   ZCC30  CC30   
ZCC31   CC31   ZCC34  CC34   ZCsrC3D      CC3D   ZCC3F  CC3F   ZCC43  CC43   
ZCC31   CC31   ZCC34  CC34   ZCsrC3D      CC3D   ZCC3F  CC3F   ZCC43  CC43   
ZCC45   CC45   ZCC47  CC47   ZCC4A  CC4A   ZCC4B  CC4B   ZCC4C  CC4C   
ZCC45   CC45   ZCC47  CC47   ZCC4A  CC4A   ZCC4B  CC4B   ZCC4C  CC4C   
ZCC4D   CC4D   ZCCF8  CCF8   ZCCFC  CCFC   ZCD4E  CD4E   ZCD5B  CD5B   
ZCC4D   CC4D   ZCCF8  CCF8   ZCCFC  CCFC   ZCD4E  CD4E   ZCD5B  CD5B   
ZCD9D   CD9D   ZCDB8  CDB8   ZCDD3  CDD3   ZCDD6  CDD6   ZCDD9  CDD9   
ZCD9D   CD9D   ZCDB8  CDB8   ZCDD3  CDD3   ZCDD6  CDD6   ZCDD9  CDD9   
ZCDDE   CDDE   tsZCDE1      CDE1   ZCDE4  CDE4   ZCE05  CE05   ZCE06  CE06   
ZCDDE   CDDE   tsZCDE1      CDE1   ZCDE4  CDE4   ZCE05  CE05   ZCE06  CE06   
ZCE0A   CE0A   ZCE12  CE12   ZCE1E  CE1E   ZCE2A  CE2A   ZCE31  CE31   
ZCE0A   CE0A   ZCE12  CE12   ZCE1E  CE1E   ZCE2A  CE2A   ZCE31  CE31   
ZCE4A   CE4A   ZCE4F  CE4F   ZCE56  CE56   ZCE5D  CE5D   ZCE73  CE73   
ZCE4A   CE4A   ZCE4F  CE4F   ZCE56  CE56   ZCE5D  CE5D   ZCE73  CE73   
ZCE78   CE78   ZCE83  CE83   ZCE90  CE90   ZCE9E  CE9E   ZCEA1  CEA1ut       
ZCE78   CE78   ZCE83  CE83   ZCE90  CE90   ZCE9E  CE9E   ZCEA1  CEA1ut       
ZCED0   CED0   ZCED7  CED7   ZCEDC  CEDC   ZCEDE  CEDE   ZCEE1  CEE1   
ZCED0   CED0   ZCED7  CED7   ZCEDC  CEDC   ZCEDE  CEDE   ZCEE1  CEE1   
ZCEF0   CEF0   ZCEF6  CEF6   ZCEF8  CEF8   ZCEFA  CEFA   ZCF15  CF15   
ZCEF0   CEF0   ZCEF6  CEF6   ZCEF8  CEF8   ZCEFA  CEFA   ZCF15  CF15   
ZCF1A   CF1A   ZCF1D  CF1D   ZCF21  CF21   ZCF29  CF29   ZCF2F  CF2F   
ZCF1A   CF1A   ZCF1D  CF1D   ZCF21  CF21   ZCF29  CF29   ZCF2F  CF2F   
ZCF38   CF38   ZCF4F  CF4F   ZCF64  CF64   ZCF66  CvuF66       ZCF76  CF76   
ZCF38   CF38   ZCF4F  CF4F   ZCF64  CF64   ZCF66  CvuF66       ZCF76  CF76   
ZCF80   CF80   ZCF83  CF83   ZCF96  CF96   ZCFA3  CFA3   ZCFA6  CFA6   
ZCF80   CF80   ZCF83  CF83   ZCF96  CF96   ZCFA3  CFA3   ZCFA6  CFA6   
ZCFB2   CFB2   ZCFC9  CFC9   ZCFCE  CFCE   ZCFEA  CFEA   ZD005  D005   
ZCFB2   CFB2   ZCFC9  CFC9   ZCFCE  CFCE   ZCFEA  CFEA   ZD005  D005   
ZD00B   D00B   ZD019  D019   ZD032  D032   ZD05F  D05F   ZD074  D074   
ZD00B   D00B   ZD019  D019   ZD032  D032   ZD05F  D05F   ZD074  D074   
ZD077   D077   ZD079  D079   ZD07Cwv      D07C   ZD080  D080   ZD098  D098   
ZD077   D077   ZD079  D079   ZD07Cwv      D07C   ZD080  D080   ZD098  D098   
ZD09D   D09D   ZD0AB  D0AB   ZD0B2  D0B2   ZD0C4  D0C4   ZD0C7  D0C7   
ZD09D   D09D   ZD0AB  D0AB   ZD0B2  D0B2   ZD0C4  D0C4   ZD0C7  D0C7   
ZD0CA   D0CA   ZD0D4  D0D4   ZD0DA  D0DA   ZD0E4  D0E4   ZD100  D100   
ZD0CA   D0CA   ZD0D4  D0D4   ZD0DA  D0DA   ZD0E4  D0E4   ZD100  D100   
ZD109   D109   ZD132  D132   ZD13F  D13F   ZD153  D153   ZD159  D159   
ZD109   D109   ZD132  D132   ZD13F  D13F   ZD153  D153   ZD159  D159   
ZD15F   D15F   ZDxw16B      D16B   ZD172  D172   ZD178  D178   ZD1A5  D1A5   
ZD15F   D15F   ZDxw16B      D16B   ZD172  D172   ZD178  D178   ZD1A5  D1A5   
ZD1C0   D1C0   ZD1D5  D1D5   ZD1E4  D1E4   ZD1F4  D1F4   ZD1FD  D1FD   
ZD1C0   D1C0   ZD1D5  D1D5   ZD1E4  D1E4   ZD1F4  D1F4   ZD1FD  D1FD   
ZD200   D200   ZD20A  D20A   ZD21E  D21E   ZD224  D224   ZD22E  D22E   
ZD200   D200   ZD20A  D20A   ZD21E  D21E   ZD224  D224   ZD22E  D22E   
ZD240   D240   ZD248  D248   ZD254  D254   ZD26E  D26E   ZD27C  D27C   
yx
ZD240   D240   ZD248  D248   ZD254  D254   ZD26E  D26E   ZD27C  D27C   
yx
ZD299   D299   ZD2A9  D2A9   ZD2D7  D2D7   ZD2EB  D2EB   ZD2ED  D2ED   
ZD299   D299   ZD2A9  D2A9   ZD2D7  D2D7   ZD2EB  D2EB   ZD2ED  D2ED   
ZD2F5   D2F5   ZD309  D309   ZD31E  D31E   ZD323  D323   ZD32E  D32E   
ZD2F5   D2F5   ZD309  D309   ZD31E  D31E   ZD323  D323   ZD32E  D32E   
ZD33B   D33B   ZD34B  D34B   ZD354  D354   ZD361  D361   ZD3E5  D3E5   
ZD33B   D33B   ZD34B  D34B   ZD354  D354   ZD361  D361   ZD3E5  D3E5   
ZD3FD   D3FD   ZD400  D400   ZD40F  D40F   ZD411  D411zy       ZD412  D412   
ZD3FD   D3FD   ZD400  D400   ZD40F  D40F   ZD411  D411zy       ZD412  D412   
ZD413   D413   ZD414  D414   ZD415  D415   ZD417  D417   ZD418  D418   
ZD413   D413   ZD414  D414   ZD415  D415   ZD417  D417   ZD418  D418   
ZD41A   D41A   ZD41B  D41B   ZD41D  D41D   ZD436  D436   ZD44C  D44C   
ZD41A   D41A   ZD41B  D41B   ZD41D  D41D   ZD436  D436   ZD44C  D44C   
ZD451   D451   ZD459  D459   ZD45C  D45C   ZD483  D483   ZD499  D499   
ZD451   D451   ZD459  D459   ZD45C  D45C   ZD483  D483   ZD499  D499   
ZD4A7   D4A7   ZD4AC  D4AC   ZD4C4  D{z4C4       ZD4C6  D4C6   ZD4FA  D4FA   
ZD4A7   D4A7   ZD4AC  D4AC   ZD4C4  D{z4C4       ZD4C6  D4C6   ZD4FA  D4FA   
ZD503   D503   ZD50C  D50C   ZD515  D515   ZD51C  D51C   ZD525  D525   
ZD503   D503   ZD50C  D50C   ZD515  D515   ZD51C  D51C   ZD525  D525   
ZD52D   D52D   ZD533  D533   ZD537  D537   ZD540  D540   ZD549  D549   
ZD52D   D52D   ZD533  D533   ZD537  D537   ZD540  D540   ZD549  D549   
ZD54E   D54E   ZD559  D559   ZD55E  D55E   ZD56E  D56E   ZD57D  D57D   
ZD54E   D54E   ZD559  D559   ZD55E  D55E   ZD56E  D56E   ZD57D  D57D   
ZD5AC   D5AC   ZD5AF|{      D5AF   ZD5B4  D5B4   ZD5C2  D5C2   ZD5DC  D5DC   
ZD5AC   D5AC   ZD5AF|{      D5AF   ZD5B4  D5B4   ZD5C2  D5C2   ZD5DC  D5DC   
ZD5DF   D5DF   ZD5E1  D5E1   ZD5F0  D5F0   ZD5F5  D5F5   ZD600  D600   
ZD5DF   D5DF   ZD5E1  D5E1   ZD5F0  D5F0   ZD5F5  D5F5   ZD600  D600   
ZD607   D607   ZD60C  D60C   ZD61A  D61A   ZD620  D620   ZD638  D638   
ZD607   D607   ZD60C  D60C   ZD61A  D61A   ZD620  D620   ZD638  D638   
ZD63C   D63C   ZD63E  D63E   ZD640  D640   ZD64B  D64B   ZD655  D655   
ZD63C   D63C   ZD63E  D63E   ZD640  D640   ZD64B  D64B   ZD655  D655   
ZD}|65D       D65D   ZD65E  D65E   ZD668  D668   ZD670  D670   ZD685  D685   
ZD}|65D       D65D   ZD65E  D65E   ZD668  D668   ZD670  D670   ZD685  D685   
ZD69C   D69C   ZD6A9  D6A9   ZD6BD  D6BD   ZD6C9  D6C9   ZD6CC  D6CC   
ZD69C   D69C   ZD6A9  D6A9   ZD6BD  D6BD   ZD6C9  D6C9   ZD6CC  D6CC   
ZD6CF   D6CF   ZD6E5  D6E5   ZD6EA  D6EA   ZD6EF  D6EF   ZD6F2  D6F2   
ZD6CF   D6CF   ZD6E5  D6E5   ZD6EA  D6EA   ZD6EF  D6EF   ZD6F2  D6F2   
ZD6FC   D6FC   ZD70C  D70C   ZD713  D713   ZD714  D714   Z~}D72E      D72E   
ZD6FC   D6FC   ZD70C  D70C   ZD713  D713   ZD714  D714   Z~}D72E      D72E   
ZD73D   D73D   ZD73E  D73E   ZD74B  D74B   ZD772  D772   ZD782  D782   
ZD73D   D73D   ZD73E  D73E   ZD74B  D74B   ZD772  D772   ZD782  D782   
ZD786   D786   ZD787  D787   ZD799  D799   ZD79F  D79F   ZD7A2  D7A2   
ZD786   D786   ZD787  D787   ZD799  D799   ZD79F  D79F   ZD7A2  D7A2   
ZD7B0   D7B0   ZD7B8  D7B8   ZD7C8  D7C8   ZD7E7  D7E7   ZD7EF  D7EF   
ZD7B0   D7B0   ZD7B8  D7B8   ZD7C8  D7C8   ZD7E7  D7E7   ZD7EF  D7EF   
ZD7FB   D7FB   ZD7FC  D7FC   ZD825  D825~       ZD852  D852   ZD85D  D85D   
ZD7FB   D7FB   ZD7FC  D7FC   ZD825  D825~       ZD852  D852   ZD85D  D85D   
ZD865   D865   ZD875  D875   ZD881  D881   ZD892  D892   ZD8AA  D8AA   
ZD865   D865   ZD875  D875   ZD881  D881   ZD892  D892   ZD8AA  D8AA   
ZD8BB   D8BB   ZD8C5  D8C5   ZD8D3  D8D3   ZD8DF  D8DF   ZD8EA  D8EA   
ZD8BB   D8BB   ZD8C5  D8C5   ZD8D3  D8D3   ZD8DF  D8DF   ZD8EA  D8EA   
ZD8EB   D8EB   ZD8F6  D8F6   ZD8FE  D8FE   ZD900  D900   ZD905  D905   
ZD8EB   D8EB   ZD8F6  D8F6   ZD8FE  D8FE   ZD900  D900   ZD905  D905   
ZD916   D916   ZD917  D917       ZD929  D929   ZD933  D933   ZD935  D935   
ZD916   D916   ZD917  D917       ZD929  D929   ZD933  D933   ZD935  D935   
ZD936   D936   ZD946  D946   ZD947  D947   ZD957  D957   ZD983  D983   
ZD936   D936   ZD946  D946   ZD947  D947   ZD957  D957   ZD983  D983   
ZD985   D985   ZD9A0  D9A0   ZD9B3  D9B3   ZD9C6  D9C6   ZD9C8  D9C8   
ZD985   D985   ZD9A0  D9A0   ZD9B3  D9B3   ZD9C6  D9C6   ZD9C8  D9C8   
ZD9C9   D9C9   ZD9CD  D9CD   ZD9CF  D9CF   ZD9E8  D9E8   ZDA00  DA00   
ZD9C9   D9C9   ZD9CD  D9CD   ZD9CF  D9CF   ZD9E8  D9E8   ZDA00  DA00   
ZDA0A       DA0A   ZDA40  DA40   ZDA5E  DA5E   ZDA61  DA61   ZDA76  DA76   
ZDA0A       DA0A   ZDA40  DA40   ZDA5E  DA5E   ZDA61  DA61   ZDA76  DA76   
ZDA99   DA99   ZDA9A  DA9A   ZDAA7  DAA7   ZDAAE  DAAE   ZDAB1  DAB1   
ZDA99   DA99   ZDA9A  DA9A   ZDAA7  DAA7   ZDAAE  DAAE   ZDAB1  DAB1   
ZDAC2   DAC2   ZDACB  DACB   ZDAD3  DAD3   ZDADD  DADD   ZDAEE  DAEE   
ZDAC2   DAC2   ZDACB  DACB   ZDAD3  DAD3   ZDADD  DADD   ZDAEE  DAEE   
ZDAF6   DAF6   ZDAF8  DAF8   ZDB1F  DB1F   ZDB26  DB26   ZDB27      DB27   
ZDAF6   DAF6   ZDAF8  DAF8   ZDB1F  DB1F   ZDB26  DB26   ZDB27      DB27   
ZDB3A   DB3A   ZDB59  DB59   ZDB5D  DB5D   ZDB5E  DB5E   ZDB63  DB63   
ZDB3A   DB3A   ZDB59  DB59   ZDB5D  DB5D   ZDB5E  DB5E   ZDB63  DB63   
ZDB6B   DB6B   ZDB85  DB85   ZDB8F  DB8F   ZDB93  DB93   ZDB95  DB95   
ZDB6B   DB6B   ZDB85  DB85   ZDB8F  DB8F   ZDB93  DB93   ZDB95  DB95   
ZDBA1   DBA1   ZDBA2  DBA2   ZDBA7  DBA7   ZDBAE  DBAE   ZDBB9  DBB9   
ZDBA1   DBA1   ZDBA2  DBA2   ZDBA7  DBA7   ZDBAE  DBAE   ZDBB9  DBB9   
ZDBC1   DBC1   ZDBCD  DBCD   ZDBD3  DBD3   ZDBD5      DBD5   ZDC05  DC05   
ZDBC1   DBC1   ZDBCD  DBCD   ZDBD3  DBD3   ZDBD5      DBD5   ZDC05  DC05   
ZDC19   DC19   ZDC31  DC31   ZDC39  DC39   ZDC3A  DC3A   ZDC3E  DC3E   
ZDC19   DC19   ZDC31  DC31   ZDC39  DC39   ZDC3A  DC3A   ZDC3E  DC3E   
ZDC40   DC40   ZDC43  DC43   ZDC4F  DC4F   ZDC63  DC63   ZDC7F  DC7F   
ZDC40   DC40   ZDC43  DC43   ZDC4F  DC4F   ZDC63  DC63   ZDC7F  DC7F   
ZDC82   DC82   ZDC87  DC87   ZDC97  DC97   ZDC98  DC98   ZDCAB  DCAB   
ZDC82   DC82   ZDC87  DC87   ZDC97  DC97   ZDC98  DC98   ZDCAB  DCAB   
ZDCC0   DCC0   ZDCD7  DCD7       ZDCF8  DCF8   ZDD0A  DD0A   ZDD0E  DD0E   
ZDCC0   DCC0   ZDCD7  DCD7       ZDCF8  DCF8   ZDD0A  DD0A   ZDD0E  DD0E   
ZDD0F   DD0F   ZDD22  DD22   ZDD50  DD50   ZDD62  DD62   ZDD7A  DD7A   
ZDD0F   DD0F   ZDD22  DD22   ZDD50  DD50   ZDD62  DD62   ZDD7A  DD7A   
ZDD7F   DD7F   ZDD85  DD85   ZDD9A  DD9A   ZDD9C  DD9C   ZDD9E  DD9E   
ZDD7F   DD7F   ZDD85  DD85   ZDD9A  DD9A   ZDD9C  DD9C   ZDD9E  DD9E   
ZDD9F   DD9F   ZDDAA  DDAA   ZDDAC  DDAC   ZDDAD  DDAD   ZDDB2  DDB2   
ZDD9F   DD9F   ZDDAA  DDAA   ZDDAC  DDAC   ZDDAD  DDAD   ZDDB2  DDB2   
ZDDD0   D     DD0   ZDDD3  DDD3   ZDDD6  DDD6   
ZDDD0   D     DD0   ZDDD3  DDD3   ZDDD6  DDD6   
*
** 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_SCNT    EQU CF_BASE+2
CF_SNUM      EQU CF_BASE+3
CF_CLO   EQU CF_BASE+4
CF_CHI   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_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_CHI
        LDB    #$01
  STB    CF_SCNT
       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    RDL P2
*
   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
  
*
** 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_SCNT    EQU CF_BASE+2
CF_SNUM      EQU CF_BASE+3
CF_CLO   EQU CF_BASE+4
CF_CHI   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_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_CHI
        LDB    #$01
  STB    CF_SCNT
       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    RDL P2
*
   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


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


        4      *
        4      *
        5      ***************************************************
        5      ***************************************************
        6      *      MEMORY MAP EQUATES     *
        6      *      MEMORY MAP EQUATES     *
        7      ***************************************************
        7      ***************************************************
        8      E000   MONIO  EQU    $E000  I/O SPACE
        8      E000   MONIO  EQU    $E000  I/O SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        10     F800       MONROM EQU    $F800  START OF ROM
        10     F800       MONROM EQU    $F800  START OF ROM
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        13     *
        13     *
        14     ***************************************************
        14     ***************************************************
        15     *      SYS09BUG VARIABLE SPACE
        15     *      SYS09BUG VARIABLE SPACE
        16     ***************************************************
        16     ***************************************************
        17     *
        17     *
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 

        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 

        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        25     DFCE   SVCVL  EQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        25     DFCE   SVCVL  EQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT TABLE BASE ADDR
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT TABLE BASE ADDR
        30     **************************************************
        30     **************************************************
        31     *      VDU BYTES      $*
        31     *      VDU BYTES      $*
        32     **************************************************
        32     **************************************************
        33     *
        33     *
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        35     DFFB   COLADX EQU    MONRAM+59 CURSOR COLUMN
        35     DFFB   COLADX EQU    MONRAM+59 CURSOR COLUMN
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        37     **************************************************
        37     **************************************************
        38     *
        38     *
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVE
        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVE
        41     *
        41     *
        42     ***************************************************
        42     ***************************************************
        43     *      SERIAL PORT    #*
        43     *      SERIAL PORT    #*
        44     ***************************************************
        44     ***************************************************
        45     *
        45     *
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        47     *
        47     *
        48     ***********************     ****************************
        48     ***********************     ****************************
        49     *      PS/2 KEYBOARD PORT     *
        49     *      PS/2 KEYBOARD PORT     *
        50     ***************************************************
        50     ***************************************************
        51     *
        51     *
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        53     *
        53     *
        54     **************************************************
        54     **************************************************
*
*
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        56     ***************************************************
        56     ***************************************************
        57     *
        57     *
        58     ** VIDEO DISPLAY DEFINITIONS
        58     ** VIDEO DISPLAY DEFINITIONS
        59     *
        59     *
        60     E030   VDU    EQU    MONIO+$30
        60     E030   VDU    EQU    MONIO+$30
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        62     0001   VDUATT     EQU    1              ATTRIBUTE REGISTER
        62     0001   VDUATT     EQU    1              ATTRIBUTE REGISTER
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        64     0003   VDUROW EQU    3              CURSOR ROW
        64     0003   VDUROW EQU    3              CURSOR ROW
        65     0004   VDUOFF EQU    4              ROW OFFSET
        65     0004   VDUOFF EQU    4              ROW OFFSET
        66     *
        66     *
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        68     0019   NUMLIN EQU    25     NUMBER OF LINES
        68     0019   NUMLIN EQU    25     NUMBER OF LINES
        69     *
        69     *
        70     ***************************************************
        70     ***************************************************
        71     * Serial PROM register
        71     * Serial PROM register
        72     ***************************************************
        72     ***************************************************
        73     *
        73     *
        74     ** CONFIGURATION PROM DEFINITIONS
        74     ** CONFIGURATION PROM DEFINITIONS
        75     *
        75     *
        76     E0C0   PROMREG EQU    
MONIO+$C0
        76     E0C0   PROMREG EQU    
MONIO+$C0
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        81     AA55   SYNCHI EQU    $AA55      Synch Pattern High Word
        81     AA55   SYNCHI EQU    $AA55      Synch Pattern High Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        83     *
        83     *
        84     *
        84     *
        85     ***************************************************
        85     ***************************************************
        86     * Dynamic Address Translation Registers
        86     * Dynamic Address Translation Registers
        87     ***************************************************
        87     ***************************************************
        88     *
        88     *
        89     ** DAT Table
        89     ** DAT Table
        90     *
        90     *
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        92     *
        92     *
        93     ***************************************************
        93     ***************************************************
        94     *      START OF ROM   "*
        94     *      START OF ROM   "*
        95     ***************************************************
        95     ***************************************************
        96     *
        96     *
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        107    END
        107    END
        108        
        108        
        110    0000   Z0000  EQU    $0000
        110    0000   Z0000  EQU    $0000
        111    0005   Z0005  EQU    $0005
        111    0005   Z0005  EQU    $0005
        112    0044   Z0044  EQU    $0044
        112    0044   Z0044  EQU    $0044
        113    00A0   Z00A0  EQU    $00A0
        113    00A0   Z00A0  EQU    $00A0
        114    C07F   ZC07F  EQU    $C07F
        114    C07F   ZC07F  EQU    $C07F
        115    C080   LINBUF EQU    $C080
        115    C080   LINBUF EQU    $C080
        116    C0FF   ZC0FF  EQU    $C0FF
        116    C0FF   ZC0FF  EQU    $C0FF
        117    END
        117    END
        119    *
        119    *
    120    ** PRINTER SPOOLING
    120    ** PRINTER SPOOLING
        121    *
        121    *
        122    C700   ORG    $C700
        122    C700   ORG    $C700
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        124    >C703 7E       C703   PRSPL2 JMP    *
        124    >C703 7E       C703   PRSPL2 JMP    *
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        127    C70C 7E        C795   PRSPL5     JMP    ZC795
        127    C70C 7E        C795   PRSPL5     JMP    ZC795
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        129    *
        129    *
        130    ** SPOOLER SCRATCH AREA
        130    ** SPOOLER SCRATCH AREA
        131    *
        131    *
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        134    C71B 00        QCNT   FCB    $00
        134    C71B 00        QCNT   FCB    $00
        135    C71C 00        ZC71C  FCB    $00
        135    C71C 00        ZC71C  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        138    *
        138    *
        139    C71F 3B        ZC71F  RTI
        139    C71F 3B        ZC71F  RTI
        140    C720 12        NOP
        140    C720 12        NOP
        141    *
        141    *
        142    C721 1A        10     ZC721  ORCC   #$10
        142    C721 1A        10     ZC721  ORCC   #$10
        143    C723 BE        CC31   
LDX    ZCC31
        143    C723 BE        CC31   
LDX    ZCC31
        144    C726 10EF 02       STS    2,X
        144    C726 10EF 02       STS    2,X
        145    C729 7D        CC34   
TST    ZCC34
        145    C729 7D        CC34   
TST    ZCC34
        146    C72C 26        11     BNE    ZC73F
        146    C72C 26        11     BNE    ZC73F
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        148    C731 7C        CC34   
INC    ZCC34
        148    C731 7C        CC34   
INC    ZCC34
        149    C734 6D        84     TST    ,X
        149    C734 6D        84     TST    ,X
        150    C736 27        07     BEQ    ZC73F
        150    C736 27        07     BEQ    ZC73F
        151    C738 BF        CC31   ZC738  STX    ZCC31
        151    C738 BF        CC31   ZC738  STX    ZCC31
        152    C73B 10EE 02   LDS    $02,X
        152    C73B 10EE 02   LDS    $02,X
        153    C73E 3B        RTI
        153    C73E 3B        RTI
        154    *
        154    *
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        156    C742 7F        CC34   
CLR    ZCC34
        156    C742 7F        CC34   
CLR    ZCC34
        157    C745 20        F1     BRA    ZC738
        157    C745 20        F1     BRA    ZC738
        158    *
        158    *
        159    C747 1A        10     ZC747  ORCC   #$10
        159    C747 1A        10     ZC747  ORCC   #$10
        160    C749 7D        C71B   
TST        QCNT
        160    C749 7D        C71B   
TST        QCNT
        161    C74C 27        29     BEQ    ZC777
        161    C74C 27        29     BEQ    ZC777
        162    C74E BE        C719   
LDX    ZC719
        162    C74E BE        C719   
LDX    ZC719
        163    C751 A6        84     LDA    ,X
        163    C751 A6        84     LDA    ,X
        164    C753 34        02     PSHS   A
        164    C753 34        02     PSHS   A
        165    C755 EC        01     LDD    $01,X
        165    C755 EC        01     LDD    $01,X
        166    C757 8E        CAC0   
LDX    #ZCAC0
        166    C757 8E        CAC0   
LDX    #ZCAC0
        167    C75A ED        88 40  STD    $40,X
        167    C75A ED        88 40  STD    $40,X
        168    C75D 35        02 PULS   A
        168    C75D 35        02 PULS   A
        169    C75F A7        03     STA    $03,X
        169    C75F A7        03     STA    $03,X
        170    C761 6F        84     CLR    ,X
        170    C761 6F        84     CLR    ,X
        171    C763 86        01     LDA    #$01
        171    C763 86        01     LDA    #$01
        172    C765 A7        02     STA    $02,X
        172    C765 A7        02     STA    $02,X
        173    C767 6F        88 22  CLR    $22,X
        173    C767 6F        88 22  CLR    $22,X
        174    C76A 6F        88 3B  CLR    $3B,X
        174    C76A 6F        88 3B  CLR    $3B,X
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        176        C770 27        29     BEQ    ZC79B
        176        C770 27        29     BEQ    ZC79B
        177    C772 113F      SWI3
        177    C772 113F      SWI3
        178    C774 12        NOP
        178    C774 12        NOP
        179    C775 20        F6     BRA    ZC76D
        179    C775 20        F6     BRA    ZC76D
        180    *
        180    *
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        183    C77D 7F        CCFC   
CLR    ZCCFC
        183    C77D 7F        CCFC   
CLR    ZCCFC
        184    C780 113F      SWI3
        184    C780 113F      SWI3
        185    C782 12        NOP
        185    C782 12        NOP
        186    C783 20        F4     BRA    ZC779
        186    C783 20        F4     BRA    ZC779
        187    *
        187    *
        188    C785 1A        10     ZC785  ORCC   #$10
        188    C785 1A        10     ZC785  ORCC   #$10
        189    C787 7D        CC30   
TST    ZCC30
        189    C787 7D        CC30   
TST    ZCC30
        190    C78A 27        05     BEQ    ZC791
        190    C78A 27        05     BEQ    ZC791
        191    C78C 113F      SWI3
        191    C78C 113F      SWI3
        192    C78E 12        NOP
        192    C78E 12        NOP
        193    C78F 20        F4     BRA    ZC785
        193    C78F 20        F4     BRA    ZC785
    194    *
    194    *
        195    C791 7C        CC30   ZC791  INC    ZCC30
        195    C791 7C        CC30   ZC791  INC    ZCC30
        196    C794 39        RTS
        196    C794 39        RTS
        197    *
        197    *
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        199    C798 1C        EF     ANDCC  #$EF
        199    C798 1C        EF     ANDCC  #$EF
        200    C79A 39        RTS
        200    C79A 39        RTS
        201    *
        201    *
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        203    C79E 26        27     BNE    ZC7C7
        203    C79E 26        27     BNE    ZC7C7
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        205    C7A3 BD        D406   
JSR    FMS
        205    C7A3 BD        D406   
JSR    FMS
        206    C7A6 26        1F     BNE    ZC7C7
        206    C7A6 26        1F     BNE    ZC7C7
        207    C7A8 7D        C71C   
TST    ZC71C
        207    C7A8 7D        C71C   
TST    ZC71C
        208    C7AB 27        0F     BEQ    ZC7BC
        208    C7AB 27        0F     BEQ    ZC7BC
        209    C7AD 7F        C71C   
CLR    ZC71C
        209    C7AD 7F        C71C   
CLR    ZC71C
        210    C7B0 81        0A     CMPA   #$0A
        210    C7B0 81        0A     CMPA   #$0A
        211    C7B2 27    0F     BEQ    ZC7C3
        211    C7B2 27    0F     BEQ    ZC7C3
        212    C7B4 34        02     PSHS   A
        212    C7B4 34        02     PSHS   A
        213    C7B6 86        0A     LDA    #$0A
        213    C7B6 86        0A     LDA    #$0A
        214    C7B8 8D        3C     BSR    ZC7F6
        214    C7B8 8D        3C     BSR    ZC7F6
        215    C7BA 35        02     PULS   A
        215    C7BA 35        02     PULS   A
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        217    C7BE 26        03     BNE    ZC7C3
        217    C7BE 26        03     BNE    ZC7C3
        218    C7C0 B7        C71C   
STA    ZC71C
        218    C7C0 B7        C71C   
STA    ZC71C
        219    ~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
        219    ~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~C7C3 8D      31     ZC7C3  BSR    ZC7F6
'"m'j~G0@&z~C7C3 8D      31     ZC7C3  BSR    ZC7F6
        220    C7C5 20        D4     BRA    ZC79B
        220    C7C5 20        D4     BRA    ZC79B
        221    *
        221    *
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        223    C7C9 8D        2B     BSR    ZC7F6
        223    C7C9 8D        2B     BSR    ZC7F6
        224    C7CB 86        0A     LDA    #$0A
        224    C7CB 86        0A     LDA    #$0A
        225    C7CD 8D        27     BSR    ZC7F6
        225    C7CD 8D        27     BSR    ZC7F6
        226    C7CF B6        C712   
LDA    ZC712
        226    C7CF B6        C712   
LDA    ZC712
        227    C7D2  8D    22     BSR    ZC7F6
        227    C7D2  8D    22     BSR    ZC7F6
        228    C7D4 7F        C71D   
CLR    ZC71D
        228    C7D4 7F        C71D   
CLR    ZC71D
        229    C7D7 BE        C719   
LDX    ZC719
        229    C7D7 BE        C719   
LDX    ZC719
        230    C7DA 6D        03     TST    $03,X
        230    C7DA 6D        03     TST    $03,X
        231    C7DC 27        05     BEQ    ZC7E3
        231    C7DC 27        05     BEQ    ZC7E3
        232    C7DE 6A        03     DEC    $03,X
        232    C7DE 6A        03     DEC    $03,X
        233    C7E0 7E        C747   
JMP    ZC747
        233    C7E0 7E        C747   
JMP    ZC747
        234    *
        234    *
        235    C7E3 30        04     ZC7!E3      LEAX   $04,X
        235    C7E3 30        04     ZC7!E3      LEAX   $04,X
        236    C7E5 8C        C840   
CMPX   #FCB
        236    C7E5 8C        C840   
CMPX   #FCB
        237    C7E8 26        03     BNE    ZC7ED
        237    C7E8 26        03     BNE    ZC7ED
        238    C7EA 8E        C810   
LDX    #ZC810
        238    C7EA 8E        C810   
LDX    #ZC810
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        240    C7F0 7A        C71B   
DEC    QCNT
        240    C7F0 7A        C71B   
DEC    QCNT
        241    C7F3 7E        C747   
JMP    ZC747
        241    C7F3 7E        C747   
JMP    ZC747
        242    *
        242    *
        243    C7F6 BD        "CCD8       ZC7F6  JSR    PCHK
        243    C7F6 BD        "CCD8       ZC7F6  JSR    PCHK
        244    C7F9 2B        05     BMI    ZC800
        244    C7F9 2B        05     BMI    ZC800
        245    C7FB 113F      SWI3
        245    C7FB 113F      SWI3
        246    C7FD 12        NOP
        246    C7FD 12        NOP
        247    C7FE 20        F6     BRA    ZC7F6
        247    C7FE 20        F6     BRA    ZC7F6
        248    *
        248    *
        249    C800 7E        CCE4   ZC800  JMP    POUT
        249    C800 7E        CCE4   ZC800  JMP    POUT
        250    C810   ZC810  EQU    $C810
        250    C810   ZC810  EQU    $C810
        251    C838   ZC838  EQU    $C838
        251    C838   ZC838  EQU    $C838
        252#        END
        252#        END
        254    *
        254    *
        255    ** SYSTEM FILE CONTROL BLOCK
        255    ** SYSTEM FILE CONTROL BLOCK
        256    *
        256    *
        257    C840   ORG    $C840
        257    C840   ORG    $C840
        258    C840 FF        FCB    FCB    $FF
        258    C840 FF        FCB    FCB    $FF
        259    C841 00        FCB    $00
        259    C841 00        FCB    $00
        260    C842 00        FCB    $00
        260    C842 00        FCB    $00
        261    C843 00        FCB    $00
        261    C843 00        FCB    $00
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        263    G+? ~@STARTUPTXT ʬ99+0
        263    G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%$C84B 00        FCB    $00

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%$C84B 00        FCB    $00
        264    C84C 54 58 54  FCC    "TXT"
        264    C84C 54 58 54  FCC    "TXT"
        265    C84F 00        FCB    $00
        265    C84F 00        FCB    $00
        266    END
        266    END
        267    
        267    
        269    *
        269    *
        270    ** FLEX INITIATION
        270    ** FLEX INITIATION
        271    *
        271    *
        272    CA00   ORG    $CA00
        272    CA00   ORG    $CA00
        273    CA00 20        06     ZCA00  BRA    ZCA08
        273    CA00 20        06     ZCA00  BRA    ZCA08
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAAC%
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAAC%
        275    CA05 39        RTS
        275    CA05 39        RTS
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        277    CA08 86        39     ZCA08  LDA    #$39
        277    CA08 86        39     ZCA08  LDA    #$39
        278    CA0A B7        D3FD   
STA    >ZD3FD
        278    CA0A B7        D3FD   
STA    >ZD3FD
        279    CA0D BE        CC2B   
LDX    >MEMEND
        279    CA0D BE        CC2B   
LDX    >MEMEND
        280    CA10 30        89 00A1
        280    CA10 30        89 00A1
LEAX    $00A1,X
LEAX    $00A1,X
        281    CA14 BF        CA06   
STX    >ZCA06
        281    CA14 BF        CA06   
STX    >ZCA06
        282    &CA17 AD    9F D3F1
        282    &CA17 AD    9F D3F1
JSR     [TINVEC]
JSR     [TINVEC]
        283    CA1B BE        D3FB   
LDX    >INVEC
        283    CA1B BE        D3FB   
LDX    >INVEC
        284    CA1E BF        CD0A   
STX    >INCH+1
        284    CA1E BF        CD0A   
STX    >INCH+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        287    CA27 BF        CD10   
STX    >OUTCH+1
        287    CA27 BF        CD10   
STX    >OUTCH+1
        288    CA2A BF        CD13   
STX    >OUTCH2+1
'
        288    CA2A BF        CD13   
STX    >OUTCH2+1
'
        289    CA2D BE        D3F7   
LDX    >STAVEC
        289    CA2D BE        D3F7   
LDX    >STAVEC
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        291    CA33 8E        00A0   
LDX    #Z00A0
        291    CA33 8E        00A0   
LDX    #Z00A0
        292    CA36 C6        B9     LDB    #$B9
        292    CA36 C6        B9     LDB    #$B9
        293    CA38 A6        84     ZCA38  LDA    ,X
        293    CA38 A6        84     ZCA38  LDA    ,X
        294    CA3A E7        84     STB    ,X
        294    CA3A E7        84     STB    ,X
        295    CA3C 12        NOP
        295    CA3C 12        NOP
        296    CA3D E1        84     CMPB   (,X
        296    CA3D E1        84     CMPB   (,X
        297    CA3F 26        0B     BNE    ZCA4C
        297    CA3F 26        0B     BNE    ZCA4C
        298    CA41 A7        84     STA    ,X
        298    CA41 A7        84     STA    ,X
        299    CA43 30        89 0400
        299    CA43 30        89 0400
LEAX    $0400,X
LEAX    $0400,X
        300    CA47 BC        CA06   
CMPX   >ZCA06
        300    CA47 BC        CA06   
CMPX   >ZCA06
        301    CA4A 26        EC     BNE    ZCA38
        301    CA4A 26        EC     BNE    ZCA38
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        303    CA50 BF        CC2B   
STX    >MEME)ND
        303    CA50 BF        CC2B   
STX    >MEME)ND
        304    CA53 8E        CD03   
LDX    #WARMS
        304    CA53 8E        CD03   
LDX    #WARMS
        305    CA56 BF        CC16   
STX    >ESCVEC
        305    CA56 BF        CC16   
STX    >ESCVEC
        306    CA59 8E        CADC   
LDX    #TTLSTR
        306    CA59 8E        CADC   
LDX    #TTLSTR
        307    CA5C BD        CE81   
JSR    >PSTRG1
        307    CA5C BD        CE81   
JSR    >PSTRG1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        309    CA62 8D        9E     BSR    ZCA02
        309    CA62 8D        9E     BSR    ZCA02
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        *311        CA67 8E        C840   
LDX    #FCB
        *311        CA67 8E        C840   
LDX    #FCB
        312    CA6A 86        01     LDA    #$01
        312    CA6A 86        01     LDA    #$01
        313    CA6C A7        84     STA    ,X
        313    CA6C A7        84     STA    ,X
        314    CA6E BD        D406   
JSR    >FMS
        314    CA6E BD        D406   
JSR    >FMS
        315    CA71 27        08     BEQ    ZCA7B
        315    CA71 27        08     BEQ    ZCA7B
        316    CA73 A6        01     LDA    $01,X
        316    CA73 A6        01     LDA    $01,X
        317    CA75 BD        D200   
JSR    >ZD200
        317    CA75 BD        D200   
JSR    >ZD200
        318    CA78 7E        CD67   
JMP    >+WARM1
        318    CA78 7E        CD67   
JMP    >+WARM1
        319    
        319    
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        322    CA81 8E        C840   
LDX    #FCB
        322    CA81 8E        C840   
LDX    #FCB
        323    CA84 BD        D406   
JSR    >FMS
        323    CA84 BD        D406   
JSR    >FMS
        324    CA87 27        05     BEQ    ZCA8E
        324    CA87 27        05     BEQ    ZCA8E
        325    CA89 34        30     PSHS   Y,X
        325    CA89 34        30     PSHS   Y,X
        326    CA8B 7E        D2D7   ,
JMP        >ZD2D7
        326    CA8B 7E        D2D7   ,
JMP        >ZD2D7
        327    
        327    
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        329    CA91 A7        80     STA    ,X+
        329    CA91 A7        80     STA    ,X+
        330    CA93 81        0D     CMPA   #$0D
        330    CA93 81        0D     CMPA   #$0D
        331    CA95 26        E7     BNE    ZCA7E
        331    CA95 26        E7     BNE    ZCA7E
        332    CA97 8E        C840   
LDX    #FCB
        332    CA97 8E        C840   
LDX    #FCB
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        334    CA9D 8E        C080   
LD-X        #LINBUF
        334    CA9D 8E        C080   
LD-X        #LINBUF
        335    CAA0 BF        CC14   
STX    >LINPTR
        335    CAA0 BF        CC14   
STX    >LINPTR
        336    CAA3 8E        CD67   
LDX    #WARM1
        336    CAA3 8E        CD67   
LDX    #WARM1
        337    CAA6 BF        CC43   
STX    >ZCC43
        337    CAA6 BF        CC43   
STX    >ZCC43
        338    CAA9 7E        D32E   
JMP    >ZD32E
        338    CAA9 7E        D32E   
JMP    >ZD32E
        339    
        339    
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        341    CAAF BD        CE81   
JSR    >PSTRG1
        341    CAAF BD        CE81   
JSR    >PSTRG1
        342    CAB2. BD    CE2B   
JSR    >INBUF1
        342    CAB2. BD    CE2B   
JSR    >INBUF1
        343    CAB5 8D        14     BSR    ZCACB
        343    CAB5 8D        14     BSR    ZCACB
        344    CAB7 25        F3     BCS    ZCAAC
        344    CAB7 25        F3     BCS    ZCAAC
        345    CAB9 B7        CC0E   
STA    >MONTH
        345    CAB9 B7        CC0E   
STA    >MONTH
        346    CABC 8D        0D     BSR    ZCACB
        346    CABC 8D        0D     BSR    ZCACB
        347    CABE 25        EC     BCS    ZCAAC
        347    CABE 25        EC     BCS    ZCAAC
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        349    CAC3 8D        06     BSR    /ZCACB
        349    CAC3 8D        06     BSR    /ZCACB
        350    CAC5 25        E5     BCS    ZCAAC
        350    CAC5 25        E5     BCS    ZCAAC
        351    CAC7 B7        CC10   
STA    >YEAR
        351    CAC7 B7        CC10   
STA    >YEAR
        352    CACA 39        RTS
        352    CACA 39        RTS
        353    
        353    
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        355    CACE 25        0B     BCS    ZCADB
        355    CACE 25        0B     BCS    ZCADB
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        357    CAD3 5D        TSTB
        357    CAD3 5D        TSTB
        358    CAD4 207    03     BEQ    ZCAD9
        358    CAD4 207    03     BEQ    ZCAD9
        359    CAD6 1C        FE     ANDCC  #$FE
        359    CAD6 1C        FE     ANDCC  #$FE
        360    CAD8 39        RTS
        360    CAD8 39        RTS
        361    
        361    
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        363    CADB 39        ZCADB  RTS
        363    CADB 39        ZCADB  RTS
        364    
        364    
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        366    CAEB 04        FCB    $04
        366    CAEB 04        FCB    $04
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        368    CAFD 04        FCB    $04
        368    CAFD 04        FCB    $04
        369    END
        369    END
        371    *
        371    *
        372    ** TTYSET PARAMETERS
        372    ** TTYSET PARAMETERS
        373    *
        373    *
        374    CC00   ORG    $CC00
        374    CC00   ORG    $CC00
        375    CC00 08        BSPCHR FCB    $08
        375    CC00 08        BSPCHR FCB    $08
        376    CC01 18        DELCHR FCB    $18
        376    CC01 18        DELCHR FCB    $18
        377    CC02 3A        EOLCHR ]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
        377    CC02 3A        EOLCHR ]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~2FCB    $3A
~W~g~ͱ~ ~~~~~A~+~΁~~ε~2FCB    $3A
        378    CC03 19        DEPCNT FCB    25
        378    CC03 19        DEPCNT FCB    25
        379    CC04 00        WIDCNT FCB    $00
        379    CC04 00        WIDCNT FCB    $00
        380    CC05 04        NULCNT FCB    $04
        380    CC05 04        NULCNT FCB    $04
        381    CC06 40        TABCHR FCB    '@
        381    CC06 40        TABCHR FCB    '@
        382    CC07 00        BSECHR FCB    $00
        382    CC07 00        BSECHR FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        384    CC09 FF        PAUSE  FCB    $FF
        384    CC09 FF        PAUSE  FCB    $FF
        385    3CC0A 1B    ESCCHR FCB    $1B
        385    3CC0A 1B    ESCCHR FCB    $1B
        386    CC0B 00        SYSDRV FCB    0
        386    CC0B 00        SYSDRV FCB    0
        387    CC0C 01        WRKDRV FCB    1
        387    CC0C 01        WRKDRV FCB    1
        388    CC0D 00        ZCC0D  FCB    $00
        388    CC0D 00        ZCC0D  FCB    $00
        389    CC0E   DATERG EQU    *
        389    CC0E   DATERG EQU    *
        390    CC0E 00        MONTH  FCB    $00
        390    CC0E 00        MONTH  FCB    $00
        391    CC0F 00        DAY    FCB    $00
        391    CC0F 00        DAY    FCB    $00
        392    CC10 00        YEAR   FCB    $00
        392    CC10 00        YEAR   FCB    $00
        3493        CC11 00        LASTRM FCB    $00
        3493        CC11 00        LASTRM FCB    $00
        394    CC12 0000
        394    CC12 0000
UCTVEC  FDB    $0000
UCTVEC  FDB    $0000
        395    CC14 0000
        395    CC14 0000
LINPTR  FDB    $0000
LINPTR  FDB    $0000
        396    CC16 0000
        396    CC16 0000
ESCVEC  FDB    $0000
ESCVEC  FDB    $0000
        397    CC18 00        CURCHR FCB    $00
        397    CC18 00        CURCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        4005        CC1B 0000
        4005        CC1B 0000
LODOFF  FDB    $0000
LODOFF  FDB    $0000
        401    CC1D 00        TRNFLG FCB    $00
        401    CC1D 00        TRNFLG FCB    $00
        402    CC1E 0000
        402    CC1E 0000
TRNVEC  FDB    $0000
TRNVEC  FDB    $0000
        403    CC20 00        ERRTYP FCB    $00
        403    CC20 00        ERRTYP FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        407    CC246 0000
        407    CC246 0000
FOPADR  FDB    $0000
FOPADR  FDB    $0000
        408    CC26 0000
        408    CC26 0000
FIPADR  FDB    $0000
FIPADR  FDB    $0000
        409    CC28 00        CMDFLG FCB    $00
        409    CC28 00        CMDFLG FCB    $00
        410    CC29 00        CURCOL FCB    $00
        410    CC29 00        CURCOL FCB    $00
        411    CC2A 00        FCB    $00
        411    CC2A 00        FCB    $00
        412    CC2B BFFF
        412    CC2B BFFF
MEMEND  FDB    $BFFF
MEMEND  FDB    $BFFF
        413    CC2D 0000
        413    CC2D 0000
ERRVEC  FDB    $0000
ERRVEC  FDB    $0000
        414    CC2F 01        F7IEFLG     FCB    $01
        414    CC2F 01        F7IEFLG     FCB    $01
        415    CC30 00        ZCC30  FCB    $00
        415    CC30 00        ZCC30  FCB    $00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        418    CC3D   ZCC3D  EQU    $CC3D
        418    CC3D   ZCC3D  EQU    $CC3D
        419    CC3F   ZCC3F  EQU    $CC3F
        419    CC3F   ZCC3F  EQU    $CC3F
        420    CC43   ZCC43  EQU    8$CC43
        420    CC43   ZCC43  EQU    8$CC43
        421    CC45   ZCC45  EQU    $CC45
        421    CC45   ZCC45  EQU    $CC45
        422    CC47   ZCC47  EQU    $CC47
        422    CC47   ZCC47  EQU    $CC47
        423    CC49   ORG    $CC49
        423    CC49   ORG    $CC49
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        425    CC4A   ZCC4A  EQU    $CC4A
        425    CC4A   ZCC4A  EQU    $CC4A
        426    CC4B   ZCC4B  EQU    $CC4B
        426    CC4B   ZCC4B  EQU    $CC4B
        427    CC4C   ZCC4C  EQU    $CC4C
        427    CC4C   ZCC4C  EQU    $CC4C
        4928        CC4D   ZCC4D  EQU    $CC4D
        4928        CC4D   ZCC4D  EQU    $CC4D
        429    END
        429    END
        431    *
        431    *
        432    ** STRINGS AND MESSAGES
        432    ** STRINGS AND MESSAGES
        433    *
        433    *
        434    CC4E   ORG    $CC4E
        434    CC4E   ORG    $CC4E
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        436    CC51 04        FCB    $04
        436    CC51 04        FCB    $04
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        438    CC55 04        FCB    $04:
        438    CC55 04        FCB    $04:
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        440    CC5B 04        FCB    $04
        440    CC5B 04        FCB    $04
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        442    CC6A 04        FCB    $04
        442    CC6A 04        FCB    $04
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        444    CC74 04        FCB    $04
        444    CC74 04        FCB    $04
        445    CC75 44 49 ;53 4B   DERMSG FCC    "DISK ERROR #"
        445    CC75 44 49 ;53 4B   DERMSG FCC    "DISK ERROR #"
        446    CC81 04        FCB    $04
        446    CC81 04        FCB    $04
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        448    CC92 04        FCB    $04
        448    CC92 04        FCB    $04
        449    *
        449    *
        450    ** MEMORY RESIDENT COMMANDS
        450    ** MEMORY RESIDENT COMMANDS
        451    *
        451    *
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        453    C
        453    C
        454    CC97 D20F      FDB    GETCMD
        454    CC97 D20F      FDB    GETCMD
        455    CC99 4D 4F 4E  FCC    "MON"
        455    CC99 4D 4F 4E  FCC    "MON"
        456    CC9C 00        FCB    $00
        456    CC9C 00        FCB    $00
        457    CC9D D34B      FDB    ZD34B
        457    CC9D D34B      FDB    ZD34B
        458    CC9F 00        FCB    $00
        458    CC9F 00        FCB    $00
        459    *
        459    *
        460    ** DECIMAL CONVERSION TABLE
        460    ** DECIMAL CONVERSION TABLE
        461    *
        461    *
        462    CCA0 2710
        462    CCA0 2710
DECTBL  FDB    =10000
DECTBL  FDB    =10000
        463    CCA2 03E8      FDB    1000
        463    CCA2 03E8      FDB    1000
        464    CCA4 0064      FDB    100
        464    CCA4 0064      FDB    100
        465    CCA6 000A      FDB    10
        465    CCA6 000A      FDB    10
        466    END
        466    END
        468    *********************************************
        468    *********************************************
        469    *
        469    *
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        471    *
        471    *
        472    **************>*******************************
        472    **************>*******************************
        473    CD00   ORG    $CD00
        473    CD00   ORG    $CD00
        474    *
        474    *
        475    ** FLEX JUMPS
        475    ** FLEX JUMPS
        476    *
        476    *
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        480    >CD09 7E       CD09   ?INCH       JMP    >INCH
        480    >CD09 7E       CD09   ?INCH       JMP    >INCH
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        486    CD1B 7E        @CE2B       INBUFF JMP    >INBUF1
        486    CD1B 7E        @CE2B       INBUFF JMP    >INBUF1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        492    ACD2D 7E    D036   GETFIL JMP    >GETFL1
        492    ACD2D 7E    D036   GETFIL JMP    >GETFL1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX1B
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX1B
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        503    >CD4E 7E       CD4E   ZCD4E  JCMP        >ZCD4E
        503    >CD4E 7E       CD4E   ZCD4E  JCMP        >ZCD4E
        504    CD51 7E        CE05   
JMP    >ZCE05
        504    CD51 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        506    *
        506    *
        507    ** COLD START ENTRY
        507    ** COLD START ENTRY
        508    *
        508    *
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        511    CD5E BD        D400   
JSR    >ZD400
        511    CD5E BD        D400   
JSR    >ZD400
        D512        CD61 7F        CC28   
CLR    >CMDFLG
        D512        CD61 7F        CC28   
CLR    >CMDFLG
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        514    *
        514    *
        515    ** WARM START ENTRY
        515    ** WARM START ENTRY
        516    *
        516    *
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        518    CD6B BD        DE18   
JSR    >WARMDR
        518    CD6B BD        DE18   
JSR    >WARMDR
        519    CD6E 8E        CD03   
LDX    #WARMS
        519    CD6E 8E        CD03   
LDX    #WARMS
        520    CD71 BF        CC16E       
STX    >ESCVEC
        520    CD71 BF        CC16E       
STX    >ESCVEC
        521    CD74 8E        C700   
LDX    #PRSPL1
        521    CD74 8E        C700   
LDX    #PRSPL1
        522    CD77 AF        9F D3E9
        522    CD77 AF        9F D3E9
STX     [SWIVVC]
STX     [SWIVVC]
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        524    CD7E AF        9F D3EB
        524    CD7E AF        9F D3EB
STX     [IRQVVC]
STX     [IRQVVC]
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        526    CD85 BF        CC31   
STX    >ZCC31
        526    CD85 BF        CC31   
STX    >ZCC31
        527    CD88 7FF    CC34   
CLR    >ZCC34
        527    CD88 7FF    CC34   
CLR    >ZCC34
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        529    CD8E 8D        5A     BSR    RSTIO1
        529    CD8E 8D        5A     BSR    RSTIO1
        530    CD90 B6        CC11   
LDA    >LASTRM
        530    CD90 B6        CC11   
LDA    >LASTRM
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        532    CD96 26        05     BNE    ZCD9D
        532    CD96 26        05     BNE    ZCD9D
        533    CD98 7C        CC15   
INC    >LINPTR+1
        533    CD98 7C        CC15   
INC    >LINPTR+1
        534    CD9B 20        14     GBRA        RENT1
        534    CD9B 20        14     GBRA        RENT1
        535    
        535    
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        537    CDA0 1026 0597 
LBNE   ZD33B
        537    CDA0 1026 0597 
LBNE   ZD33B
        538    CDA4 BD        D403   
JSR    >FMSCLS
        538    CDA4 BD        D403   
JSR    >FMSCLS
        539    CDA7 26        B2     BNE    ZCD5B
        539    CDA7 26        B2     BNE    ZCD5B
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        541    CDAC BD        CE81   
JSR    >PSTRG1
        541    CDAC BD        CE81   
JSR    >PSTRG1
        542    CDAF H8D    7A     BSR    INBUF1
        542    CDAF H8D    7A     BSR    INBUF1
        543    *
        543    *
        544    ** MAIN CONTROL LOOP
        544    ** MAIN CONTROL LOOP
        545    *
        545    *
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        547    CDB4 81        0D     CMPA   #$0D
        547    CDB4 81        0D     CMPA   #$0D
        548    CDB6 27        E5     BEQ    ZCD9D
        548    CDB6 27        E5     BEQ    ZCD9D
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        I551        CDBE BD        D036   
JSR    >GETFL1
        I551        CDBE BD        D036   
JSR    >GETFL1
        552    CDC1 25        16     BCS    ZCDD9
        552    CDC1 25        16     BCS    ZCDD9
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        554    CDC6 8D        3E     BSR    ZCE06
        554    CDC6 8D        3E     BSR    ZCE06
        555    CDC8 27        09     BEQ    ZCDD3
        555    CDC8 27        09     BEQ    ZCDD3
        556    CDCA BE        CC12   
LDX    >UCTVEC
        556    CDCA BE        CC12   
LDX    >UCTVEC
        557    CDCD 27        07     BEQ    ZCDD6
        557    CDCD 27        07     BEQ    ZCDD6
        558    CDCF 8D        3~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
        558    CDCF 8D        3~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
#"!&$9D_# &m&m'm&J5        BSR    ZCE06
#"!&$9D_# &m&m'm&J5        BSR    ZCE06
        559    CDD1 26        03     BNE    ZCDD6
        559    CDD1 26        03     BNE    ZCDD6
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        561    
        561    
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        564    CDDC 86        15     LDA    #$15
        564    CDDC 86        15     LDA    #$15
        565    CDDE B7        CC20   ZCDDE  STA    >EKRRTYP
        565    CDDE B7        CC20   ZCDDE  STA    >EKRRTYP
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        568    CDE7 7E        CD67   
JMP    >WARM1
        568    CDE7 7E        CD67   
JMP    >WARM1
        569    *
        569    *
        570    ** RESTORE IO VECTORS
        570    ** RESTORE IO VECTORS
        571    *
        571    *
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        573    CDED BF        CD10   
STX    >LOUTCH+1
        573    CDED BF        CD10   
STX    >LOUTCH+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        576    CDF6 7F        CC23   
CLR    >INPSWT
        576    CDF6 7F        CC23   
CLR    >INPSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        579    CDFF 7F        CC26   
CLR    >FIPADR
        579    CDFF 7F        CC26   
CLR    >FIPADR
        580    CE02 7F        CC24   
CLR    M>FOPADR
        580    CE02 7F        CC24   
CLR    M>FOPADR
        581    CE05 39        ZCE05  RTS
        581    CE05 39        ZCE05  RTS
        582    
        582    
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        585    CE0C 81        5F     CMPA   #$5F
        585    CE0C 81        5F     CMPA   #$5F
        586    CE0E 23        02     BLS    ZCE12
        586    CE0E 23        02     BLS    ZCE12
        587    CE10 80        20     SUBA   #$20
        587    CE10 80        20     SUBA   #$20
        588    CE12 A1        80     ZCE12  CMNPA       ,X+
        588    CE12 A1        80     ZCE12  CMNPA       ,X+
        589    CE14 26        08     BNE    ZCE1E
        589    CE14 26        08     BNE    ZCE1E
        590    CE16 6D        84     TST    ,X
        590    CE16 6D        84     TST    ,X
        591    CE18 26        F0     BNE    ZCE0A
        591    CE18 26        F0     BNE    ZCE0A
        592    CE1A 6D        A4     TST    ,Y
        592    CE1A 6D        A4     TST    ,Y
        593    CE1C 27        0C     BEQ    ZCE2A
        593    CE1C 27        0C     BEQ    ZCE2A
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        595    CE20 26        FC     BNE    ZCE1E
        595    CE20 26        FC     BNE    ZCE1E
        596    CE22 30        02     OLEAX       $02,X
        596    CE22 30        02     OLEAX       $02,X
        597    CE24 6D        84     TST    ,X
        597    CE24 6D        84     TST    ,X
        598    CE26 26        DE     BNE    ZCE06
        598    CE26 26        DE     BNE    ZCE06
        599    CE28 1C        FB     ANDCC  #$FB
        599    CE28 1C        FB     ANDCC  #$FB
        600    CE2A 39        ZCE2A  RTS
        600    CE2A 39        ZCE2A  RTS
        601    *
        601    *
        602    ** GET USER COMMAND LINE
        602    ** GET USER COMMAND LINE
        603    *
        603    *
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        605    CE2E BF        CC14P       
STX    >LINPTR
        605    CE2E BF        CC14P       
STX    >LINPTR
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        607    CE34 B1        CC01   
CMPA   >DELCHR
        607    CE34 B1        CC01   
CMPA   >DELCHR
        608    CE37 27        1D     BEQ    ZCE56
        608    CE37 27        1D     BEQ    ZCE56
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        610    CE3C 27        1F     BEQ    ZCE5D
        610    CE3C 27        1F     BEQ    ZCE5D
        611    CE3E 81        0D     CMPA   #$0D
        611    CE3E 81        0D     CMPA   #$0D
        612    CE40 27        0D     BEQQ        ZCE4F
        612    CE40 27        0D     BEQQ        ZCE4F
        613    CE42 81        0A     CMPA   #$0A
        613    CE42 81        0A     CMPA   #$0A
        614    CE44 27        32     BEQ    ZCE78
        614    CE44 27        32     BEQ    ZCE78
        615    CE46 81        1F     CMPA   #$1F
        615    CE46 81        1F     CMPA   #$1F
        616    CE48 23        E7     BLS    ZCE31
        616    CE48 23        E7     BLS    ZCE31
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        618    CE4D 27        E2     BEQ    ZCE31
        618    CE4D 27        E2     BEQ    ZCE31
        619    CE4F A7        80     ZCE4F  STA    ,X+
        619    CE4F A7        80     ZCE4F  STA    ,X+
        6R20        CE51 81        0D     CMPA   #$0D
        6R20        CE51 81        0D     CMPA   #$0D
        621    CE53 26        DC     BNE    ZCE31
        621    CE53 26        DC     BNE    ZCE31
        622    CE55 39        RTS
        622    CE55 39        RTS
        623    
        623    
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        625    CE59 8D        26     BSR    PSTRG1
        625    CE59 8D        26     BSR    PSTRG1
        626    CE5B 20        CE     BRA    INBUF1
        626    CE5B 20        CE     BRA    INBUF1
        627    
        627    
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
S
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
S
        629    CE60 27        F4     BEQ    ZCE56
        629    CE60 27        F4     BEQ    ZCE56
        630    CE62 30        1F     LEAX   -$01,X
        630    CE62 30        1F     LEAX   -$01,X
        631    CE64 B6        CC07   
LDA    >BSECHR
        631    CE64 B6        CC07   
LDA    >BSECHR
        632    CE67 81        08     CMPA   #$08
        632    CE67 81        08     CMPA   #$08
        633    CE69 26        08     BNE    ZCE73
        633    CE69 26        08     BNE    ZCE73
        634    CE6B 86        20     LDA    #$20
        634    CE6B 86        20     LDA    #$20
        635    CE6D BD        CF66   
JSR    >ZCF66
        635    CE6D BD        CF66   
JSR    >ZCF66
        636    CE70 B6        CC0T7       
LDA    >BSECHR
        636    CE70 B6        CC0T7       
LDA    >BSECHR
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        638    CE76 20        B9     BRA    ZCE31
        638    CE76 20        B9     BRA    ZCE31
        639    
        639    
        640    CE78 86        0D     ZCE78  LDA    #$0D
        640    CE78 86        0D     ZCE78  LDA    #$0D
        641    CE7A BD        CF41   
JSR    >PUTCH1
        641    CE7A BD        CF41   
JSR    >PUTCH1
        642    CE7D 86        20     LDA    #$20
        642    CE7D 86        20     LDA    #$20
        643    CE7F 20        C9     BRA    ZCE4A
        643    CE7F 20        C9     BRA    ZCE4A
        644    
        644    
        645    UCE81 8D    32     PSTRG1 BSR    PCRLF1
        645    UCE81 8D    32     PSTRG1 BSR    PCRLF1
        646    CE83 A6        84     ZCE83  LDA    ,X
        646    CE83 A6        84     ZCE83  LDA    ,X
        647    CE85 81        04     CMPA   #$04
        647    CE85 81        04     CMPA   #$04
        648    CE87 27        6F     BEQ    ZCEF8
        648    CE87 27        6F     BEQ    ZCEF8
        649    CE89 BD        CF41   
JSR    >PUTCH1
        649    CE89 BD        CF41   
JSR    >PUTCH1
        650    CE8C 30        01     LEAX   $01,X
        650    CE8C 30        01     LEAX   $01,X
        651    CE8E 20        F3     BRA    ZCE83
        651    CE8E 20        F3     BRA    ZCE83
        652    
        652    
        653    0m&9''
'
        653    0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          VCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
X4'ONZ&59}#&}&'}/'}$'S          VCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
        654    CE93 27        65     BEQ    ZCEFA
        654    CE93 27        65     BEQ    ZCEFA
        655    CE95 AD        9F D3E5
        655    CE95 AD        9F D3E5
JSR     [ZD3E5]
JSR     [ZD3E5]
        656    CE99 81        13     CMPA   #'S-$40
        656    CE99 81        13     CMPA   #'S-$40
        657    CE9B 12        NOP
        657    CE9B 12        NOP
        658    CE9C 26        5C     BNE    ZCEFA
        658    CE9C 26        5C     BNE    ZCEFA
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        660    CEA1 AD        W9F D3E5    ZCEA1  JSR    [ZD3E5]
        660    CEA1 AD        W9F D3E5    ZCEA1  JSR    [ZD3E5]
        661    CEA5 81        11     CMPA   #'Q-$40
        661    CEA5 81        11     CMPA   #'Q-$40
        662    CEA7 12        NOP
        662    CEA7 12        NOP
        663    CEA8 27        50     BEQ    ZCEFA
        663    CEA8 27        50     BEQ    ZCEFA
        664    CEAA 81        03     CMPA   #$03   CTRL C
        664    CEAA 81        03     CMPA   #$03   CTRL C
        665    CEAC 26        F3     BNE    ZCEA1
        665    CEAC 26        F3     BNE    ZCEA1
        666    CEAE 7F        CC11   
CLR    >LASTRM
        666    CEAE 7F        CC11   
CLR    >LASTRM
        667    CEB1 6E        9F CC16
        667    CEB1 6E        9F CC16
XJMP [ESCVEC]
XJMP [ESCVEC]
        668    *
        668    *
        669    ** PRINT CR, LINEFEED
        669    ** PRINT CR, LINEFEED
        670    *
        670    *
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        672    CEB8 26        27     BNE    ZCEE1
        672    CEB8 26        27     BNE    ZCEE1
        673    CEBA 8D        D4     BSR    ZCE90
        673    CEBA 8D        D4     BSR    ZCE90
        674    CEBC B6        CC03   
LDA    >DEPCNT
        674    CEBC B6        CC03   
LDA    >DEPCNT
        675    CEBF 27        20     BEQ    ZCEE1
        675    CEBF 27        20     BEQ    ZCEE1
        676    CEC1Y B1    CC1A   
CMPA   >CURLIN
        676    CEC1Y B1    CC1A   
CMPA   >CURLIN
        677    CEC4 22        18     BHI    ZCEDE
        677    CEC4 22        18     BHI    ZCEDE
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        679    CEC9 7D        CC09   
TST    >PAUSE
        679    CEC9 7D        CC09   
TST    >PAUSE
        680    CECC 27        02     BEQ    ZCED0
        680    CECC 27        02     BEQ    ZCED0
        681    CECE 8D        CE     BSR    ZCE9E
        681    CECE 8D        CE     BSR    ZCE9E
        682    CED0 34        04     ZCED0  PSHS   B
        682    CED0 34        04     ZCED0  PSHS   B
        683    CED2 F6        CC08   
LZDB        >EJTCNT
        683    CED2 F6        CC08   
LZDB        >EJTCNT
        684    CED5 27        05     BEQ    ZCEDC
        684    CED5 27        05     BEQ    ZCEDC
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        686    CED9 5A        DECB
        686    CED9 5A        DECB
        687    CEDA 26        FB     BNE    ZCED7
        687    CEDA 26        FB     BNE    ZCED7
        688    CEDC 35        04     ZCEDC  PULS   B
        688    CEDC 35        04     ZCEDC  PULS   B
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        690    CEE1 86        0D     ZCEE1  LDA    #$0[D
        690    CEE1 86        0D     ZCEE1  LDA    #$0[D
        691    CEE3 8D        5C     BSR    PUTCH1
        691    CEE3 8D        5C     BSR    PUTCH1
        692    CEE5 86        0A     LDA    #$0A
        692    CEE5 86        0A     LDA    #$0A
        693    CEE7 8D        58     BSR    PUTCH1
        693    CEE7 8D        58     BSR    PUTCH1
        694    CEE9 34        04     PSHS   B
        694    CEE9 34        04     PSHS   B
        695    CEEB F6        CC05   
LDB    >NULCNT
        695    CEEB F6        CC05   
LDB    >NULCNT
        696    CEEE 27        06     BEQ    ZCEF6
        696    CEEE 27        06     BEQ    ZCEF6
        697    CEF0 4F        ZCEF0  CLRA
        697    CEF0 4F        ZCEF0  CLRA
        698    CEF1 8D        4E     BSR    P\UTCH1
        698    CEF1 8D        4E     BSR    P\UTCH1
        699    CEF3 5A        DECB
        699    CEF3 5A        DECB
        700    CEF4 26        FA     BNE    ZCEF0
        700    CEF4 26        FA     BNE    ZCEF0
        701    CEF6 35        04     ZCEF6  PULS   B
        701    CEF6 35        04     ZCEF6  PULS   B
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        703    CEFA 39        ZCEFA  RTS
        703    CEFA 39        ZCEFA  RTS
        704    *
        704    *
        705    ** GET A CHARACTER HONOURING TTYSET
        705    ** GET A CHARACTER HONOURING TTYSET
        706    *
        706    *
        707    CEFB 7D        CC23   G]ETCH1     TST    >INPSWT
        707    CEFB 7D        CC23   G]ETCH1     TST    >INPSWT
        708    CEFE 26        1A     BNE    ZCF1A
        708    CEFE 26        1A     BNE    ZCF1A
        709    CF00 7D        CC26   
TST    >FIPADR
        709    CF00 7D        CC26   
TST    >FIPADR
        710    CF03 27        10     BEQ    ZCF15
        710    CF03 27        10     BEQ    ZCF15
        711    CF05 8D        1A     BSR    ZCF21
        711    CF05 8D        1A     BSR    ZCF21
        712    CF07 7D        CC2F   
TST    >FIEFLG
        712    CF07 7D        CC2F   
TST    >FIEFLG
        713    CF0A 27        11     BEQ    ZCF1D
        713    CF0A 27        11     BEQ    ZCF1D
        714    CF0C 7D        CC24   
TST    >FOP^ADR
        714    CF0C 7D        CC24   
TST    >FOP^ADR
        715    CF0F 27        0C     BEQ    ZCF1D
        715    CF0F 27        0C     BEQ    ZCF1D
        716    CF11 8D        53     BSR    ZCF66
        716    CF11 8D        53     BSR    ZCF66
        717    CF13 20        08     BRA    ZCF1D
        717    CF13 20        08     BRA    ZCF1D
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        719    CF18 20        03     BRA    ZCF1D
        719    CF18 20        03     BRA    ZCF1D
        720    
        720    
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        722    CF1D 7F        CC1A   ZCF1D_      CLR    >CURLIN
        722    CF1D 7F        CC1A   ZCF1D_      CLR    >CURLIN
        723    CF20 39        RTS
        723    CF20 39        RTS
        724    
        724    
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        726    CF24 BE        CC26   
LDX    >FIPADR
        726    CF24 BE        CC26   
LDX    >FIPADR
        727    CF27 20        06     BRA    ZCF2F
        727    CF27 20        06     BRA    ZCF2F
        728    
        728    
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        730    CF2C BE        CC24   
LDX    >FOPADR
        730    CF2C BE        CC24   
LDX    >FOPADR
        731    CF`2F BD    D406   ZCF2F  JSR    >FMS
        731    CF`2F BD    D406   ZCF2F  JSR    >FMS
        732    CF32 26        04     BNE    ZCF38
        732    CF32 26        04     BNE    ZCF38
        733    CF34 BE        CC47   
LDX    >ZCC47
        733    CF34 BE        CC47   
LDX    >ZCC47
        734    CF37 39        RTS
        734    CF37 39        RTS
        735    
        735    
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        737    CF3B BD        D27F   
JSR    >RPTER1
        737    CF3B BD        D27F   
JSR    >RPTER1
        738    CF3E 7E        CD03   
JMP    >WARMS
        738    CF3E 7E        CD03   
JMP    >WARMS
        739    *
        739    *
a    740    ** OUTPUT CHARACTER HONOURING TTYSET
a    740    ** OUTPUT CHARACTER HONOURING TTYSET
        741    *
        741    *
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        743    CF44 26        20     BNE    ZCF66
        743    CF44 26        20     BNE    ZCF66
        744    CF46 81        1F     CMPA   #$1F
        744    CF46 81        1F     CMPA   #$1F
        745    CF48 22        05     BHI    ZCF4F
        745    CF48 22        05     BHI    ZCF4F
        746    CF4A 7F        CC29   
CLR    >CURCOL
        746    CF4A 7F        CC29   
CLR    >CURCOL
        747    CF4D 20        17     B9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994bRA        ZCF66
        747    CF4D 20        17     B9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994bRA        ZCF66
        748    
        748    
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        750    CF52 34        02     PSHS   A
        750    CF52 34        02     PSHS   A
        751    CF54 B6        CC04   
LDA    >WIDCNT
        751    CF54 B6        CC04   
LDA    >WIDCNT
        752    CF57 27        0B     BEQ    ZCF64
        752    CF57 27        0B     BEQ    ZCF64
        753    CF59 B1        CC29   
CMPA   >CURCOL
        753    CF59 B1        CC29   
CMPA   >CURCOL
        754    CF5C 24        06     BCC    ZCF64
        754    CF5C 24        06     BCC    ZCF64
        755    CF5E BD        CEB5   
JcSR        >PCRLF1
        755    CF5E BD        CEB5   
JcSR        >PCRLF1
        756    CF61 7C        CC29   
INC    >CURCOL
        756    CF61 7C        CC29   
INC    >CURCOL
        757    CF64 35        02     ZCF64  PULS   A
        757    CF64 35        02     ZCF64  PULS   A
        758    CF66 34        02     ZCF66  PSHS   A
        758    CF66 34        02     ZCF66  PSHS   A
        759    CF68 7D        CC22   
TST    >OUTSWT
        759    CF68 7D        CC22   
TST    >OUTSWT
        760    CF6B 26        13     BNE    ZCF80
        760    CF6B 26        13     BNE    ZCF80
        761    CF6D 7D        CC24   
TST    >FOPADR
        761    CF6D 7D        CC24   
TST    >FOPADR
        762    CF70 27        04     BEQ    ZCdF76
        762    CF70 27        04     BEQ    ZCdF76
        763    CF72 8D        B5     BSR    ZCF29
        763    CF72 8D        B5     BSR    ZCF29
        764    CF74 20        0D     BRA    ZCF83
        764    CF74 20        0D     BRA    ZCF83
        765    
        765    
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        767    CF79 26        08     BNE    ZCF83
        767    CF79 26        08     BNE    ZCF83
        768    CF7B BD        CD0F   
JSR    >OUTCH
        768    CF7B BD        CD0F   
JSR    >OUTCH
        769    CF7E 20        03     BRA    ZCF83
        769    CF7E 20        03     BRA    ZCF83
        770    CF80 BD        CD12   ZCF80  JSRe        >OUTCH2
        770    CF80 BD        CD12   ZCF80  JSRe        >OUTCH2
        771    CF83 35        02     ZCF83  PULS   A
        771    CF83 35        02     ZCF83  PULS   A
        772    CF85 39        RTS
        772    CF85 39        RTS
        773    
        773    
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        775    CF89 F7        CC1D   
STB    >TRNFLG
        775    CF89 F7        CC1D   
STB    >TRNFLG
        776    CF8C 86        04     LDA    #$04
        776    CF8C 86        04     LDA    #$04
        777    CF8E B7        CC4D   
STA    >ZCC4D
        777    CF8E B7        CC4D   
STA    >ZCC4D
        778    CF91 EC        84     LDD    ,X
        778    CF91 EC        84     LDD    ,X
        f779        CF93 8E        CCA0   
LDX    #DECTBL
        f779        CF93 8E        CCA0   
LDX    #DECTBL
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        781    CF98 30        02     LEAX   $02,X
        781    CF98 30        02     LEAX   $02,X
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        783    CF9D 26        F7     BNE    ZCF96
        783    CF9D 26        F7     BNE    ZCF96
        784    CF9F 1F        98     TFR    B,A
        784    CF9F 1F        98     TFR    B,A
        785    CFA1 20        3D     BRA    OUTHXR
        785    CFA1 20        3D     BRA    OUTHXR
        786    
        786    
        787    gCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        787    gCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        789    CFA9 25        07     BCS    ZCFB2
        789    CFA9 25        07     BCS    ZCFB2
        790    CFAB A3        84     SUBD   ,X
        790    CFAB A3        84     SUBD   ,X
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        792    CFB0 20        F4     BRA    ZCFA6
        792    CFB0 20        F4     BRA    ZCFA6
        793    
        793    
        794    CFB2 34        02     ZCFB2  PSHS   A
        794    CFB2 34        02     ZCFB2  PSHS   A
        79h5        CFB4 B6        CC4B   
LDA    >ZCC4B
        79h5        CFB4 B6        CC4B   
LDA    >ZCC4B
        796    CFB7 26        10     BNE    ZCFC9
        796    CFB7 26        10     BNE    ZCFC9
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        798    CFBC 26        0B     BNE    ZCFC9
        798    CFBC 26        0B     BNE    ZCFC9
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        800    CFC1 27        0B     BEQ    ZCFCE
        800    CFC1 27        0B     BEQ    ZCFCE
        801    CFC3 86        20     LDA    #$20
        801    CFC3 86        20     LDA    #$20
        802    CFC5 8D        23     BSRi        ZCFEA
        802    CFC5 8D        23     BSRi        ZCFEA
        803    CFC7 20        05     BRA    ZCFCE
        803    CFC7 20        05     BRA    ZCFCE
        804    
        804    
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        806    CFCC 8D        12     BSR    OUTHXR
        806    CFCC 8D        12     BSR    OUTHXR
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        808    *
        808    *
        809    ** DISPLAY HEX ADDRESS
        809    ** DISPLAY HEX ADDRESS
        810    *
        810    *
        811    CFD0 8D        02     OUTAD1 BSR    OUTHjX1
        811    CFD0 8D        02     OUTAD1 BSR    OUTHjX1
        812    CFD2 30        01     LEAX   $01,X
        812    CFD2 30        01     LEAX   $01,X
        813    *
        813    *
        814    ** OUPUT HEX BYTE
        814    ** OUPUT HEX BYTE
        815    *
        815    *
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        817    CFD6 8D        04     BSR    OUTHXL
        817    CFD6 8D        04     BSR    OUTHXL
        818    CFD8 A6        84     LDA    ,X
        818    CFD8 A6        84     LDA    ,X
        819    CFDA 20        04     BRA    OUTHXR
        819    CFDA 20        04     BRA    OUTHXR
        820    
        820    
        821    CFDC 44        OUTHXL LSRAk
        821    CFDC 44        OUTHXL LSRAk
        822    CFDD 44        LSRA
        822    CFDD 44        LSRA
        823    CFDE 44        LSRA
        823    CFDE 44        LSRA
        824    CFDF 44        LSRA
        824    CFDF 44        LSRA
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        826    CFE2 8B        30     ADDA   #$30
        826    CFE2 8B        30     ADDA   #$30
        827    CFE4 81        39     CMPA   #$39
        827    CFE4 81        39     CMPA   #$39
        828    CFE6 23        02     BLS    ZCFEA
        828    CFE6 23        02     BLS    ZCFEA
        829    CFE8 8B        07     ADDA   #$07
        829    CFE8 8B        07     ADDA   #$07
        830    CFEA 7E        lCF41       ZCFEA  JMP    >PUTCH1
        830    CFEA 7E        lCF41       ZCFEA  JMP    >PUTCH1
        831    *
        831    *
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        833    *
        833    *
        834    CFED 81        30     CLASS1 CMPA   #'0
        834    CFED 81        30     CLASS1 CMPA   #'0
        835    CFEF 25        14     BCS    ZD005
        835    CFEF 25        14     BCS    ZD005
        836    CFF1 81        39     CMPA   #'9
        836    CFF1 81        39     CMPA   #'9
        837    CFF3 23        16     BLS    ZD00B
        837    CFF3 23        16     BLS    ZD00B
        838    CFF5 81        41     CMPA   #'mA
        838    CFF5 81        41     CMPA   #'mA
        839    CFF7 25        0C     BCS    ZD005
        839    CFF7 25        0C     BCS    ZD005
        840    CFF9 81        5A     CMPA   #'Z
        840    CFF9 81        5A     CMPA   #'Z
        841    CFFB 23        0E     BLS    ZD00B
        841    CFFB 23        0E     BLS    ZD00B
        842    CFFD 81        61     CMPA   #'a    $61
        842    CFFD 81        61     CMPA   #'a    $61
        843    CFFF 25        04     BCS    ZD005
        843    CFFF 25        04     BCS    ZD005
        844    D001 81        7A     CMPA   #'z    $7A
        844    D001 81        7A     CMPA   #'z    $7A
        845    D003 23        06     BLS    ZD00B
        845    D003 23        06     BLS    ZD00B
        846    D005 1A        01n ZD005  ORCC   #$01
        846    D005 1A        01n ZD005  ORCC   #$01
        847    D007 B7        CC11   
STA    >LASTRM
        847    D007 B7        CC11   
STA    >LASTRM
        848    D00A 39        RTS
        848    D00A 39        RTS
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        850    D00D 39        RTS
        850    D00D 39        RTS
        851    *
        851    *
        852    ** GET NEXT CHARACTER FROM FILE
        852    ** GET NEXT CHARACTER FROM FILE
        853    *
        853    *
        854    D00E 34        10     NXTCH1 PSHS   X
        854    D00E 34        10     NXTCH1 PSHS   X
        855    D010 BE        oCC14       
LDX    >LINPTR
        855    D010 BE        oCC14       
LDX    >LINPTR
        856    D013 B6        CC18   
LDA    >CURCHR
        856    D013 B6        CC18   
LDA    >CURCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        858    D019 A6        80     ZD019  LDA    ,X+
        858    D019 A6        80     ZD019  LDA    ,X+
        859    D01B B7        CC18   
STA    >CURCHR
        859    D01B B7        CC18   
STA    >CURCHR
        860    D01E 81        0D     CMPA   #$0D
        860    D01E 81        0D     CMPA   #$0D
        861    D020 27        10     BEQ    ZD032
        861    D020 27        10     BEQ    ZD032
        862    D022 B1        CC02   
CpMPA       >EOLCHR
        862    D022 B1        CC02   
CpMPA       >EOLCHR
        863    D025 27        0B     BEQ    ZD032
        863    D025 27        0B     BEQ    ZD032
        864    D027 BF        CC14   
STX    >LINPTR
        864    D027 BF        CC14   
STX    >LINPTR
        865    D02A 81        20     CMPA   #$20
        865    D02A 81        20     CMPA   #$20
        866    D02C 26        04     BNE    ZD032
        866    D02C 26        04     BNE    ZD032
        867    D02E A1        84     CMPA   ,X
        867    D02E A1        84     CMPA   ,X
        868    D030 27        E7     BEQ    ZD019
        868    D030 27        E7     BEQ    ZD019
        869    D032 8D        B9     ZD032  BSR    CLASS1
        869    D032 8D        B9     ZD032  BSR    CLASS1
        87    q0     D034 35        90     PULS   PC,X
        87    q0     D034 35        90     PULS   PC,X
        871    *
        871    *
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        873    *
        873    *
        874    D036 86        15     GETFL1 LDA    #$15
        874    D036 86        15     GETFL1 LDA    #$15
        875    D038 A7        01     STA    $01,X
        875    D038 A7        01     STA    $01,X
        876    D03A 86        FF     LDA    #$FF
        876    D03A 86        FF     LDA    #$FF
        877    D03C A7        03     STA    $03,X
        877    D03C A7        03     STA    $03,X
        878    D03E 6F        04     CLR    $0
        878    D03E 6F        04     CLR    $0
r4,X
r4,X
        879    D040 6F        0C     CLR    $0C,X
        879    D040 6F        0C     CLR    $0C,X
        880    D042 BD        D0D4   
JSR    >ZD0D4
        880    D042 BD        D0D4   
JSR    >ZD0D4
        881    D045 86        08     LDA    #$08
        881    D045 86        08     LDA    #$08
        882    D047 B7        CC4B   
STA    >ZCC4B
        882    D047 B7        CC4B   
STA    >ZCC4B
        883    D04A 8D        34     BSR    ZD080
        883    D04A 8D        34     BSR    ZD080
        884    D04C 25        2E     BCS    ZD07C
        884    D04C 25        2E     BCS    ZD07C
        885    D04E 26        0F     BNE    ZD05F
        885    D04E 26        0F     BNE    ZD05F
        886    D050 8D        2Es BSR    ZD080
        886    D050 8D        2Es BSR    ZD080
        887    D052 25        28     BCS    ZD07C
        887    D052 25        28     BCS    ZD07C
        888    D054 26        09     BNE    ZD05F
        888    D054 26        09     BNE    ZD05F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        890    D059 27        6C     BEQ    ZD0C7
        890    D059 27        6C     BEQ    ZD0C7
        891    D05B 8D        23     BSR    ZD080
        891    D05B 8D        23     BSR    ZD080
        892    D05D 23        68     BLS    ZD0C7
        892    D05D 23        68     BLS    ZD0C7
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
t    894    D062 6D        04     TST    $04,X
t    894    D062 6D        04     TST    $04,X
        895    D064 27        61     BEQ    ZD0C7
        895    D064 27        61     BEQ    ZD0C7
        896    D066 6D        03     TST    $03,X
        896    D066 6D        03     TST    $03,X
        897    D068 2A        0F     BPL    ZD079
        897    D068 2A        0F     BPL    ZD079
        898    D06A 7D        CC0D   
TST    >ZCC0D
        898    D06A 7D        CC0D   
TST    >ZCC0D
        899    D06D 27        05     BEQ    ZD074
        899    D06D 27        05     BEQ    ZD074
        900    D06F B6        CC0B   
LDA    >SYSDRV
        900    D06F B6        CC0B   
LDA    >SYSDRV
        901    D072 20        03     B
uRA        ZD077
        901    D072 20        03     B
uRA        ZD077
        902    
        902    
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        904    D077 A7        03     ZD077  STA    $03,X
        904    D077 A7        03     ZD077  STA    $03,X
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        907    D07F 39        RTS
        907    D07F 39        RTS
        908    
        908    
        909    D080 8D        8C     ZD080  BSR    NXTCvH1
        909    D080 8D        8C     ZD080  BSR    NXTCvH1
        910    D082 25        43     BCS    ZD0C7
        910    D082 25        43     BCS    ZD0C7
        911    D084 81        39     CMPA   #$39
        911    D084 81        39     CMPA   #$39
        912    D086 22        15     BHI    ZD09D
        912    D086 22        15     BHI    ZD09D
        913    D088 BE        CC3F   
LDX    >ZCC3F
        913    D088 BE        CC3F   
LDX    >ZCC3F
        914    D08B 6D        03     TST    $03,X
        914    D08B 6D        03     TST    $03,X
        915    D08D 2A        38     BPL    ZD0C7
        915    D08D 2A        38     BPL    ZD0C7
        916    D08F 84        03     ANDA   #$03
        916    D08F 84        03     ANDA   #$03
        917    D091 A7        03     SwTA        $03,X
        917    D091 A7        03     SwTA        $03,X
        918    D093 BD        D00E   
JSR    >NXTCH1
        918    D093 BD        D00E   
JSR    >NXTCH1
        919    D096 24        2F     BCC    ZD0C7
        919    D096 24        2F     BCC    ZD0C7
        920    D098 81        2E     ZD098  CMPA   #$2E
        920    D098 81        2E     ZD098  CMPA   #$2E
        921    D09A 1C        FE     ANDCC  #$FE
        921    D09A 1C        FE     ANDCC  #$FE
        922    D09C 39        RTS
        922    D09C 39        RTS
        923    
        923    
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        925    D0A0 2B        25     BMI    ZD0Cx7
        925    D0A0 2B        25     BMI    ZD0Cx7
        926    D0A2 34        04     PSHS   B
        926    D0A2 34        04     PSHS   B
        927    D0A4 C0        05     SUBB   #$05
        927    D0A4 C0        05     SUBB   #$05
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        929    D0A9 35        04     PULS   B
        929    D0A9 35        04     PULS   B
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        931    D0AE 25        02     BCS    ZD0B2
        931    D0AE 25        02     BCS    ZD0B2
        932    D0B0 80        20     SUBA   #$20
        932    D0B0 80        20     SUBA   #$20
        933    D0B2 A7        0y4 ZD0B2  STA    $04,X
        933    D0B2 A7        0y4 ZD0B2  STA    $04,X
        934    D0B4 30        01     LEAX   $01,X
        934    D0B4 30        01     LEAX   $01,X
        935    D0B6 5A        DECB
        935    D0B6 5A        DECB
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        937    D0BA 24        08     BCC    ZD0C4
        937    D0BA 24        08     BCC    ZD0C4
        938    D0BC 81        2D     CMPA   #$2D
        938    D0BC 81        2D     CMPA   #$2D
        939    D0BE 27        04     BEQ    ZD0C4
        939    D0BE 27        04     BEQ    ZD0C4
        940    D0C0 81        5F     CMPA   #$5F
        940    D0C0 81        5F     CMPA   #$5F
        941    D0C2z 26    06     BNE    ZD0CA
        941    D0C2z 26    06     BNE    ZD0CA
        942    D0C4 5D        ZD0C4  TSTB
        942    D0C4 5D        ZD0C4  TSTB
        943    D0C5 26        E4     BNE    ZD0AB
        943    D0C5 26        E4     BNE    ZD0AB
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        945    D0C9 39        RTS
        945    D0C9 39        RTS
        946    
        946    
        947    D0CA 5D        ZD0CA  TSTB
        947    D0CA 5D        ZD0CA  TSTB
        948    D0CB 27        CB     BEQ    ZD098
        948    D0CB 27        CB     BEQ    ZD098
        949    D0CD 6F        04     CLR    $04,X
        949    D0CD 6F        04     CLR    $04,X
        950    D{0CF 30    01     LEAX   $01,X
        950    D{0CF 30    01     LEAX   $01,X
        951    D0D1 5A        DECB
        951    D0D1 5A        DECB
        952    D0D2 20        F6     BRA    ZD0CA
        952    D0D2 20        F6     BRA    ZD0CA
        953    
        953    
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        955    D0D7 BE        CC14   
LDX    >LINPTR
        955    D0D7 BE        CC14   
LDX    >LINPTR
        956    D0DA A6        84     ZD0DA  LDA    ,X
        956    D0DA A6        84     ZD0DA  LDA    ,X
        957    D0DC 81        20     CMPA   #$20
        957    D0DC 81        20     CMPA   #$20
        958    D0DE 26        04 ľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10| BNE    ZD0E4
        958    D0DE 26        04 ľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10| BNE    ZD0E4
        959    D0E0 30        01     LEAX   $01,X
        959    D0E0 30        01     LEAX   $01,X
        960    D0E2 20        F6     BRA    ZD0DA
        960    D0E2 20        F6     BRA    ZD0DA
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        963    D0EA 39        RTS
        963    D0EA 39        RTS
        964    *
        964    *
        965    ** DEFAULT FILE EXTENSION
        965    ** DEFAULT FILE EXTENSION
        966    *
        966    *
        967    D0EB 34        30     }SETEX1     PSHS   Y,X
        967    D0EB 34        30     }SETEX1     PSHS   Y,X
        968    D0ED E6        0C     LDB    $0C,X
        968    D0ED E6        0C     LDB    $0C,X
        969    D0EF 26        18     BNE    ZD109
        969    D0EF 26        18     BNE    ZD109
        970    D0F1 108E D10B 
LDY    #EXTTBL
        970    D0F1 108E D10B 
LDY    #EXTTBL
        971    D0F5 81        0B     CMPA   #$0B
        971    D0F5 81        0B     CMPA   #$0B
        972    D0F7 22        10     BHI    ZD109
        972    D0F7 22        10     BHI    ZD109
        973    D0F9 C6        03     LDB    #$03
        973    D0F9 C6        03     LDB    #$03
        974    D0FB 3D        MUL
        974    D0FB 3D        MUL
        975    D0FC 31        ~A5 LEAY   B,Y
        975    D0FC 31        ~A5 LEAY   B,Y
        976    D0FE C6        03     LDB    #$03
        976    D0FE C6        03     LDB    #$03
        977    D100 A6        A0     ZD100  LDA    ,Y+
        977    D100 A6        A0     ZD100  LDA    ,Y+
        978    D102 A7        0C     STA    $0C,X
        978    D102 A7        0C     STA    $0C,X
        979    D104 30        01     LEAX   $01,X
        979    D104 30        01     LEAX   $01,X
        980    D106 5A        DECB
        980    D106 5A        DECB
        981    D107 26        F7     BNE    ZD100
        981    D107 26        F7     BNE    ZD100
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        983    *

        983    *

        984    ** STANDARD FILE NAME EXTTENSIONS
        984    ** STANDARD FILE NAME EXTTENSIONS
        985    *
        985    *
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        987    D10E 54 58 54  FCC    "TXT"
        987    D10E 54 58 54  FCC    "TXT"
        988    D111 43 4D 44  FCC    "CMD"
        988    D111 43 4D 44  FCC    "CMD"
        989    D114 42 41 53  FCC    "BAS"
        989    D114 42 41 53  FCC    "BAS"
        990    D117 53 59 53  FCC    "SYS"
        990    D117 53 59 53  FCC    "SYS"
        991    D11A 42 41 4B  FCC        "BAK"
        991    D11A 42 41 4B  FCC        "BAK"
        992    D11D 53 43 52  FCC    "SCR"
        992    D11D 53 43 52  FCC    "SCR"
        993    D120 44 41 54  FCC    "DAT"
        993    D120 44 41 54  FCC    "DAT"
        994    D123 42 41 43  FCC    "BAC"
        994    D123 42 41 43  FCC    "BAC"
        995    D126 44 49 52  FCC    "DIR"
        995    D126 44 49 52  FCC    "DIR"
        996    D129 50 52 54  FCC    "PRT"
        996    D129 50 52 54  FCC    "PRT"
        997    D12C 4F 55 54  FCC    "OUT"
        997    D12C 4F 55 54  FCC    "OUT"
        998    *
        998    *
        999    ** READ A HEX ADDRESS FROM THE LINE BUFFER
        999    ** READ A HEX ADDRESS FROM THE LINE BUFFER
 1000   *
 1000   *
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1003   D135 25        22     BCS    ZD159
 1003   D135 25        22     BCS    ZD159
 1004   D137 8D        26     BSR    ZD15F
 1004   D137 8D        26     BSR    ZD15F
 1005   D139 25        18     BCS    ZD153
 1005   D139 25        18     BCS    ZD153
 1006   D13B 34        04     PSHS   B
 1006   D13B 34        04     PSHS   B
 1007       D13D C6        04     LDB    #$04
 1007       D13D C6        04     LDB    #$04
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1009   D142 79        CC1B   
ROL    >LODOFF
 1009   D142 79        CC1B   
ROL    >LODOFF
 1010   D145 5A        DECB
 1010   D145 5A        DECB
 1011   D146 26        F7     BNE    ZD13F
 1011   D146 26        F7     BNE    ZD13F
 1012   D148 35        04     PULS   B
 1012   D148 35        04     PULS   B
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1014   D14D B7        CC1C   
STA        >LODOFF+1
 1014   D14D B7        CC1C   
STA        >LODOFF+1
 1015   D150 5C        INCB
 1015   D150 5C        INCB
 1016   D151 20        DF     BRA    ZD132
 1016   D151 20        DF     BRA    ZD132
 1017   
 1017   
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1019   D156 24        FB     BCC    ZD153
 1019   D156 24        FB     BCC    ZD153
 1020   D158 39        RTS
 1020   D158 39        RTS
 1021   
 1021   
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1023   D15C 1C        FE     ANDCC  #$FE
 1023   D15C 1C        FE     ANDCC  #$FE
 1024   D15E 39        RTS
 1024   D15E 39        RTS
 1025   
 1025   
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1027   D161 2A        0F     BPL    ZD172
 1027   D161 2A        0F     BPL    ZD172
 1028   D163 8B        06     ADDA   #$06
 1028   D163 8B        06     ADDA   #$06
 1029   D165 2A        04     BPL    ZD16B
 1029   D165 2A        04     BPL    ZD16B
 1030   D167 8B        07     ADDA   #$07
 1030   D167 8B        07     ADDA   #$07
 1031   D169 2A        07     BPL    ZD172
 1031   D169 2A        07     BPL    ZD172
 1032   D16B 8B        0A ZD16B  ADDA   #$0A
 1032   D16B 8B        0A ZD16B  ADDA   #$0A
 1033   D16D 2B        03     BMI    ZD172
 1033   D16D 2B        03     BMI    ZD172
 1034   D16F 1C        FE     ANDCC  #$FE
 1034   D16F 1C        FE     ANDCC  #$FE
 1035   D171 39        RTS
 1035   D171 39        RTS
 1036   
 1036   
 1037   D172 1A        01     ZD172  ORCC   #$01
 1037   D172 1A        01     ZD172  ORCC   #$01
 1038   D174 39        RTS
 1038   D174 39        RTS
 1039   
 1039   
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1041   D178 BD        D00E   ZD178      JSR    >NXTCH1
 1041   D178 BD        D00E   ZD178      JSR    >NXTCH1
 1042   D17B 25        DC     BCS    ZD159
 1042   D17B 25        DC     BCS    ZD159
 1043   D17D 81        39     CMPA   #$39
 1043   D17D 81        39     CMPA   #$39
 1044   D17F 22        D2     BHI    ZD153
 1044   D17F 22        D2     BHI    ZD153
 1045   D181 84        0F     ANDA   #$0F
 1045   D181 84        0F     ANDA   #$0F
 1046   D183 34        04     PSHS   B
 1046   D183 34        04     PSHS   B
 1047   D185 34        02     PSHS   A
 1047   D185 34        02     PSHS   A
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1049   D1!8A 58    ASLB
 1049   D1!8A 58    ASLB
 1050   D18B 49        ROLA
 1050   D18B 49        ROLA
 1051   D18C 58        ASLB
 1051   D18C 58        ASLB
 1052   D18D 49        ROLA
 1052   D18D 49        ROLA
 1053   D18E 58        ASLB
 1053   D18E 58        ASLB
 1054   D18F 49        ROLA
 1054   D18F 49        ROLA
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1057   D196 EB        E0     ADDB   ,S+
 1057   D196 EB        E0     ADDB   ,S+
 1058   D198 89        00     ADCA-Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
 1058   D198 89        00     ADCA-Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
"        #$00
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
"        #$00
 1059   D19A FD        CC1B   
STD    >LODOFF
 1059   D19A FD        CC1B   
STD    >LODOFF
 1060   D19D 35        04     PULS   B
 1060   D19D 35        04     PULS   B
 1061   D19F 5C        INCB
 1061   D19F 5C        INCB
 1062   D1A0 20        D6     BRA    ZD178
 1062   D1A0 20        D6     BRA    ZD178
 1063   *
 1063   *
 1064   ** LOAD BINARY FILE
 1064   ** LOAD BINARY FILE
 1065   *
 1065   *
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD#1E4
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD#1E4
 1068   D1A7 81        02     CMPA   #$02
 1068   D1A7 81        02     CMPA   #$02
 1069   D1A9 27        15     BEQ    ZD1C0
 1069   D1A9 27        15     BEQ    ZD1C0
 1070   D1AB 81        16     CMPA   #$16
 1070   D1AB 81        16     CMPA   #$16
 1071   D1AD 26        F6     BNE    ZD1A5
 1071   D1AD 26        F6     BNE    ZD1A5
 1072   D1AF 8D        33     BSR    ZD1E4
 1072   D1AF 8D        33     BSR    ZD1E4
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1074   D1B4 8D        2E     BSR    ZD1E4
 1074   D1B4 8D        2E     BSR    ZD1E4
 1075   D1B6 B7        CC1$F       
STA    >TRNVEC+1
 1075   D1B6 B7        CC1$F       
STA    >TRNVEC+1
 1076   D1B9 86        01     LDA    #$01
 1076   D1B9 86        01     LDA    #$01
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1078   D1BE 20        E5     BRA    ZD1A5
 1078   D1BE 20        E5     BRA    ZD1A5
 1079   
 1079   
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1081   D1C2 1F        89     TFR    A,B
 1081   D1C2 1F        89     TFR    A,B
 1082   D1C4 8D        1E     BSR    ZD1E4
 1082   D1C4 8D        1E     BSR    ZD1E4
 1083   D1C6 1E        89     EXG    %A,B
 1083   D1C6 1E        89     EXG    %A,B
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1086   D1CE 8D        14     BSR    ZD1E4
 1086   D1CE 8D        14     BSR    ZD1E4
 1087   D1D0 1F        89     TFR    A,B
 1087   D1D0 1F        89     TFR    A,B
 1088   D1D2 4D        TSTA
 1088   D1D2 4D        TSTA
 1089   D1D3 27        D0     BEQ    ZD1A5
 1089   D1D3 27        D0     BEQ    ZD1A5
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1091   D1D7 BE        CC3&D       
LDX    >ZCC3D
 1091   D1D7 BE        CC3&D       
LDX    >ZCC3D
 1092   D1DA A7        80     STA    ,X+
 1092   D1DA A7        80     STA    ,X+
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1094   D1DF 5A        DECB
 1094   D1DF 5A        DECB
 1095   D1E0 26        F3     BNE    ZD1D5
 1095   D1E0 26        F3     BNE    ZD1D5
 1096   D1E2 20        C1     BRA    ZD1A5
 1096   D1E2 20        C1     BRA    ZD1A5
 1097   
 1097   
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1099   D1E7 BD        D406   
JSR    >FMS
 1099   D1E7 BD        D406   
JSR    >FMS
 11'00       D1EA 27        11     BEQ    ZD1FD
 11'00       D1EA 27        11     BEQ    ZD1FD
 1101   D1EC A6        01     LDA    $01,X
 1101   D1EC A6        01     LDA    $01,X
 1102   D1EE 81        08     CMPA   #$08
 1102   D1EE 81        08     CMPA   #$08
 1103   D1F0 26        0E     BNE    ZD200
 1103   D1F0 26        0E     BNE    ZD200
 1104   D1F2 32        62     LEAS   $02,S
 1104   D1F2 32        62     LEAS   $02,S
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1106   D1F6 A7        84     STA    ,X
 1106   D1F6 A7        84     STA    ,X
 1107   D1F8 BD        D406   
JSR    (>FMS
 1107   D1F8 BD        D406   
JSR    (>FMS
 1108   D1FB 26        0D     BNE    ZD20A
 1108   D1FB 26        0D     BNE    ZD20A
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1110   D1FF 39        RTS
 1110   D1FF 39        RTS
 1111   
 1111   
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1113   D203 81        04     CMPA   #$04
 1113   D203 81        04     CMPA   #$04
 1114   D205 26        03     BNE    ZD20A
 1114   D205 26        03     BNE    ZD20A
 1115   D207 1A        01     ORCC   #$01
 1115   D207 1A        01     ORCC   #$01
 1116)       D209 39        RTS
 1116)       D209 39        RTS
 1117   
 1117   
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1120   *
 1120   *
 1121   ** 'GET' - LOAD BINARY FILE
 1121   ** 'GET' - LOAD BINARY FILE
 1122   *
 1122   *
 1123   D20F 86        00     GETCMD LDA    #$00
 1123   D20F 86        00     GETCMD LDA    #$00
 1124   D211 8D        35     BSR    ZD248
 1124   D211 8D        35     BSR    ZD248
 1125   D213 25        0F     BCS    *ZD224
 1125   D213 25        0F     BCS    *ZD224
 1126   D215 8D        07     BSR    ZD21E
 1126   D215 8D        07     BSR    ZD21E
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1128   D21A 8D        86     BSR    LOAD1
 1128   D21A 8D        86     BSR    LOAD1
 1129   D21C 20        F1     BRA    GETCMD
 1129   D21C 20        F1     BRA    GETCMD
 1130   
 1130   
 1131   D21E 4F        ZD21E  CLRA
 1131   D21E 4F        ZD21E  CLRA
 1132   D21F 5F        CLRB
 1132   D21F 5F        CLRB
 1133   D220 FD        CC1B   
STD    >LODOFF
 1133   D220 FD        CC1B   
STD    >LODOFF
 1134   D223 39        R+TS
 1134   D223 39        R+TS
 1135   
 1135   
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1138   D22B 7E        CD03   
JMP    >WARMS
 1138   D22B 7E        CD03   
JMP    >WARMS
 1139   
 1139   
 1140   D22E 86        02     ZD22E  LDA    #$02
 1140   D22E 86        02     ZD22E  LDA    #$02
 1141   D230 8D        22     BSR    ZD254
 1141   D230 8D        22     BSR    ZD254
 1142   D232 8D        EA     BSR    ZD21E
 1142   D232 8D        EA     BSR    ZD21E
 1143   D234 BD        ,D1A2       
JSR    >LOAD1
 1143   D234 BD        ,D1A2       
JSR    >LOAD1
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1145   D23A 27        04     BEQ    ZD240
 1145   D23A 27        04     BEQ    ZD240
 1146   D23C 6E        9F CC1E
 1146   D23C 6E        9F CC1E
JMP     [TRNVEC]
JMP     [TRNVEC]
 1147   
 1147   
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1149   D243 86        81     LDA    #$81
 1149   D243 86        81     LDA    #$81
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1151   .
 1151   .
 1152   D248 34        02     ZD248  PSHS   A
 1152   D248 34        02     ZD248  PSHS   A
 1153   D24A 8E        C840   
LDX    #FCB
 1153   D24A 8E        C840   
LDX    #FCB
 1154   D24D BD        D036   
JSR    >GETFL1
 1154   D24D BD        D036   
JSR    >GETFL1
 1155   D250 35        02     PULS   A
 1155   D250 35        02     PULS   A
 1156   D252 25        1A     BCS    ZD26E
 1156   D252 25        1A     BCS    ZD26E
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1159   9    9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ /D25A 8E        C840   
LDX    #FCB
 1159   9    9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ /D25A 8E        C840   
LDX    #FCB
 1160   D25D 86        01     LDA    #$01
 1160   D25D 86        01     LDA    #$01
 1161   D25F A7        84     STA    ,X
 1161   D25F A7        84     STA    ,X
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1163   D264 1025 00BB 
LBCS   ZD323
 1163   D264 1025 00BB 
LBCS   ZD323
 1164   D268 86        FF     LDA    #$FF
 1164   D268 86        FF     LDA    #$FF
 1165   D26A A7        88 3B  STA    $3B,X
 1165   D26A A7        88 3B  STA    $3B,X
 1166   D26D 39        RTS
 1166   D26D 39        RTS
 1167   0
 1167   0
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1169   D271 81        0D     CMPA   #$0D
 1169   D271 81        0D     CMPA   #$0D
 1170   D273 27        07     BEQ    ZD27C
 1170   D273 27        07     BEQ    ZD27C
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1174   D27E 39        RTS
 1174   D27E 39        RTS
 1175   
 1175   
 11176       D27F 34        30     RPTER1 PSHS   Y,X
 11176       D27F 34        30     RPTER1 PSHS   Y,X
 1177   D281 A6        01     LDA    $01,X
 1177   D281 A6        01     LDA    $01,X
 1178   D283 B7        CC20   
STA    >ERRTYP
 1178   D283 B7        CC20   
STA    >ERRTYP
 1179   D286 27        63     BEQ    ZD2EB
 1179   D286 27        63     BEQ    ZD2EB
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1182   D28F 26        08     BNE    ZD299
 1182   D28F 26        08     BNE    ZD299
 1183   D2291 81    10     CMPA   #$10
 1183   D2291 81    10     CMPA   #$10
 1184   D293 27        58     BEQ    ZD2ED
 1184   D293 27        58     BEQ    ZD2ED
 1185   D295 108E D361 
LDY    #ZD361
 1185   D295 108E D361 
LDY    #ZD361
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1187   D29C 6D        02     TST    $02,X
 1187   D29C 6D        02     TST    $02,X
 1188   D29E 27        09     BEQ    ZD2A9
 1188   D29E 27        09     BEQ    ZD2A9
 1189   D2A0 86        04     LDA    #$04
 1189   D2A0 86        04     LDA    #$04
 1190   D2A2 A7        84     STA    ,3X
 1190   D2A2 A7        84     STA    ,3X
 1191   D2A4 BD        D406   
JSR    >FMS
 1191   D2A4 BD        D406   
JSR    >FMS
 1192   D2A7 26        2E     BNE    ZD2D7
 1192   D2A7 26        2E     BNE    ZD2D7
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1194   D2AC C6        0B     LDB    #$0B
 1194   D2AC C6        0B     LDB    #$0B
 1195   D2AE 8D        6E     BSR    ZD31E
 1195   D2AE 8D        6E     BSR    ZD31E
 1196   D2B0 8E        C840   
LDX    #FCB
 1196   D2B0 8E        C840   
LDX    #FCB
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1198   D2B46 A7    03     STA    $03,X
 1198   D2B46 A7    03     STA    $03,X
 1199   D2B8 86        01     LDA    #$01
 1199   D2B8 86        01     LDA    #$01
 1200   D2BA A7        84     STA    ,X
 1200   D2BA A7        84     STA    ,X
 1201   D2BC BD        D406   
JSR    >FMS
 1201   D2BC BD        D406   
JSR    >FMS
 1202   D2BF 26        16     BNE    ZD2D7
 1202   D2BF 26        16     BNE    ZD2D7
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1204   D2C4 4A        DECA
 1204   D2C4 4A        DECA
 1205   D2C5 47        ASRA
 1205   D2C5 47        ASRA
 1206   D2C6 47        ASRA
 1206   D2C6 47        ASRA
 12507       D2C7 4C        INCA
 12507       D2C7 4C        INCA
 1208   D2C8 6F        88 20  CLR    $20,X
 1208   D2C8 6F        88 20  CLR    $20,X
 1209   D2CB A7        88 21  STA    $21,X
 1209   D2CB A7        88 21  STA    $21,X
 1210   D2CE 86        15     LDA    #$15
 1210   D2CE 86        15     LDA    #$15
 1211   D2D0 A7        84     STA    ,X
 1211   D2D0 A7        84     STA    ,X
 1212   D2D2 BD        D406   
JSR    >FMS
 1212   D2D2 BD        D406   
JSR    >FMS
 1213   D2D5 27        1E     BEQ    ZD2F5
 1213   D2D5 27        1E     BEQ    ZD2F5
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DER6MSG
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DER6MSG
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1218   D2E3 A7        01     STA    $01,X
 1218   D2E3 A7        01     STA    $01,X
 1219   D2E5 6F        84     CLR    ,X
 1219   D2E5 6F        84     CLR    ,X
 1220   D2E7 5F        CLRB
 1220   D2E7 5F        CLRB
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1222   D2EB 35        B0     Z7D2EB      PULS   PC,Y,X
 1222   D2EB 35        B0     Z7D2EB      PULS   PC,Y,X
 1223   
 1223   
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1226   D2F3 20        F6     BRA    ZD2EB
 1226   D2F3 20        F6     BRA    ZD2EB
 1227   
 1227   
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1229   D2F8 8E        C840   
LDX    #FCB
 1229   D2F8 8E        C840   
LDX    #FCB
 1230   D2FB B6        CC20   
LDA    8>ERRTYP
 1230   D2FB B6        CC20   
LDA    8>ERRTYP
 1231   D2FE 4A        DECA
 1231   D2FE 4A        DECA
 1232   D2FF 84        03     ANDA   #$03
 1232   D2FF 84        03     ANDA   #$03
 1233   D301 C6        3F     LDB    #$3F
 1233   D301 C6        3F     LDB    #$3F
 1234   D303 3D        MUL
 1234   D303 3D        MUL
 1235   D304 CB        04     ADDB   #$04
 1235   D304 CB        04     ADDB   #$04
 1236   D306 E7        88 22  STB    $22,X
 1236   D306 E7        88 22  STB    $22,X
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1238   D30C 26        C9     BNE    ZD2D7:
 1238   D30C 26        C9     BNE    ZD2D7:
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1240   D311 81        0D     CMPA   #$0D
 1240   D311 81        0D     CMPA   #$0D
 1241   D313 26        F4     BNE    ZD309
 1241   D313 26        F4     BNE    ZD309
 1242   D315 86        04     LDA    #$04
 1242   D315 86        04     LDA    #$04
 1243   D317 A7        84     STA    ,X
 1243   D317 A7        84     STA    ,X
 1244   D319 BD        D406   
JSR    >FMS
 1244   D319 BD        D406   
JSR    >FMS
 1245   D31C 20        CD     BRA    ZD2EB
 1245   D31C 20        CD     BRA    ZD2EB
 1246   D31E 34        30     ZD31EL
 1246   D31E 34        30     ZD31EL
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR;    PSHS   Y,X
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR;    PSHS   Y,X
 1247   D320 7E        D100   
JMP    >ZD100
 1247   D320 7E        D100   
JMP    >ZD100
 1248   
 1248   
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1251   *
 1251   *
 1252   ** CALL FLEX AS A SUBROUTINE
 1252   ** CALL FLEX AS A SUBROUTINE
 1253   *
 1253   *
 1254   D329 35        06     DOCMD1 PULS   B,A
 1254   D329 35        06     DOCMD1 PULS   B,A
 1255   D32<B FD	CC43	
STD	>ZCC43
 1255   D32<B FD	CC43	
STD	>ZCC43
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1258   D335 7C        CC28   
INC    >CMDFLG
 1258   D335 7C        CC28   
INC    >CMDFLG
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1261   D33E 10FE CC45 
LDS    >ZCC45=
 1261   D33E 10FE CC45 
LDS    >ZCC45=
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1263   D345 6E        9F CC43
 1263   D345 6E        9F CC43
JMP     [ZCC43]
JMP     [ZCC43]
 1264   *
 1264   *
 1265   ** ADD ACCB TO IX
 1265   ** ADD ACCB TO IX
 1266   *
 1266   *
 1267   D349 3A        ADDBX1 ABX
 1267   D349 3A        ADDBX1 ABX
 1268   D34A 39        RTS
 1268   D34A 39        RTS
 1269   
 1269   
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1271   D34E 26        04     BNE    ZD3>54
 1271   D34E 26        04     BNE    ZD3>54
 1272   D350 6E        9F D3F3
 1272   D350 6E        9F D3F3
JMP     [MONVEC]
JMP     [MONVEC]
 1273   
 1273   
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1275   D357 86        1B     LDA    #$1B
 1275   D357 86        1B     LDA    #$1B
 1276   D359 A7        01     STA    $01,X
 1276   D359 A7        01     STA    $01,X
 1277   D35B BD        D27F   
JSR    >RPTER1
 1277   D35B BD        D27F   
JSR    >RPTER1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1279   
 1279   
 1280   D361 45 5?2 52 4F   ZD361  FCC    /ERRORS/
 1280   D361 45 5?2 52 4F   ZD361  FCC    /ERRORS/
 1281   D367 00 00     FCB    $00,$00
 1281   D367 00 00     FCB    $00,$00
 1282   D369 53 59 53  FCC    /SYS/
 1282   D369 53 59 53  FCC    /SYS/
 1283   END
 1283   END
 1285   *
 1285   *
 1286   ** TERMINAL AND PRINTER DRIVERS
 1286   ** TERMINAL AND PRINTER DRIVERS
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1288   *
 1288   *
 1289   ** FLEX DRIVER MEMORY MAP:
 1289   ** FLEX DRIVER MEMORY MAP:
 @1290       ** C700 - C83F PRINTER SPOOLER
 @1290       ** C700 - C83F PRINTER SPOOLER
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1294   *
 1294   *
 1295   *
 1295   *
 1296   ** INTERRUPT VECTORS
 1296   ** INTERRUPT VECTORS
 1297   *
 1297   *
 1298   DFC8   IRQVEC EQU    MONRAM+$08
A
 1298   DFC8   IRQVEC EQU    MONRAM+$08
A
 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1300   *
 1300   *
 1301   ** PRINTER DRIVERS
 1301   ** PRINTER DRIVERS
 1302   *
 1302   *
 1303   CCC0   ORG    $CCC0
 1303   CCC0   ORG    $CCC0
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1305   CCD8   ORG    $CCD8
 1305   CCD8   ORG    $CCD8
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHEBCK IF PRINTER READY
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHEBCK IF PRINTER READY
 1307   CCE4   ORG    $CCE4
 1307   CCE4   ORG    $CCE4
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1309   CCF8   ORG    $CCF8
 1309   CCF8   ORG    $CCF8
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1312   *C
 1312   *C
 1313   ** CONSOLE DRIVER PATCHES:
 1313   ** CONSOLE DRIVER PATCHES:
 1314   *
 1314   *
 1315   D370   ORG    $D370
 1315   D370   ORG    $D370
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1317   D370   TMON   EQU    *              TIMER ON
 1317   D370   TMON   EQU    *              TIMER ON
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1320   DD370       DUMRTS EQU    *
 1320   DD370       DUMRTS EQU    *
 1321   D370 39        RTS
 1321   D370 39        RTS
 1322   *
 1322   *
 1323   ** SBUG MONITOR I/O CALLS
 1323   ** SBUG MONITOR I/O CALLS
 1324   *
 1324   *
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1327   D378 6E        9F F800        MEONITR     JMP    [MONROM+$00]
 1327   D378 6E        9F F800        MEONITR     JMP    [MONROM+$00]
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1331   
 1331   
 1332F       *
 1332F       *
 1333   ** AUTO BLOCK FDBS
 1333   ** AUTO BLOCK FDBS
 1334   *
 1334   *
 1335   D3E5   ORG    $D3E5
 1335   D3E5   ORG    $D3E5
 1336   D3E5 D374
 1336   D3E5 D374
ZD3E5   FDB    INCHNE INPUT - NO ECHO
ZD3E5   FDB    INCHNE INPUT - NO ECHO
 1337   D3E7 D370
 1337   D3E7 D370
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
 1338   D3E9 DFC2
 1338   D3E9 DFC2
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
 1339   D3GEB DFC8
 1339   D3GEB DFC8
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
 1340   D3ED D370
 1340   D3ED D370
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
 1341   D3EF D370
 1341   D3EF D370
TONVEC  FDB    TMON   TIMER ON ROUTINE
TONVEC  FDB    TMON   TIMER ON ROUTINE
 1342   D3F1 D370
 1342   D3F1 D370
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
 1343   D3F3 D378
 1343   D3F3 D378
MONVEC  HFDB        MONITR MONITOR RETURN ADDRESS
MONVEC  HFDB        MONITR MONITOR RETURN ADDRESS
 1344   D3F5 D371
 1344   D3F5 D371
TERVEC  FDB    TERINZ TERMINAL INITIATION
TERVEC  FDB    TERINZ TERMINAL INITIATION
 1345   D3F7 D37C
 1345   D3F7 D37C
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
 1346   D3F9 D380
 1346   D3F9 D380
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
 1347   D3FB D384
 1347   D3FB D384
INVEC   FDB    IINEEE      TERMINAL INPUT CHARACTER
INVEC   FDB    IINEEE      TERMINAL INPUT CHARACTER
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1349   END
 1349   END
 1351   *
 1351   *
 1352   ** FILE MANAGEMENT SYSTEM
 1352   ** FILE MANAGEMENT SYSTEM
 1353   *
 1353   *
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1356   >D406 7E       D47B   FMSJ        JMP    >FMS1
 1356   >D406 7E       D47B   FMSJ        JMP    >FMS1
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1360   D409   ORG    CPYMSG
 1360   D409   ORG    CPYMSG
 1361   D409   FCBPTR RMB    2
K
 1361   D409   FCBPTR RMB    2
K
 1362   D40B   CURFCB RMB    4
 1362   D40B   CURFCB RMB    4
 1363   D40F   ZD40F  RMB    2
 1363   D40F   ZD40F  RMB    2
 1364   D411   ZD411  RMB    1
 1364   D411   ZD411  RMB    1
 1365   D412   ZD412  RMB    1
 1365   D412   ZD412  RMB    1
 1366   D413   ZD413  RMB    1
 1366   D413   ZD413  RMB    1
 1367   D414   ZD414  RMB    1
 1367   D414   ZD414  RMB    1
 1368   D415   ZD415  RMB    2
 1368   D415   ZD415  RMB    2
 1369   D417   ZD417  RMB    1
 1369   D417   ZD417  RMB    1
 1370   D418   ZD418  RMB    2M
 1370   D418   ZD418  RMB    2M
 1371   D41A   ZD41A  RMB    1
 1371   D41A   ZD41A  RMB    1
 1372   D41B   ZD41B  RMB    2
 1372   D41B   ZD41B  RMB    2
 1373   D41D   ZD41D  RMB    24
 1373   D41D   ZD41D  RMB    24
 1374   D435 FF        VERFLG FCB    $FF
 1374   D435 FF        VERFLG FCB    $FF
 1375   *
 1375   *
 1376   **
 1376   **
 1377   *
 1377   *
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1380   D43C C6        0A     LgIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
 1380   D43C C6        0A     LgIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽNDB      #$0A
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽNDB      #$0A
 1381   D43E 8D        11     BSR    ZD451
 1381   D43E 8D        11     BSR    ZD451
 1382   D440 8E        0005   
LDX    #Z0005
 1382   D440 8E        0005   
LDX    #Z0005
 1383   D443 BF        D413   
STX    >ZD413
 1383   D443 BF        D413   
STX    >ZD413
 1384   D446 BF        D415   
STX    >ZD415
 1384   D446 BF        D415   
STX    >ZD415
 1385   D449 7F        D41A   
CLR    >ZD41A
 1385   D449 7F        D41A   
CLR    >ZD41A
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1387   D44F C6        1A     LDB    #$1OA
 1387   D44F C6        1A     LDB    #$1OA
 1388   D451 6F        80     ZD451  CLR    ,X+
 1388   D451 6F        80     ZD451  CLR    ,X+
 1389   D453 5A        DECB
 1389   D453 5A        DECB
 1390   D454 26        FB     BNE    ZD451
 1390   D454 26        FB     BNE    ZD451
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1392   
 1392   
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1395   D45F 27        EB     BEQ    ZDP44C
 1395   D45F 27        EB     BEQ    ZDP44C
 1396   D461 30        88 E4  LEAX   -$1C,X
 1396   D461 30        88 E4  LEAX   -$1C,X
 1397   D464 BF        D40B   
STX    >CURFCB
 1397   D464 BF        D40B   
STX    >CURFCB
 1398   D467 34        20     PSHS   Y
 1398   D467 34        20     PSHS   Y
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1400   D46C 35        20     PULS   Y
 1400   D46C 35        20     PULS   Y
 1401   D46E 24        EC     BCC    ZD45C
 1401   D46E 24        EC     BCC    ZD45C
 1402   D470 BE        D40B   
LDX    >CURFCB
 1402   D470 BE        D40B   
LDX    >CURFCB
 1403   D473 6QF    02     CLR    $02,X
 1403   D473 6QF    02     CLR    $02,X
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1405   D478 C6        FF     LDB    #$FF
 1405   D478 C6        FF     LDB    #$FF
 1406   D47A 39        RTS
 1406   D47A 39        RTS
 1407   
 1407   
 1408   *
 1408   *
 1409   ** FMS CALL, PROCESSING
 1409   ** FMS CALL, PROCESSING
 1410   *
 1410   *
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1412   D47E 27        03     BEQ    ZD483
 1412   D47E 27        03     BEQ    ZD483
 1413   D480R BD    C709   
JSR    >PRSPL4
 1413   D480R BD    C709   
JSR    >PRSPL4
 1414   D483 34        24     ZD483  PSHS   Y,B
 1414   D483 34        24     ZD483  PSHS   Y,B
 1415   D485 BF        D40B   
STX    >CURFCB
 1415   D485 BF        D40B   
STX    >CURFCB
 1416   D488 6F        01     CLR    $01,X
 1416   D488 6F        01     CLR    $01,X
 1417   D48A E6        84     LDB    ,X
 1417   D48A E6        84     LDB    ,X
 1418   D48C 26        22     BNE    DOFUNC
 1418   D48C 26        22     BNE    DOFUNC
 1419   *
 1419   *
 1420   ** READ/WRITE CHAR/BYTE
 1420   ** READ/WRITE CHAR/BYTE
 1421   *
 1421   *
 1422   SD48E E6    02     LDB    $02,X
 1422   SD48E E6    02     LDB    $02,X
 1423   D490 27        1A     BEQ    ZD4AC
 1423   D490 27        1A     BEQ    ZD4AC
 1424   D492 C1        02     CMPB   #$02
 1424   D492 C1        02     CMPB   #$02
 1425   D494 27        11     BEQ    ZD4A7
 1425   D494 27        11     BEQ    ZD4A7
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1428   D49C 25        26     BCS    ZD4C4
 1428   D49C 25        26     BCS    ZD4C4
 1429   D49E 7D        CCFC   T
TST        >ZCCFC
 1429   D49E 7D        CCFC   T
TST        >ZCCFC
 1430   D4A1 26        23     BNE    ZD4C6
 1430   D4A1 26        23     BNE    ZD4C6
 1431   D4A3 5F        CLRB
 1431   D4A3 5F        CLRB
 1432   D4A4 35        24     PULS   Y,B
 1432   D4A4 35        24     PULS   Y,B
 1433   D4A6 39        RTS
 1433   D4A6 39        RTS
 1434   
 1434   
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1436   D4AA 20        ED     BRA    ZD499
 1436   D4AA 20        ED     BRA    ZD499
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1438   D4AEU 20    14     BRA    ZD4C4
 1438   D4AEU 20    14     BRA    ZD4C4
 1439   
 1439   
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1441   D4B2 23        04     BLS    DOFUN1
 1441   D4B2 23        04     BLS    DOFUN1
 1442   D4B4 C6        01     LDB    #$01
 1442   D4B4 C6        01     LDB    #$01
 1443   D4B6 20        0C     BRA    ZD4C4
 1443   D4B6 20        0C     BRA    ZD4C4
 1444   D4B8 5A        DOFUN1 DECB
 1444   D4B8 5A        DOFUN1 DECB
 1445   D4B9 58        ASLB
 1445   D4B9 58        ASLB
 1446   D4BA 8E        D4CE   
LDX    #FMSTBLV
 1446   D4BA 8E        D4CE   
LDX    #FMSTBLV
 1447   D4BD AD        95     JSR    [B,X]
 1447   D4BD AD        95     JSR    [B,X]
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1449   D4C2 24        02     BCC    ZD4C6
 1449   D4C2 24        02     BCC    ZD4C6
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1452   D4C9 6D        01     TST    $01,X
 1452   D4C9 6D        01     TST    $01,X
 1453   D4CB 35        24     PULS   Y,B
 1453   D4CB 35        24     PULS   Y,B
 1454W       D4CD 39        RTS
 1454W       D4CD 39        RTS
 1455   *
 1455   *
 1456   ** FMS COMMAND VECTOR TABLE
 1456   ** FMS COMMAND VECTOR TABLE
 1457   *
 1457   *
 1458   D4CE D986
 1458   D4CE D986
FMSTBL  FDB    OPENRD FC 1
FMSTBL  FDB    OPENRD FC 1
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1462   D4D6 D5E2      FDB    REXWIND     FC 5
 1462   D4D6 D5E2      FDB    REXWIND     FC 5
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1464   D4DA D838      FDB    GETREC FC 7
 1464   D4DA D838      FDB    GETREC FC 7
 1465   D4DC D876      FDB    PUTREC FC 8
 1465   D4DC D876      FDB    PUTREC FC 8
 1466   D4DE D641      FDB    RDSECT FC 9
 1466   D4DE D641      FDB    RDSECT FC 9
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1468   D4E2 D969      FDB    RESV1  FC 11
 1468   D4E2 D969      FDB    RESV1  FC 11
 1469   D4E4 DBD6      YFDB        DELETE FC 12
 1469   D4E4 DBD6      YFDB        DELETE FC 12
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1471   D4E8 D699      FDB    RESV2  FC 14
 1471   D4E8 D699      FDB    RESV2  FC 14
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1473   D4EC D810      FDB    OPNREC FC 16
 1473   D4EC D810      FDB    OPNREC FC 16
 1474   D4EE D56F      FDB    GETBYT FC 17
 1474   D4EE D56F      FDB    GETBYT FC 17
 1475   D4F0 D590      FDB    PUTBYT FC 18
 1475   D4F0 D590      FDB    PUTBYT FC 18
 147Z6       D4F2 DB07      FDB    RESV3  FC 19
 147Z6       D4F2 DB07      FDB    RESV3  FC 19
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1480   *
 1480   *
 1481   **
 1481   **
 1482   *
 1482   *
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1484   D4FC 26        05     BNE    ZD503
 1484   D4FC 26        05     BNE    ZD503
 14[85       D4FE C6        02     LDB    #$02
 14[85       D4FE C6        02     LDB    #$02
 1486   D500 1A        01     ORCC   #$01
 1486   D500 1A        01     ORCC   #$01
 1487   D502 39        RTS
 1487   D502 39        RTS
 1488   
 1488   
 1489   D503 ED        84     ZD503  STD    ,X
 1489   D503 ED        84     ZD503  STD    ,X
 1490   D505 AE        84     LDX    ,X
 1490   D505 AE        84     LDX    ,X
 1491   D507 6F        84     CLR    ,X
 1491   D507 6F        84     CLR    ,X
 1492   D509 6F        01     CLR    $01,X
 1492   D509 6F        01     CLR    $01,X
 1493   D50B 39        RTS
 1493   D50B 39        RTS
 1494   
 1494   
 1495   \D50C 8D    0E     ZD50C  BSR    ZD51C
 1495   \D50C 8D    0E     ZD50C  BSR    ZD51C
 1496   D50E 27        05     BEQ    ZD515
 1496   D50E 27        05     BEQ    ZD515
 1497   D510 C6        0D     LDB    #$0D
 1497   D510 C6        0D     LDB    #$0D
 1498   D512 1A        01     ORCC   #$01
 1498   D512 1A        01     ORCC   #$01
 1499   D514 39        RTS
 1499   D514 39        RTS
 1500   
 1500   
 1501   D515 EC        94     ZD515  LDD    [,X]
 1501   D515 EC        94     ZD515  LDD    [,X]
 1502   D517 ED        84     STD    ,X
 1502   D517 ED        84     STD    ,X
 1503   D519 1C        FE     ANDCC  ]#$FE
 1503   D519 1C        FE     ANDCC  ]#$FE
 1504   D51B 39        RTS
 1504   D51B 39        RTS
 1505   
 1505   
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1507   D51F C3        001C   
ADDD   #$001C
 1507   D51F C3        001C   
ADDD   #$001C
 1508   D522 8E        D409   
LDX    #FCBPTR
 1508   D522 8E        D409   
LDX    #FCBPTR
 1509   D525 10AE 84   ZD525  LDY    ,X
 1509   D525 10AE 84   ZD525  LDY    ,X
 1510   D528 26        03     BNE    ZD52D
 1510   D528 26        03     BNE    ZD52D
 1511   D52A 1C        FB     ANDCC  #$FB
^
 1511   D52A 1C        FB     ANDCC  #$FB
^
 1512   D52C 39        RTS
 1512   D52C 39        RTS
 1513   
 1513   
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1515   D530 26        01     BNE    ZD533
 1515   D530 26        01     BNE    ZD533
 1516   D532 39        RTS
 1516   D532 39        RTS
 1517   D533 AE        84     ZD533  LDX    ,X
 1517   D533 AE        84     ZD533  LDX    ,X
 1518   D535 20        EE     BRA    ZD525
 1518   D535 20        EE     BRA    ZD525
 1519   
 1519   
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1521   D53_A 4F    CLRA
 1521   D53_A 4F    CLRA
 1522   D53B 5F        CLRB
 1522   D53B 5F        CLRB
 1523   D53C 8D        02     BSR    ZD540
 1523   D53C 8D        02     BSR    ZD540
 1524   D53E C6        2F     LDB    #$2F
 1524   D53E C6        2F     LDB    #$2F
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1526   D543 30        01     LEAX   $01,X
 1526   D543 30        01     LEAX   $01,X
 1527   D545 5A        DECB
 1527   D545 5A        DECB
 1528   D546 26        F8     BNE    ZD540
 1528   D546 26        F8     BNE    ZD540
 1529   D548 39        RTS
 1529   D548 39        RTS
 1530`       
 1530`       
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1532   D54C C6        0B     LDB    #$0B
 1532   D54C C6        0B     LDB    #$0B
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1534   D550 A7        88 24  STA    $24,X
 1534   D550 A7        88 24  STA    $24,X
 1535   D553 30        01     LEAX   $01,X
 1535   D553 30        01     LEAX   $01,X
 1536   D555 5A        DECB
 1536   D555 5A        DECB
 1537   D556 26        F6     BNE    ZD54E
 1537   D556 26        F6     BNE    ZD54E
 1538   D558 3a9    RTS
 1538   D558 3a9    RTS
 1539   
 1539   
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1541   D55C C6        0B     LDB    #$0B
 1541   D55C C6        0B     LDB    #$0B
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1543   D560 34        02     PSHS   A
 1543   D560 34        02     PSHS   A
 1544   D562 A6        88 24  LDA    $24,X
 1544   D562 A6        88 24  LDA    $24,X
 1545   D565 A1        E0     CMPA   ,S+
 1545   D565 A1        E0     CMPA   ,S+
 1546   D567 26        05     BNE    ZDb56E
 1546   D567 26        05     BNE    ZDb56E
 1547   D569 30        01     LEAX   $01,X
 1547   D569 30        01     LEAX   $01,X
 1548   D56B 5A        DECB
 1548   D56B 5A        DECB
 1549   D56C 26        F0     BNE    ZD55E
 1549   D56C 26        F0     BNE    ZD55E
 1550   D56E 39        ZD56E  RTS
 1550   D56E 39        ZD56E  RTS
 1551   *
 1551   *
 1552   ** GET RANDOM BYTE FROM SECTOR
 1552   ** GET RANDOM BYTE FROM SECTOR
 1553   *
 1553   *
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1555   D572 E6        02     LDB    $02,cX
 1555   D572 E6        02     LDB    $02,cX
 1556   D574 54        LSRB
 1556   D574 54        LSRB
 1557   D575 24        79     BCC    ZD5F0
 1557   D575 24        79     BCC    ZD5F0
 1558   D577 E6        88 23  LDB    $23,X
 1558   D577 E6        88 23  LDB    $23,X
 1559   D57A 7E        D600   
JMP    >ZD600
 1559   D57A 7E        D600   
JMP    >ZD600
 1560   
 1560   
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1562   D580 E6        88 22  LDB    $22,X
 1562   D580 E6        88 22  LDB    $22,X
 1563   D583 6C        88 22  INC    $22,X
 1563   D583 6C        88 22  INC    $22,X
 15d64       D586 3A        ABX
 15d64       D586 3A        ABX
 1565   D587 A7        88 40  STA    $40,X
 1565   D587 A7        88 40  STA    $40,X
 1566   D58A 5C        INCB
 1566   D58A 5C        INCB
 1567   D58B 26        1F     BNE    ZD5AC
 1567   D58B 26        1F     BNE    ZD5AC
 1568   D58D 1A        01     ORCC   #$01
 1568   D58D 1A        01     ORCC   #$01
 1569   D58F 39        RTS
 1569   D58F 39        RTS
 1570   *
 1570   *
 1571   ** PUT RANDOM BYTE IN SECTOR
 1571   ** PUT RANDOM BYTE IN SECTOR
 1572   *
 1572   *
 1573   D590 BE        D40B   PUTBYT LDX    e>CURFCB
 1573   D590 BE        D40B   PUTBYT LDX    e>CURFCB
 1574   D593 E6        02     LDB    $02,X
 1574   D593 E6        02     LDB    $02,X
 1575   D595 C4        03     ANDB   #$03
 1575   D595 C4        03     ANDB   #$03
 1576   D597 C1        03     CMPB   #$03
 1576   D597 C1        03     CMPB   #$03
 1577   D599 26        55     BNE    ZD5F0
 1577   D599 26        55     BNE    ZD5F0
 1578   D59B CA        80     ORB    #$80
 1578   D59B CA        80     ORB    #$80
 1579   D59D E7        02     STB    $02,X
 1579   D59D E7        02     STB    $02,X
 1580   D59F E6        0F     LDB    $0F,X
 1580   D59F E6        0F     LDB    $0F,X
 1581   D5A1 C5        80     fBITB       #$80
 1581   D5A1 C5        80     fBITB       #$80
 1582   D5A3 26        0A     BNE    ZD5AF
 1582   D5A3 26        0A     BNE    ZD5AF
 1583   D5A5 E6        88 23  LDB    $23,X
 1583   D5A5 E6        88 23  LDB    $23,X
 1584   D5A8 3A        ABX
 1584   D5A8 3A        ABX
 1585   D5A9 A7        88 40  STA    $40,X
 1585   D5A9 A7        88 40  STA    $40,X
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1587   D5AE 39        RTS
 1587   D5AE 39        RTS
 1588   
 1588   
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1590   D5hB1 1A    01     ORCC   #$01
 1590   D5hB1 1A    01     ORCC   #$01
 1591   D5B3 39        RTS
 1591   D5B3 39        RTS
 1592   
 1592   
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1594   D5B7 2B        3C     BMI    ZD5F5
 1594   D5B7 2B        3C     BMI    ZD5F5
 1595   D5B9 27        07     BEQ    ZD5C2
 1595   D5B9 27        07     BEQ    ZD5C2
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1597   D5BE 86        20     LDA    #$20
 1597   D5BE 86        20     LDA    #$20
 1598   D5C0 20        1D     BRA    ZDu &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
 1598   D5C0 20        1D     BRA    ZDu &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠i5DF
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠i5DF
 1599   
 1599   
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1601   D5C4 25        1B     BCS    ZD5E1
 1601   D5C4 25        1B     BCS    ZD5E1
 1602   D5C6 81        18     CMPA   #$18
 1602   D5C6 81        18     CMPA   #$18
 1603   D5C8 22        15     BHI    ZD5DF
 1603   D5C8 22        15     BHI    ZD5DF
 1604   D5CA 27        F6     BEQ    ZD5C2
 1604   D5CA 27        F6     BEQ    ZD5C2
 1605   D5CC 81        09     CMPA   #$09
 1605   D5CC 81        09     CMPA   #$09
 1606   D5CE 26        0C     BNE    ZD5DC
 1606   D5CE 26        0C     BNE    ZD5DC
 1607   jD5D0 8D    23     BSR    ZD5F5
 1607   jD5D0 8D    23     BSR    ZD5F5
 1608   D5D2 25        0D     BCS    ZD5E1
 1608   D5D2 25        0D     BCS    ZD5E1
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1610   D5D7 A7        88 3B  STA    $3B,X
 1610   D5D7 A7        88 3B  STA    $3B,X
 1611   D5DA 20        D8     BRA    ZD5B4
 1611   D5DA 20        D8     BRA    ZD5B4
 1612   
 1612   
 1613   D5DC 4D        ZD5DC  TSTA
 1613   D5DC 4D        ZD5DC  TSTA
 1614   D5DD 27        E3     BEQ    ZD5C2
 1614   D5DD 27        E3     BEQ    ZD5C2
 1615   D5DF 1C        FE     ZDk5DF      ANDCC  #$FE
 1615   D5DF 1C        FE     ZDk5DF      ANDCC  #$FE
 1616   D5E1 39        ZD5E1  RTS
 1616   D5E1 39        ZD5E1  RTS
 1617   *
 1617   *
 1618   ** REWIND FILE
 1618   ** REWIND FILE
 1619   *
 1619   *
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1621   D5E5 25        09     BCS    ZD5F0
 1621   D5E5 25        09     BCS    ZD5F0
 1622   D5E7 85        01     BITA   #$01
 1622   D5E7 85        01     BITA   #$01
 1623   D5E9 27        05     BEQ    ZD5F0
 1623   D5E9 27        05     BEQ    ZD5F0
 1624   D5EB A7        84     STA    l,X
 1624   D5EB A7        84     STA    l,X
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1626   
 1626   
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1628   D5F2 1A        01     ORCC   #$01
 1628   D5F2 1A        01     ORCC   #$01
 1629   D5F4 39        RTS
 1629   D5F4 39        RTS
 1630   
 1630   
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1632   D5F8 E6        88 22  LDB    $22,X
 1632   D5F8 E6        88 22  LDB    $22,X
 1633   D5FB 27        0A     BEQ    mZD607
 1633   D5FB 27        0A     BEQ    mZD607
 1634   D5FD 6C        88 22  INC    $22,X
 1634   D5FD 6C        88 22  INC    $22,X
 1635   D600 3A        ZD600  ABX
 1635   D600 3A        ZD600  ABX
 1636   D601 A6        88 40  LDA    $40,X
 1636   D601 A6        88 40  LDA    $40,X
 1637   D604 1C        FE     ANDCC  #$FE
 1637   D604 1C        FE     ANDCC  #$FE
 1638   D606 39        RTS
 1638   D606 39        RTS
 1639   
 1639   
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1641   D609 24        EA     BCC    ZD5F5
 1641   D609 24        EA     BCC    ZD5F5
 1642   D60B 3n9    RTS
 1642   D60B 3n9    RTS
 1643   
 1643   
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1645   D60F EC        88 40  LDD    $40,X
 1645   D60F EC        88 40  LDD    $40,X
 1646   D612 6C        88 21  INC    $21,X
 1646   D612 6C        88 21  INC    $21,X
 1647   D615 26        03     BNE    ZD61A
 1647   D615 26        03     BNE    ZD61A
 1648   D617 6C        88 20  INC    $20,X
 1648   D617 6C        88 20  INC    $20,X
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1650   D61Eo 27    1C     BEQ    ZD63C
 1650   D61Eo 27    1C     BEQ    ZD63C
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1652   D623 34        02     PSHS   A
 1652   D623 34        02     PSHS   A
 1653   D625 86        04     LDA    #$04
 1653   D625 86        04     LDA    #$04
 1654   D627 A7        88 22  STA    $22,X
 1654   D627 A7        88 22  STA    $22,X
 1655   D62A 35        02     PULS   A
 1655   D62A 35        02     PULS   A
 1656   D62C 8D        13     BSR    RDSECT
 1656   D62C 8D        13     BSR    RDSECT
 1657   D62E 24        10     BCC    ZD640
 1657   D62E 24        10     BCC    ZD640
p 1658       D630 C5        80     BITB   #$80
p 1658       D630 C5        80     BITB   #$80
 1659   D632 27        04     BEQ    ZD638
 1659   D632 27        04     BEQ    ZD638
 1660   D634 C6        10     LDB    #$10
 1660   D634 C6        10     LDB    #$10
 1661   D636 20        06     BRA    ZD63E
 1661   D636 20        06     BRA    ZD63E
 1662   
 1662   
 1663   D638 C6        09     ZD638  LDB    #$09
 1663   D638 C6        09     ZD638  LDB    #$09
 1664   D63A 20        02     BRA    ZD63E
 1664   D63A 20        02     BRA    ZD63E
 1665   
 1665   
 1666   D63C C6        08     ZD63C  LDB    #$08
q
 1666   D63C C6        08     ZD63C  LDB    #$08
q
 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1668   D640 39        ZD640  RTS
 1668   D640 39        ZD640  RTS
 1669   *
 1669   *
 1670   ** READ SINGLE SECTOR
 1670   ** READ SINGLE SECTOR
 1671   *
 1671   *
 1672   D641 8D        25     RDSECT BSR    ZD668
 1672   D641 8D        25     RDSECT BSR    ZD668
 1673   D643 BE        D40B   
LDX    >CURFCB
 1673   D643 BE        D40B   
LDX    >CURFCB
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1675   D649 25        12     BCSr        ZD65D
 1675   D649 25        12     BCSr        ZD65D
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1677   D64D BD        DE00   
JSR    >READ
 1677   D64D BD        DE00   
JSR    >READ
 1678   D650 26        03     BNE    ZD655
 1678   D650 26        03     BNE    ZD655
 1679   D652 1C        FE     ANDCC  #$FE
 1679   D652 1C        FE     ANDCC  #$FE
 1680   D654 39        RTS
 1680   D654 39        RTS
 1681   
 1681   
 1682   D655 34        04     ZD655  PSHS   B
 1682   D655 34        04     ZD655  PSHS   B
 1683   D657 8D        17     BSR    ZD670
 1683   D657 8D        17     BSR    ZD670
 1684   sD659 35    04     PULS   B
 1684   sD659 35    04     PULS   B
 1685   D65B 24        EE     BCC    ZD64B
 1685   D65B 24        EE     BCC    ZD64B
 1686   D65D 39        ZD65D  RTS
 1686   D65D 39        ZD65D  RTS
 1687   
 1687   
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1689   D661 EC        88 1E  LDD    $1E,X
 1689   D661 EC        88 1E  LDD    $1E,X
 1690   D664 30        88 40  LEAX   $40,X
 1690   D664 30        88 40  LEAX   $40,X
 1691   D667 39        RTS
 1691   D667 39        RTS
 1692   
 1692   
 1693   D668 4F        ZtD668      CLRA
 1693   D668 4F        ZtD668      CLRA
 1694   D669 B7        D411   
STA    >ZD411
 1694   D669 B7        D411   
STA    >ZD411
 1695   D66C B7        D412   
STA    >ZD412
 1695   D66C B7        D412   
STA    >ZD412
 1696   D66F 39        RTS
 1696   D66F 39        RTS
 1697   
 1697   
 1698   D670 C5        10     ZD670  BITB   #$10
 1698   D670 C5        10     ZD670  BITB   #$10
 1699   D672 26        11     BNE    ZD685
 1699   D672 26        11     BNE    ZD685
 1700   D674 C5        80     BITB   #$80
 1700   D674 C5        80     BITB   #$80
 1701   D676 26        24     BNE    ZD69C
 1701   D676 26        24     BNE    ZD69C
 1702v       D678 F6        D411   
LDB    >ZD411
 1702v       D678 F6        D411   
LDB    >ZD411
 1703   D67B 5C        INCB
 1703   D67B 5C        INCB
 1704   D67C C1        07     CMPB   #$07
 1704   D67C C1        07     CMPB   #$07
 1705   D67E 27        05     BEQ    ZD685
 1705   D67E 27        05     BEQ    ZD685
 1706   D680 F7        D411   
STB    >ZD411
 1706   D680 F7        D411   
STB    >ZD411
 1707   D683 20        14     BRA    RESV2
 1707   D683 20        14     BRA    RESV2
 1708   
 1708   
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1710   D688 F6        D4
9"'
 1710   D688 F6        D4
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]w12    
LDB    >ZD412
5'7'2@&45$9 9;+= &\;& 
$9]w12    
LDB    >ZD412
 1711   D68B 5C        INCB
 1711   D68B 5C        INCB
 1712   D68C C1        04     CMPB   #$04
 1712   D68C C1        04     CMPB   #$04
 1713   D68E 27        0C     BEQ    ZD69C
 1713   D68E 27        0C     BEQ    ZD69C
 1714   D690 F7        D412   
STB    >ZD412
 1714   D690 F7        D412   
STB    >ZD412
 1715   D693 BE        D40B   
LDX    >CURFCB
 1715   D693 BE        D40B   
LDX    >CURFCB
 1716   D696 BD        DE09   
JSR    >RESTOR
 1716   D696 BD        DE09   
JSR    >RESTOR
 1717   *
 1717   *
 1718   ** RESERVED
 1718   ** RESERVED
 1719   *
 1719   *
 1x720       D699 1C        FE     RESV2  ANDCC  #$FE
 1x720       D699 1C        FE     RESV2  ANDCC  #$FE
 1721   D69B 39        RTS
 1721   D69B 39        RTS
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1723   D69E 39        RTS
 1723   D69E 39        RTS
 1724   *
 1724   *
 1725   ** WRITE SINGLE SECTOR
 1725   ** WRITE SINGLE SECTOR
 1726   *
 1726   *
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1729   yD6A4 BD    DE0C   
JSR    >DRIVE
 1729   yD6A4 BD    DE0C   
JSR    >DRIVE
 1730   D6A7 25        20     BCS    ZD6C9
 1730   D6A7 25        20     BCS    ZD6C9
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1732   D6AC 8D        B0     BSR    ZD65E
 1732   D6AC 8D        B0     BSR    ZD65E
 1733   D6AE BD        DE03   
JSR    >WRITE
 1733   D6AE BD        DE03   
JSR    >WRITE
 1734   D6B1 26        0A     BNE    ZD6BD
 1734   D6B1 26        0A     BNE    ZD6BD
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1736   D6B6 2z7    37     BEQ    ZD6EF
 1736   D6B6 2z7    37     BEQ    ZD6EF
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1738   D6BB 27        32     BEQ    ZD6EF
 1738   D6BB 27        32     BEQ    ZD6EF
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1740   D6BF 26        0B     BNE    ZD6CC
 1740   D6BF 26        0B     BNE    ZD6CC
 1741   D6C1 34        04     PSHS   B
 1741   D6C1 34        04     PSHS   B
 1742   D6C3 8D        AB     BSR    ZD670
 1742   D6C3 8D        AB     BSR    ZD670
 1743   D6C5 35        04     PULS   B
 1743   D6C5 35        04     PULS   B
 174{4       D6C7 24        E0     BCC    ZD6A9
 174{4       D6C7 24        E0     BCC    ZD6A9
 1745   D6C9 39        ZD6C9  RTS
 1745   D6C9 39        ZD6C9  RTS
 1746   
 1746   
 1747   D6CA C6        20     LDB    #$20
 1747   D6CA C6        20     LDB    #$20
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1749   D6CE 39        RTS
 1749   D6CE 39        RTS
 1750   
 1750   
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1753   D6|D5 2B    3D     BMI    ZD714
 1753   D6|D5 2B    3D     BMI    ZD714
 1754   D6D7 81        20     CMPA   #$20
 1754   D6D7 81        20     CMPA   #$20
 1755   D6D9 26        0F     BNE    ZD6EA
 1755   D6D9 26        0F     BNE    ZD6EA
 1756   D6DB 5C        INCB
 1756   D6DB 5C        INCB
 1757   D6DC E7        88 3B  STB    $3B,X
 1757   D6DC E7        88 3B  STB    $3B,X
 1758   D6DF C1        7F     CMPB   #$7F
 1758   D6DF C1        7F     CMPB   #$7F
 1759   D6E1 26        0C     BNE    ZD6EF
 1759   D6E1 26        0C     BNE    ZD6EF
 1760   D6E3 20        0D     BRA    ZD6F2
 1760   D6E3 20        0D     BRA    ZD6F2
 1761   
 1761   
 17}62       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 17}62       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 1763   D6E7 24        E6     BCC    ZD6CF
 1763   D6E7 24        E6     BCC    ZD6CF
 1764   D6E9 39        RTS
 1764   D6E9 39        RTS
 1765   
 1765   
 1766   D6EA 5D        ZD6EA  TSTB
 1766   D6EA 5D        ZD6EA  TSTB
 1767   D6EB 27        27     BEQ    ZD714
 1767   D6EB 27        27     BEQ    ZD714
 1768   D6ED 20        F6     BRA    ZD6E5
 1768   D6ED 20        F6     BRA    ZD6E5
 1769   
 1769   
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1771   D6F1 ~39    RTS
 1771   D6F1 ~39    RTS
 1772   
 1772   
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1774   D6F4 C1        01     CMPB   #$01
 1774   D6F4 C1        01     CMPB   #$01
 1775   D6F6 26        04     BNE    ZD6FC
 1775   D6F6 26        04     BNE    ZD6FC
 1776   D6F8 86        20     LDA    #$20
 1776   D6F8 86        20     LDA    #$20
 1777   D6FA 20        10     BRA    ZD70C
 1777   D6FA 20        10     BRA    ZD70C
 1778   
 1778   
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1780   D6FE 8D        14     BSR    ZD714
 1780   D6FE 8D        14     BSR    ZD714
 1781   D700 35        02     PULS   A
 1781   D700 35        02     PULS   A
 1782   D702 25        0F     BCS    ZD713
 1782   D702 25        0F     BCS    ZD713
 1783   D704 34        02     PSHS   A
 1783   D704 34        02     PSHS   A
 1784   D706 BE        D40B   
LDX    >CURFCB
 1784   D706 BE        D40B   
LDX    >CURFCB
 1785   D709 A6        88 3B  LDA    $3B,X
 1785   D709 A6        88 3B  LDA    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1787   D70F 8D        03     BSR    ZD714
 1787   D70F 8D        03     BSR    ZD714
 1788   D711 35    02     PULS   A
 1788   D711 35    02     PULS   A
 1789   D713 39        ZD713  RTS
 1789   D713 39        ZD713  RTS
 1790   
 1790   
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1792   D717 E6        02     LDB    $02,X
 1792   D717 E6        02     LDB    $02,X
 1793   D719 C1        02     CMPB   #$02
 1793   D719 C1        02     CMPB   #$02
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1795   D71F E6        88 22  LDB    $22,X
 1795   D71F E6        88 22  LDB    $22,X
 1796   D722 C1        04 CMPB   #$04
 1796   D722 C1        04 CMPB   #$04
 1797   D724 26        08     BNE    ZD72E
 1797   D724 26        08     BNE    ZD72E
 1798   D726 34        02     PSHS   A
 1798   D726 34        02     PSHS   A
 1799   D728 8D        21     BSR    ZD74B
 1799   D728 8D        21     BSR    ZD74B
 1800   D72A 35        02     PULS   A
 1800   D72A 35        02     PULS   A
 1801   D72C 25        0F     BCS    ZD73D
 1801   D72C 25        0F     BCS    ZD73D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1803   D731 24        0A     BCC    ZD73D
 1803   D731 24        0A     BCC    ZD73D
 1804   D733 C6    04     LDB    #$04
 1804   D733 C6    04     LDB    #$04
 1805   D735 BE        D40B   
LDX    >CURFCB
 1805   D735 BE        D40B   
LDX    >CURFCB
 1806   D738 E7        88 22  STB    $22,X
 1806   D738 E7        88 22  STB    $22,X
 1807   D73B 1C        FE     ANDCC  #$FE
 1807   D73B 1C        FE     ANDCC  #$FE
 1808   D73D 39        ZD73D  RTS
 1808   D73D 39        ZD73D  RTS
 1809   
 1809   
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1811   D741 4F        CLRA
 1811   D741 4F        CLRA
 1812   D742 5F        CLRB
 1812   D742 5F        CLRB
 1'' 94&  	5%4;o;59&"&4!5%}$
 1'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooo813   D743 ED        88 20  STD    $20,X
ooo813   D743 ED        88 20  STD    $20,X
 1814   D746 ED        88 42  STD    $42,X
 1814   D746 ED        88 42  STD    $42,X
 1815   D749 20        27     BRA    ZD772
 1815   D749 20        27     BRA    ZD772
 1816   
 1816   
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1818   D74E 26        22     BNE    ZD772
 1818   D74E 26        22     BNE    ZD772
 1819   D750 E6        88 17  LDB    $17,X
 1819   D750 E6        88 17  LDB    $17,X
 1820   D753 27        44     BEQ    ZD799
 1820   D753 27        44     BEQ    ZD799
 1821       D755 6F        88 17  CLR    $17,X
 1821       D755 6F        88 17  CLR    $17,X
 1822   D758 8D        3F     BSR    ZD799
 1822   D758 8D        3F     BSR    ZD799
 1823   D75A 25        2A     BCS    ZD786
 1823   D75A 25        2A     BCS    ZD786
 1824   D75C 8D        E0     BSR    ZD73E
 1824   D75C 8D        E0     BSR    ZD73E
 1825   D75E 25        26     BCS    ZD786
 1825   D75E 25        26     BCS    ZD786
 1826   D760 8D        DC     BSR    ZD73E
 1826   D760 8D        DC     BSR    ZD73E
 1827   D762 25        22     BCS    ZD786
 1827   D762 25        22     BCS    ZD786
 1828   D764 BE        D40B   
LDX    >CURFCB
 1828   D764 BE        D40B   
LDX    >CURFCB
 1829   D767 C6        02     LDB    #$02
 1829   D767 C6        02     LDB    #$02
 1830   D769 E7        88 17  STB    $17,X
 1830   D769 E7        88 17  STB    $17,X
 1831   D76C EC        88 11  LDD    $11,X
 1831   D76C EC        88 11  LDD    $11,X
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1833   
 1833   
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1835   D774 BE        D40B   
LDX    >CURFCB
 1835   D774 BE        D40B   
LDX    >CURFCB
 1836   D777 ED        88 40  STD        $40,X
 1836   D777 ED        88 40  STD        $40,X
 1837   D77A BD        D69F   
JSR    >WRSECT
 1837   D77A BD        D69F   
JSR    >WRSECT
 1838   D77D 24        1A     BCC    ZD799
 1838   D77D 24        1A     BCC    ZD799
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1840   
 1840   
 1841   D782 8D        03     ZD782  BSR    ZD787
 1841   D782 8D        03     ZD782  BSR    ZD787
 1842   D784 EC        84     LDD    ,X
 1842   D784 EC        84     LDD    ,X
 1843   D786 39        ZD786  RTS
 1843   D786 39        ZD786  RTS
 1844   
 1844   
 1845   D787 BE        D40B   ZD787      LDX    >CURFCB
 1845   D787 BE        D40B   ZD787      LDX    >CURFCB
 1846   D78A E6        03     LDB    $03,X
 1846   D78A E6        03     LDB    $03,X
 1847   D78C 86        06     LDA    #$06
 1847   D78C 86        06     LDA    #$06
 1848   D78E 3D        MUL
 1848   D78E 3D        MUL
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1850   D792 3A        ABX
 1850   D792 3A        ABX
 1851   D793 BF        D41B   
STX    >ZD41B
 1851   D793 BF        D41B   
STX    >ZD41B
 1852   D796 6D        84     TST    ,X
 1852   D796 6D        84     TST    ,X
 1853   D798 39        RTS
 1853   D798 39        RTS
 1854   
 1854   
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1856   D79B 26        05     BNE    ZD7A2
 1856   D79B 26        05     BNE    ZD7A2
 1857   D79D C6        07     LDB    #$07
 1857   D79D C6        07     LDB    #$07
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1859   D7A1 39        RTS
 1859   D7A1 39        RTS
 1860   
 1860   
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1862   D7A5 ED        88 13  STD    $13,X
 1862   D7A5 ED        88 13  STD    $13,X
 1863       D7A8 6D        88 12  TST    $12,X
 1863       D7A8 6D        88 12  TST    $12,X
 1864   D7AB 26        03     BNE    ZD7B0
 1864   D7AB 26        03     BNE    ZD7B0
 1865   D7AD ED        88 11  STD    $11,X
 1865   D7AD ED        88 11  STD    $11,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1867   D7B3 26        03     BNE    ZD7B8
 1867   D7B3 26        03     BNE    ZD7B8
 1868   D7B5 6C        88 15  INC    $15,X
 1868   D7B5 6C        88 15  INC    $15,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
 1870       D7BB 27        0B     BEQ    ZD7C8
 1870       D7BB 27        0B     BEQ    ZD7C8
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1872   D7C0 25        DD     BCS    ZD79F
 1872   D7C0 25        DD     BCS    ZD79F
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1874   D7C5 EC        88 13  LDD    $13,X
 1874   D7C5 EC        88 13  LDD    $13,X
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1876   D7CB 25        D2     BCS    ZD79F
 1876   D7CB 25        D2     BCS    ZD79F
 1877   D7CD BE    D40B   
LDX    >CURFCB
 1877   D7CD BE    D40B   
LDX    >CURFCB
 1878   D7D0 EC        88 40  LDD    $40,X
 1878   D7D0 EC        88 40  LDD    $40,X
 1879   D7D3 34        06     PSHS   B,A
 1879   D7D3 34        06     PSHS   B,A
 1880   D7D5 8D        B0     BSR    ZD787
 1880   D7D5 8D        B0     BSR    ZD787
 1881   D7D7 35        06     PULS   B,A
 1881   D7D7 35        06     PULS   B,A
 1882   D7D9 ED        84     STD    ,X
 1882   D7D9 ED        84     STD    ,X
 1883   D7DB 26        0A     BNE    ZD7E7
 1883   D7DB 26        0A     BNE    ZD7E7
 1884   D7DD 6F        02     CLR    $02,X
 1884   D7DD 6F        02     CLR    $02,X
 1885       D7DF 6F        03     CLR    $03,X
 1885       D7DF 6F        03     CLR    $03,X
 1886   D7E1 6F        04     CLR    $04,X
 1886   D7E1 6F        04     CLR    $04,X
 1887   D7E3 6F        05     CLR    $05,X
 1887   D7E3 6F        05     CLR    $05,X
 1888   D7E5 20        08     BRA    ZD7EF
 1888   D7E5 20        08     BRA    ZD7EF
 1889   
 1889   
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1891   D7EA 31        3F     LEAY   -$01,Y
 1891   D7EA 31        3F     LEAY   -$01,Y
 1892   D7EC 10AF 04   STY    $04,X
 1892   D7EC 10AF 04   STY    $04,X
 1893   D7EF 4F    ZD7EF  CLRA
 1893   D7EF 4F    ZD7EF  CLRA
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1895   D7F3 6C        88 21  INC    $21,X
 1895   D7F3 6C        88 21  INC    $21,X
 1896   D7F6 26        03     BNE    ZD7FB
 1896   D7F6 26        03     BNE    ZD7FB
 1897   D7F8 6C        88 20  INC    $20,X
 1897   D7F8 6C        88 20  INC    $20,X
 1898   D7FB 5F        ZD7FB  CLRB
 1898   D7FB 5F        ZD7FB  CLRB
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1900   D7FF 30        01     LEAX       $01,X
 1900   D7FF 30        01     LEAX       $01,X
 1901   D801 5A        DECB
 1901   D801 5A        DECB
 1902   D802 26        F8     BNE    ZD7FC
 1902   D802 26        F8     BNE    ZD7FC
 1903   D804 BE        D40B   
LDX    >CURFCB
 1903   D804 BE        D40B   
LDX    >CURFCB
 1904   D807 EC        88 20  LDD    $20,X
 1904   D807 EC        88 20  LDD    $20,X
 1905   D80A ED        88 42  STD    $42,X
 1905   D80A ED        88 42  STD    $42,X
 1906   D80D 1C        FE     ANDCC  #$FE
 1906   D80D 1C        FE     ANDCC  #$FE
 1907   D80F 39        RTS
 1907   D80F 39        RTS
 1908   *
 1908   *
 1909   ** OPEN SYSTo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ EM INFO. RECORD
 1909   ** OPEN SYSTo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ EM INFO. RECORD
 1910   *
 1910   *
 1911   D810 5F        OPNREC CLRB
 1911   D810 5F        OPNREC CLRB
 1912   D811 34        04     PSHS   B
 1912   D811 34        04     PSHS   B
 1913   D813 C6        03     LDB    #$03
 1913   D813 C6        03     LDB    #$03
 1914   D815 20        0E     BRA    ZD825
 1914   D815 20        0E     BRA    ZD825
 1915   D817 BE        D415   
LDX    >ZD415
 1915   D817 BE        D415   
LDX    >ZD415
 1916   D81A BF        D413   
STX    >ZD413
 1916   D81A BF        D413   
STX    >ZD413
 1917   D81D F6        D413   OPNDIR LDB        >ZD413
 1917   D81D F6        D413   OPNDIR LDB        >ZD413
 1918   D820 34        04     PSHS   B
 1918   D820 34        04     PSHS   B
 1919   D822 F6        D414   
LDB    >ZD414
 1919   D822 F6        D414   
LDB    >ZD414
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1921   D828 E7        88 41  STB    $41,X
 1921   D828 E7        88 41  STB    $41,X
 1922   D82B 35        04     PULS   B
 1922   D82B 35        04     PULS   B
 1923   D82D E7        88 40  STB    $40,X
 1923   D82D E7        88 40  STB    $40,X
 1924   D830 7F        D418   
CLR    >ZD418
 1924   D830 7F        D418   
CLR    >ZD418
 1925       D833 5F        CLRB
 1925       D833 5F        CLRB
 1926   D834 E7        88 22  STB    $22,X
 1926   D834 E7        88 22  STB    $22,X
 1927   D837 39        RTS
 1927   D837 39        RTS
 1928   *
 1928   *
 1929   ** GET INFO RECORD
 1929   ** GET INFO RECORD
 1930   *
 1930   *
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1932   D83B E6        88 22  LDB    $22,X
 1932   D83B E6        88 22  LDB    $22,X
 1933   D83E 26        1D     BNE    ZD85D
 1933   D83E 26        1D     BNE    ZD85D
 1934   D840 BD        D60C       
JSR    >ZD60C
 1934   D840 BD        D60C       
JSR    >ZD60C
 1935   D843 25        30     BCS    ZD875
 1935   D843 25        30     BCS    ZD875
 1936   D845 BE        D40B   
LDX    >CURFCB
 1936   D845 BE        D40B   
LDX    >CURFCB
 1937   D848 7D        D418   
TST    >ZD418
 1937   D848 7D        D418   
TST    >ZD418
 1938   D84B 26        05     BNE    ZD852
 1938   D84B 26        05     BNE    ZD852
 1939   D84D DC        44     LDD    
 1939   D84D DC        44     LDD    
 1940   D84F FD        D418   
STD    >ZD418
 1940   D84F FD        D418   
STD    >ZD418
 1941   D852 86        10     ZD852  LDA    #$10
 1941   D852 86        10     ZD852  LDA    #$10
 1942   D854 A7        88 22  STA    $22,X
 1942   D854 A7        88 22  STA    $22,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1944   D85A ED        88 2F  STD    $2F,X
 1944   D85A ED        88 2F  STD    $2F,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1946   D860 A7        88 31  STA    $31,X
 1946   D860 A7        88 31  STA    $31,X
 1947   D863 C6        18     LDB    #$18
 1947   D863 C6        18     LDB    #$18
 1948   D865 34        14     ZD865  PSHS   X,B
 1948   D865 34        14     ZD865  PSHS   X,B
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1950   D86A 35        14     PULS   X,B
 1950   D86A 35        14     PULS   X,B
 1951   D86C A7        04     STA    $04,X
 1951   D86C A7        04     STA    $04,X
 1952   D86E 30        01     LEAX   $01,X
 1952   D86E 30        01     LEAX   $01,X
 1953   D870 5A        DECB
 1953   D870 5A        DECB
 1954   D871 26        F2     BNE    ZD865
 1954   D871 26        F2     BNE    ZD865
 1955   D873 1C        FE     ANDCC  #$FE
 1955   D873 1C        FE     ANDCC  #$FE
 1956   D875 39        ZD875  RTS
 1956   D875 39        ZD875  RTS
 1957       *
 1957       *
 1958   ** PUT INFORMATION RECORD
 1958   ** PUT INFORMATION RECORD
 1959   *
 1959   *
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1961   D879 A6        88 31  LDA    $31,X
 1961   D879 A6        88 31  LDA    $31,X
 1962   D87C A7        88 22  STA    $22,X
 1962   D87C A7        88 22  STA    $22,X
 1963   D87F C6        18     LDB    #$18
 1963   D87F C6        18     LDB    #$18
 1964   D881 34        14     ZD881  PSHS   X,B
 1964   D881 34        14     ZD881  PSHS   X,B
 1965   D883 A6        04 LDA    $04,X
 1965   D883 A6        04 LDA    $04,X
 1966   D885 BD        D714   
JSR    >ZD714
 1966   D885 BD        D714   
JSR    >ZD714
 1967   D888 35        14     PULS   X,B
 1967   D888 35        14     PULS   X,B
 1968   D88A 30        01     LEAX   $01,X
 1968   D88A 30        01     LEAX   $01,X
 1969   D88C 5A        DECB
 1969   D88C 5A        DECB
 1970   D88D 26        F2     BNE    ZD881
 1970   D88D 26        F2     BNE    ZD881
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1972   
 1972   
 1973   D892 BE        D40B   ZD892  LDX    >CURFCB
 1973   D892 BE        D40B   ZD892  LDX    >CURFCB
 1974   D895 A6        03     LDA    $03,X
 1974   D895 A6        03     LDA    $03,X
 1975   D897 A7        88 23  STA    $23,X
 1975   D897 A7        88 23  STA    $23,X
 1976   D89A B6        D417   
LDA    >ZD417
 1976   D89A B6        D417   
LDA    >ZD417
 1977   D89D 7D        D41A   
TST    >ZD41A
 1977   D89D 7D        D41A   
TST    >ZD41A
 1978   D8A0 26        31     BNE    ZD8D3
 1978   D8A0 26        31     BNE    ZD8D3
 1979   D8A2 A7        03     STA    $03,X
 1979   D8A2 A7        03     STA    $03,X
 1980   D8A4 BE        D415   
LDX    >ZD415
 1980   D8A4 BE        D415   
LDX    >ZD415
 1981   D8A7 BF    D413   
STX    >ZD413
 1981   D8A7 BF    D413   
STX    >ZD413
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1983   D8AD 27        0C     BEQ    ZD8BB
 1983   D8AD 27        0C     BEQ    ZD8BB
 1984   D8AF 8D        22     BSR    ZD8D3
 1984   D8AF 8D        22     BSR    ZD8D3
 1985   D8B1 23        37     BLS    ZD8EA
 1985   D8B1 23        37     BLS    ZD8EA
 1986   D8B3 BE        D418   
LDX    >ZD418
 1986   D8B3 BE        D418   
LDX    >ZD418
 1987   D8B6 BF        D413   
STX    >ZD413
 1987   D8B6 BF        D413   
STX    >ZD413
 1988   D8B9 20        EF BRA    ZD8AA
 1988   D8B9 20        EF BRA    ZD8AA
 1989   
 1989   
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1991   D8BE A6        88 23  LDA    $23,X
 1991   D8BE A6        88 23  LDA    $23,X
 1992   D8C1 A7        03     STA    $03,X
 1992   D8C1 A7        03     STA    $03,X
 1993   D8C3 2A        0E     BPL    ZD8D3
 1993   D8C3 2A        0E     BPL    ZD8D3
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1995   D8C8 25        36     BCS    ZD900
 1995   D8C8 25        36     BCS    ZD900
 1996   D8CA 8D    07     BSR    ZD8D3
 1996   D8CA 8D    07     BSR    ZD8D3
 1997   D8CC 23        1C     BLS    ZD8EA
 1997   D8CC 23        1C     BLS    ZD8EA
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1999   D8D1 20        F2     BRA    ZD8C5
 1999   D8D1 20        F2     BRA    ZD8C5
 2000   
 2000   
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2003   D8D9 BD        D549   
JSR    >ZD549
 2003   D8D9 BD        D549   
JSR    >ZD549
 2004   D8DC BD    D81D   
JSR    >OPNDIR
 2004   D8DC BD    D81D   
JSR    >OPNDIR
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2006   D8E2 24        07     BCC    ZD8EB
 2006   D8E2 24        07     BCC    ZD8EB
 2007   D8E4 C1        08     CMPB   #$08
 2007   D8E4 C1        08     CMPB   #$08
 2008   D8E6 27        18     BEQ    ZD900
 2008   D8E6 27        18     BEQ    ZD900
 2009   D8E8 1A        01     ORCC   #$01
 2009   D8E8 1A        01     ORCC   #$01
 2010   D8EA 39        ZD8EA  RTS
 2010   D8EA 39        ZD8EA  RTS
 2011   
 2011   
 2012   D8EB BE        D40B       ZD8EB  LDX    >CURFCB
 2012   D8EB BE        D40B       ZD8EB  LDX    >CURFCB
 2013   D8EE A6        04     LDA    $04,X
 2013   D8EE A6        04     LDA    $04,X
 2014   D8F0 27        0C     BEQ    ZD8FE
 2014   D8F0 27        0C     BEQ    ZD8FE
 2015   D8F2 2A        02     BPL    ZD8F6
 2015   D8F2 2A        02     BPL    ZD8F6
 2016   D8F4 8D        0F     BSR    ZD905
 2016   D8F4 8D        0F     BSR    ZD905
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2018   D8F9 26        E4     BNE    ZD8DF
 2018   D8F9 26        E4     BNE    ZD8DF
 2019   D8FB 1C        FE     ANDCC  #$FE
 2019   D8FB 1C        FE     ANDCC  #$FE
 2020   D8FD 39        RTS
 2020   D8FD 39        RTS
 2021   
 2021   
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2024   D902 1C        FE     ANDCC  #$FE
 2024   D902 1C        FE     ANDCC  #$FE
 2025   D904 39        RTS
 2025   D904 39        RTS
 2026   
 2026   
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2028   D908 26        0C     BNE    ZD916

 2028   D908 26        0C     BNE    ZD916

 2029   D90A EC        88 2F  LDD    $2F,X
 2029   D90A EC        88 2F  LDD    $2F,X
 2030   D90D ED        88 32  STD    $32,X
 2030   D90D ED        88 32  STD    $32,X
 2031   D910 A6        88 31  LDA    $31,X
 2031   D910 A6        88 31  LDA    $31,X
 2032   D913 A7        88 34  STA    $34,X
 2032   D913 A7        88 34  STA    $34,X
 2033   D916 39        ZD916  RTS
 2033   D916 39        ZD916  RTS
 2034   
 2034   
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2036   D91A 26        17     BNE    ZD933
 2036   D91A 26        17     BNE    ZD933
 2037       D91C 8D        18     BSR    ZD936
 2037       D91C 8D        18     BSR    ZD936
 2038   D91E 25        15     BCS    ZD935
 2038   D91E 25        15     BCS    ZD935
 2039   D920 C6        06     LDB    #$06
 2039   D920 C6        06     LDB    #$06
 2040   D922 10BE D40B 
LDY    >CURFCB
 2040   D922 10BE D40B 
LDY    >CURFCB
 2041   D926 BE        D41B   
LDX    >ZD41B
 2041   D926 BE        D41B   
LDX    >ZD41B
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2043   D92C 31        21     LEAY   $01,Y
 2043   D92C 31        21     LEAY   $01,Y
 2044   D92E A7    80     STA    ,X+
 2044   D92E A7    80     STA    ,X+
 2045   D930 5A        DECB
 2045   D930 5A        DECB
 2046   D931 26        F6     BNE    ZD929
 2046   D931 26        F6     BNE    ZD929
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2048   D935 39        ZD935  RTS
 2048   D935 39        ZD935  RTS
 2049   
 2049   
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2051   D939 BD        D60C   
JSR    >ZD60C
 2051   D939 BD        D60C   
JSR    >ZD60C
 2052   D93C 25        08     BCS        ZD946
 2052   D93C 25        08     BCS        ZD946
 2053   D93E BE        D40B   
LDX    >CURFCB
 2053   D93E BE        D40B   
LDX    >CURFCB
 2054   D941 C6        10     LDB    #$10
 2054   D941 C6        10     LDB    #$10
 2055   D943 E7        88 22  STB    $22,X
 2055   D943 E7        88 22  STB    $22,X
 2056   D946 39        ZD946  RTS
 2056   D946 39        ZD946  RTS
 2057   
 2057   
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2059   D94A 8D        EA     BSR    ZD936
 2059   D94A 8D        EA     BSR    ZD936
 2060   D94C 25        F8     BCS    ZD946
 2060   D94C 25        F8     BCS    ZD946
 2061   D94E C6        06     LDB    #$06
 2061   D94E C6        06     LDB    #$06
 2062   D950 10BE D40B 
LDY    >CURFCB
 2062   D950 10BE D40B 
LDY    >CURFCB
 2063   D954 BE        D41B   
LDX    >ZD41B
 2063   D954 BE        D41B   
LDX    >ZD41B
 2064   D957 A6        80     ZD957  LDA    ,X+
 2064   D957 A6        80     ZD957  LDA    ,X+
 2065   D959 A7        A8 5D  STA    $5D,Y
 2065   D959 A7        A8 5D  STA    $5D,Y
 2066   D95C 31        21     LEAY   $01,Y
 2066   D95C 31        21     LEAY   $01,Y
 2067   D95E 5A        DECB
 2067   D95E 5A        DECB
 2068   D95F 26        F6     BNE        ZD957
 2068   D95F 26        F6     BNE        ZD957
 2069   D961 BD        D69F   
JSR    >WRSECT
 2069   D961 BD        D69F   
JSR    >WRSECT
 2070   D964 24        E0     BCC    ZD946
 2070   D964 24        E0     BCC    ZD946
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2072   *
 2072   *
 2073   **
 2073   **
 2074   *
 2074   *
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2076   D96C 86        02     LDA    #$02
 2076   D96C 86        02     LDA    #$02
 2077   D96E A7        02     STA    $02,X
 2077   D96E A7        02     STA    $02,X
 2078       D970 EC        88 2F  LDD    $2F,X
 2078       D970 EC        88 2F  LDD    $2F,X
 2079   D973 ED        88 1E  STD    $1E,X
 2079   D973 ED        88 1E  STD    $1E,X
 2080   D976 BD        D641   
JSR    >RDSECT
 2080   D976 BD        D641   
JSR    >RDSECT
 2081   D979 25        08     BCS    ZD983
 2081   D979 25        08     BCS    ZD983
 2082   D97B BD        D876   
JSR    >PUTREC
 2082   D97B BD        D876   
JSR    >PUTREC
 2083   D97E 24        05     BCC    ZD985
 2083   D97E 24        05     BCC    ZD985
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2085   
 2085   
 2086       D983 C6        0A     ZD983  LDB    #$0A
 2086       D983 C6        0A     ZD983  LDB    #$0A
 2087   D985 39        ZD985  RTS
 2087   D985 39        ZD985  RTS
 2088   *
 2088   *
 2089   ** OPEN FOR READ
 2089   ** OPEN FOR READ
 2090   *
 2090   *
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2092   D989 25        3D     BCS    ZD9C8
 2092   D989 25        3D     BCS    ZD9C8
 2093   D98B BD        D892   
JSR    >ZD892
 2093   D98B BD        D892   
JSR    >ZD892
 2094   D98E 25        38     BCS    ZD9C8
 2094   D98E 25        38     BCS    ZD9C8
 I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
 I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 2095       D990 26        3B     BNE    ZD9CD
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 2095       D990 26        3B     BNE    ZD9CD
 2096   D992 BE        D40B   
LDX    >CURFCB
 2096   D992 BE        D40B   
LDX    >CURFCB
 2097   D995 7D        D41A   
TST    >ZD41A
 2097   D995 7D        D41A   
TST    >ZD41A
 2098   D998 27        06     BEQ    ZD9A0
 2098   D998 27        06     BEQ    ZD9A0
 2099   D99A A6        0F     LDA    $0F,X
 2099   D99A A6        0F     LDA    $0F,X
 2100   D99C 85        20     BITA   #$20
 2100   D99C 85        20     BITA   #$20
 2101   D99E 26        29     BNE    ZD9C9
 2101   D99E 26        29     BNE    ZD9C9
 2102   D9A0 BD        DCC0   ZD9A0      JSR    >ZDCC0
 2102   D9A0 BD        DCC0   ZD9A0      JSR    >ZDCC0
 2103   D9A3 25        2A     BCS    ZD9CF
 2103   D9A3 25        2A     BCS    ZD9CF
 2104   D9A5 EC        88 11  LDD    $11,X
 2104   D9A5 EC        88 11  LDD    $11,X
 2105   D9A8 ED        88 40  STD    $40,X
 2105   D9A8 ED        88 40  STD    $40,X
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2107   D9AE E6        88 17  LDB    $17,X
 2107   D9AE E6        88 17  LDB    $17,X
 2108   D9B1 27        13     BEQ    ZD9C6
 2108   D9B1 27        13     BEQ    ZD9C6
 2109   D9B3 34        04     ZD9B3  P   SHS     B
 2109   D9B3 34        04     ZD9B3  P   SHS     B
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2111   D9B8 35        04     PULS   B
 2111   D9B8 35        04     PULS   B
 2112   D9BA 25        0C     BCS    ZD9C8
 2112   D9BA 25        0C     BCS    ZD9C8
 2113   D9BC 5A        DECB
 2113   D9BC 5A        DECB
 2114   D9BD 26        F4     BNE    ZD9B3
 2114   D9BD 26        F4     BNE    ZD9B3
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2116   D9C2 5F        CLRB
 2116   D9C2 5F        CLRB
 2117   D9C3 E7        88 22  STB    $22,X
 2117   D9C3 E7        88 22  STB    $22,X
 
 
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
 2119   D9C8 39        ZD9C8  RTS
 2119   D9C8 39        ZD9C8  RTS
 2120   
 2120   
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2122   D9CB 20        02     BRA    ZD9CF
 2122   D9CB 20        02     BRA    ZD9CF
 2123   
 2123   
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2126   D9D1 BD        D50C   
JSR        >ZD50C
 2126   D9D1 BD        D50C   
JSR        >ZD50C
 2127   D9D4 35        04     PULS   B
 2127   D9D4 35        04     PULS   B
 2128   D9D6 1A        01     ORCC   #$01
 2128   D9D6 1A        01     ORCC   #$01
 2129   D9D8 39        RTS
 2129   D9D8 39        RTS
 2130   
 2130   
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2132   D9DC 6D        03     TST    $03,X
 2132   D9DC 6D        03     TST    $03,X
 2133   D9DE 2A        08     BPL    ZD9E8
 2133   D9DE 2A        08     BPL    ZD9E8
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2135       D9E3 24        03     BCC    ZD9E8
 2135       D9E3 24        03     BCC    ZD9E8
 2136   D9E5 C6        10     LDB    #$10
 2136   D9E5 C6        10     LDB    #$10
 2137   D9E7 39        RTS
 2137   D9E7 39        RTS
 2138   
 2138   
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2140   D9EB 25        E2     BCS    ZD9CF
 2140   D9EB 25        E2     BCS    ZD9CF
 2141   D9ED BD        D537   
JSR    >ZD537
 2141   D9ED BD        D537   
JSR    >ZD537
 2142   D9F0 BD        D917   
JSR    >ZD917
 2142   D9F0 BD        D917   
JSR    >ZD917
 2143   D9F3 25        DA     
BCS        ZD9CF
 2143   D9F3 25        DA     
BCS        ZD9CF
 2144   D9F5 BD        D892   
JSR    >ZD892
 2144   D9F5 BD        D892   
JSR    >ZD892
 2145   D9F8 25        D5     BCS    ZD9CF
 2145   D9F8 25        D5     BCS    ZD9CF
 2146   D9FA 26        04     BNE    ZDA00
 2146   D9FA 26        04     BNE    ZDA00
 2147   D9FC C6        03     LDB    #$03
 2147   D9FC C6        03     LDB    #$03
 2148   D9FE 20        CF     BRA    ZD9CF
 2148   D9FE 20        CF     BRA    ZD9CF
 2149   
 2149   
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2151   DA03 25        CA     BCS    ZD9CF
 2151   DA03 25        CA     BCS    ZD9CF
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2153   DA08 C6        0A     LDB    #$0A
 2153   DA08 C6        0A     LDB    #$0A
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2155   DA0C 30        01     LEAX   $01,X
 2155   DA0C 30        01     LEAX   $01,X
 2156   DA0E 5A        DECB
 2156   DA0E 5A        DECB
 2157   DA0F 26        F9     BNE    ZDA0A
 2157   DA0F 26        F9     BNE    ZDA0A
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2159   DA14 EC        88 32      LDD    $32,X
 2159   DA14 EC        88 32      LDD    $32,X
 2160   DA17 27        27     BEQ    ZDA40
 2160   DA17 27        27     BEQ    ZDA40
 2161   DA19 ED        88 2F  STD    $2F,X
 2161   DA19 ED        88 2F  STD    $2F,X
 2162   DA1C A6        88 34  LDA    $34,X
 2162   DA1C A6        88 34  LDA    $34,X
 2163   DA1F A7        88 31  STA    $31,X
 2163   DA1F A7        88 31  STA    $31,X
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2165   DA25 ED        88 19  STD    $19,X
 2165   DA25 ED        88 19  STD    $19,X
 2166   DA28 B6        CC10   
LDA    >YEAR
 2166   DA28 B6        CC10   
LDA    >YEAR
 2167   DA2B A7        88 1B  STA    $1B,X
 2167   DA2B A7        88 1B  STA    $1B,X
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2169   DA31 BD        D969   
JSR    >RESV1
 2169   DA31 BD        D969   
JSR    >RESV1
 2170   DA34 25        99     BCS    ZD9CF
 2170   DA34 25        99     BCS    ZD9CF
 2171   DA36 8D        3E     BSR    ZDA76
 2171   DA36 8D        3E     BSR    ZDA76
 2172   DA38 86        04     LDA    #$04
 2172   DA38 86        04     LDA    #$04
 2173   DA3A A7        88 22  STA    $22,X
 2173   DA3A A7        88 22  STA    $22,X
 2174   DA3D 1C    FE     ANDCC  #$FE
 2174   DA3D 1C    FE     ANDCC  #$FE
 2175   DA3F 39        RTS
 2175   DA3F 39        RTS
 2176   
 2176   
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2178   DA43 6F        88 17  CLR    $17,X
 2178   DA43 6F        88 17  CLR    $17,X
 2179   DA46 6C        88 12  INC    $12,X
 2179   DA46 6C        88 12  INC    $12,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2181   DA4C BD        D620   
JSR    >ZD620
 2181   DA4C BD        D620   
JSR    >ZD620
 2182   DA4F 25        0D BCS    ZDA5E
 2182   DA4F 25        0D BCS    ZDA5E
 2183   DA51 BD        D772   
JSR    >ZD772
 2183   DA51 BD        D772   
JSR    >ZD772
 2184   DA54 25        08     BCS    ZDA5E
 2184   DA54 25        08     BCS    ZDA5E
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2186   DA59 24        06     BCC    ZDA61
 2186   DA59 24        06     BCC    ZDA61
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2189   
 2189   
 2190   DA61 BE        459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
 2190   DA61 BE        459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1D40B    ZDA61  LDX    >CURFCB
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1D40B    ZDA61  LDX    >CURFCB
 2191   DA64 EC        88 1E  LDD    $1E,X
 2191   DA64 EC        88 1E  LDD    $1E,X
 2192   DA67 ED        88 32  STD    $32,X
 2192   DA67 ED        88 32  STD    $32,X
 2193   DA6A 86        10     LDA    #$10
 2193   DA6A 86        10     LDA    #$10
 2194   DA6C A7        88 34  STA    $34,X
 2194   DA6C A7        88 34  STA    $34,X
 2195   DA6F BD        D947   
JSR    >ZD947
 2195   DA6F BD        D947   
JSR    >ZD947
 2196   DA72 25        EA     BCS    ZDA5E
 2196   DA72 25        EA     BCS    ZDA5E
 2197   DA74 20        8A     BRA        ZDA00
 2197   DA74 20        8A     BRA        ZDA00
 2198   
 2198   
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2200   DA79 A6        84     LDA    ,X
 2200   DA79 A6        84     LDA    ,X
 2201   DA7B A7        02     STA    $02,X
 2201   DA7B A7        02     STA    $02,X
 2202   DA7D 6F        84     CLR    ,X
 2202   DA7D 6F        84     CLR    ,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2204   DA82 4F        CLRA
 2204   DA82 4F        CLRA
 2205   DA83 A7        88 22  STA    $22,X
 2205   DA83 A7        88 22  STA    $22,X
 2206   DA86 39    RTS
 2206   DA86 39    RTS
 2207   *
 2207   *
 2208   ** READ/WRITE NEXT SECTOR
 2208   ** READ/WRITE NEXT SECTOR
 2209   *
 2209   *
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2211   DA89 25        0E     BCS    ZDA99
 2211   DA89 25        0E     BCS    ZDA99
 2212   DA8B 6F        84     CLR    ,X
 2212   DA8B 6F        84     CLR    ,X
 2213   DA8D 44        LSRA
 2213   DA8D 44        LSRA
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2215   DA92 C6        04     LDB    #$04
 2215   DA92 C6        04     LDB    #$04
 2216   DA94 E7        88 22  STB    $22,X
 2216   DA94 E7        88 22  STB    $22,X
 2217   DA97 1C        FE     ANDCC  #$FE
 2217   DA97 1C        FE     ANDCC  #$FE
 2218   DA99 39        ZDA99  RTS
 2218   DA99 39        ZDA99  RTS
 2219   
 2219   
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2221   DA9D A6        02     LDA    $02,X
 2221   DA9D A6        02     LDA    $02,X
 2222   DA9F 81        83     CMPA   #$83
 2222   DA9F 81        83     CMPA   #$83
 2223   DAA1 26        0B     BNE    ZDAAE
 2223   DAA1 26        0B     BNE    ZDAAE
 2224       DAA3 86        03     LDA    #$03
 2224       DAA3 86        03     LDA    #$03
 2225   DAA5 A7        02     STA    $02,X
 2225   DAA5 A7        02     STA    $02,X
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2229   DAB0 39        RTS
 2229   DAB0 39        RTS
 2230   
 2230   
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 2232       DAB3 25        0D     BCS    ZDAC2
 2232       DAB3 25        0D     BCS    ZDAC2
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2234   DAB8 A6        02     LDA    $02,X
 2234   DAB8 A6        02     LDA    $02,X
 2235   DABA 81        03     CMPA   #$03
 2235   DABA 81        03     CMPA   #$03
 2236   DABC 23        F0     BLS    ZDAAE
 2236   DABC 23        F0     BLS    ZDAAE
 2237   DABE C6        12     LDB    #$12
 2237   DABE C6        12     LDB    #$12
 2238   DAC0 1A        01     ORCC   #$01
 2238   DAC0 1A        01     ORCC   #$01
 2239   DAC2 39        ZDAC2  RTS
 2239   DAC2 39        ZDAC2  RTS
 2240       
 2240       
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2242   DAC5 25        31     BCS    ZDAF8
 2242   DAC5 25        31     BCS    ZDAF8
 2243   DAC7 81        02     CMPA   #$02
 2243   DAC7 81        02     CMPA   #$02
 2244   DAC9 27        08     BEQ    ZDAD3
 2244   DAC9 27        08     BEQ    ZDAD3
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2246   DACE 6F        02     CLR    $02,X
 2246   DACE 6F        02     CLR    $02,X
 2247   DAD0 7E        D50C   
JMP    >ZD50C
 2247   DAD0 7E        D50C   
JMP    >ZD50C
 2248   
 2248   
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2250   DAD6 26        05     BNE    ZDADD
 2250   DAD6 26        05     BNE    ZDADD
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2252   DADB 20        19     BRA    ZDAF6
 2252   DADB 20        19     BRA    ZDAF6
 2253   
 2253   
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2255   DADF 25        17     BCS    ZDAF8
 2255   DADF 25        17     BCS    ZDAF8
 2256   DAE1 BE        D40B       
LDX    >CURFCB
 2256   DAE1 BE        D40B       
LDX    >CURFCB
 2257   DAE4 6D        88 17  TST    $17,X
 2257   DAE4 6D        88 17  TST    $17,X
 2258   DAE7 27        05     BEQ    ZDAEE
 2258   DAE7 27        05     BEQ    ZDAEE
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2260   DAEC 25        0A     BCS    ZDAF8
 2260   DAEC 25        0A     BCS    ZDAF8
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2262   DAF1 25        05     BCS    ZDAF8
 2262   DAF1 25        05     BCS    ZDAF8
 2263   DAF3 BD        D947   
JSR    >ZD947
 2263   DAF3 BD        D947   
JSR    >ZD947
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2265   DAF8 39        ZDAF8  RTS
 2265   DAF8 39        ZDAF8  RTS
 2266   *
 2266   *
 2267   ** OPEN FOR UPDATE
 2267   ** OPEN FOR UPDATE
 2268   *
 2268   *
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2270   DAFC 25        28     BCS    ZDB26
 2270   DAFC 25        28     BCS    ZDB26
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2272   DB01 25        23     BCS        ZDB26
 2272   DB01 25        23     BCS        ZDB26
 2273   DB03 86        03     LDA    #$03
 2273   DB03 86        03     LDA    #$03
 2274   DB05 20        18     BRA    ZDB1F
 2274   DB05 20        18     BRA    ZDB1F
 2275   *
 2275   *
 2276   **
 2276   **
 2277   *
 2277   *
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2279   DB0A 25        1A     BCS    ZDB26
 2279   DB0A 25        1A     BCS    ZDB26
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2281   DB0F A6        0F     LDA    $0F,X
 2281   DB0F A6        0F     LDA    $0F,X
 2282       DB11 85        80     BITA   #$80
 2282       DB11 85        80     BITA   #$80
 2283   DB13 26        12     BNE    ZDB27
 2283   DB13 26        12     BNE    ZDB27
 2284   DB15 EC        88 13  LDD    $13,X
 2284   DB15 EC        88 13  LDD    $13,X
 2285   DB18 BD        D620   
JSR    >ZD620
 2285   DB18 BD        D620   
JSR    >ZD620
 2286   DB1B 25        09     BCS    ZDB26
 2286   DB1B 25        09     BCS    ZDB26
 2287   DB1D 86        02     LDA    #$02
 2287   DB1D 86        02     LDA    #$02
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2289   DB22 A7        'o~&ۧ %m'ܘ%
 2289   DB22 A7        'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟02       STA    $02,X
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟02       STA    $02,X
 2290   DB24 1C        FE     ANDCC  #$FE
 2290   DB24 1C        FE     ANDCC  #$FE
 2291   DB26 39        ZDB26  RTS
 2291   DB26 39        ZDB26  RTS
 2292   
 2292   
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2294   DB29 1A        01     ORCC   #$01
 2294   DB29 1A        01     ORCC   #$01
 2295   DB2B 39        RTS
 2295   DB2B 39        RTS
 2296   *
 2296   *
 2297   ** RENAME FILE
 2297   ** RENAME FILE
 2298   *
 2298   *
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2300   DB2E BD        D892   
JSR    >ZD892
 2300   DB2E BD        D892   
JSR    >ZD892
 2301   DB31 25        2A     BCS    ZDB5D
 2301   DB31 25        2A     BCS    ZDB5D
 2302   DB33 27        24     BEQ    ZDB59
 2302   DB33 27        24     BEQ    ZDB59
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2304   DB38 C6        0B     LDB    #$0B
 2304   DB38 C6        0B     LDB    #$0B
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2306   DB3D A7        04     STA    $04,X
 2306   DB3D A7        04     STA    $04,X
 23!07       DB3F 30        01     LEAX   $01,X
 23!07       DB3F 30        01     LEAX   $01,X
 2308   DB41 5A        DECB
 2308   DB41 5A        DECB
 2309   DB42 26        F6     BNE    ZDB3A
 2309   DB42 26        F6     BNE    ZDB3A
 2310   DB44 8D        4D     BSR    ZDB93
 2310   DB44 8D        4D     BSR    ZDB93
 2311   DB46 25        15     BCS    ZDB5D
 2311   DB46 25        15     BCS    ZDB5D
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2313   DB4B A6        0F     LDA    $0F,X
 2313   DB4B A6        0F     LDA    $0F,X
 2314   DB4D 85        80     BITA   #$80
 2314   DB4D 85        80     BITA   #$80
 231"5       DB4F 26        D6     BNE    ZDB27
 231"5       DB4F 26        D6     BNE    ZDB27
 2316   DB51 85        60     BITA   #$60
 2316   DB51 85        60     BITA   #$60
 2317   DB53 26        09     BNE    ZDB5E
 2317   DB53 26        09     BNE    ZDB5E
 2318   DB55 8D        0C     BSR    ZDB63
 2318   DB55 8D        0C     BSR    ZDB63
 2319   DB57 20        55     BRA    ZDBAE
 2319   DB57 20        55     BRA    ZDBAE
 2320   
 2320   
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2322   DB5B 1A        01     ORCC   #$01
 2322   DB5B 1A        01     ORCC   #$01
 2323   DB5D 39        Z#DB5D      RTS
 2323   DB5D 39        Z#DB5D      RTS
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2325   DB60 1A        01     ORCC   #$01
 2325   DB60 1A        01     ORCC   #$01
 2326   DB62 39        RTS
 2326   DB62 39        RTS
 2327   
 2327   
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2329   DB66 86        0B     LDA    #$0B
 2329   DB66 86        0B     LDA    #$0B
 2330   DB68 B7        D411   
STA    >ZD411
 2330   DB68 B7        D411   
STA    >ZD411
 2331   DB6B A6        04     ZDB6B  LDA    $$04,X
 2331   DB6B A6        04     ZDB6B  LDA    $$04,X
 2332   DB6D E6        88 35  LDB    $35,X
 2332   DB6D E6        88 35  LDB    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2334   DB73 E7        04     STB    $04,X
 2334   DB73 E7        04     STB    $04,X
 2335   DB75 30        01     LEAX   $01,X
 2335   DB75 30        01     LEAX   $01,X
 2336   DB77 7A        D411   
DEC    >ZD411
 2336   DB77 7A        D411   
DEC    >ZD411
 2337   DB7A 26        EF     BNE    ZDB6B
 2337   DB7A 26        EF     BNE    ZDB6B
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2339   %DB7F A6    0C     LDA    $0C,X
 2339   %DB7F A6    0C     LDA    $0C,X
 2340   DB81 26        0C     BNE    ZDB8F
 2340   DB81 26        0C     BNE    ZDB8F
 2341   DB83 C6        03     LDB    #$03
 2341   DB83 C6        03     LDB    #$03
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2343   DB88 A7        0C     STA    $0C,X
 2343   DB88 A7        0C     STA    $0C,X
 2344   DB8A 30        01     LEAX   $01,X
 2344   DB8A 30        01     LEAX   $01,X
 2345   DB8C 5A        DECB
 2345   DB8C 5A        DECB
 2346   DB8D 26        F6     BNE    ZDB85
 2346   DB8D 26        F6     BNE    ZDB85
 23&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 23&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 2348   DB92 39        RTS
 2348   DB92 39        RTS
 2349   
 2349   
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2352   DB98 25        07     BCS    ZDBA1
 2352   DB98 25        07     BCS    ZDBA1
 2353   DB9A 26        06     BNE    ZDBA2
 2353   DB9A 26        06     BNE    ZDBA2
 2354   DB9C BE        D40B   
LDX    >CURFCB
 2354   DB9C BE        D40B   
LDX    >CURFCB
 '2355       DB9F 1C        FE     ANDCC  #$FE
 '2355       DB9F 1C        FE     ANDCC  #$FE
 2356   DBA1 39        ZDBA1  RTS
 2356   DBA1 39        ZDBA1  RTS
 2357   
 2357   
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2359   DBA4 1A        01     ORCC   #$01
 2359   DBA4 1A        01     ORCC   #$01
 2360   DBA6 39        RTS
 2360   DBA6 39        RTS
 2361   
 2361   
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2363   DBAA 86        FF     LDA    #$FF
 2363   DBAA 86        FF     LDA    #$FF
 2364   DB(AC A7    04     STA    $04,X
 2364   DB(AC A7    04     STA    $04,X
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2367   DBB4 86        00     LDA    #$00
 2367   DBB4 86        00     LDA    #$00
 2368   DBB6 A7        02     STA    $02,X
 2368   DBB6 A7        02     STA    $02,X
 2369   DBB8 39        RTS
 2369   DBB8 39        RTS
 2370   
 2370   
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2372   DBBC BD        )D69F       
JSR    >WRSECT
 2372   DBBC BD        )D69F       
JSR    >WRSECT
 2373   DBBF 24        14     BCC    ZDBD5
 2373   DBBF 24        14     BCC    ZDBD5
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2375   DBC3 26        08     BNE    ZDBCD
 2375   DBC3 26        08     BNE    ZDBCD
 2376   DBC5 C5        80     BITB   #$80
 2376   DBC5 C5        80     BITB   #$80
 2377   DBC7 27        0A     BEQ    ZDBD3
 2377   DBC7 27        0A     BEQ    ZDBD3
 2378   DBC9 C6        10     LDB    #$10
 2378   DBC9 C6        10     LDB    #$10
 2379   DBCB 20        06     BRA    ZDBD3
 2379   DBCB 20        06     BRA    ZDBD3
 2*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2381   DBCF 20        02     BRA    ZDBD3
 2381   DBCF 20        02     BRA    ZDBD3
 2382   
 2382   
 2383   DBD1 C6        0A     LDB    #$0A
 2383   DBD1 C6        0A     LDB    #$0A
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2385   DBD5 39        ZDBD5  RTS
 2385   DBD5 39        ZDBD5  RTS
 2386   *
 2386   *
 2387   ** DELETE FILE
 2387   ** DELETE FILE
 2388   *
 2388   *
 2389   DBD6 BD        D917   DELETE JSR    +>ZD917
 2389   DBD6 BD        D917   DELETE JSR    +>ZD917
 2390   DBD9 25        5E     BCS    ZDC39
 2390   DBD9 25        5E     BCS    ZDC39
 2391   DBDB 8D        B8     BSR    ZDB95
 2391   DBDB 8D        B8     BSR    ZDB95
 2392   DBDD 25        5A     BCS    ZDC39
 2392   DBDD 25        5A     BCS    ZDC39
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2394   DBE2 A6        0F     LDA    $0F,X
 2394   DBE2 A6        0F     LDA    $0F,X
 2395   DBE4 85        80     BITA   #$80
 2395   DBE4 85        80     BITA   #$80
 2396   DBE6 26        52     BNE    ZDC3A
 2396   DBE6 26        52     BNE    ZDC3A
 2397   DBE8 85        $@&ŀ'
 2397   DBE8 85        $@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@,60 BITA   #$60
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@,60 BITA   #$60
 2398   DBEA 26        52     BNE    ZDC3E
 2398   DBEA 26        52     BNE    ZDC3E
 2399   DBEC BD        D787   
JSR    >ZD787
 2399   DBEC BD        D787   
JSR    >ZD787
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2401   DBF2 EC        02     LDD    $02,X
 2401   DBF2 EC        02     LDD    $02,X
 2402   DBF4 26        0F     BNE    ZDC05
 2402   DBF4 26        0F     BNE    ZDC05
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2404   DBF9 EC        88 11  LDD    $11,X-
 2404   DBF9 EC        88 11  LDD    $11,X-
 2405   DBFC 27        33     BEQ    ZDC31
 2405   DBFC 27        33     BEQ    ZDC31
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2407   DC01 ED        84     STD    ,X
 2407   DC01 ED        84     STD    ,X
 2408   DC03 20        14     BRA    ZDC19
 2408   DC03 20        14     BRA    ZDC19
 2409   
 2409   
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2411   DC08 BD        D620   
JSR    >ZD620
 2411   DC08 BD        D620   
JSR    >ZD620
 2412   DC0B 25        2C     BCS    ZDC39
 2412   DC0B 25        2C     BCS    ZDC39
 24.13       DC0D BE        D40B   
LDX    >CURFCB
 24.13       DC0D BE        D40B   
LDX    >CURFCB
 2414   DC10 EC        88 11  LDD    $11,X
 2414   DC10 EC        88 11  LDD    $11,X
 2415   DC13 27        1C     BEQ    ZDC31
 2415   DC13 27        1C     BEQ    ZDC31
 2416   DC15 8D        A2     BSR    ZDBB9
 2416   DC15 8D        A2     BSR    ZDBB9
 2417   DC17 25        20     BCS    ZDC39
 2417   DC17 25        20     BCS    ZDC39
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2419   DC1C EC        88 13  LDD    $13,X
 2419   DC1C EC        88 13  LDD    $13,X
 2420   DC1/F BE    D41B   
LDX    >ZD41B
 2420   DC1/F BE    D41B   
LDX    >ZD41B
 2421   DC22 ED        02     STD    $02,X
 2421   DC22 ED        02     STD    $02,X
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2423   DC27 EC        88 15  LDD    $15,X
 2423   DC27 EC        88 15  LDD    $15,X
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2425   DC2D E3        04     ADDD   $04,X
 2425   DC2D E3        04     ADDD   $04,X
 2426   DC2F ED        04     STD    $04,X
 2426   DC2F ED        04     STD    $04,X
 2427   DC31 BD        DBA7   ZD0C31      JSR    >ZDBA7
 2427   DC31 BD        DBA7   ZD0C31      JSR    >ZDBA7
 2428   DC34 25        03     BCS    ZDC39
 2428   DC34 25        03     BCS    ZDC39
 2429   DC36 BD        D947   
JSR    >ZD947
 2429   DC36 BD        D947   
JSR    >ZD947
 2430   DC39 39        ZDC39  RTS
 2430   DC39 39        ZDC39  RTS
 2431   
 2431   
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2433   DC3C 20        02     BRA    ZDC40
 2433   DC3C 20        02     BRA    ZDC40
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2435   DC40 1A        01     ZD1C40      ORCC   #$01
 2435   DC40 1A        01     ZD1C40      ORCC   #$01
 2436   DC42 39        RTS
 2436   DC42 39        RTS
 2437   
 2437   
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2439   DC46 5C        INCB
 2439   DC46 5C        INCB
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2441   DC4A 23        03     BLS    ZDC4F
 2441   DC4A 23        03     BLS    ZDC4F
 2442   DC4C C6        01     LDB    #$01
 2442   DC4C C6        01     LDB    #$01
 2443   DC4E 4C        INCA
 2443   DC4E 4C        INCA
 2444   DC4F 10A3 88 213    ZDC4F  CMPD   $13,X
 2444   DC4F 10A3 88 213    ZDC4F  CMPD   $13,X
 2445   DC53 26        0E     BNE    ZDC63
 2445   DC53 26        0E     BNE    ZDC63
 2446   DC55 A6        88 37  LDA    $37,X
 2446   DC55 A6        88 37  LDA    $37,X
 2447   DC58 81        FF     CMPA   #$FF
 2447   DC58 81        FF     CMPA   #$FF
 2448   DC5A 27        07     BEQ    ZDC63
 2448   DC5A 27        07     BEQ    ZDC63
 2449   DC5C 4C        INCA
 2449   DC5C 4C        INCA
 2450   DC5D A7        88 37  STA    $37,X
 2450   DC5D A7        88 37  STA    $37,X
 2451   DC60 1C        FE     ANDCC  #$FE
 2451   DC60 1C        FE     ANDCC  #$FE
 2452   3DC62 39    RTS
 2452   3DC62 39    RTS
 2453   
 2453   
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2455   DC65 25        30     BCS    ZDC97
 2455   DC65 25        30     BCS    ZDC97
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2457   DC6A A6        88 3A  LDA    $3A,X
 2457   DC6A A6        88 3A  LDA    $3A,X
 2458   DC6D 8B        03     ADDA   #$03
 2458   DC6D 8B        03     ADDA   #$03
 2459   DC6F 26        16     BNE    ZDC87
 2459   DC6F 26        16     BNE    ZDC87
 2460   DC71 EC        88 1E  4LDD        $1E,X
 2460   DC71 EC        88 1E  4LDD        $1E,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2462   DC78 27        05     BEQ    ZDC7F
 2462   DC78 27        05     BEQ    ZDC7F
 2463   DC7A C6        17     LDB    #$17
 2463   DC7A C6        17     LDB    #$17
 2464   DC7C 1A        01     ORCC   #$01
 2464   DC7C 1A        01     ORCC   #$01
 2465   DC7E 39        RTS
 2465   DC7E 39        RTS
 2466   
 2466   
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2468   DC82 ED        88 38  ZDC82  STD    $538,X
 2468   DC82 ED        88 38  ZDC82  STD    $538,X
 2469   DC85 86        04     LDA    #$04
 2469   DC85 86        04     LDA    #$04
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2471   DC8A EC        88 13  LDD    $13,X
 2471   DC8A EC        88 13  LDD    $13,X
 2472   DC8D ED        88 35  STD    $35,X
 2472   DC8D ED        88 35  STD    $35,X
 2473   DC90 86        01     LDA    #$01
 2473   DC90 86        01     LDA    #$01
 2474   DC92 A7        88 37  STA    $37,X
 2474   DC92 A7        88 37  STA    $37,X
 2475   DC95 1C        FE     ANDCC  #$FE
 2475   DC95 1C        FE     ANDCC  #$FE
 24766       DC97 39        ZDC97  RTS
 24766       DC97 39        ZDC97  RTS
 2477   
 2477   
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2479   DC9B BD        D620   
JSR    >ZD620
 2479   DC9B BD        D620   
JSR    >ZD620
 2480   DC9E 25        F7     BCS    ZDC97
 2480   DC9E 25        F7     BCS    ZDC97
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2482   DCA3 1F        12     TFR    X,Y
 2482   DCA3 1F        12     TFR    X,Y
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2484   DC7A8 3A    ABX
 2484   DC7A8 3A    ABX
 2485   DCA9 C6        03     LDB    #$03
 2485   DCA9 C6        03     LDB    #$03
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2488   DCB0 A7        88 40  STA    $40,X
 2488   DCB0 A7        88 40  STA    $40,X
 2489   DCB3 30        01     LEAX   $01,X
 2489   DCB3 30        01     LEAX   $01,X
 2490   DCB5 5A        DECB
 2490   DCB5 5A        DECB
 2491   DCB6 26        F3     BNE    ZDCAB
 2491   DCB6 26        F3     BNE    ZDCAB
 2492   DCB8 8BD    D69F   
JSR    >WRSECT
 2492   DCB8 8BD    D69F   
JSR    >WRSECT
 2493   DCBB 24        DA     BCC    ZDC97
 2493   DCBB 24        DA     BCC    ZDC97
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2495   
 2495   
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2498   DCC6 25        46     BCS    ZDD0E
 2498   DCC6 25        46     BCS    ZDD0E
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2500   9DCCB 4F    CLRA
 2500   9DCCB 4F    CLRA
 2501   DCCC 5F        CLRB
 2501   DCCC 5F        CLRB
 2502   DCCD ED        88 20  STD    $20,X
 2502   DCCD ED        88 20  STD    $20,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2505   DCD6 5F        CLRB
 2505   DCD6 5F        CLRB
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2507   DCDA 30        01     LEAX   $01,X
 2507   DCDA 30        01     LEAX   $01,X
 2508   DCDC :5A    DECB
 2508   DCDC :5A    DECB
 2509   DCDD 26        F8     BNE    ZDCD7
 2509   DCDD 26        F8     BNE    ZDCD7
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2511   DCE2 1C        FE     ANDCC  #$FE
 2511   DCE2 1C        FE     ANDCC  #$FE
 2512   DCE4 39        RTS
 2512   DCE4 39        RTS
 2513   *
 2513   *
 2514   ** BACKUP ONE RECORD
 2514   ** BACKUP ONE RECORD
 2515   *
 2515   *
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2517   DCE8 A6        88 17  LDA    ;$17,X
 2517   DCE8 A6        88 17  LDA    ;$17,X
 2518   DCEB 27        1D     BEQ    ZDD0A
 2518   DCEB 27        1D     BEQ    ZDD0A
 2519   DCED EC        88 20  LDD    $20,X
 2519   DCED EC        88 20  LDD    $20,X
 2520   DCF0 83        0001   
SUBD   #$0001
 2520   DCF0 83        0001   
SUBD   #$0001
 2521   DCF3 2A        03     BPL    ZDCF8
 2521   DCF3 2A        03     BPL    ZDCF8
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2523   *
 2523   *
 2524   ** POSITION TO RECORD N
 2524   ** POSITION TO RECORD N
 2525   *
 2525   *
 2526   DCF8 ED        88 20  <ZDCF8      STD    $20,X
 2526   DCF8 ED        88 20  <ZDCF8      STD    $20,X
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2528   DCFE 25        0E     BCS    ZDD0E
 2528   DCFE 25        0E     BCS    ZDD0E
 2529   DD00 46        RORA
 2529   DD00 46        RORA
 2530   DD01 24        07     BCC    ZDD0A
 2530   DD01 24        07     BCC    ZDD0A
 2531   DD03 6F        84     CLR    ,X
 2531   DD03 6F        84     CLR    ,X
 2532   DD05 A6        88 17  LDA    $17,X
 2532   DD05 A6        88 17  LDA    $17,X
 2533   DD08 26        05     BNE    ZDD0F
 2533   DD08 26        05     BNE    ZDD0F
 2534   =DD0A C6    12     ZDD0A  LDB    #$12
 2534   =DD0A C6    12     ZDD0A  LDB    #$12
 2535   DD0C 1A        01     ORCC   #$01
 2535   DD0C 1A        01     ORCC   #$01
 2536   DD0E 39        ZDD0E  RTS
 2536   DD0E 39        ZDD0E  RTS
 2537   
 2537   
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2539   DD12 EC        88 11  LDD    $11,X
 2539   DD12 EC        88 11  LDD    $11,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2541   DD19 27        6A     BEQ    ZDD85
 2541   DD19 27        6A     BEQ    ZDD85
 2542   >DD1B BD    DD9F   
JSR    >ZDD9F
 2542   >DD1B BD    DD9F   
JSR    >ZDD9F
 2543   DD1E 25        EE     BCS    ZDD0E
 2543   DD1E 25        EE     BCS    ZDD0E
 2544   DD20 4F        CLRA
 2544   DD20 4F        CLRA
 2545   DD21 5F        CLRB
 2545   DD21 5F        CLRB
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2547   DD24 27        74     BEQ    ZDD9A
 2547   DD24 27        74     BEQ    ZDD9A
 2548   DD26 EB        02     ADDB   $02,X
 2548   DD26 EB        02     ADDB   $02,X
 2549   DD28 89        00     ADCA   #$00
 2549   DD28 89        00     ADCA   #$00
 2550   DD2A ?BF    D40F   
STX    >ZD40F
 2550   DD2A ?BF    D40F   
STX    >ZD40F
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2552   DD30 10A3 88 20        CMPD   $20,X
 2552   DD30 10A3 88 20        CMPD   $20,X
 2553   DD34 24        2C     BCC    ZDD62
 2553   DD34 24        2C     BCC    ZDD62
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2555   DD39 30        03     LEAX   $03,X
 2555   DD39 30        03     LEAX   $03,X
 2556   DD3B 34        02     PSHS   A
 2556   DD3B 34        02     PSHS   A
 2557   DD3D B6        D411   
LDA    @>ZD411
 2557   DD3D B6        D411   
LDA    @>ZD411
 2558   DD40 4C        INCA
 2558   DD40 4C        INCA
 2559   DD41 B7        D411   
STA    >ZD411
 2559   DD41 B7        D411   
STA    >ZD411
 2560   DD44 81        54     CMPA   #$54
 2560   DD44 81        54     CMPA   #$54
 2561   DD46 27        08     BEQ    ZDD50
 2561   DD46 27        08     BEQ    ZDD50
 2562   DD48 81        A8     CMPA   #$A8
 2562   DD48 81        A8     CMPA   #$A8
 2563   DD4A 35        02     PULS   A
 2563   DD4A 35        02     PULS   A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2565   DD4E 20        D2     BRA    ZDD22A
 2565   DD4E 20        D2     BRA    ZDD22A
 2566   
 2566   
 2567   DD50 34        04     ZDD50  PSHS   B
 2567   DD50 34        04     ZDD50  PSHS   B
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2569   DD55 EC        88 40  LDD    $40,X
 2569   DD55 EC        88 40  LDD    $40,X
 2570   DD58 8D        45     BSR    ZDD9F
 2570   DD58 8D        45     BSR    ZDD9F
 2571   DD5A 25        3E     BCS    ZDD9A
 2571   DD5A 25        3E     BCS    ZDD9A
 2572   DD5C 35        04     PULS   B
 2572   DD5C 35        04     PULS   B
 2573   DD5E 35        02     PULS   A
 2573   DD5E 35        02     PULS   A
 2574   DD60 B20    C0     BRA    ZDD22
 2574   DD60 B20    C0     BRA    ZDD22
 2575   
 2575   
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2578   DD68 A6        02     LDA    $02,X
 2578   DD68 A6        02     LDA    $02,X
 2579   DD6A 34        04     PSHS   B
 2579   DD6A 34        04     PSHS   B
 2580   DD6C A0        E0     SUBA   ,S+
 2580   DD6C A0        E0     SUBA   ,S+
 2581   DD6E 4A        DECA
 2581   DD6E 4A        DECA
 2582   DD6F 1F        89     TFR    A,B
 2582   DD6F 1F        89     TFR    A,B
 0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 2584   DD73 EB        01     ADDB   $01,X
 2584   DD73 EB        01     ADDB   $01,X
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2586   DD78 25        05     BCS    ZDD7F
 2586   DD78 25        05     BCS    ZDD7F
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2588   DD7D 23        06     BLS    ZDD85
 2588   DD7D 23        06     BLS    ZDD85
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2590D       DD82 4C        INCA
 2590D       DD82 4C        INCA
 2591   DD83 20        F5     BRA    ZDD7A
 2591   DD83 20        F5     BRA    ZDD7A
 2592   
 2592   
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2594   DD88 25        14     BCS    ZDD9E
 2594   DD88 25        14     BCS    ZDD9E
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2596   DD8D EC        88 42  LDD    $42,X
 2596   DD8D EC        88 42  LDD    $42,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2598   DD94 E27    14     BEQ    ZDDAA
 2598   DD94 E27    14     BEQ    ZDDAA
 2599   DD96 C6        19     LDB    #$19
 2599   DD96 C6        19     LDB    #$19
 2600   DD98 20        02     BRA    ZDD9C
 2600   DD98 20        02     BRA    ZDD9C
 2601   
 2601   
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2604   DD9E 39        ZDD9E  RTS
 2604   DD9E 39        ZDD9E  RTS
 2605   
 2605   
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 260F7       DDA2 25        08     BCS    ZDDAC
 260F7       DDA2 25        08     BCS    ZDDAC
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2609   DDA7 C6        44     LDB    #$44
 2609   DDA7 C6        44     LDB    #$44
 2610   DDA9 3A        ABX
 2610   DDA9 3A        ABX
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2612   DDAC 39        ZDDAC  RTS
 2612   DDAC 39        ZDDAC  RTS
 2613   
 2613   
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2615   DDB0 C6        G0B LDB    #$0B
 2615   DDB0 C6        G0B LDB    #$0B
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2617   DDB5 A7        04     STA    $04,X
 2617   DDB5 A7        04     STA    $04,X
 2618   DDB7 30        01     LEAX   $01,X
 2618   DDB7 30        01     LEAX   $01,X
 2619   DDB9 5A        DECB
 2619   DDB9 5A        DECB
 2620   DDBA 26        F6     BNE    ZDDB2
 2620   DDBA 26        F6     BNE    ZDDB2
 2621   DDBC 39        RTS
 2621   DDBC 39        RTS
 2622   *
 2622   *
 2623   ** FIND NEXT DRIVE
 2623   ** FIND NEXT DRIVE
 2624   *
 2624   *
 2625   DHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2625   DHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2626   DDC0 A6        03     LDA    $03,X
 2626   DDC0 A6        03     LDA    $03,X
 2627   DDC2 4C        INCA
 2627   DDC2 4C        INCA
 2628   DDC3 81        04     CMPA   #$04
 2628   DDC3 81        04     CMPA   #$04
 2629   DDC5 24        0F     BCC    ZDDD6
 2629   DDC5 24        0F     BCC    ZDDD6
 2630   DDC7 A7        03     STA    $03,X
 2630   DDC7 A7        03     STA    $03,X
 2631   DDC9 26        05     BNE    ZDDD0
 2631   DDC9 26        05     BNE    ZDDD0
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIY
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIY
 2633   DDCE 20        03     BRA    ZDDD3
 2633   DDCE 20        03     BRA    ZDDD3
 2634   
 2634   
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2637   DDD5 39        RTS
 2637   DDD5 39        RTS
 2638   
 2638   
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2640   DDD8 1A        01     ORCC   #$01
 2640   DDD8 1A        01     ORCC   #$01
 2641   DDDA 39        RTS
 2641   DDDA 39        RTS
 264J2       END
 264J2       END
 2643   
 2643   
 2645   *
 2645   *
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2647   *
 2647   *
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2649   * WITH I/O MAPPED AT $XE000
 2649   * WITH I/O MAPPED AT $XE000
 2650   * AND ROM MAPPED AT $XF000
 2650   * AND ROM MAPPED AT $XF000
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKM
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKM
 2652   * THE FIRST 64K IS USED BY FLEX,
 2652   * THE FIRST 64K IS USED BY FLEX,
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2654   *
 2654   *
 2655   *
 2655   *
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 L2659       *
 L2659       *
 2660   E040   CF_BASE EQU    $E040
 2660   E040   CF_BASE EQU    $E040
 2661   E040   CF_DATA EQU    CF_BASE+0
 2661   E040   CF_DATA EQU    CF_BASE+0
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2664   E042   CF_SCNT EQU    CF_BASE+2
 2664   E042   CF_SCNT EQU    CF_BASE+2
 2665   E043   CF_SNUM EQU    CF_BMASE+3
 2665   E043   CF_SNUM EQU    CF_BMASE+3
 2666   E044   CF_CLO EQU    CF_BASE+4
 2666   E044   CF_CLO EQU    CF_BASE+4
 2667   E045   CF_CHI EQU    CF_BASE+5
 2667   E045   CF_CHI EQU    CF_BASE+5
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2669   E047   CF_STATUS EQU  CF_BASE+7 ; read status
 2669   E047   CF_STATUS EQU  CF_BASE+7 ; read status
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2671   *
 2671   *
 2672   * CommandN Equates
 2672   * CommandN Equates
 2673   *
 2673   *
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2675   0030   CMDWRITE EQU   $30    ; Write Single sector
 2675   0030   CMDWRITE EQU   $30    ; Write Single sector
 2676   00EF   CMDFEATURE EQU $EF
 2676   00EF   CMDFEATURE EQU $EF
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2678   00E0   HEADLBA EQU    $E0
 2678   00E0   HEADLBA EQU    $E0
 2O679       *
 2O679       *
 2680   * Status bit equates
 2680   * Status bit equates
 2681   *
 2681   *
 2682   0080   BSY    EQU    $80
 2682   0080   BSY    EQU    $80
 2683   0040   DRDY   EQU    $40
 2683   0040   DRDY   EQU    $40
 2684   0008   DRQ    EQU    $08
 2684   0008   DRQ    EQU    $08
 2685   0001   ERR    EQU    $01
 2685   0001   ERR    EQU    $01
 2686   DE00   ORG    $DE00
 2686   DE00   ORG    $DE00
 2687   *      
 2687   *      
 2688   * DISK DRIVER JUMP TABLE
 2688   * DISK DRIVER JUMP TABLE
 2689   *
 2689   *
 2690   >DE009$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCDEB_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9P 7E   DE4B   READ   JMP    READSC
 2690   >DE009$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCDEB_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9P 7E   DE4B   READ   JMP    READSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2693   >DE09 7E       DE32   RESTOR JMP    RESTR1
 2693   >DE09 7E       DE32   RESTOR JMP    RESTR1
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2696   DEQ12 7E    DE9C   QUICK  JMP    CHKDRV
 2696   DEQ12 7E    DE9C   QUICK  JMP    CHKDRV
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2699   >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2699   >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2700   *
 2700   *
 2701   * RAM SPACE
 2701   * RAM SPACE
 2702   *
 2702   *
 2703   DE1E 00        DRVNUM FCB    0
 2703   DE1E 00        DRVNUM FCB    0
 2704   *
 2704   *
 2705   R*
 2705   R*
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2707   *
 2707   *
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2709   DE21 86        E0     LDA    #HEADLBA
 2709   DE21 86        E0     LDA    #HEADLBA
 2710   DE23 B7        E046   
STA    CF_HEAD
 2710   DE23 B7        E046   
STA    CF_HEAD
 2711   DE26 86        01     LDA    #FEAT8BIT
 2711   DE26 86        01     LDA    #FEAT8BIT
 2712   DE28 B7        E041   
STA    CF_FEATURE
 2712   DE28 B7        E041   
STA    CF_FEATURE
 27S13       DE2B 86        EF     LDA    #CMDFEATURE
 27S13       DE2B 86        EF     LDA    #CMDFEATURE
 2714   DE2D B7        E047   
STA    CF_COMAND
 2714   DE2D B7        E047   
STA    CF_COMAND
 2715   DE30 20        6E     BRA    WAITRDY
 2715   DE30 20        6E     BRA    WAITRDY
 2716   *      
 2716   *      
 2717   * RESTORE DISK DRIVER (SEEK TRACK 00)
 2717   * RESTORE DISK DRIVER (SEEK TRACK 00)
 2718   *      
 2718   *      
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2720   DE34 4F        CLRA   
; Track 0
 2720   DE34 4F        CLRA   
; Track 0
 T2721       DE35 C6        01     LDB    #$01   ; Sector 1
 T2721       DE35 C6        01     LDB    #$01   ; Sector 1
 2722   *
 2722   *
 2723   * Seek track and sector
 2723   * Seek track and sector
 2724   * A holds track number (0 - ??)
 2724   * A holds track number (0 - ??)
 2725   * B holds sector number (1 - ??)
 2725   * B holds sector number (1 - ??)
 2726   * Sector numbers starts from 1
 2726   * Sector numbers starts from 1
 2727   * subtract 1 to start from sector 0 on CFU
 2727   * subtract 1 to start from sector 0 on CFU
 2728   *
 2728   *
 2729   DE37 5A        SEEKTS DECB
 2729   DE37 5A        SEEKTS DECB
 2730   DE38 F7        E043   
STB    CF_SNUM
 2730   DE38 F7        E043   
STB    CF_SNUM
 2731   DE3B B7        E044   
STA    CF_CLO
 2731   DE3B B7        E044   
STA    CF_CLO
 2732   DE3E F6        DE1E   
LDB    DRVNUM
 2732   DE3E F6        DE1E   
LDB    DRVNUM
 2733   DE41 F7        E045   
STB    CF_CHI
 2733   DE41 F7        E045   
STB    CF_CHI
 2734   DE44 C6        01     LDB    #$01
 2734   DE44 C6        01     LDB    #$01
 2735   DE46 F7        E042   
STB    CF_SCNT
 2735   DE46 F7        E042   
STB    CF_SCNT
 2V736       DE49 5F        CLRB
 2V736       DE49 5F        CLRB
 2737   DE4A 39        WARMD1 RTS
 2737   DE4A 39        WARMD1 RTS
 2738   *
 2738   *
 2739   * READ SECTORS FROM CF
 2739   * READ SECTORS FROM CF
 2740   *
 2740   *
 2741   *
 2741   *
 2742   DE4B 8D        EA     READSC BSR    SEEKTS
 2742   DE4B 8D        EA     READSC BSR    SEEKTS
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2744   DE4F B7        E047   
STA    CF_COMAND
 2744   DE4F B7        E047   
STA    CF_COMAND
 2745   WDE52 8D    4C     BSR    WAITRDY
 2745   WDE52 8D    4C     BSR    WAITRDY
 2746   *
 2746   *
 2747   * READ LOOP
 2747   * READ LOOP
 2748   *
 2748   *
 2749   DE54 5F        CLRB
 2749   DE54 5F        CLRB
 2750   DE55 8D        58     RDLP1  BSR    WAITDRQ
 2750   DE55 8D        58     RDLP1  BSR    WAITDRQ
 2751   DE57 B6        E040   
LDA    CF_DATA
 2751   DE57 B6        E040   
LDA    CF_DATA
 2752   DE5A A7        80     STA    ,X+
 2752   DE5A A7        80     STA    ,X+
 2753   DE5C 5A        DECB
 2753   DE5C 5A        DECB
 2754   DE5D 26        F6     BNE    RDLP1
 2754   DE5D 26        F6     BNE    RDLP1
 2X755       *
 2X755       *
 2756   DE5F 5F        CLRB
 2756   DE5F 5F        CLRB
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2758   DE62 B6        E040   
LDA    CF_DATA
 2758   DE62 B6        E040   
LDA    CF_DATA
 2759   DE65 5A        DECB
 2759   DE65 5A        DECB
 2760   DE66 26        F8     BNE    RDLP2
 2760   DE66 26        F8     BNE    RDLP2
 2761   *
 2761   *
 2762   DE68 8D        36     BSR    WAITRDY
 2762   DE68 8D        36     BSR    WAITRDY
 2763   DE6A 5F        CLRB
 2763   DE6A 5F        CLRB
 2764   DE6B 39        RTS
 2764   DE6B 39        RTS
 276Y5       *      
 276Y5       *      
 2766   * WRITE SECTOR TO CF
 2766   * WRITE SECTOR TO CF
 2767   *      
 2767   *      
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2769   DE6E 86        30     LDA    #CMDWRITE; IDE WRITE MULTIPLE
 2769   DE6E 86        30     LDA    #CMDWRITE; IDE WRITE MULTIPLE
***     SYNTAX ERROR
***     SYNTAX ERROR
 2770   DE70 B7        E047   
STA    CF_COMAND
 2770   DE70 B7        E047   
STA    CF_COMAND
 2771   DE73 8D        2B     BSR    WZAITRDY
 2771   DE73 8D        2B     BSR    WZAITRDY
 2772   *
 2772   *
 2773   * WRITE LOOP
 2773   * WRITE LOOP
 2774   *
 2774   *
 2775   DE75 5F        CLRB
 2775   DE75 5F        CLRB
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2777   DE78 A6        80     LDA    ,X+
 2777   DE78 A6        80     LDA    ,X+
 2778   DE7A B7        E040   
STA    CF_DATA
 2778   DE7A B7        E040   
STA    CF_DATA
 2779   DE7D 5A        DECB
 2779   DE7D 5A        DECB
 2780   DE7E 26        F6     BNE    WRTLP1
 2780   DE7E 26        F6     BNE    WRTLP1
 2781   *
 2781   *
 2782   D[E80 5F    CLRB
 2782   D[E80 5F    CLRB
 2783   DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 2783   DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 2784   DE83 4F        CLRA
 2784   DE83 4F        CLRA
 2785   DE84 B7        E040   
STA    CF_DATA
 2785   DE84 B7        E040   
STA    CF_DATA
 2786   DE87 5A        DECB
 2786   DE87 5A        DECB
 2787   DE88 26        F7     BNE    WRTLP2
 2787   DE88 26        F7     BNE    WRTLP2
 2788   *
 2788   *
 2789   DE8A 8D        14     BSR    WAITRDY
 2789   DE8A 8D        14     BSR    WAITRDY
 2790   DE8C 5F        CLRB
 2790   DE8C 5F        CLRB
 2791   DE8D 39        R\TS
 2791   DE8D 39        R\TS
 2792   *      
 2792   *      
 2793   * CHECK FOR BUSY       
 2793   * CHECK FOR BUSY       
 2794   * Doubles as VERIFY
 2794   * Doubles as VERIFY
 2795   *      
 2795   *      
 2796   DE8E 5F        BUSY   CLRB   
Never busy
 2796   DE8E 5F        BUSY   CLRB   
Never busy
 2797   DE8F 39        RTS
 2797   DE8F 39        RTS
 2798   *      
 2798   *      
 2799   * DRIVE SELECT DISK DRIVER
 2799   * DRIVE SELECT DISK DRIVER
 2800   *      
 2800   *      
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE #] FROM FCB
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE #] FROM FCB
 2802   DE92 81        03     CMPA   #3
 2802   DE92 81        03     CMPA   #3
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2804   DE96 4F        CLRA
 2804   DE96 4F        CLRA
 2805   DE97 B7        DE1E   DRVS2  STA    DRVNUM
 2805   DE97 B7        DE1E   DRVS2  STA    DRVNUM
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2807   DE9B 39        RTS
 2807   DE9B 39        RTS
 2808   *      
 2808   *      
 2809   * CHECK DRIV^E READY DISK DRIVER
 2809   * CHECK DRIV^E READY DISK DRIVER
 2810   *      
 2810   *      
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2813   DE9F 39        RTS
 2813   DE9F 39        RTS
 2814   *
 2814   *
 2815   * WAIT UNTIL READY
 2815   * WAIT UNTIL READY
 2816   *
 2816   *
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2818   DEA3 85        80     BITA   #_BSY
 2818   DEA3 85        80     BITA   #_BSY
 2819   DEA5 26        F9     BNE    WAITRDY
 2819   DEA5 26        F9     BNE    WAITRDY
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2821   DEAA 85        40     BITA   #DRDY
 2821   DEAA 85        40     BITA   #DRDY
 2822   DEAC 27        F2     BEQ    WAITRDY
 2822   DEAC 27        F2     BEQ    WAITRDY
 2823   DEAE 39        RTS
 2823   DEAE 39        RTS
 2824   *
 2824   *
 2825   * WAIT FOR DATA REQUEST
 2825   * WAIT FOR DATA REQUEST
 2826   *
 2826   *
 2827   DEAF B6        E047   WAITDRQ LDA    `CF_STATUS
 2827   DEAF B6        E047   WAITDRQ LDA    `CF_STATUS
 2828   DEB2 85        08     BITA   #DRQ
 2828   DEB2 85        08     BITA   #DRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2830   DEB6 39        RTS
 2830   DEB6 39        RTS
 2831   *
 2831   *
 2832   END
 2832   END
 2833   
 2833   
 2834   END    COLDS
 2834   END    COLDS
1 ERROR(S) DETECTED
1 ERROR(S) DETECTED
SYMBOL TABLE:
SYMBOL TABLE:
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE   a3     
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE   a3     
BSECHR CC07     BSPCHR CC00    BSY    0080   BUSY   DE8E   CF_BAS E040    
BSECHR CC07     BSPCHR CC00    BSY    0080   BUSY   DE8E   CF_BAS E040    
CF_CHI E045     CF_CLO E044    CF_COM E047    CF_DAT E040    CF_ERR E041    
CF_CHI E045     CF_CLO E044    CF_COM E047    CF_DAT E040    CF_ERR E041    
CF_FEA E041     CF_HEA E046    CF_SCN E042    CF_SNU E043    CF_STA E047    
CF_FEA E041     CF_HEA E046    CF_SCN E042    CF_SNU E043    CF_STA E047    
CHKDRV DE9C     CLASS  CD21   CLASS1 CFED    CLOSE  DAC
CHKDRV DE9C     CLASS  CD21   CLASS1 CFED    CLOSE  DAC
b3     CMDFEA 00EF    
b3     CMDFEA 00EF    
CMDFLG CC28     CMDREA 0020    CMDTBL CC93    CMDWRI 0030    COLADX DFFB    
CMDFLG CC28     CMDREA 0020    CMDTBL CC93    CMDWRI 0030    COLADX DFFB    
COLD1   CD57   COLDDR DE15    COLDS  CD00   CPORT  DFE0   CPYMSG D409    
COLD1   CD57   COLDDR DE15    COLDS  CD00   CPORT  DFE0   CPYMSG D409    
CURCHR CC18     CURCOL CC29    CURFCB D40B    CURLIN CC1A    DATERG CC0E    
CURCHR CC18     CURCOL CC29    CURFCB D40B    CURLIN CC1A    DATERG CC0E    
DATREG FFF0     DATSTR CAEC    DAY    CCc0F       DECTBL CCA0    DELCHR CC01    
DATREG FFF0     DATSTR CAEC    DAY    CCc0F       DECTBL CCA0    DELCHR CC01    
DELETE DBD6     DEPCNT CC03    DERMSG CC75    DNRMSG CC82    DOCMD1 D329    
DELETE DBD6     DEPCNT CC03    DERMSG CC75    DNRMSG CC82    DOCMD1 D329    
DOCMND CD4B     DOFUN1 D4B8    DOFUNC D4B0    DRDY   0040   DRIVE  DE0C   
DOCMND CD4B     DOFUN1 D4B8    DOFUNC D4B0    DRDY   0040   DRIVE  DE0C   
DRQ     0008   DRVNUM DE1E    DRVRDY DE0F    DRVS2  DE97   DRVSEL DE90    
DRQ     0008   DRVNUM DE1E    DRVRDY DE0F    DRVS2  DE97   DRVSEL DE90    
DUMRTS D370     ECHO   DFEd2       EJTCNT CC08    EOLCHR CC02    ERR    0001   
DUMRTS D370     ECHO   DFEd2       EJTCNT CC08    EOLCHR CC02    ERR    0001   
ERRTYP CC20     ERRVEC CC2D    ESCCHR CC0A    ESCFLG DFFE    ESCVEC CC16    
ERRTYP CC20     ERRVEC CC2D    ESCCHR CC0A    ESCFLG DFFE    ESCVEC CC16    
EXTTBL D10B     FCB    C840   FCBPTR D409    FEAT8B 0001    FIEFLG CC2F    
EXTTBL D10B     FCB    C840   FCBPTR D409    FEAT8B 0001    FIEFLG CC2F    
FIPADR CC26     FIRQ   DFC6   FMASK  0040   FMS    D406   FMS1   D47B   
FIPADR CC26     FIRQ   DFC6   FMASK  0040   FMS    D406   FMS1   D47B   
FMSCLS D403     FM
eSTBL D4CE        FOPADR CC24    GETBYT D56F    GETCH1 CEFB    
FMSCLS D403     FM
eSTBL D4CE        FOPADR CC24    GETBYT D56F    GETCH1 CEFB    
GETCHR CD15     GETCMD D20F    GETFIL CD2D    GETFL1 D036    GETHEX CD42    
GETCHR CD15     GETCMD D20F    GETFIL CD2D    GETFL1 D036    GETHEX CD42    
GETHX1 D12F     GETREC D838    HEADLB 00E0    IC11   FFF0   IHND   D370   
GETHX1 D12F     GETREC D838    HEADLB 00E0    IC11   FFF0   IHND   D370   
IHNDVC D3E7     IMASK  0010   INBUF1 CE2B    INBUFF CD1B    INCH   CD09   
IHNDVC D3E7     IMASK  0010   INBUF1 CE2B    INBUFF CD1B    INCH   CD09   
INfCH2       CD0C   INCHEK D37C    INCHEV F806    INCHKV F808    INCHNE D374    
INfCH2       CD0C   INCHEK D37C    INCHEV F806    INCHKV F808    INCHNE D374    
INCHV   F804   INDEC  CD48   INDEC1 D175    INEEE  D384   INITDR DE1F    
INCHV   F804   INDEC  CD48   INDEC1 D175    INEEE  D384   INITDR DE1F    
INPSWT CC23     INVEC  D3FB   IRQ    DFC8   IRQVEC DFC8    IRQVVC D3EB    
INPSWT CC23     INVEC  D3FB   IRQ    DFC8   IRQVEC DFC8    IRQVVC D3EB    
LASTRM CC11     LINBUF C080    LINLEN 0050    LINPTR CC14    LOAgD       CD30   
LASTRM CC11     LINBUF C080    LINLEN 0050    LINPTR CC14    LOAgD       CD30   
LOAD1   D1A2   LODOFF CC1B    LRARAM DFD0    LRAV   F812   MAPUP  CC49   
LOAD1   D1A2   LODOFF CC1B    LRARAM DFD0    LRAV   F812   MAPUP  CC49   
MEMEND CC2B     MONEXT F000    MONIO  E000   MONITR D378    MONITV F800    
MEMEND CC2B     MONEXT F000    MONIO  E000   MONITR D378    MONITV F800    
MONRAM DFC0     MONROM F800    MONTH  CC0E   MONVEC D3F3    NEWROW DFFD    
MONRAM DFC0     MONROM F800    MONTH  CC0E   MONVEC D3F3    NEWROW DFFD    
NFDMSG CC6B     NTRMSG CC5C    NULCNT CC05    NUhMLIN 0019        NXTCH  CD27   
NFDMSG CC6B     NTRMSG CC5C    NULCNT CC05    NUhMLIN 0019        NXTCH  CD27   
NXTCH1 D00E     NXTCMV F802    NXTDRV DDBD    NXTSEC DA87    OPENRD D986    
NXTCH1 D00E     NXTCMV F802    NXTDRV DDBD    NXTSEC DA87    OPENRD D986    
OPENUD DAF9     OPENWR D9D9    OPNDIR D81D    OPNREC D810    OUTAD1 CFD0    
OPENUD DAF9     OPENWR D9D9    OPNDIR D81D    OPNREC D810    OUTAD1 CFD0    
OUTADR CD45     OUTCH  CD0F   OUTCH2 CD12    OUTCHV F80A    OUTDC1 CF86    
OUTADR CD45     OUTCH  CD0F   OUTCH2 CD12    OUTCHV F80A    OUTDC1 CF86    
OUTDEC CD39     OUTEEE D380    iOUTHEX CD3C        OUTHX1 CFD4    OUTHXL CFDC    
OUTDEC CD39     OUTEEE D380    iOUTHEX CD3C        OUTHX1 CFD4    OUTHXL CFDC    
OUTHXR CFE0     OUTSWT CC22    OUTVEC D3F9    PAUSE  CC09   PCHK   CCD8   
OUTHXR CFE0     OUTSWT CC22    OUTVEC D3F9    PAUSE  CC09   PCHK   CCD8   
PCLKHI 0001     PCLKLO 0000    PCRLF  CD24   PCRLF1 CEB5    PCRLFV F80E    
PCLKHI 0001     PCLKLO 0000    PCRLF  CD24   PCRLF1 CEB5    PCRLFV F80E    
PDATAV F80C     PINIT  CCC0   PMTSTR CC4E    POSREC DCFB    POUT   CCE4   
PDATAV F80C     PINIT  CCC0   PMTSTR CC4E    POSREC DCFB    POUT   CCE4   
PROMRE E0C0j PRSPL1 C700    PRSPL2 C703    PRSPL3 C706    PRSPL4 C709    
PROMRE E0C0j PRSPL1 C700    PRSPL2 C703    PRSPL3 C706    PRSPL4 C709    
PRSPL5 C70C     PRSPL6 C70F    PRSTHI 0002    PRSTLO 0000    PRVCHR CC19    
PRSPL5 C70C     PRSPL6 C70F    PRSTHI 0002    PRSTLO 0000    PRVCHR CC19    
PS2KBD E020     PSTRG1 CE81    PSTRGV F810    PSTRNG CD1E    PUTBYT D590    
PS2KBD E020     PSTRG1 CE81    PSTRGV F810    PSTRNG CD1E    PUTBYT D590    
PUTCH1 CF41     PUTCHR CD18    PUTREC D876    QCNT   C71B   QRYSTR CC52k        
PUTCH1 CF41     PUTCHR CD18    PUTREC D876    QCNT   C71B   QRYSTR CC52k        
QUICK   DE12   RDLP1  DE55   RDLP2  DE60   RDSECT D641    READ   DE00   
QUICK   DE12   RDLP1  DE55   RDLP2  DE60   RDSECT D641    READ   DE00   
READSC DE4B     RENAME DB2C    RENT1  CDB1   RENTER CD06    RESTOR DE09    
READSC DE4B     RENAME DB2C    RENT1  CDB1   RENTER CD06    RESTOR DE09    
RESTR1 DE32     RESV1  D969   RESV2  D699   RESV3  DB07   REWIND D5E2    
RESTR1 DE32     RESV1  D969   RESV2  D699   RESV3  DB07   REWIND D5E2    
ROWADX DFFC     RPTER1 D27F    RPTERR CD3F    RSTIO1 CDlEA        RSTRIO CD2A    
ROWADX DFFC     RPTER1 D27F    RPTERR CD3F    RSTIO1 CDlEA        RSTRIO CD2A    
SEEK    DE1B   SEEKTS DE37    SETEX1 D0EB    SETEXT CD33    SIOFLG CC21    
SEEK    DE1B   SEEKTS DE37    SETEX1 D0EB    SETEXT CD33    SIOFLG CC21    
STACK   DFC0   STAVEC D3F7    SVCVL  DFCE   SVCVO  DFCC   SWI    DFCA   
STACK   DFC0   STAVEC D3F7    SVCVL  DFCE   SVCVO  DFCC   SWI    DFCA   
SWI2    DFC4   SWI3   DFC2   SWIVEC DFC2    SWIVVC D3E9    SYNCHI AA55    
SWI2    DFC4   SWI3   DFC2   SWIVEC DFC2    SWIVVC D3E9    SYNCHI AA55    
SYNCLO FF00     SYSDRV CC0B    TABCHR CC06m        TERINZ D371    TERVEC D3F5    
SYNCLO FF00     SYSDRV CC0B    TABCHR CC06m        TERINZ D371    TERVEC D3F5    
TINVEC D3F1     TMINT  D370   TMOFF  D370   TMON   D370   TOFVEC D3ED    
TINVEC D3F1     TMINT  D370   TMOFF  D370   TMON   D370   TOFVEC D3ED    
TONVEC D3EF     TRNFLG CC1D    TRNVEC CC1E    TTLSTR CADC    UCTVEC CC12    
TONVEC D3EF     TRNFLG CC1D    TRNVEC CC1E    TTLSTR CADC    UCTVEC CC12    
VDU     E030   VDUATT 0001    VDUCHR 0000    VDUCOL 0002    VDUOFF 0004    
VDU     E030   VDUATT 0001    VDUCHR 0000    VDUCOL 0002    VDUOFF 0004    
VDUROW 0003     VERFLG D435n        VERIFY DE06    WAITDR DEAF    WAITRD DEA0    
VDUROW 0003     VERFLG D435n        VERIFY DE06    WAITDR DEAF    WAITRD DEA0    
WARM1   CD67   WARMD1 DE4A    WARMDR DE18    WARMS  CD03   WIDCNT CC04    
WARM1   CD67   WARMD1 DE4A    WARMDR DE18    WARMS  CD03   WIDCNT CC04    
WOTMSG CC56     WRITE  DE03   WRITSC DE6C    WRKDRV CC0C    WRSECT D69F    
WOTMSG CC56     WRITE  DE03   WRITSC DE6C    WRKDRV CC0C    WRSECT D69F    
WRTLP1 DE76     WRTLP2 DE81    YEAR   CC10   Z0000  0000   Z0005  0005   
WRTLP1 DE76     WRTLP2 DE81    YEAR   CC10   Z0000  0000   Z0005  0005   
Z0044   00o44       Z00A0  00A0   ZC07F  C07F   ZC0FF  C0FF   ZC712  C712   
Z0044   00o44       Z00A0  00A0   ZC07F  C07F   ZC0FF  C0FF   ZC712  C712   
ZC719   C719   ZC71C  C71C   ZC71D  C71D   ZC71E  C71E   ZC71F  C71F   
ZC719   C719   ZC71C  C71C   ZC71D  C71D   ZC71E  C71E   ZC71F  C71F   
ZC721   C721   ZC738  C738   ZC73F  C73F   ZC747  C747   ZC76D  C76D   
ZC721   C721   ZC738  C738   ZC73F  C73F   ZC747  C747   ZC76D  C76D   
ZC777   C777   ZC779  C779   ZC785  C785   ZC791  C791   ZC795  Cp795       
ZC777   C777   ZC779  C779   ZC785  C785   ZC791  C791   ZC795  Cp795       
ZC79B   C79B   ZC7BC  C7BC   ZC7C3  C7C3   ZC7C7  C7C7   ZC7E3  C7E3   
ZC79B   C79B   ZC7BC  C7BC   ZC7C3  C7C3   ZC7C7  C7C7   ZC7E3  C7E3   
ZC7ED   C7ED   ZC7F6  C7F6   ZC800  C800   ZC810  C810   ZC838  C838   
ZC7ED   C7ED   ZC7F6  C7F6   ZC800  C800   ZC810  C810   ZC838  C838   
ZC844   C844   ZCA00  CA00   ZCA02  CA02   ZCA06  CA06   ZCA08  CA08   
ZC844   C844   ZCA00  CA00   ZCA02  CA02   ZCA06  CA06   ZCA08  CA08   
ZCA38   CA38   ZCA4C  CA4C   ZCA7B  CA7B   ZCA7Eq      CA7E   ZCA8E  CA8E   
ZCA38   CA38   ZCA4C  CA4C   ZCA7B  CA7B   ZCA7Eq      CA7E   ZCA8E  CA8E   
ZCAAC   CAAC   ZCAC0  CAC0   ZCACB  CACB   ZCAD9  CAD9   ZCADB  CADB   
ZCAAC   CAAC   ZCAC0  CAC0   ZCACB  CACB   ZCAD9  CAD9   ZCADB  CADB   
ZCC0D   CC0D   ZCC30  CC30   ZCC31  CC31   ZCC34  CC34   ZCC3D  CC3D   
ZCC0D   CC0D   ZCC30  CC30   ZCC31  CC31   ZCC34  CC34   ZCC3D  CC3D   
ZCC3F   CC3F   ZCC43  CC43   ZCC45  CC45   ZCC47  CC47   ZCC4A  CC4A   
ZCC3F   CC3F   ZCC43  CC43   ZCC45  CC45   ZCC47  CC47   ZCC4A  CC4A   
ZCC4B   CC4B   ZCC4C  CC4C   ZCrC4D      CC4D   ZCCF8  CCF8   ZCCFC  CCFC   
ZCC4B   CC4B   ZCC4C  CC4C   ZCrC4D      CC4D   ZCCF8  CCF8   ZCCFC  CCFC   
ZCD4E   CD4E   ZCD5B  CD5B   ZCD9D  CD9D   ZCDB8  CDB8   ZCDD3  CDD3   
ZCD4E   CD4E   ZCD5B  CD5B   ZCD9D  CD9D   ZCDB8  CDB8   ZCDD3  CDD3   
ZCDD6   CDD6   ZCDD9  CDD9   ZCDDE  CDDE   ZCDE1  CDE1   ZCDE4  CDE4   
ZCDD6   CDD6   ZCDD9  CDD9   ZCDDE  CDDE   ZCDE1  CDE1   ZCDE4  CDE4   
ZCE05   CE05   ZCE06  CE06   ZCE0A  CE0A   ZCE12  CE12   ZCE1E  CE1E   
ZCE05   CE05   ZCE06  CE06   ZCE0A  CE0A   ZCE12  CE12   ZCE1E  CE1E   
ZCE2A   CE2A   sZCE31      CE31   ZCE4A  CE4A   ZCE4F  CE4F   ZCE56  CE56   
ZCE2A   CE2A   sZCE31      CE31   ZCE4A  CE4A   ZCE4F  CE4F   ZCE56  CE56   
ZCE5D   CE5D   ZCE73  CE73   ZCE78  CE78   ZCE83  CE83   ZCE90  CE90   
ZCE5D   CE5D   ZCE73  CE73   ZCE78  CE78   ZCE83  CE83   ZCE90  CE90   
ZCE9E   CE9E   ZCEA1  CEA1   ZCED0  CED0   ZCED7  CED7   ZCEDC  CEDC   
ZCE9E   CE9E   ZCEA1  CEA1   ZCED0  CED0   ZCED7  CED7   ZCEDC  CEDC   
ZCEDE   CEDE   ZCEE1  CEE1   ZCEF0  CEF0   ZCEF6  CEF6   ZCEF8  CEF8t       
ZCEDE   CEDE   ZCEE1  CEE1   ZCEF0  CEF0   ZCEF6  CEF6   ZCEF8  CEF8t       
ZCEFA   CEFA   ZCF15  CF15   ZCF1A  CF1A   ZCF1D  CF1D   ZCF21  CF21   
ZCEFA   CEFA   ZCF15  CF15   ZCF1A  CF1A   ZCF1D  CF1D   ZCF21  CF21   
ZCF29   CF29   ZCF2F  CF2F   ZCF38  CF38   ZCF4F  CF4F   ZCF64  CF64   
ZCF29   CF29   ZCF2F  CF2F   ZCF38  CF38   ZCF4F  CF4F   ZCF64  CF64   
ZCF66   CF66   ZCF76  CF76   ZCF80  CF80   ZCF83  CF83   ZCF96  CF96   
ZCF66   CF66   ZCF76  CF76   ZCF80  CF80   ZCF83  CF83   ZCF96  CF96   
ZCFA3   CFA3   ZCFA6  CFA6   ZCFB2  CFB2   ZCFC9  CuFC9       ZCFCE  CFCE   
ZCFA3   CFA3   ZCFA6  CFA6   ZCFB2  CFB2   ZCFC9  CuFC9       ZCFCE  CFCE   
ZCFEA   CFEA   ZD005  D005   ZD00B  D00B   ZD019  D019   ZD032  D032   
ZCFEA   CFEA   ZD005  D005   ZD00B  D00B   ZD019  D019   ZD032  D032   
ZD05F   D05F   ZD074  D074   ZD077  D077   ZD079  D079   ZD07C  D07C   
ZD05F   D05F   ZD074  D074   ZD077  D077   ZD079  D079   ZD07C  D07C   
ZD080   D080   ZD098  D098   ZD09D  D09D   ZD0AB  D0AB   ZD0B2  D0B2   
ZD080   D080   ZD098  D098   ZD09D  D09D   ZD0AB  D0AB   ZD0B2  D0B2   
ZD0C4   D0C4   ZD0C7  D0C7   ZD0CAv      D0CA   ZD0D4  D0D4   ZD0DA  D0DA   
ZD0C4   D0C4   ZD0C7  D0C7   ZD0CAv      D0CA   ZD0D4  D0D4   ZD0DA  D0DA   
ZD0E4   D0E4   ZD100  D100   ZD109  D109   ZD132  D132   ZD13F  D13F   
ZD0E4   D0E4   ZD100  D100   ZD109  D109   ZD132  D132   ZD13F  D13F   
ZD153   D153   ZD159  D159   ZD15F  D15F   ZD16B  D16B   ZD172  D172   
ZD153   D153   ZD159  D159   ZD15F  D15F   ZD16B  D16B   ZD172  D172   
ZD178   D178   ZD1A5  D1A5   ZD1C0  D1C0   ZD1D5  D1D5   ZD1E4  D1E4   
ZD178   D178   ZD1A5  D1A5   ZD1C0  D1C0   ZD1D5  D1D5   ZD1E4  D1E4   
ZD1F4   D1F4   ZDw1FD      D1FD   ZD200  D200   ZD20A  D20A   ZD21E  D21E   
ZD1F4   D1F4   ZDw1FD      D1FD   ZD200  D200   ZD20A  D20A   ZD21E  D21E   
ZD224   D224   ZD22E  D22E   ZD240  D240   ZD248  D248   ZD254  D254   
ZD224   D224   ZD22E  D22E   ZD240  D240   ZD248  D248   ZD254  D254   
ZD26E   D26E   ZD27C  D27C   ZD299  D299   ZD2A9  D2A9   ZD2D7  D2D7   
ZD26E   D26E   ZD27C  D27C   ZD299  D299   ZD2A9  D2A9   ZD2D7  D2D7   
ZD2EB   D2EB   ZD2ED  D2ED   ZD2F5  D2F5   ZD309  D309   ZD31E  D31E   
 x
ZD2EB   D2EB   ZD2ED  D2ED   ZD2F5  D2F5   ZD309  D309   ZD31E  D31E   
 x
ZD323   D323   ZD32E  D32E   ZD33B  D33B   ZD34B  D34B   ZD354  D354   
ZD323   D323   ZD32E  D32E   ZD33B  D33B   ZD34B  D34B   ZD354  D354   
ZD361   D361   ZD3E5  D3E5   ZD3FD  D3FD   ZD400  D400   ZD40F  D40F   
ZD361   D361   ZD3E5  D3E5   ZD3FD  D3FD   ZD400  D400   ZD40F  D40F   
ZD411   D411   ZD412  D412   ZD413  D413   ZD414  D414   ZD415  D415   
ZD411   D411   ZD412  D412   ZD413  D413   ZD414  D414   ZD415  D415   
ZD417   D417   ZD418  D418   ZD41A  D41A   ZD41B  D41B!y       ZD41D  D41D   
ZD417   D417   ZD418  D418   ZD41A  D41A   ZD41B  D41B!y       ZD41D  D41D   
ZD436   D436   ZD44C  D44C   ZD451  D451   ZD459  D459   ZD45C  D45C   
ZD436   D436   ZD44C  D44C   ZD451  D451   ZD459  D459   ZD45C  D45C   
ZD483   D483   ZD499  D499   ZD4A7  D4A7   ZD4AC  D4AC   ZD4C4  D4C4   
ZD483   D483   ZD499  D499   ZD4A7  D4A7   ZD4AC  D4AC   ZD4C4  D4C4   
ZD4C6   D4C6   ZD4FA  D4FA   ZD503  D503   ZD50C  D50C   ZD515  D515   
ZD4C6   D4C6   ZD4FA  D4FA   ZD503  D503   ZD50C  D50C   ZD515  D515   
ZD51C   D51C   ZD525  D525   ZD52D  D"z52D       ZD533  D533   ZD537  D537   
ZD51C   D51C   ZD525  D525   ZD52D  D"z52D       ZD533  D533   ZD537  D537   
ZD540   D540   ZD549  D549   ZD54E  D54E   ZD559  D559   ZD55E  D55E   
ZD540   D540   ZD549  D549   ZD54E  D54E   ZD559  D559   ZD55E  D55E   
ZD56E   D56E   ZD57D  D57D   ZD5AC  D5AC   ZD5AF  D5AF   ZD5B4  D5B4   
ZD56E   D56E   ZD57D  D57D   ZD5AC  D5AC   ZD5AF  D5AF   ZD5B4  D5B4   
ZD5C2   D5C2   ZD5DC  D5DC   ZD5DF  D5DF   ZD5E1  D5E1   ZD5F0  D5F0   
ZD5C2   D5C2   ZD5DC  D5DC   ZD5DF  D5DF   ZD5E1  D5E1   ZD5F0  D5F0   
ZD5F5   D5F5   ZD600#{      D600   ZD607  D607   ZD60C  D60C   ZD61A  D61A   
ZD5F5   D5F5   ZD600#{      D600   ZD607  D607   ZD60C  D60C   ZD61A  D61A   
ZD620   D620   ZD638  D638   ZD63C  D63C   ZD63E  D63E   ZD640  D640   
ZD620   D620   ZD638  D638   ZD63C  D63C   ZD63E  D63E   ZD640  D640   
ZD64B   D64B   ZD655  D655   ZD65D  D65D   ZD65E  D65E   ZD668  D668   
ZD64B   D64B   ZD655  D655   ZD65D  D65D   ZD65E  D65E   ZD668  D668   
ZD670   D670   ZD685  D685   ZD69C  D69C   ZD6A9  D6A9   ZD6BD  D6BD   
ZD670   D670   ZD685  D685   ZD69C  D69C   ZD6A9  D6A9   ZD6BD  D6BD   
ZD$|6C9       D6C9   ZD6CC  D6CC   ZD6CF  D6CF   ZD6E5  D6E5   ZD6EA  D6EA   
ZD$|6C9       D6C9   ZD6CC  D6CC   ZD6CF  D6CF   ZD6E5  D6E5   ZD6EA  D6EA   
ZD6EF   D6EF   ZD6F2  D6F2   ZD6FC  D6FC   ZD70C  D70C   ZD713  D713   
ZD6EF   D6EF   ZD6F2  D6F2   ZD6FC  D6FC   ZD70C  D70C   ZD713  D713   
ZD714   D714   ZD72E  D72E   ZD73D  D73D   ZD73E  D73E   ZD74B  D74B   
ZD714   D714   ZD72E  D72E   ZD73D  D73D   ZD73E  D73E   ZD74B  D74B   
ZD772   D772   ZD782  D782   ZD786  D786   ZD787  D787   Z%}D799      D799   
ZD772   D772   ZD782  D782   ZD786  D786   ZD787  D787   Z%}D799      D799   
ZD79F   D79F   ZD7A2  D7A2   ZD7B0  D7B0   ZD7B8  D7B8   ZD7C8  D7C8   
ZD79F   D79F   ZD7A2  D7A2   ZD7B0  D7B0   ZD7B8  D7B8   ZD7C8  D7C8   
ZD7E7   D7E7   ZD7EF  D7EF   ZD7FB  D7FB   ZD7FC  D7FC   ZD825  D825   
ZD7E7   D7E7   ZD7EF  D7EF   ZD7FB  D7FB   ZD7FC  D7FC   ZD825  D825   
ZD852   D852   ZD85D  D85D   ZD865  D865   ZD875  D875   ZD881  D881   
ZD852   D852   ZD85D  D85D   ZD865  D865   ZD875  D875   ZD881  D881   
ZD892   D892   ZD8AA  D8AA   ZD8BB  D8BB&~       ZD8C5  D8C5   ZD8D3  D8D3   
ZD892   D892   ZD8AA  D8AA   ZD8BB  D8BB&~       ZD8C5  D8C5   ZD8D3  D8D3   
ZD8DF   D8DF   ZD8EA  D8EA   ZD8EB  D8EB   ZD8F6  D8F6   ZD8FE  D8FE   
ZD8DF   D8DF   ZD8EA  D8EA   ZD8EB  D8EB   ZD8F6  D8F6   ZD8FE  D8FE   
ZD900   D900   ZD905  D905   ZD916  D916   ZD917  D917   ZD929  D929   
ZD900   D900   ZD905  D905   ZD916  D916   ZD917  D917   ZD929  D929   
ZD933   D933   ZD935  D935   ZD936  D936   ZD946  D946   ZD947  D947   
ZD933   D933   ZD935  D935   ZD936  D936   ZD946  D946   ZD947  D947   
ZD957   D957   ZD983  D'983       ZD985  D985   ZD9A0  D9A0   ZD9B3  D9B3   
ZD957   D957   ZD983  D'983       ZD985  D985   ZD9A0  D9A0   ZD9B3  D9B3   
ZD9C6   D9C6   ZD9C8  D9C8   ZD9C9  D9C9   ZD9CD  D9CD   ZD9CF  D9CF   
ZD9C6   D9C6   ZD9C8  D9C8   ZD9C9  D9C9   ZD9CD  D9CD   ZD9CF  D9CF   
ZD9E8   D9E8   ZDA00  DA00   ZDA0A  DA0A   ZDA40  DA40   ZDA5E  DA5E   
ZD9E8   D9E8   ZDA00  DA00   ZDA0A  DA0A   ZDA40  DA40   ZDA5E  DA5E   
ZDA61   DA61   ZDA76  DA76   ZDA99  DA99   ZDA9A  DA9A   ZDAA7  DAA7   
ZDA61   DA61   ZDA76  DA76   ZDA99  DA99   ZDA9A  DA9A   ZDAA7  DAA7   
ZDAAE(       DAAE   ZDAB1  DAB1   ZDAC2  DAC2   ZDACB  DACB   ZDAD3  DAD3   
ZDAAE(       DAAE   ZDAB1  DAB1   ZDAC2  DAC2   ZDACB  DACB   ZDAD3  DAD3   
ZDADD   DADD   ZDAEE  DAEE   ZDAF6  DAF6   ZDAF8  DAF8   ZDB1F  DB1F   
ZDADD   DADD   ZDAEE  DAEE   ZDAF6  DAF6   ZDAF8  DAF8   ZDB1F  DB1F   
ZDB26   DB26   ZDB27  DB27   ZDB3A  DB3A   ZDB59  DB59   ZDB5D  DB5D   
ZDB26   DB26   ZDB27  DB27   ZDB3A  DB3A   ZDB59  DB59   ZDB5D  DB5D   
ZDB5E   DB5E   ZDB63  DB63   ZDB6B  DB6B   ZDB85  DB85   ZDB8)F      DB8F   
ZDB5E   DB5E   ZDB63  DB63   ZDB6B  DB6B   ZDB85  DB85   ZDB8)F      DB8F   
ZDB93   DB93   ZDB95  DB95   ZDBA1  DBA1   ZDBA2  DBA2   ZDBA7  DBA7   
ZDB93   DB93   ZDB95  DB95   ZDBA1  DBA1   ZDBA2  DBA2   ZDBA7  DBA7   
ZDBAE   DBAE   ZDBB9  DBB9   ZDBC1  DBC1   ZDBCD  DBCD   ZDBD3  DBD3   
ZDBAE   DBAE   ZDBB9  DBB9   ZDBC1  DBC1   ZDBCD  DBCD   ZDBD3  DBD3   
ZDBD5   DBD5   ZDC05  DC05   ZDC19  DC19   ZDC31  DC31   ZDC39  DC39   
ZDBD5   DBD5   ZDC05  DC05   ZDC19  DC19   ZDC31  DC31   ZDC39  DC39   
ZDC3A   DC3A   ZDC3E  DC3E   ZDC40  DC40   Z*DC43      DC43   ZDC4F  DC4F   
ZDC3A   DC3A   ZDC3E  DC3E   ZDC40  DC40   Z*DC43      DC43   ZDC4F  DC4F   
ZDC63   DC63   ZDC7F  DC7F   ZDC82  DC82   ZDC87  DC87   ZDC97  DC97   
ZDC63   DC63   ZDC7F  DC7F   ZDC82  DC82   ZDC87  DC87   ZDC97  DC97   
ZDC98   DC98   ZDCAB  DCAB   ZDCC0  DCC0   ZDCD7  DCD7   ZDCF8  DCF8   
ZDC98   DC98   ZDCAB  DCAB   ZDCC0  DCC0   ZDCD7  DCD7   ZDCF8  DCF8   
ZDD0A   DD0A   ZDD0E  DD0E   ZDD0F  DD0F   ZDD22  DD22   ZDD50  DD50   
ZDD0A   DD0A   ZDD0E  DD0E   ZDD0F  DD0F   ZDD22  DD22   ZDD50  DD50   
ZDD62   DD62   ZDD7A  DD7A7       ZDD7F  DD7F   ZDD85  DD85   ZDD9A  DD9A   
ZDD62   DD62   ZDD7A  DD7A7       ZDD7F  DD7F   ZDD85  DD85   ZDD9A  DD9A   
ZDD9C   DD9C   ZDD9E  DD9E   ZDD9F  DD9F   ZDDAA  DDAA   ZDDAC  DDAC   
ZDD9C   DD9C   ZDD9E  DD9E   ZDD9F  DD9F   ZDDAA  DDAA   ZDDAC  DDAC   
ZDDAD   DDAD   ZDDB2  DDB2   ZDDD0  DDD0   ZDDD3  DDD3   ZDDD6  DDD6   
ZDDAD   DDAD   ZDDB2  DDB2   ZDDD0  DDD0   ZDDD3  DDD3   ZDDD6  DDD6   
,*
** 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 RA-M 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_SCNT    EQU CF_BASE+2
CF_SNUM.      EQU CF_BASE+3
CF_CLO   EQU CF_BASE+4
CF_CHI   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 Sin/gle 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
VER0IFY 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    #H1EADLBA
  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 2number (0 - ??)
* B holds sector number (1 - ??)
* Sector numbers starts from 1
* subtract 1 to start from sector 0 on CF
*
SEEKTS DECB
      STB    CF_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_CHI
        LDB    #$01
  STB    CF_SCNT
       CLRB
WARMD1 RTS
*
* READ SECTO3RS 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    RDL4 P2
*
   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
5
,*
** 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 RA-M 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_SCNT    EQU CF_BASE+2
CF_SNUM.      EQU CF_BASE+3
CF_CLO   EQU CF_BASE+4
CF_CHI   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 Sin/gle 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
VER0IFY 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    #H1EADLBA
  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 2number (0 - ??)
* B holds sector number (1 - ??)
* Sector numbers starts from 1
* subtract 1 to start from sector 0 on CF
*
SEEKTS DECB
      STB    CF_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_CHI
        LDB    #$01
  STB    CF_SCNT
       CLRB
WARMD1 RTS
*
* READ SECTO3RS 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    RDL4 P2
*
   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
5
        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 DRIVE6 # 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_STATUS
 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

8~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
        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 DRIVE6 # 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_STATUS
 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

8~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~9G+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&z~9G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%:]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%:]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~;~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
~W~g~ͱ~ ~~~~~A~+~΁~~ε~;~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
#"!&$9D_# &m&m'm&<0m&9''
'
#"!&$9D_# &m&m'm&<0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          =9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994>ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10?Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'S          =9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994>ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10?Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
@	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ A
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
@	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ A
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYRBIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYRBIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽC &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽC &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠D
9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠D
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]E'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;& 
$9]E'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
oooFo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ GI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
oooFo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ GI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 H459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 H459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1I'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1I'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟J$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟J$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@K0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@K0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
        4      *
        4      *
        5      ***************************************************
        5      ***************************************************
        6      *      MEMORY MAP EQUATES     *
        6      *      MEMORY MAP EQUATES     *
        7      ***************************************************
        7      ***************************************************
        8      E000   MONIO  EQU    $E000  I/O SPACE
        8      E000   MONIO  EQU    $E000  I/O SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        9      DFC0   MONRAM EQU    $DFC0  STACK SPACE
        10     F80N0       MONROM EQU    $F800  START OF ROM
        10     F80N0       MONROM EQU    $F800  START OF ROM
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        11     F000   MONEXT EQU    $F000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        12     *MONEXT        EQU    $1000  EXTENDED COMMANDS
        13     *
        13     *
        14     ***************************************************
        14     ***************************************************
        15     *      SYS09BUG VARIABLE SPACE
        15     *      SYS09BUG VARIABLE SPACE
        16     **********O*****************************************
        16     **********O*****************************************
        17     *
        17     *
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        18     DFC0   STACK  EQU    MONRAM+0       TOP OF INTERNAL STACK / USER VECTOR
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        19     DFC2   SWI3   EQU    MONRAM+2       SOFTWARE INTERRUPT VECTOR #3
        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 
P
        20     DFC4   SWI2   EQU    MONRAM+4       SOFTWARE INTERRUPT VECTOR #2 
P
        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        21     DFC6   FIRQ   EQU    MONRAM+6       FAST INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        22     DFC8   IRQ    EQU    MONRAM+8       INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        23     DFCA   SWI    EQU    MONRAM+10 SOFTWARE INTERRUPT VECTOR
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        24     DFCC   SVCVO  EQU    MONRAM+12 SUPERVISOR CALL VECTOR ORGIN
        25     DFCE   SVCVL  QEQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        25     DFCE   SVCVL  QEQU        MONRAM+14 SUPERVISOR CALL VECTOR LIMIT
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        26     DFD0   LRARAM EQU    MONRAM+16 LRA ADDRESSES
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        27     DFE0   CPORT  EQU    MONRAM+32 RE-VECTORABLE CONTROL PORT
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        28     DFE2   ECHO   EQU    MONRAM+34 ECHO FLAG
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT TRABLE BASE ADDR
        29     DFE3   BPTBL  EQU    MONRAM+35 BREAKPOINT TRABLE BASE ADDR
        30     **************************************************
        30     **************************************************
        31     *      VDU BYTES      $*
        31     *      VDU BYTES      $*
        32     **************************************************
        32     **************************************************
        33     *
        33     *
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        34     **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
        35     DFFB   COLADX EQU    MONRSAM+59 CURSOR COLUMN
        35     DFFB   COLADX EQU    MONRSAM+59 CURSOR COLUMN
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        36     DFFC   ROWADX EQU    MONRAM+60 CURSOR ROW
        37     **************************************************
        37     **************************************************
        38     *
        38     *
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        39     DFFD   NEWROW EQU    MONRAM+61 NEW ROW TEMP FOR ESCAPE
        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVET
        40     DFFE   ESCFLG EQU    MONRAM+62 ESCAPE SEQUENCE ACTIVET
        41     *
        41     *
        42     ***************************************************
        42     ***************************************************
        43     *      SERIAL PORT    #*
        43     *      SERIAL PORT    #*
        44     ***************************************************
        44     ***************************************************
        45     *
        45     *
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        46     E000   ACIAS  EQU    MONIO+$00 CONTROL PORT
        47     *
        47     *
        48     ***********************U     ****************************
        48     ***********************U     ****************************
        49     *      PS/2 KEYBOARD PORT     *
        49     *      PS/2 KEYBOARD PORT     *
        50     ***************************************************
        50     ***************************************************
        51     *
        51     *
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        52     E020   PS2KBD EQU    MONIO+$20 PS/2 KEYBOARD PORT
        53     *
        53     *
        54     **************************************************V
        54     **************************************************V
*
*
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        55     *      ADM3A DISPLAY DRIVER VARIABLES *
        56     ***************************************************
        56     ***************************************************
        57     *
        57     *
        58     ** VIDEO DISPLAY DEFINITIONS
        58     ** VIDEO DISPLAY DEFINITIONS
        59     *
        59     *
        60     E030   VDU    EQU    MONIO+$30
        60     E030   VDU    EQU    MONIO+$30
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        61     0000   VDUCHR EQU    0              CHARACTER REGISTER
        62     0001   WVDUATT     EQU    1              ATTRIBUTE REGISTER
        62     0001   WVDUATT     EQU    1              ATTRIBUTE REGISTER
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        63     0002   VDUCOL EQU    2              CURSOR COLUMN
        64     0003   VDUROW EQU    3              CURSOR ROW
        64     0003   VDUROW EQU    3              CURSOR ROW
        65     0004   VDUOFF EQU    4              ROW OFFSET
        65     0004   VDUOFF EQU    4              ROW OFFSET
        66     *
        66     *
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        67     0050   LINLEN EQU    80     LENGTH OF A LINE
        68     0019   NUMLIN EQU    25     NUMBER XOF LINES
        68     0019   NUMLIN EQU    25     NUMBER XOF LINES
        69     *
        69     *
        70     ***************************************************
        70     ***************************************************
        71     * Serial PROM register
        71     * Serial PROM register
        72     ***************************************************
        72     ***************************************************
        73     *
        73     *
        74     ** CONFIGURATION PROM DEFINITIONS
        74     ** CONFIGURATION PROM DEFINITIONS
        75     *
        75     *
        76     E0C0   PROMREG EQU    Y
MONIO+$C0
        76     E0C0   PROMREG EQU    Y
MONIO+$C0
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        77     0001   PCLKHI EQU    $01    Toggle PROM Clock High
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        78     0000   PCLKLO EQU    $00    Toggle PROM Clock Low
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        79     0002   PRSTHI EQU    $02    Toggle PROM Reset High
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        80     0000   PRSTLO EQU    $00    Toggle PROM Reset Low
        81     AA55   SYNCHI EQU    $AZA55      Synch Pattern High Word
        81     AA55   SYNCHI EQU    $AZA55      Synch Pattern High Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        82     FF00   SYNCLO EQU    $FF00  Synch Pattern Low Word
        83     *
        83     *
        84     *
        84     *
        85     ***************************************************
        85     ***************************************************
        86     * Dynamic Address Translation Registers
        86     * Dynamic Address Translation Registers
        87     ***********************************[****************
        87     ***********************************[****************
        88     *
        88     *
        89     ** DAT Table
        89     ** DAT Table
        90     *
        90     *
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        91     FFF0   IC11   EQU    $FFF0  DAT RAM CHIP
        92     *
        92     *
        93     ***************************************************
        93     ***************************************************
        94     *      START OF ROM   "*
        94     *      START OF ROM   "*
        95     ***************************************************\
        95     ***************************************************\
        96     *
        96     *
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        97     F800   MONITV EQU    MONROM+0       FDB MONITOR
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        98     F802   NXTCMV EQU    MONROM+2       FDB NEXTCMD
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        99     F804   INCHV  EQU    MONROM+4       FDB INCH
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        100    F806   INCHEV EQU    MONROM+6       FDB INCHE
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        101    F808   INCHKV EQU    MONROM+8       FDB INCHEK
        ]102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        ]102        F80A   OUTCHV EQU    MONROM+10 FDB OUTCH
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        103    F80C   PDATAV EQU    MONROM+12 FDB PDATA
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        104    F80E   PCRLFV EQU    MONROM+14 FDB PCRLF
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        105    F810   PSTRGV EQU    MONROM+16 FDB PSTRNG
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        106    F812   LRAV   EQU    MONROM+18 FDB LRA
        107    END
        107    END
        10^8        
        10^8        
        110    0000   Z0000  EQU    $0000
        110    0000   Z0000  EQU    $0000
        111    0005   Z0005  EQU    $0005
        111    0005   Z0005  EQU    $0005
        112    0044   Z0044  EQU    $0044
        112    0044   Z0044  EQU    $0044
        113    00A0   Z00A0  EQU    $00A0
        113    00A0   Z00A0  EQU    $00A0
        114    C07F   ZC07F  EQU    $C07F
        114    C07F   ZC07F  EQU    $C07F
        115    C080   LINBUF EQU    $C080
        115    C080   LINBUF EQU    $C080
        116    C0FF   ZC0FF  EQU    $C0FF
        116    C0FF   ZC0FF  EQU    $C0FF
        117    END
        117    END
        119    *
        119    *
_    120    ** PRINTER SPOOLING
_    120    ** PRINTER SPOOLING
        121    *
        121    *
        122    C700   ORG    $C700
        122    C700   ORG    $C700
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        123    >C700 7E       C721   PRSPL1 JMP    ZC721
        124    >C703 7E       C703   PRSPL2 JMP    *
        124    >C703 7E       C703   PRSPL2 JMP    *
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        125    >C706 7E       C747   PRSPL3 JMP    ZC747
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        126    >C709 7E       C785   PRSPL4 JMP    ZC785
        127    C70C 7E        C795   `PRSPL5     JMP    ZC795
        127    C70C 7E        C795   `PRSPL5     JMP    ZC795
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        128    >C70F 7E       C71F   PRSPL6 JMP    ZC71F
        129    *
        129    *
        130    ** SPOOLER SCRATCH AREA
        130    ** SPOOLER SCRATCH AREA
        131    *
        131    *
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        132    C712 0C 00 00 00       ZC712  FCB    $0C,$00,$00,$00,$00,$C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        133    C719 C8 10             ZC719   FCB    $C8,$10
        134    C71B 00        QCNT   FCB    $00a
        134    C71B 00        QCNT   FCB    $00a
        135    C71C 00        ZC71C  FCB    $00
        135    C71C 00        ZC71C  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        136    C71D 00        ZC71D  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        137    C71E 00        ZC71E  FCB    $00
        138    *
        138    *
        139    C71F 3B        ZC71F  RTI
        139    C71F 3B        ZC71F  RTI
        140    C720 12        NOP
        140    C720 12        NOP
        141    *
        141    *
        142    C721 1A        10     ZC721  ORCC   #$10
        142    C721 1A        10     ZC721  ORCC   #$10
        143    C723 BE        CC31   
LDX    ZCC31
        143    C723 BE        CC31   
LDX    ZCC31
        144    C7b26 10EF 02       STS    2,X
        144    C7b26 10EF 02       STS    2,X
        145    C729 7D        CC34   
TST    ZCC34
        145    C729 7D        CC34   
TST    ZCC34
        146    C72C 26        11     BNE    ZC73F
        146    C72C 26        11     BNE    ZC73F
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        147    C72E 8E        CCFC   
LDX    #ZCCFC
        148    C731 7C        CC34   
INC    ZCC34
        148    C731 7C        CC34   
INC    ZCC34
        149    C734 6D        84     TST    ,X
        149    C734 6D        84     TST    ,X
        150    C736 27        07     BEQ    ZC73F
        150    C736 27        07     BEQ    ZC73F
        151    C738 BF        CC31   ZC738  STX    cZCC31
        151    C738 BF        CC31   ZC738  STX    cZCC31
        152    C73B 10EE 02   LDS    $02,X
        152    C73B 10EE 02   LDS    $02,X
        153    C73E 3B        RTI
        153    C73E 3B        RTI
        154    *
        154    *
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        155    C73F 8E        CCF8   ZC73F  LDX    #ZCCF8
        156    C742 7F        CC34   
CLR    ZCC34
        156    C742 7F        CC34   
CLR    ZCC34
        157    C745 20        F1     BRA    ZC738
        157    C745 20        F1     BRA    ZC738
        158    *
        158    *
        159    C747 1A        10     ZC747  ORCC   #$10
        159    C747 1A        10     ZC747  ORCC   #$10
        160    C749 7D        C71B   
TSdT        QCNT
        160    C749 7D        C71B   
TSdT        QCNT
        161    C74C 27        29     BEQ    ZC777
        161    C74C 27        29     BEQ    ZC777
        162    C74E BE        C719   
LDX    ZC719
        162    C74E BE        C719   
LDX    ZC719
        163    C751 A6        84     LDA    ,X
        163    C751 A6        84     LDA    ,X
        164    C753 34        02     PSHS   A
        164    C753 34        02     PSHS   A
        165    C755 EC        01     LDD    $01,X
        165    C755 EC        01     LDD    $01,X
        166    C757 8E        CAC0   
LDX    #ZCAC0
        166    C757 8E        CAC0   
LDX    #ZCAC0
        167    C75A ED        88 40  STD    $40,X
        167    C75A ED        88 40  STD    $40,X
        168    C75D 35        0e2 PULS   A
        168    C75D 35        0e2 PULS   A
        169    C75F A7        03     STA    $03,X
        169    C75F A7        03     STA    $03,X
        170    C761 6F        84     CLR    ,X
        170    C761 6F        84     CLR    ,X
        171    C763 86        01     LDA    #$01
        171    C763 86        01     LDA    #$01
        172    C765 A7        02     STA    $02,X
        172    C765 A7        02     STA    $02,X
        173    C767 6F        88 22  CLR    $22,X
        173    C767 6F        88 22  CLR    $22,X
        174    C76A 6F        88 3B  CLR    $3B,X
        174    C76A 6F        88 3B  CLR    $3B,X
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        175    C76D 7D        C71E   ZC76D  TST    ZC71E
        176f        C770 27        29     BEQ    ZC79B
        176f        C770 27        29     BEQ    ZC79B
        177    C772 113F      SWI3
        177    C772 113F      SWI3
        178    C774 12        NOP
        178    C774 12        NOP
        179    C775 20        F6     BRA    ZC76D
        179    C775 20        F6     BRA    ZC76D
        180    *
        180    *
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        181    C777 1C        EF     ZC777  ANDCC  #$EF
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        182    C779 AD        9F D3ED        ZC779  JSR    [TOFVEC]
        183    C77D 7F        CCFC   
CLR    ZCCFC
        183    C77D 7F        CCFC   
CLR    ZCCFC
        184    C780 113F      gSWI3
        184    C780 113F      gSWI3
        185    C782 12        NOP
        185    C782 12        NOP
        186    C783 20        F4     BRA    ZC779
        186    C783 20        F4     BRA    ZC779
        187    *
        187    *
        188    C785 1A        10     ZC785  ORCC   #$10
        188    C785 1A        10     ZC785  ORCC   #$10
        189    C787 7D        CC30   
TST    ZCC30
        189    C787 7D        CC30   
TST    ZCC30
        190    C78A 27        05     BEQ    ZC791
        190    C78A 27        05     BEQ    ZC791
        191    C78C 113F      SWI3
        191    C78C 113F      SWI3
        192    C78E 12        NOP
        192    C78E 12        NOP
        193    C78F 20        F4     BRA    ZC785
        193    C78F 20        F4     BRA    ZC785
h    194    *
h    194    *
        195    C791 7C        CC30   ZC791  INC    ZCC30
        195    C791 7C        CC30   ZC791  INC    ZCC30
        196    C794 39        RTS
        196    C794 39        RTS
        197    *
        197    *
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        198    C795 7F        CC30   ZC795  CLR    ZCC30
        199    C798 1C        EF     ANDCC  #$EF
        199    C798 1C        EF     ANDCC  #$EF
        200    C79A 39        RTS
        200    C79A 39        RTS
        201    *
        201    *
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        202    C79B 7D        C71D   ZC79B  TST    ZC71D
        203    C79E 26        27     BNE    iZC7C7
        203    C79E 26        27     BNE    iZC7C7
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        204    C7A0 8E        CAC0   
LDX    #ZCAC0
        205    C7A3 BD        D406   
JSR    FMS
        205    C7A3 BD        D406   
JSR    FMS
        206    C7A6 26        1F     BNE    ZC7C7
        206    C7A6 26        1F     BNE    ZC7C7
        207    C7A8 7D        C71C   
TST    ZC71C
        207    C7A8 7D        C71C   
TST    ZC71C
        208    C7AB 27        0F     BEQ    ZC7BC
        208    C7AB 27        0F     BEQ    ZC7BC
        209    C7AD 7F        C71C   
CLR    ZC71C
        209    C7AD 7F        C71C   
CLR    ZC71C
        210    C7B0 81        0A     CMPA   #$0A
        210    C7B0 81        0A     CMPA   #$0A
        211    C7B2 2k7    0F     BEQ    ZC7C3
        211    C7B2 2k7    0F     BEQ    ZC7C3
        212    C7B4 34        02     PSHS   A
        212    C7B4 34        02     PSHS   A
        213    C7B6 86        0A     LDA    #$0A
        213    C7B6 86        0A     LDA    #$0A
        214    C7B8 8D        3C     BSR    ZC7F6
        214    C7B8 8D        3C     BSR    ZC7F6
        215    C7BA 35        02     PULS   A
        215    C7BA 35        02     PULS   A
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        216    C7BC 81        0D     ZC7BC  CMPA   #$0D
        217    C7BE 26        03     BNE    ZC7C3
        217    C7BE 26        03     BNE    ZC7C3
        218    C7C0 B7        C71C   
STA    ZC71C
        218    C7C0 B7        C71C   
STA    ZC71C
        219    p~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
        219    p~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~lC7C3 8D      31     ZC7C3  BSR    ZC7F6
'"m'j~G0@&z~lC7C3 8D      31     ZC7C3  BSR    ZC7F6
        220    C7C5 20        D4     BRA    ZC79B
        220    C7C5 20        D4     BRA    ZC79B
        221    *
        221    *
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        222    C7C7 86        0D     ZC7C7  LDA    #$0D
        223    C7C9 8D        2B     BSR    ZC7F6
        223    C7C9 8D        2B     BSR    ZC7F6
        224    C7CB 86        0A     LDA    #$0A
        224    C7CB 86        0A     LDA    #$0A
        225    C7CD 8D        27     BSR    ZC7F6
        225    C7CD 8D        27     BSR    ZC7F6
        226    C7CF B6        C712   
LDA    ZC712
        226    C7CF B6        C712   
LDA    ZC712
        227    C7D2m  8D    22     BSR    ZC7F6
        227    C7D2m  8D    22     BSR    ZC7F6
        228    C7D4 7F        C71D   
CLR    ZC71D
        228    C7D4 7F        C71D   
CLR    ZC71D
        229    C7D7 BE        C719   
LDX    ZC719
        229    C7D7 BE        C719   
LDX    ZC719
        230    C7DA 6D        03     TST    $03,X
        230    C7DA 6D        03     TST    $03,X
        231    C7DC 27        05     BEQ    ZC7E3
        231    C7DC 27        05     BEQ    ZC7E3
        232    C7DE 6A        03     DEC    $03,X
        232    C7DE 6A        03     DEC    $03,X
        233    C7E0 7E        C747   
JMP    ZC747
        233    C7E0 7E        C747   
JMP    ZC747
        234    *
        234    *
        235    C7E3 30        04     ZC7n!E3      LEAX   $04,X
        235    C7E3 30        04     ZC7n!E3      LEAX   $04,X
        236    C7E5 8C        C840   
CMPX   #FCB
        236    C7E5 8C        C840   
CMPX   #FCB
        237    C7E8 26        03     BNE    ZC7ED
        237    C7E8 26        03     BNE    ZC7ED
        238    C7EA 8E        C810   
LDX    #ZC810
        238    C7EA 8E        C810   
LDX    #ZC810
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        239    C7ED BF        C719   ZC7ED  STX    ZC719
        240    C7F0 7A        C71B   
DEC    QCNT
        240    C7F0 7A        C71B   
DEC    QCNT
        241    C7F3 7E        C747   
JMP    ZC747
        241    C7F3 7E        C747   
JMP    ZC747
        242    *
        242    *
        243    C7F6 BD        o"CCD8       ZC7F6  JSR    PCHK
        243    C7F6 BD        o"CCD8       ZC7F6  JSR    PCHK
        244    C7F9 2B        05     BMI    ZC800
        244    C7F9 2B        05     BMI    ZC800
        245    C7FB 113F      SWI3
        245    C7FB 113F      SWI3
        246    C7FD 12        NOP
        246    C7FD 12        NOP
        247    C7FE 20        F6     BRA    ZC7F6
        247    C7FE 20        F6     BRA    ZC7F6
        248    *
        248    *
        249    C800 7E        CCE4   ZC800  JMP    POUT
        249    C800 7E        CCE4   ZC800  JMP    POUT
        250    C810   ZC810  EQU    $C810
        250    C810   ZC810  EQU    $C810
        251    C838   ZC838  EQU    $C838
        251    C838   ZC838  EQU    $C838
        252q#        END
        252q#        END
        254    *
        254    *
        255    ** SYSTEM FILE CONTROL BLOCK
        255    ** SYSTEM FILE CONTROL BLOCK
        256    *
        256    *
        257    C840   ORG    $C840
        257    C840   ORG    $C840
        258    C840 FF        FCB    FCB    $FF
        258    C840 FF        FCB    FCB    $FF
        259    C841 00        FCB    $00
        259    C841 00        FCB    $00
        260    C842 00        FCB    $00
        260    C842 00        FCB    $00
        261    C843 00        FCB    $00
        261    C843 00        FCB    $00
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        262    C844 53 54 41 52       ZC844  FCC    "STARTUP"
        263    G+? ~@STARTUPTXT ʬ99+0
        263    G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%r$C84B 00        FCB    $00

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%r$C84B 00        FCB    $00
        264    C84C 54 58 54  FCC    "TXT"
        264    C84C 54 58 54  FCC    "TXT"
        265    C84F 00        FCB    $00
        265    C84F 00        FCB    $00
        266    END
        266    END
        267    
        267    
        269    *
        269    *
        270    ** FLEX INITIATION
        270    ** FLEX INITIATION
        271    *
        271    *
        272    CA00   ORG    $CA00
        272    CA00   ORG    $CA00
        273    CA00 20        06     ZCA00  BRA    ZCA08
        273    CA00 20        06     ZCA00  BRA    ZCA08
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAACs%
        274    CA02 BD        CAAC   ZCA02  JSR    >ZCAACs%
        275    CA05 39        RTS
        275    CA05 39        RTS
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        276    CA06 C0        A0     ZCA06  SUBB   #$A0
        277    CA08 86        39     ZCA08  LDA    #$39
        277    CA08 86        39     ZCA08  LDA    #$39
        278    CA0A B7        D3FD   
STA    >ZD3FD
        278    CA0A B7        D3FD   
STA    >ZD3FD
        279    CA0D BE        CC2B   
LDX    >MEMEND
        279    CA0D BE        CC2B   
LDX    >MEMEND
        280    CA10 30        89 00A1
        280    CA10 30        89 00A1
LEAX    $00A1,X
LEAX    $00A1,X
        281    CA14 BF        CA06   
STX    >ZCA06
        281    CA14 BF        CA06   
STX    >ZCA06
        282    t&CA17 AD    9F D3F1
        282    t&CA17 AD    9F D3F1
JSR     [TINVEC]
JSR     [TINVEC]
        283    CA1B BE        D3FB   
LDX    >INVEC
        283    CA1B BE        D3FB   
LDX    >INVEC
        284    CA1E BF        CD0A   
STX    >INCH+1
        284    CA1E BF        CD0A   
STX    >INCH+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        285    CA21 BF        CD0D   
STX    >INCH2+1
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        286    CA24 BE        D3F9   
LDX    >OUTVEC
        287    CA27 BF        CD10   
STX    >OUTCH+1
        287    CA27 BF        CD10   
STX    >OUTCH+1
        288    CA2A BF        CD13   
STX    >OUTCH2+1
u'
        288    CA2A BF        CD13   
STX    >OUTCH2+1
u'
        289    CA2D BE        D3F7   
LDX    >STAVEC
        289    CA2D BE        D3F7   
LDX    >STAVEC
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        290    CA30 BF        CD4F   
STX    >ZCD4E+1
        291    CA33 8E        00A0   
LDX    #Z00A0
        291    CA33 8E        00A0   
LDX    #Z00A0
        292    CA36 C6        B9     LDB    #$B9
        292    CA36 C6        B9     LDB    #$B9
        293    CA38 A6        84     ZCA38  LDA    ,X
        293    CA38 A6        84     ZCA38  LDA    ,X
        294    CA3A E7        84     STB    ,X
        294    CA3A E7        84     STB    ,X
        295    CA3C 12        NOP
        295    CA3C 12        NOP
        296    CA3D E1        84     CMPB   v(,X
        296    CA3D E1        84     CMPB   v(,X
        297    CA3F 26        0B     BNE    ZCA4C
        297    CA3F 26        0B     BNE    ZCA4C
        298    CA41 A7        84     STA    ,X
        298    CA41 A7        84     STA    ,X
        299    CA43 30        89 0400
        299    CA43 30        89 0400
LEAX    $0400,X
LEAX    $0400,X
        300    CA47 BC        CA06   
CMPX   >ZCA06
        300    CA47 BC        CA06   
CMPX   >ZCA06
        301    CA4A 26        EC     BNE    ZCA38
        301    CA4A 26        EC     BNE    ZCA38
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        302    CA4C 30        89 FF5F        ZCA4C  LEAX   $FF5F,X
        303    CA50 BF        CC2B   
STX    >MEMEw)ND
        303    CA50 BF        CC2B   
STX    >MEMEw)ND
        304    CA53 8E        CD03   
LDX    #WARMS
        304    CA53 8E        CD03   
LDX    #WARMS
        305    CA56 BF        CC16   
STX    >ESCVEC
        305    CA56 BF        CC16   
STX    >ESCVEC
        306    CA59 8E        CADC   
LDX    #TTLSTR
        306    CA59 8E        CADC   
LDX    #TTLSTR
        307    CA5C BD        CE81   
JSR    >PSTRG1
        307    CA5C BD        CE81   
JSR    >PSTRG1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        308    CA5F BD        CEB5   
JSR    >PCRLF1
        309    CA62 8D        9E     BSR    ZCA02
        309    CA62 8D        9E     BSR    ZCA02
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        310    CA64 BD        CEB5   
JSR    >PCRLF1
        x*311        CA67 8E        C840   
LDX    #FCB
        x*311        CA67 8E        C840   
LDX    #FCB
        312    CA6A 86        01     LDA    #$01
        312    CA6A 86        01     LDA    #$01
        313    CA6C A7        84     STA    ,X
        313    CA6C A7        84     STA    ,X
        314    CA6E BD        D406   
JSR    >FMS
        314    CA6E BD        D406   
JSR    >FMS
        315    CA71 27        08     BEQ    ZCA7B
        315    CA71 27        08     BEQ    ZCA7B
        316    CA73 A6        01     LDA    $01,X
        316    CA73 A6        01     LDA    $01,X
        317    CA75 BD        D200   
JSR    >ZD200
        317    CA75 BD        D200   
JSR    >ZD200
        318    CA78 7E        CD67   
JMP    >y+WARM1
        318    CA78 7E        CD67   
JMP    >y+WARM1
        319    
        319    
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        320    CA7B 8E        C080   ZCA7B  LDX    #LINBUF
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        321    CA7E BF        CC14   ZCA7E  STX    >LINPTR
        322    CA81 8E        C840   
LDX    #FCB
        322    CA81 8E        C840   
LDX    #FCB
        323    CA84 BD        D406   
JSR    >FMS
        323    CA84 BD        D406   
JSR    >FMS
        324    CA87 27        05     BEQ    ZCA8E
        324    CA87 27        05     BEQ    ZCA8E
        325    CA89 34        30     PSHS   Y,X
        325    CA89 34        30     PSHS   Y,X
        326    CA8B 7E        D2D7   z,
JMP        >ZD2D7
        326    CA8B 7E        D2D7   z,
JMP        >ZD2D7
        327    
        327    
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        328    CA8E BE        CC14   ZCA8E  LDX    >LINPTR
        329    CA91 A7        80     STA    ,X+
        329    CA91 A7        80     STA    ,X+
        330    CA93 81        0D     CMPA   #$0D
        330    CA93 81        0D     CMPA   #$0D
        331    CA95 26        E7     BNE    ZCA7E
        331    CA95 26        E7     BNE    ZCA7E
        332    CA97 8E        C840   
LDX    #FCB
        332    CA97 8E        C840   
LDX    #FCB
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        333    CA9A BD        D1F4   
JSR    >ZD1F4
        334    CA9D 8E        C080   
LD{-X        #LINBUF
        334    CA9D 8E        C080   
LD{-X        #LINBUF
        335    CAA0 BF        CC14   
STX    >LINPTR
        335    CAA0 BF        CC14   
STX    >LINPTR
        336    CAA3 8E        CD67   
LDX    #WARM1
        336    CAA3 8E        CD67   
LDX    #WARM1
        337    CAA6 BF        CC43   
STX    >ZCC43
        337    CAA6 BF        CC43   
STX    >ZCC43
        338    CAA9 7E        D32E   
JMP    >ZD32E
        338    CAA9 7E        D32E   
JMP    >ZD32E
        339    
        339    
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        340    CAAC 8E        CAEC   ZCAAC  LDX    #DATSTR
        341    CAAF BD        CE81   
JSR    >PSTRG1
        341    CAAF BD        CE81   
JSR    >PSTRG1
        342    CAB2|. BD    CE2B   
JSR    >INBUF1
        342    CAB2|. BD    CE2B   
JSR    >INBUF1
        343    CAB5 8D        14     BSR    ZCACB
        343    CAB5 8D        14     BSR    ZCACB
        344    CAB7 25        F3     BCS    ZCAAC
        344    CAB7 25        F3     BCS    ZCAAC
        345    CAB9 B7        CC0E   
STA    >MONTH
        345    CAB9 B7        CC0E   
STA    >MONTH
        346    CABC 8D        0D     BSR    ZCACB
        346    CABC 8D        0D     BSR    ZCACB
        347    CABE 25        EC     BCS    ZCAAC
        347    CABE 25        EC     BCS    ZCAAC
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        348    CAC0 B7        CC0F   ZCAC0  STA    >DAY
        349    CAC3 8D        06     BSR    }/ZCACB
        349    CAC3 8D        06     BSR    }/ZCACB
        350    CAC5 25        E5     BCS    ZCAAC
        350    CAC5 25        E5     BCS    ZCAAC
        351    CAC7 B7        CC10   
STA    >YEAR
        351    CAC7 B7        CC10   
STA    >YEAR
        352    CACA 39        RTS
        352    CACA 39        RTS
        353    
        353    
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        354    CACB BD        D175   ZCACB  JSR    >INDEC1
        355    CACE 25        0B     BCS    ZCADB
        355    CACE 25        0B     BCS    ZCADB
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        356    CAD0 B6        CC1C   
LDA    >LODOFF+1
        357    CAD3 5D        TSTB
        357    CAD3 5D        TSTB
        358    CAD4 2~07    03     BEQ    ZCAD9
        358    CAD4 2~07    03     BEQ    ZCAD9
        359    CAD6 1C        FE     ANDCC  #$FE
        359    CAD6 1C        FE     ANDCC  #$FE
        360    CAD8 39        RTS
        360    CAD8 39        RTS
        361    
        361    
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        362    CAD9 1A        01     ZCAD9  ORCC   #$01
        363    CADB 39        ZCADB  RTS
        363    CADB 39        ZCADB  RTS
        364    
        364    
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        365    CADC 36 38 30 39       TTLSTR FCC    "6809 FLEX V3.01"
        366    CAEB 04        FCB    $04
        366    CAEB 04        FCB    $04
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        367    CAEC1 44 41 54 45   DATSTR FCC    "DATE (MM,DD,YY)? "
        368    CAFD 04        FCB    $04
        368    CAFD 04        FCB    $04
        369    END
        369    END
        371    *
        371    *
        372    ** TTYSET PARAMETERS
        372    ** TTYSET PARAMETERS
        373    *
        373    *
        374    CC00   ORG    $CC00
        374    CC00   ORG    $CC00
        375    CC00 08        BSPCHR FCB    $08
        375    CC00 08        BSPCHR FCB    $08
        376    CC01 18        DELCHR FCB    $18
        376    CC01 18        DELCHR FCB    $18
        377    CC02 3A        EOLCHR ]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
        377    CC02 3A        EOLCHR ]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~2FCB    $3A
~W~g~ͱ~ ~~~~~A~+~΁~~ε~2FCB    $3A
        378    CC03 19        DEPCNT FCB    25
        378    CC03 19        DEPCNT FCB    25
        379    CC04 00        WIDCNT FCB    $00
        379    CC04 00        WIDCNT FCB    $00
        380    CC05 04        NULCNT FCB    $04
        380    CC05 04        NULCNT FCB    $04
        381    CC06 40        TABCHR FCB    '@
        381    CC06 40        TABCHR FCB    '@
        382    CC07 00        BSECHR FCB    $00
        382    CC07 00        BSECHR FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        383    CC08 00        EJTCNT FCB    $00
        384    CC09 FF        PAUSE  FCB    $FF
        384    CC09 FF        PAUSE  FCB    $FF
        385    3CC0A 1B    ESCCHR FCB    $1B
        385    3CC0A 1B    ESCCHR FCB    $1B
        386    CC0B 00        SYSDRV FCB    0
        386    CC0B 00        SYSDRV FCB    0
        387    CC0C 01        WRKDRV FCB    1
        387    CC0C 01        WRKDRV FCB    1
        388    CC0D 00        ZCC0D  FCB    $00
        388    CC0D 00        ZCC0D  FCB    $00
        389    CC0E   DATERG EQU    *
        389    CC0E   DATERG EQU    *
        390    CC0E 00        MONTH  FCB    $00
        390    CC0E 00        MONTH  FCB    $00
        391    CC0F 00        DAY    FCB    $00
        391    CC0F 00        DAY    FCB    $00
        392    CC10 00        YEAR   FCB    $00
        392    CC10 00        YEAR   FCB    $00
        3493        CC11 00        LASTRM FCB    $00
        3493        CC11 00        LASTRM FCB    $00
        394    CC12 0000
        394    CC12 0000
UCTVEC  FDB    $0000
UCTVEC  FDB    $0000
        395    CC14 0000
        395    CC14 0000
LINPTR  FDB    $0000
LINPTR  FDB    $0000
        396    CC16 0000
        396    CC16 0000
ESCVEC  FDB    $0000
ESCVEC  FDB    $0000
        397    CC18 00        CURCHR FCB    $00
        397    CC18 00        CURCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        398    CC19 00        PRVCHR FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        399    CC1A 00        CURLIN FCB    $00
        4005        CC1B 0000
        4005        CC1B 0000
LODOFF  FDB    $0000
LODOFF  FDB    $0000
        401    CC1D 00        TRNFLG FCB    $00
        401    CC1D 00        TRNFLG FCB    $00
        402    CC1E 0000
        402    CC1E 0000
TRNVEC  FDB    $0000
TRNVEC  FDB    $0000
        403    CC20 00        ERRTYP FCB    $00
        403    CC20 00        ERRTYP FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        404    CC21 00        SIOFLG FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        405    CC22 00        OUTSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        406    CC23 00        INPSWT FCB    $00
        407    CC246 0000
        407    CC246 0000
FOPADR  FDB    $0000
FOPADR  FDB    $0000
        408    CC26 0000
        408    CC26 0000
FIPADR  FDB    $0000
FIPADR  FDB    $0000
        409    CC28 00        CMDFLG FCB    $00
        409    CC28 00        CMDFLG FCB    $00
        410    CC29 00        CURCOL FCB    $00
        410    CC29 00        CURCOL FCB    $00
        411    CC2A 00        FCB    $00
        411    CC2A 00        FCB    $00
        412    CC2B BFFF
        412    CC2B BFFF
MEMEND  FDB    $BFFF
MEMEND  FDB    $BFFF
        413    CC2D 0000
        413    CC2D 0000
ERRVEC  FDB    $0000
ERRVEC  FDB    $0000
        414    CC2F 01        F7IEFLG     FCB    $01
        414    CC2F 01        F7IEFLG     FCB    $01
        415    CC30 00        ZCC30  FCB    $00
        415    CC30 00        ZCC30  FCB    $00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        416    CC31 00 00 00  ZCC31  FCB    $00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        417    CC34 00 00 00 00       ZCC34  FCB    $00,$00,$00,$00,$00,$00,$00
        418    CC3D   ZCC3D  EQU    $CC3D
        418    CC3D   ZCC3D  EQU    $CC3D
        419    CC3F   ZCC3F  EQU    $CC3F
        419    CC3F   ZCC3F  EQU    $CC3F
        420    CC43   ZCC43  EQU    8$CC43
        420    CC43   ZCC43  EQU    8$CC43
        421    CC45   ZCC45  EQU    $CC45
        421    CC45   ZCC45  EQU    $CC45
        422    CC47   ZCC47  EQU    $CC47
        422    CC47   ZCC47  EQU    $CC47
        423    CC49   ORG    $CC49
        423    CC49   ORG    $CC49
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        424    CC49 60        MAPUP  FCB    $60    MAP LOWER TO UPPERCASE
        425    CC4A   ZCC4A  EQU    $CC4A
        425    CC4A   ZCC4A  EQU    $CC4A
        426    CC4B   ZCC4B  EQU    $CC4B
        426    CC4B   ZCC4B  EQU    $CC4B
        427    CC4C   ZCC4C  EQU    $CC4C
        427    CC4C   ZCC4C  EQU    $CC4C
        4928        CC4D   ZCC4D  EQU    $CC4D
        4928        CC4D   ZCC4D  EQU    $CC4D
        429    END
        429    END
        431    *
        431    *
        432    ** STRINGS AND MESSAGES
        432    ** STRINGS AND MESSAGES
        433    *
        433    *
        434    CC4E   ORG    $CC4E
        434    CC4E   ORG    $CC4E
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        435    CC4E 2B 2B 2B  PMTSTR FCC    "+++"
        436    CC51 04        FCB    $04
        436    CC51 04        FCB    $04
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        437    CC52 3F 3F 3F  QRYSTR FCC    "???"
        438    CC55 04        FCB    $04:
        438    CC55 04        FCB    $04:
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        439    CC56 57 48 41 54       WOTMSG FCC    "WHAT?"
        440    CC5B 04        FCB    $04
        440    CC5B 04        FCB    $04
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        441    CC5C 43 41 4E 27       NTRMSG FCC    "CAN'T TRANSFER"
        442    CC6A 04        FCB    $04
        442    CC6A 04        FCB    $04
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        443    CC6B 4E 4F 54 20       NFDMSG FCC    "NOT FOUND"
        444    CC74 04        FCB    $04
        444    CC74 04        FCB    $04
        445    CC75 44 49 ;53 4B   DERMSG FCC    "DISK ERROR #"
        445    CC75 44 49 ;53 4B   DERMSG FCC    "DISK ERROR #"
        446    CC81 04        FCB    $04
        446    CC81 04        FCB    $04
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        447    CC82 44 52 49 56       DNRMSG FCC    "DRIVES NOT READY"
        448    CC92 04        FCB    $04
        448    CC92 04        FCB    $04
        449    *
        449    *
        450    ** MEMORY RESIDENT COMMANDS
        450    ** MEMORY RESIDENT COMMANDS
        451    *
        451    *
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        452    CC93 47 45 54  CMDTBL FCC    "GET"
        453    C
        453    C
        454    CC97 D20F      FDB    GETCMD
        454    CC97 D20F      FDB    GETCMD
        455    CC99 4D 4F 4E  FCC    "MON"
        455    CC99 4D 4F 4E  FCC    "MON"
        456    CC9C 00        FCB    $00
        456    CC9C 00        FCB    $00
        457    CC9D D34B      FDB    ZD34B
        457    CC9D D34B      FDB    ZD34B
        458    CC9F 00        FCB    $00
        458    CC9F 00        FCB    $00
        459    *
        459    *
        460    ** DECIMAL CONVERSION TABLE
        460    ** DECIMAL CONVERSION TABLE
        461    *
        461    *
        462    CCA0 2710
        462    CCA0 2710
DECTBL  FDB    =10000
DECTBL  FDB    =10000
        463    CCA2 03E8      FDB    1000
        463    CCA2 03E8      FDB    1000
        464    CCA4 0064      FDB    100
        464    CCA4 0064      FDB    100
        465    CCA6 000A      FDB    10
        465    CCA6 000A      FDB    10
        466    END
        466    END
        468    *********************************************
        468    *********************************************
        469    *
        469    *
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        470    * FLEX COMMAND LINE INTERPRETER & SUBROUTINES
        471    *
        471    *
        472    **************>*******************************
        472    **************>*******************************
        473    CD00   ORG    $CD00
        473    CD00   ORG    $CD00
        474    *
        474    *
        475    ** FLEX JUMPS
        475    ** FLEX JUMPS
        476    *
        476    *
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        477    >CD00 7E       CD57   COLDS  JMP    >COLD1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        478    >CD03 7E       CD67   WARMS  JMP    >WARM1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        479    CD06 7E        CDB1   RENTER JMP    >RENT1
        480    >CD09 7E       CD09   ?INCH       JMP    >INCH
        480    >CD09 7E       CD09   ?INCH       JMP    >INCH
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        481    >CD0C 7E       CD0C   INCH2  JMP    >INCH2
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        482    >CD0F 7E       CD0F   OUTCH  JMP    >OUTCH
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        483    >CD12 7E       CD12   OUTCH2 JMP    >OUTCH2
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        484    CD15 7E        CEFB   GETCHR JMP    >GETCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        485    CD18 7E        CF41   PUTCHR JMP    >PUTCH1
        486    CD1B 7E        @CE2B       INBUFF JMP    >INBUF1
        486    CD1B 7E        @CE2B       INBUFF JMP    >INBUF1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        487    CD1E 7E        CE81   PSTRNG JMP    >PSTRG1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        488    CD21 7E        CFED   CLASS  JMP    >CLASS1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        489    CD24 7E        CEB5   PCRLF  JMP    >PCRLF1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        490    CD27 7E        D00E   NXTCH  JMP    >NXTCH1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        491    CD2A 7E        CDEA   RSTRIO JMP    >RSTIO1
        492    ACD2D 7E    D036   GETFIL JMP    >GETFL1
        492    ACD2D 7E    D036   GETFIL JMP    >GETFL1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        493    CD30 7E        D1A2   LOAD   JMP    >LOAD1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        494    CD33 7E        D0EB   SETEXT JMP    >SETEX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        495    CD36 7E        D349   ADDBX  JMP    >ADDBX1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        496    CD39 7E        CF86   OUTDEC JMP    >OUTDC1
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX1B
        497    CD3C 7E        CFD4   OUTHEX JMP    >OUTHX1B
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        498    CD3F 7E        D27F   RPTERR JMP    >RPTER1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        499    CD42 7E        D12F   GETHEX JMP    >GETHX1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        500    CD45 7E        CFD0   OUTADR JMP    >OUTAD1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        501    CD48 7E        D175   INDEC  JMP    >INDEC1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        502    CD4B 7E        D329   DOCMND JMP    >DOCMD1
        503    >CD4E 7E       CD4E   ZCD4E  JCMP        >ZCD4E
        503    >CD4E 7E       CD4E   ZCD4E  JCMP        >ZCD4E
        504    CD51 7E        CE05   
JMP    >ZCE05
        504    CD51 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        505    CD54 7E        CE05   
JMP    >ZCE05
        506    *
        506    *
        507    ** COLD START ENTRY
        507    ** COLD START ENTRY
        508    *
        508    *
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        509    CD57 10CE C07F COLD1  LDS    #ZC07F
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        510    CD5B 7F        CC11   ZCD5B  CLR    >LASTRM
        511    CD5E BD        D400   
JSR    >ZD400
        511    CD5E BD        D400   
JSR    >ZD400
        D512        CD61 7F        CC28   
CLR    >CMDFLG
        D512        CD61 7F        CC28   
CLR    >CMDFLG
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        513    CD64 BD        D3FD   
JSR    >ZD3FD
        514    *
        514    *
        515    ** WARM START ENTRY
        515    ** WARM START ENTRY
        516    *
        516    *
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        517    CD67 10CE C07F WARM1  LDS    #ZC07F
        518    CD6B BD        DE18   
JSR    >WARMDR
        518    CD6B BD        DE18   
JSR    >WARMDR
        519    CD6E 8E        CD03   
LDX    #WARMS
        519    CD6E 8E        CD03   
LDX    #WARMS
        520    CD71 BF        CC16E       
STX    >ESCVEC
        520    CD71 BF        CC16E       
STX    >ESCVEC
        521    CD74 8E        C700   
LDX    #PRSPL1
        521    CD74 8E        C700   
LDX    #PRSPL1
        522    CD77 AF        9F D3E9
        522    CD77 AF        9F D3E9
STX     [SWIVVC]
STX     [SWIVVC]
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        523    CD7B BE        D3E7   
LDX    >IHNDVC
        524    CD7E AF        9F D3EB
        524    CD7E AF        9F D3EB
STX     [IRQVVC]
STX     [IRQVVC]
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        525    CD82 8E        CCF8   
LDX    #ZCCF8
        526    CD85 BF        CC31   
STX    >ZCC31
        526    CD85 BF        CC31   
STX    >ZCC31
        527    CD88 7FF    CC34   
CLR    >ZCC34
        527    CD88 7FF    CC34   
CLR    >ZCC34
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        528    CD8B 7F        CC4C   
CLR    >ZCC4C
        529    CD8E 8D        5A     BSR    RSTIO1
        529    CD8E 8D        5A     BSR    RSTIO1
        530    CD90 B6        CC11   
LDA    >LASTRM
        530    CD90 B6        CC11   
LDA    >LASTRM
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        531    CD93 B1        CC02   
CMPA   >EOLCHR
        532    CD96 26        05     BNE    ZCD9D
        532    CD96 26        05     BNE    ZCD9D
        533    CD98 7C        CC15   
INC    >LINPTR+1
        533    CD98 7C        CC15   
INC    >LINPTR+1
        534    CD9B 20        14     GBRA        RENT1
        534    CD9B 20        14     GBRA        RENT1
        535    
        535    
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        536    CD9D 7D        CC28   ZCD9D  TST    >CMDFLG
        537    CDA0 1026 0597 
LBNE   ZD33B
        537    CDA0 1026 0597 
LBNE   ZD33B
        538    CDA4 BD        D403   
JSR    >FMSCLS
        538    CDA4 BD        D403   
JSR    >FMSCLS
        539    CDA7 26        B2     BNE    ZCD5B
        539    CDA7 26        B2     BNE    ZCD5B
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        540    CDA9 8E        CC4E   
LDX    #PMTSTR
        541    CDAC BD        CE81   
JSR    >PSTRG1
        541    CDAC BD        CE81   
JSR    >PSTRG1
        542    CDAF H8D    7A     BSR    INBUF1
        542    CDAF H8D    7A     BSR    INBUF1
        543    *
        543    *
        544    ** MAIN CONTROL LOOP
        544    ** MAIN CONTROL LOOP
        545    *
        545    *
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        546    CDB1 BD        D0D4   RENT1  JSR    >ZD0D4
        547    CDB4 81        0D     CMPA   #$0D
        547    CDB4 81        0D     CMPA   #$0D
        548    CDB6 27        E5     BEQ    ZCD9D
        548    CDB6 27        E5     BEQ    ZCD9D
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        549    CDB8 8E        C840   ZCDB8  LDX    #FCB
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        550    CDBB 7C        CC0D   
INC    >ZCC0D
        I551        CDBE BD        D036   
JSR    >GETFL1
        I551        CDBE BD        D036   
JSR    >GETFL1
        552    CDC1 25        16     BCS    ZCDD9
        552    CDC1 25        16     BCS    ZCDD9
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        553    CDC3 8E        CC93   
LDX    #CMDTBL
        554    CDC6 8D        3E     BSR    ZCE06
        554    CDC6 8D        3E     BSR    ZCE06
        555    CDC8 27        09     BEQ    ZCDD3
        555    CDC8 27        09     BEQ    ZCDD3
        556    CDCA BE        CC12   
LDX    >UCTVEC
        556    CDCA BE        CC12   
LDX    >UCTVEC
        557    CDCD 27        07     BEQ    ZCDD6
        557    CDCD 27        07     BEQ    ZCDD6
        558    CDCF 8D        3~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
        558    CDCF 8D        3~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'      '5&n.V ΁~g
#"!&$9D_# &m&m'm&J5        BSR    ZCE06
#"!&$9D_# &m&m'm&J5        BSR    ZCE06
        559    CDD1 26        03     BNE    ZCDD6
        559    CDD1 26        03     BNE    ZCDD6
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        560    CDD3 6E        98 01  ZCDD3  JMP    [$01,X]
        561    
        561    
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        562    CDD6 BD        D22E   ZCDD6  JSR    >ZD22E
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        563    CDD9 8E        CC56   ZCDD9  LDX    #WOTMSG
        564    CDDC 86        15     LDA    #$15
        564    CDDC 86        15     LDA    #$15
        565    CDDE B7        CC20   ZCDDE  STA    >EKRRTYP
        565    CDDE B7        CC20   ZCDDE  STA    >EKRRTYP
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        566    CDE1 BD        CE81   ZCDE1  JSR    >PSTRG1
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        567    CDE4 7F        CC11   ZCDE4  CLR    >LASTRM
        568    CDE7 7E        CD67   
JMP    >WARM1
        568    CDE7 7E        CD67   
JMP    >WARM1
        569    *
        569    *
        570    ** RESTORE IO VECTORS
        570    ** RESTORE IO VECTORS
        571    *
        571    *
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        572    CDEA BE        CD13   RSTIO1 LDX    >OUTCH2+1
        573    CDED BF        CD10   
STX    >LOUTCH+1
        573    CDED BF        CD10   
STX    >LOUTCH+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        574    CDF0 BE        CD0D   
LDX    >INCH2+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        575    CDF3 BF        CD0A   
STX    >INCH+1
        576    CDF6 7F        CC23   
CLR    >INPSWT
        576    CDF6 7F        CC23   
CLR    >INPSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        577    CDF9 7F        CC22   
CLR    >OUTSWT
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        578    CDFC 7F        CC21   
CLR    >SIOFLG
        579    CDFF 7F        CC26   
CLR    >FIPADR
        579    CDFF 7F        CC26   
CLR    >FIPADR
        580    CE02 7F        CC24   
CLR    M>FOPADR
        580    CE02 7F        CC24   
CLR    M>FOPADR
        581    CE05 39        ZCE05  RTS
        581    CE05 39        ZCE05  RTS
        582    
        582    
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        583    CE06 108E C844 ZCE06  LDY    #ZC844
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        584    CE0A A6        A0     ZCE0A  LDA    ,Y+
        585    CE0C 81        5F     CMPA   #$5F
        585    CE0C 81        5F     CMPA   #$5F
        586    CE0E 23        02     BLS    ZCE12
        586    CE0E 23        02     BLS    ZCE12
        587    CE10 80        20     SUBA   #$20
        587    CE10 80        20     SUBA   #$20
        588    CE12 A1        80     ZCE12  CMNPA       ,X+
        588    CE12 A1        80     ZCE12  CMNPA       ,X+
        589    CE14 26        08     BNE    ZCE1E
        589    CE14 26        08     BNE    ZCE1E
        590    CE16 6D        84     TST    ,X
        590    CE16 6D        84     TST    ,X
        591    CE18 26        F0     BNE    ZCE0A
        591    CE18 26        F0     BNE    ZCE0A
        592    CE1A 6D        A4     TST    ,Y
        592    CE1A 6D        A4     TST    ,Y
        593    CE1C 27        0C     BEQ    ZCE2A
        593    CE1C 27        0C     BEQ    ZCE2A
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        594    CE1E 6D        80     ZCE1E  TST    ,X+
        595    CE20 26        FC     BNE    ZCE1E
        595    CE20 26        FC     BNE    ZCE1E
        596    CE22 30        02     OLEAX       $02,X
        596    CE22 30        02     OLEAX       $02,X
        597    CE24 6D        84     TST    ,X
        597    CE24 6D        84     TST    ,X
        598    CE26 26        DE     BNE    ZCE06
        598    CE26 26        DE     BNE    ZCE06
        599    CE28 1C        FB     ANDCC  #$FB
        599    CE28 1C        FB     ANDCC  #$FB
        600    CE2A 39        ZCE2A  RTS
        600    CE2A 39        ZCE2A  RTS
        601    *
        601    *
        602    ** GET USER COMMAND LINE
        602    ** GET USER COMMAND LINE
        603    *
        603    *
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        604    CE2B 8E        C080   INBUF1 LDX    #LINBUF
        605    CE2E BF        CC14P       
STX    >LINPTR
        605    CE2E BF        CC14P       
STX    >LINPTR
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        606    CE31 BD        CEFB   ZCE31  JSR    >GETCH1
        607    CE34 B1        CC01   
CMPA   >DELCHR
        607    CE34 B1        CC01   
CMPA   >DELCHR
        608    CE37 27        1D     BEQ    ZCE56
        608    CE37 27        1D     BEQ    ZCE56
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        609    CE39 B1        CC00   
CMPA   >BSPCHR
        610    CE3C 27        1F     BEQ    ZCE5D
        610    CE3C 27        1F     BEQ    ZCE5D
        611    CE3E 81        0D     CMPA   #$0D
        611    CE3E 81        0D     CMPA   #$0D
        612    CE40 27        0D     BEQQ        ZCE4F
        612    CE40 27        0D     BEQQ        ZCE4F
        613    CE42 81        0A     CMPA   #$0A
        613    CE42 81        0A     CMPA   #$0A
        614    CE44 27        32     BEQ    ZCE78
        614    CE44 27        32     BEQ    ZCE78
        615    CE46 81        1F     CMPA   #$1F
        615    CE46 81        1F     CMPA   #$1F
        616    CE48 23        E7     BLS    ZCE31
        616    CE48 23        E7     BLS    ZCE31
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        617    CE4A 8C        C0FF   ZCE4A  CMPX   #ZC0FF
        618    CE4D 27        E2     BEQ    ZCE31
        618    CE4D 27        E2     BEQ    ZCE31
        619    CE4F A7        80     ZCE4F  STA    ,X+
        619    CE4F A7        80     ZCE4F  STA    ,X+
        6R20        CE51 81        0D     CMPA   #$0D
        6R20        CE51 81        0D     CMPA   #$0D
        621    CE53 26        DC     BNE    ZCE31
        621    CE53 26        DC     BNE    ZCE31
        622    CE55 39        RTS
        622    CE55 39        RTS
        623    
        623    
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        624    CE56 8E        CC52   ZCE56  LDX    #QRYSTR
        625    CE59 8D        26     BSR    PSTRG1
        625    CE59 8D        26     BSR    PSTRG1
        626    CE5B 20        CE     BRA    INBUF1
        626    CE5B 20        CE     BRA    INBUF1
        627    
        627    
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
S
        628    CE5D 8C        C080   ZCE5D  CMPX   #LINBUF
S
        629    CE60 27        F4     BEQ    ZCE56
        629    CE60 27        F4     BEQ    ZCE56
        630    CE62 30        1F     LEAX   -$01,X
        630    CE62 30        1F     LEAX   -$01,X
        631    CE64 B6        CC07   
LDA    >BSECHR
        631    CE64 B6        CC07   
LDA    >BSECHR
        632    CE67 81        08     CMPA   #$08
        632    CE67 81        08     CMPA   #$08
        633    CE69 26        08     BNE    ZCE73
        633    CE69 26        08     BNE    ZCE73
        634    CE6B 86        20     LDA    #$20
        634    CE6B 86        20     LDA    #$20
        635    CE6D BD        CF66   
JSR    >ZCF66
        635    CE6D BD        CF66   
JSR    >ZCF66
        636    CE70 B6        CC0T7       
LDA    >BSECHR
        636    CE70 B6        CC0T7       
LDA    >BSECHR
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        637    CE73 BD        CF66   ZCE73  JSR    >ZCF66
        638    CE76 20        B9     BRA    ZCE31
        638    CE76 20        B9     BRA    ZCE31
        639    
        639    
        640    CE78 86        0D     ZCE78  LDA    #$0D
        640    CE78 86        0D     ZCE78  LDA    #$0D
        641    CE7A BD        CF41   
JSR    >PUTCH1
        641    CE7A BD        CF41   
JSR    >PUTCH1
        642    CE7D 86        20     LDA    #$20
        642    CE7D 86        20     LDA    #$20
        643    CE7F 20        C9     BRA    ZCE4A
        643    CE7F 20        C9     BRA    ZCE4A
        644    
        644    
        645    UCE81 8D    32     PSTRG1 BSR    PCRLF1
        645    UCE81 8D    32     PSTRG1 BSR    PCRLF1
        646    CE83 A6        84     ZCE83  LDA    ,X
        646    CE83 A6        84     ZCE83  LDA    ,X
        647    CE85 81        04     CMPA   #$04
        647    CE85 81        04     CMPA   #$04
        648    CE87 27        6F     BEQ    ZCEF8
        648    CE87 27        6F     BEQ    ZCEF8
        649    CE89 BD        CF41   
JSR    >PUTCH1
        649    CE89 BD        CF41   
JSR    >PUTCH1
        650    CE8C 30        01     LEAX   $01,X
        650    CE8C 30        01     LEAX   $01,X
        651    CE8E 20        F3     BRA    ZCE83
        651    CE8E 20        F3     BRA    ZCE83
        652    
        652    
        653    0m&9''
'
        653    0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e&\'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          VCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
X4'ONZ&59}#&}&'}/'}$'S          VCE90 BD    CD4E   ZCE90  JSR    >ZCD4E
        654    CE93 27        65     BEQ    ZCEFA
        654    CE93 27        65     BEQ    ZCEFA
        655    CE95 AD        9F D3E5
        655    CE95 AD        9F D3E5
JSR     [ZD3E5]
JSR     [ZD3E5]
        656    CE99 81        13     CMPA   #'S-$40
        656    CE99 81        13     CMPA   #'S-$40
        657    CE9B 12        NOP
        657    CE9B 12        NOP
        658    CE9C 26        5C     BNE    ZCEFA
        658    CE9C 26        5C     BNE    ZCEFA
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        659    CE9E 7F        CC1A   ZCE9E  CLR    >CURLIN
        660    CEA1 AD        W9F D3E5    ZCEA1  JSR    [ZD3E5]
        660    CEA1 AD        W9F D3E5    ZCEA1  JSR    [ZD3E5]
        661    CEA5 81        11     CMPA   #'Q-$40
        661    CEA5 81        11     CMPA   #'Q-$40
        662    CEA7 12        NOP
        662    CEA7 12        NOP
        663    CEA8 27        50     BEQ    ZCEFA
        663    CEA8 27        50     BEQ    ZCEFA
        664    CEAA 81        03     CMPA   #$03   CTRL C
        664    CEAA 81        03     CMPA   #$03   CTRL C
        665    CEAC 26        F3     BNE    ZCEA1
        665    CEAC 26        F3     BNE    ZCEA1
        666    CEAE 7F        CC11   
CLR    >LASTRM
        666    CEAE 7F        CC11   
CLR    >LASTRM
        667    CEB1 6E        9F CC16
        667    CEB1 6E        9F CC16
XJMP [ESCVEC]
XJMP [ESCVEC]
        668    *
        668    *
        669    ** PRINT CR, LINEFEED
        669    ** PRINT CR, LINEFEED
        670    *
        670    *
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        671    CEB5 7D        CC21   PCRLF1 TST    >SIOFLG
        672    CEB8 26        27     BNE    ZCEE1
        672    CEB8 26        27     BNE    ZCEE1
        673    CEBA 8D        D4     BSR    ZCE90
        673    CEBA 8D        D4     BSR    ZCE90
        674    CEBC B6        CC03   
LDA    >DEPCNT
        674    CEBC B6        CC03   
LDA    >DEPCNT
        675    CEBF 27        20     BEQ    ZCEE1
        675    CEBF 27        20     BEQ    ZCEE1
        676    CEC1Y B1    CC1A   
CMPA   >CURLIN
        676    CEC1Y B1    CC1A   
CMPA   >CURLIN
        677    CEC4 22        18     BHI    ZCEDE
        677    CEC4 22        18     BHI    ZCEDE
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        678    CEC6 7F        CC1A   
CLR    >CURLIN
        679    CEC9 7D        CC09   
TST    >PAUSE
        679    CEC9 7D        CC09   
TST    >PAUSE
        680    CECC 27        02     BEQ    ZCED0
        680    CECC 27        02     BEQ    ZCED0
        681    CECE 8D        CE     BSR    ZCE9E
        681    CECE 8D        CE     BSR    ZCE9E
        682    CED0 34        04     ZCED0  PSHS   B
        682    CED0 34        04     ZCED0  PSHS   B
        683    CED2 F6        CC08   
LZDB        >EJTCNT
        683    CED2 F6        CC08   
LZDB        >EJTCNT
        684    CED5 27        05     BEQ    ZCEDC
        684    CED5 27        05     BEQ    ZCEDC
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        685    CED7 8D        08     ZCED7  BSR    ZCEE1
        686    CED9 5A        DECB
        686    CED9 5A        DECB
        687    CEDA 26        FB     BNE    ZCED7
        687    CEDA 26        FB     BNE    ZCED7
        688    CEDC 35        04     ZCEDC  PULS   B
        688    CEDC 35        04     ZCEDC  PULS   B
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        689    CEDE 7C        CC1A   ZCEDE  INC    >CURLIN
        690    CEE1 86        0D     ZCEE1  LDA    #$0[D
        690    CEE1 86        0D     ZCEE1  LDA    #$0[D
        691    CEE3 8D        5C     BSR    PUTCH1
        691    CEE3 8D        5C     BSR    PUTCH1
        692    CEE5 86        0A     LDA    #$0A
        692    CEE5 86        0A     LDA    #$0A
        693    CEE7 8D        58     BSR    PUTCH1
        693    CEE7 8D        58     BSR    PUTCH1
        694    CEE9 34        04     PSHS   B
        694    CEE9 34        04     PSHS   B
        695    CEEB F6        CC05   
LDB    >NULCNT
        695    CEEB F6        CC05   
LDB    >NULCNT
        696    CEEE 27        06     BEQ    ZCEF6
        696    CEEE 27        06     BEQ    ZCEF6
        697    CEF0 4F        ZCEF0  CLRA
        697    CEF0 4F        ZCEF0  CLRA
        698    CEF1 8D        4E     BSR    P\UTCH1
        698    CEF1 8D        4E     BSR    P\UTCH1
        699    CEF3 5A        DECB
        699    CEF3 5A        DECB
        700    CEF4 26        FA     BNE    ZCEF0
        700    CEF4 26        FA     BNE    ZCEF0
        701    CEF6 35        04     ZCEF6  PULS   B
        701    CEF6 35        04     ZCEF6  PULS   B
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        702    CEF8 1C        FE     ZCEF8  ANDCC  #$FE
        703    CEFA 39        ZCEFA  RTS
        703    CEFA 39        ZCEFA  RTS
        704    *
        704    *
        705    ** GET A CHARACTER HONOURING TTYSET
        705    ** GET A CHARACTER HONOURING TTYSET
        706    *
        706    *
        707    CEFB 7D        CC23   G]ETCH1     TST    >INPSWT
        707    CEFB 7D        CC23   G]ETCH1     TST    >INPSWT
        708    CEFE 26        1A     BNE    ZCF1A
        708    CEFE 26        1A     BNE    ZCF1A
        709    CF00 7D        CC26   
TST    >FIPADR
        709    CF00 7D        CC26   
TST    >FIPADR
        710    CF03 27        10     BEQ    ZCF15
        710    CF03 27        10     BEQ    ZCF15
        711    CF05 8D        1A     BSR    ZCF21
        711    CF05 8D        1A     BSR    ZCF21
        712    CF07 7D        CC2F   
TST    >FIEFLG
        712    CF07 7D        CC2F   
TST    >FIEFLG
        713    CF0A 27        11     BEQ    ZCF1D
        713    CF0A 27        11     BEQ    ZCF1D
        714    CF0C 7D        CC24   
TST    >FOP^ADR
        714    CF0C 7D        CC24   
TST    >FOP^ADR
        715    CF0F 27        0C     BEQ    ZCF1D
        715    CF0F 27        0C     BEQ    ZCF1D
        716    CF11 8D        53     BSR    ZCF66
        716    CF11 8D        53     BSR    ZCF66
        717    CF13 20        08     BRA    ZCF1D
        717    CF13 20        08     BRA    ZCF1D
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        718    CF15 BD        CD09   ZCF15  JSR    >INCH
        719    CF18 20        03     BRA    ZCF1D
        719    CF18 20        03     BRA    ZCF1D
        720    
        720    
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        721    CF1A BD        CD0C   ZCF1A  JSR    >INCH2
        722    CF1D 7F        CC1A   ZCF1D_      CLR    >CURLIN
        722    CF1D 7F        CC1A   ZCF1D_      CLR    >CURLIN
        723    CF20 39        RTS
        723    CF20 39        RTS
        724    
        724    
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        725    CF21 BF        CC47   ZCF21  STX    >ZCC47
        726    CF24 BE        CC26   
LDX    >FIPADR
        726    CF24 BE        CC26   
LDX    >FIPADR
        727    CF27 20        06     BRA    ZCF2F
        727    CF27 20        06     BRA    ZCF2F
        728    
        728    
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        729    CF29 BF        CC47   ZCF29  STX    >ZCC47
        730    CF2C BE        CC24   
LDX    >FOPADR
        730    CF2C BE        CC24   
LDX    >FOPADR
        731    CF`2F BD    D406   ZCF2F  JSR    >FMS
        731    CF`2F BD    D406   ZCF2F  JSR    >FMS
        732    CF32 26        04     BNE    ZCF38
        732    CF32 26        04     BNE    ZCF38
        733    CF34 BE        CC47   
LDX    >ZCC47
        733    CF34 BE        CC47   
LDX    >ZCC47
        734    CF37 39        RTS
        734    CF37 39        RTS
        735    
        735    
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        736    CF38 7F        CC24   ZCF38  CLR    >FOPADR
        737    CF3B BD        D27F   
JSR    >RPTER1
        737    CF3B BD        D27F   
JSR    >RPTER1
        738    CF3E 7E        CD03   
JMP    >WARMS
        738    CF3E 7E        CD03   
JMP    >WARMS
        739    *
        739    *
a    740    ** OUTPUT CHARACTER HONOURING TTYSET
a    740    ** OUTPUT CHARACTER HONOURING TTYSET
        741    *
        741    *
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        742    CF41 7D        CC21   PUTCH1 TST    >SIOFLG
        743    CF44 26        20     BNE    ZCF66
        743    CF44 26        20     BNE    ZCF66
        744    CF46 81        1F     CMPA   #$1F
        744    CF46 81        1F     CMPA   #$1F
        745    CF48 22        05     BHI    ZCF4F
        745    CF48 22        05     BHI    ZCF4F
        746    CF4A 7F        CC29   
CLR    >CURCOL
        746    CF4A 7F        CC29   
CLR    >CURCOL
        747    CF4D 20        17     B9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994bRA        ZCF66
        747    CF4D 20        17     B9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994bRA        ZCF66
        748    
        748    
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        749    CF4F 7C        CC29   ZCF4F  INC    >CURCOL
        750    CF52 34        02     PSHS   A
        750    CF52 34        02     PSHS   A
        751    CF54 B6        CC04   
LDA    >WIDCNT
        751    CF54 B6        CC04   
LDA    >WIDCNT
        752    CF57 27        0B     BEQ    ZCF64
        752    CF57 27        0B     BEQ    ZCF64
        753    CF59 B1        CC29   
CMPA   >CURCOL
        753    CF59 B1        CC29   
CMPA   >CURCOL
        754    CF5C 24        06     BCC    ZCF64
        754    CF5C 24        06     BCC    ZCF64
        755    CF5E BD        CEB5   
JcSR        >PCRLF1
        755    CF5E BD        CEB5   
JcSR        >PCRLF1
        756    CF61 7C        CC29   
INC    >CURCOL
        756    CF61 7C        CC29   
INC    >CURCOL
        757    CF64 35        02     ZCF64  PULS   A
        757    CF64 35        02     ZCF64  PULS   A
        758    CF66 34        02     ZCF66  PSHS   A
        758    CF66 34        02     ZCF66  PSHS   A
        759    CF68 7D        CC22   
TST    >OUTSWT
        759    CF68 7D        CC22   
TST    >OUTSWT
        760    CF6B 26        13     BNE    ZCF80
        760    CF6B 26        13     BNE    ZCF80
        761    CF6D 7D        CC24   
TST    >FOPADR
        761    CF6D 7D        CC24   
TST    >FOPADR
        762    CF70 27        04     BEQ    ZCdF76
        762    CF70 27        04     BEQ    ZCdF76
        763    CF72 8D        B5     BSR    ZCF29
        763    CF72 8D        B5     BSR    ZCF29
        764    CF74 20        0D     BRA    ZCF83
        764    CF74 20        0D     BRA    ZCF83
        765    
        765    
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        766    CF76 7D        CC26   ZCF76  TST    >FIPADR
        767    CF79 26        08     BNE    ZCF83
        767    CF79 26        08     BNE    ZCF83
        768    CF7B BD        CD0F   
JSR    >OUTCH
        768    CF7B BD        CD0F   
JSR    >OUTCH
        769    CF7E 20        03     BRA    ZCF83
        769    CF7E 20        03     BRA    ZCF83
        770    CF80 BD        CD12   ZCF80  JSRe        >OUTCH2
        770    CF80 BD        CD12   ZCF80  JSRe        >OUTCH2
        771    CF83 35        02     ZCF83  PULS   A
        771    CF83 35        02     ZCF83  PULS   A
        772    CF85 39        RTS
        772    CF85 39        RTS
        773    
        773    
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        774    CF86 7F        CC4A   OUTDC1 CLR    >ZCC4A
        775    CF89 F7        CC1D   
STB    >TRNFLG
        775    CF89 F7        CC1D   
STB    >TRNFLG
        776    CF8C 86        04     LDA    #$04
        776    CF8C 86        04     LDA    #$04
        777    CF8E B7        CC4D   
STA    >ZCC4D
        777    CF8E B7        CC4D   
STA    >ZCC4D
        778    CF91 EC        84     LDD    ,X
        778    CF91 EC        84     LDD    ,X
        f779        CF93 8E        CCA0   
LDX    #DECTBL
        f779        CF93 8E        CCA0   
LDX    #DECTBL
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        780    CF96 8D        0B     ZCF96  BSR    ZCFA3
        781    CF98 30        02     LEAX   $02,X
        781    CF98 30        02     LEAX   $02,X
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        782    CF9A 7A        CC4D   
DEC    >ZCC4D
        783    CF9D 26        F7     BNE    ZCF96
        783    CF9D 26        F7     BNE    ZCF96
        784    CF9F 1F        98     TFR    B,A
        784    CF9F 1F        98     TFR    B,A
        785    CFA1 20        3D     BRA    OUTHXR
        785    CFA1 20        3D     BRA    OUTHXR
        786    
        786    
        787    gCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        787    gCFA3 7F    CC4B   ZCFA3  CLR    >ZCC4B
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        788    CFA6 10A3 84   ZCFA6  CMPD   ,X
        789    CFA9 25        07     BCS    ZCFB2
        789    CFA9 25        07     BCS    ZCFB2
        790    CFAB A3        84     SUBD   ,X
        790    CFAB A3        84     SUBD   ,X
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        791    CFAD 7C        CC4B   
INC    >ZCC4B
        792    CFB0 20        F4     BRA    ZCFA6
        792    CFB0 20        F4     BRA    ZCFA6
        793    
        793    
        794    CFB2 34        02     ZCFB2  PSHS   A
        794    CFB2 34        02     ZCFB2  PSHS   A
        79h5        CFB4 B6        CC4B   
LDA    >ZCC4B
        79h5        CFB4 B6        CC4B   
LDA    >ZCC4B
        796    CFB7 26        10     BNE    ZCFC9
        796    CFB7 26        10     BNE    ZCFC9
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        797    CFB9 7D        CC4A   
TST    >ZCC4A
        798    CFBC 26        0B     BNE    ZCFC9
        798    CFBC 26        0B     BNE    ZCFC9
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        799    CFBE 7D        CC1D   
TST    >TRNFLG
        800    CFC1 27        0B     BEQ    ZCFCE
        800    CFC1 27        0B     BEQ    ZCFCE
        801    CFC3 86        20     LDA    #$20
        801    CFC3 86        20     LDA    #$20
        802    CFC5 8D        23     BSRi        ZCFEA
        802    CFC5 8D        23     BSRi        ZCFEA
        803    CFC7 20        05     BRA    ZCFCE
        803    CFC7 20        05     BRA    ZCFCE
        804    
        804    
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        805    CFC9 7C        CC4A   ZCFC9  INC    >ZCC4A
        806    CFCC 8D        12     BSR    OUTHXR
        806    CFCC 8D        12     BSR    OUTHXR
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        807    CFCE 35        82     ZCFCE  PULS   PC,A
        808    *
        808    *
        809    ** DISPLAY HEX ADDRESS
        809    ** DISPLAY HEX ADDRESS
        810    *
        810    *
        811    CFD0 8D        02     OUTAD1 BSR    OUTHjX1
        811    CFD0 8D        02     OUTAD1 BSR    OUTHjX1
        812    CFD2 30        01     LEAX   $01,X
        812    CFD2 30        01     LEAX   $01,X
        813    *
        813    *
        814    ** OUPUT HEX BYTE
        814    ** OUPUT HEX BYTE
        815    *
        815    *
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        816    CFD4 A6        84     OUTHX1 LDA    ,X
        817    CFD6 8D        04     BSR    OUTHXL
        817    CFD6 8D        04     BSR    OUTHXL
        818    CFD8 A6        84     LDA    ,X
        818    CFD8 A6        84     LDA    ,X
        819    CFDA 20        04     BRA    OUTHXR
        819    CFDA 20        04     BRA    OUTHXR
        820    
        820    
        821    CFDC 44        OUTHXL LSRAk
        821    CFDC 44        OUTHXL LSRAk
        822    CFDD 44        LSRA
        822    CFDD 44        LSRA
        823    CFDE 44        LSRA
        823    CFDE 44        LSRA
        824    CFDF 44        LSRA
        824    CFDF 44        LSRA
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        825    CFE0 84        0F     OUTHXR ANDA   #$0F
        826    CFE2 8B        30     ADDA   #$30
        826    CFE2 8B        30     ADDA   #$30
        827    CFE4 81        39     CMPA   #$39
        827    CFE4 81        39     CMPA   #$39
        828    CFE6 23        02     BLS    ZCFEA
        828    CFE6 23        02     BLS    ZCFEA
        829    CFE8 8B        07     ADDA   #$07
        829    CFE8 8B        07     ADDA   #$07
        830    CFEA 7E        lCF41       ZCFEA  JMP    >PUTCH1
        830    CFEA 7E        lCF41       ZCFEA  JMP    >PUTCH1
        831    *
        831    *
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        832    ** CLASSIFY CHARACTER ALHA/NUMERIC
        833    *
        833    *
        834    CFED 81        30     CLASS1 CMPA   #'0
        834    CFED 81        30     CLASS1 CMPA   #'0
        835    CFEF 25        14     BCS    ZD005
        835    CFEF 25        14     BCS    ZD005
        836    CFF1 81        39     CMPA   #'9
        836    CFF1 81        39     CMPA   #'9
        837    CFF3 23        16     BLS    ZD00B
        837    CFF3 23        16     BLS    ZD00B
        838    CFF5 81        41     CMPA   #'mA
        838    CFF5 81        41     CMPA   #'mA
        839    CFF7 25        0C     BCS    ZD005
        839    CFF7 25        0C     BCS    ZD005
        840    CFF9 81        5A     CMPA   #'Z
        840    CFF9 81        5A     CMPA   #'Z
        841    CFFB 23        0E     BLS    ZD00B
        841    CFFB 23        0E     BLS    ZD00B
        842    CFFD 81        61     CMPA   #'a    $61
        842    CFFD 81        61     CMPA   #'a    $61
        843    CFFF 25        04     BCS    ZD005
        843    CFFF 25        04     BCS    ZD005
        844    D001 81        7A     CMPA   #'z    $7A
        844    D001 81        7A     CMPA   #'z    $7A
        845    D003 23        06     BLS    ZD00B
        845    D003 23        06     BLS    ZD00B
        846    D005 1A        01n ZD005  ORCC   #$01
        846    D005 1A        01n ZD005  ORCC   #$01
        847    D007 B7        CC11   
STA    >LASTRM
        847    D007 B7        CC11   
STA    >LASTRM
        848    D00A 39        RTS
        848    D00A 39        RTS
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        849    D00B 1C        FE     ZD00B  ANDCC  #$FE
        850    D00D 39        RTS
        850    D00D 39        RTS
        851    *
        851    *
        852    ** GET NEXT CHARACTER FROM FILE
        852    ** GET NEXT CHARACTER FROM FILE
        853    *
        853    *
        854    D00E 34        10     NXTCH1 PSHS   X
        854    D00E 34        10     NXTCH1 PSHS   X
        855    D010 BE        oCC14       
LDX    >LINPTR
        855    D010 BE        oCC14       
LDX    >LINPTR
        856    D013 B6        CC18   
LDA    >CURCHR
        856    D013 B6        CC18   
LDA    >CURCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        857    D016 B7        CC19   
STA    >PRVCHR
        858    D019 A6        80     ZD019  LDA    ,X+
        858    D019 A6        80     ZD019  LDA    ,X+
        859    D01B B7        CC18   
STA    >CURCHR
        859    D01B B7        CC18   
STA    >CURCHR
        860    D01E 81        0D     CMPA   #$0D
        860    D01E 81        0D     CMPA   #$0D
        861    D020 27        10     BEQ    ZD032
        861    D020 27        10     BEQ    ZD032
        862    D022 B1        CC02   
CpMPA       >EOLCHR
        862    D022 B1        CC02   
CpMPA       >EOLCHR
        863    D025 27        0B     BEQ    ZD032
        863    D025 27        0B     BEQ    ZD032
        864    D027 BF        CC14   
STX    >LINPTR
        864    D027 BF        CC14   
STX    >LINPTR
        865    D02A 81        20     CMPA   #$20
        865    D02A 81        20     CMPA   #$20
        866    D02C 26        04     BNE    ZD032
        866    D02C 26        04     BNE    ZD032
        867    D02E A1        84     CMPA   ,X
        867    D02E A1        84     CMPA   ,X
        868    D030 27        E7     BEQ    ZD019
        868    D030 27        E7     BEQ    ZD019
        869    D032 8D        B9     ZD032  BSR    CLASS1
        869    D032 8D        B9     ZD032  BSR    CLASS1
        87q0        D034 35        90     PULS   PC,X
        87q0        D034 35        90     PULS   PC,X
        871    *
        871    *
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        872    ** PARSE FILE SPEC. IN LINE BUFFER
        873    *
        873    *
        874    D036 86        15     GETFL1 LDA    #$15
        874    D036 86        15     GETFL1 LDA    #$15
        875    D038 A7        01     STA    $01,X
        875    D038 A7        01     STA    $01,X
        876    D03A 86        FF     LDA    #$FF
        876    D03A 86        FF     LDA    #$FF
        877    D03C A7        03     STA    $03,X
        877    D03C A7        03     STA    $03,X
        878    D03E 6F        04     CLR    $0r4,X
        878    D03E 6F        04     CLR    $0r4,X
        879    D040 6F        0C     CLR    $0C,X
        879    D040 6F        0C     CLR    $0C,X
        880    D042 BD        D0D4   
JSR    >ZD0D4
        880    D042 BD        D0D4   
JSR    >ZD0D4
        881    D045 86        08     LDA    #$08
        881    D045 86        08     LDA    #$08
        882    D047 B7        CC4B   
STA    >ZCC4B
        882    D047 B7        CC4B   
STA    >ZCC4B
        883    D04A 8D        34     BSR    ZD080
        883    D04A 8D        34     BSR    ZD080
        884    D04C 25        2E     BCS    ZD07C
        884    D04C 25        2E     BCS    ZD07C
        885    D04E 26        0F     BNE    ZD05F
        885    D04E 26        0F     BNE    ZD05F
        886    D050 8D        2Es BSR    ZD080
        886    D050 8D        2Es BSR    ZD080
        887    D052 25        28     BCS    ZD07C
        887    D052 25        28     BCS    ZD07C
        888    D054 26        09     BNE    ZD05F
        888    D054 26        09     BNE    ZD05F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        889    D056 BC        CC3F   
CMPX   >ZCC3F
        890    D059 27        6C     BEQ    ZD0C7
        890    D059 27        6C     BEQ    ZD0C7
        891    D05B 8D        23     BSR    ZD080
        891    D05B 8D        23     BSR    ZD080
        892    D05D 23        68     BLS    ZD0C7
        892    D05D 23        68     BLS    ZD0C7
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
        893    D05F BE        CC3F   ZD05F  LDX    >ZCC3F
t    894    D062 6D        04     TST    $04,X
t    894    D062 6D        04     TST    $04,X
        895    D064 27        61     BEQ    ZD0C7
        895    D064 27        61     BEQ    ZD0C7
        896    D066 6D        03     TST    $03,X
        896    D066 6D        03     TST    $03,X
        897    D068 2A        0F     BPL    ZD079
        897    D068 2A        0F     BPL    ZD079
        898    D06A 7D        CC0D   
TST    >ZCC0D
        898    D06A 7D        CC0D   
TST    >ZCC0D
        899    D06D 27        05     BEQ    ZD074
        899    D06D 27        05     BEQ    ZD074
        900    D06F B6        CC0B   
LDA    >SYSDRV
        900    D06F B6        CC0B   
LDA    >SYSDRV
        901    D072 20        03     BuRA        ZD077
        901    D072 20        03     BuRA        ZD077
        902    
        902    
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        903    D074 B6        CC0C   ZD074  LDA    >WRKDRV
        904    D077 A7        03     ZD077  STA    $03,X
        904    D077 A7        03     ZD077  STA    $03,X
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        905    D079 7F        CC0D   ZD079  CLR    >ZCC0D
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        906    D07C BE        CC3F   ZD07C  LDX    >ZCC3F
        907    D07F 39        RTS
        907    D07F 39        RTS
        908    
        908    
        909    D080 8D        8C     ZD080  BSR    NXTCvH1
        909    D080 8D        8C     ZD080  BSR    NXTCvH1
        910    D082 25        43     BCS    ZD0C7
        910    D082 25        43     BCS    ZD0C7
        911    D084 81        39     CMPA   #$39
        911    D084 81        39     CMPA   #$39
        912    D086 22        15     BHI    ZD09D
        912    D086 22        15     BHI    ZD09D
        913    D088 BE        CC3F   
LDX    >ZCC3F
        913    D088 BE        CC3F   
LDX    >ZCC3F
        914    D08B 6D        03     TST    $03,X
        914    D08B 6D        03     TST    $03,X
        915    D08D 2A        38     BPL    ZD0C7
        915    D08D 2A        38     BPL    ZD0C7
        916    D08F 84        03     ANDA   #$03
        916    D08F 84        03     ANDA   #$03
        917    D091 A7        03     SwTA        $03,X
        917    D091 A7        03     SwTA        $03,X
        918    D093 BD        D00E   
JSR    >NXTCH1
        918    D093 BD        D00E   
JSR    >NXTCH1
        919    D096 24        2F     BCC    ZD0C7
        919    D096 24        2F     BCC    ZD0C7
        920    D098 81        2E     ZD098  CMPA   #$2E
        920    D098 81        2E     ZD098  CMPA   #$2E
        921    D09A 1C        FE     ANDCC  #$FE
        921    D09A 1C        FE     ANDCC  #$FE
        922    D09C 39        RTS
        922    D09C 39        RTS
        923    
        923    
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        924    D09D F6        CC4B   ZD09D  LDB    >ZCC4B
        925    D0A0 2B        25     BMI    ZD0Cx7
        925    D0A0 2B        25     BMI    ZD0Cx7
        926    D0A2 34        04     PSHS   B
        926    D0A2 34        04     PSHS   B
        927    D0A4 C0        05     SUBB   #$05
        927    D0A4 C0        05     SUBB   #$05
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        928    D0A6 F7        CC4B   
STB    >ZCC4B
        929    D0A9 35        04     PULS   B
        929    D0A9 35        04     PULS   B
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        930    D0AB B1        CC49   ZD0AB  CMPA   >MAPUP
        931    D0AE 25        02     BCS    ZD0B2
        931    D0AE 25        02     BCS    ZD0B2
        932    D0B0 80        20     SUBA   #$20
        932    D0B0 80        20     SUBA   #$20
        933    D0B2 A7        0y4 ZD0B2  STA    $04,X
        933    D0B2 A7        0y4 ZD0B2  STA    $04,X
        934    D0B4 30        01     LEAX   $01,X
        934    D0B4 30        01     LEAX   $01,X
        935    D0B6 5A        DECB
        935    D0B6 5A        DECB
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        936    D0B7 BD        D00E   
JSR    >NXTCH1
        937    D0BA 24        08     BCC    ZD0C4
        937    D0BA 24        08     BCC    ZD0C4
        938    D0BC 81        2D     CMPA   #$2D
        938    D0BC 81        2D     CMPA   #$2D
        939    D0BE 27        04     BEQ    ZD0C4
        939    D0BE 27        04     BEQ    ZD0C4
        940    D0C0 81        5F     CMPA   #$5F
        940    D0C0 81        5F     CMPA   #$5F
        941    D0C2z 26    06     BNE    ZD0CA
        941    D0C2z 26    06     BNE    ZD0CA
        942    D0C4 5D        ZD0C4  TSTB
        942    D0C4 5D        ZD0C4  TSTB
        943    D0C5 26        E4     BNE    ZD0AB
        943    D0C5 26        E4     BNE    ZD0AB
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        944    D0C7 1A        01     ZD0C7  ORCC   #$01
        945    D0C9 39        RTS
        945    D0C9 39        RTS
        946    
        946    
        947    D0CA 5D        ZD0CA  TSTB
        947    D0CA 5D        ZD0CA  TSTB
        948    D0CB 27        CB     BEQ    ZD098
        948    D0CB 27        CB     BEQ    ZD098
        949    D0CD 6F        04     CLR    $04,X
        949    D0CD 6F        04     CLR    $04,X
        950    D{0CF 30    01     LEAX   $01,X
        950    D{0CF 30    01     LEAX   $01,X
        951    D0D1 5A        DECB
        951    D0D1 5A        DECB
        952    D0D2 20        F6     BRA    ZD0CA
        952    D0D2 20        F6     BRA    ZD0CA
        953    
        953    
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        954    D0D4 BF        CC3F   ZD0D4  STX    >ZCC3F
        955    D0D7 BE        CC14   
LDX    >LINPTR
        955    D0D7 BE        CC14   
LDX    >LINPTR
        956    D0DA A6        84     ZD0DA  LDA    ,X
        956    D0DA A6        84     ZD0DA  LDA    ,X
        957    D0DC 81        20     CMPA   #$20
        957    D0DC 81        20     CMPA   #$20
        958    D0DE 26        04ľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10| BNE    ZD0E4
        958    D0DE 26        04ľ
'' &'獹5ooԆK4%.&.%(& ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10| BNE    ZD0E4
        959    D0E0 30        01     LEAX   $01,X
        959    D0E0 30        01     LEAX   $01,X
        960    D0E2 20        F6     BRA    ZD0DA
        960    D0E2 20        F6     BRA    ZD0DA
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        961    D0E4 BF        CC14   ZD0E4  STX    >LINPTR
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        962    D0E7 BE        CC3F   
LDX    >ZCC3F
        963    D0EA 39        RTS
        963    D0EA 39        RTS
        964    *
        964    *
        965    ** DEFAULT FILE EXTENSION
        965    ** DEFAULT FILE EXTENSION
        966    *
        966    *
        967    D0EB 34        30     }SETEX1     PSHS   Y,X
        967    D0EB 34        30     }SETEX1     PSHS   Y,X
        968    D0ED E6        0C     LDB    $0C,X
        968    D0ED E6        0C     LDB    $0C,X
        969    D0EF 26        18     BNE    ZD109
        969    D0EF 26        18     BNE    ZD109
        970    D0F1 108E D10B 
LDY    #EXTTBL
        970    D0F1 108E D10B 
LDY    #EXTTBL
        971    D0F5 81        0B     CMPA   #$0B
        971    D0F5 81        0B     CMPA   #$0B
        972    D0F7 22        10     BHI    ZD109
        972    D0F7 22        10     BHI    ZD109
        973    D0F9 C6        03     LDB    #$03
        973    D0F9 C6        03     LDB    #$03
        974    D0FB 3D        MUL
        974    D0FB 3D        MUL
        975    D0FC 31        ~A5 LEAY   B,Y
        975    D0FC 31        ~A5 LEAY   B,Y
        976    D0FE C6        03     LDB    #$03
        976    D0FE C6        03     LDB    #$03
        977    D100 A6        A0     ZD100  LDA    ,Y+
        977    D100 A6        A0     ZD100  LDA    ,Y+
        978    D102 A7        0C     STA    $0C,X
        978    D102 A7        0C     STA    $0C,X
        979    D104 30        01     LEAX   $01,X
        979    D104 30        01     LEAX   $01,X
        980    D106 5A        DECB
        980    D106 5A        DECB
        981    D107 26        F7     BNE    ZD100
        981    D107 26        F7     BNE    ZD100
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        982    D109 35        B0     ZD109  PULS   PC,Y,X
        983    *

        983    *

        984    ** STANDARD FILE NAME EXTTENSIONS
        984    ** STANDARD FILE NAME EXTTENSIONS
        985    *
        985    *
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        986    D10B 42 49 4E  EXTTBL FCC    "BIN"
        987    D10E 54 58 54  FCC    "TXT"
        987    D10E 54 58 54  FCC    "TXT"
        988    D111 43 4D 44  FCC    "CMD"
        988    D111 43 4D 44  FCC    "CMD"
        989    D114 42 41 53  FCC    "BAS"
        989    D114 42 41 53  FCC    "BAS"
        990    D117 53 59 53  FCC    "SYS"
        990    D117 53 59 53  FCC    "SYS"
        991    D11A 42 41 4B  FCC        "BAK"
        991    D11A 42 41 4B  FCC        "BAK"
        992    D11D 53 43 52  FCC    "SCR"
        992    D11D 53 43 52  FCC    "SCR"
        993    D120 44 41 54  FCC    "DAT"
        993    D120 44 41 54  FCC    "DAT"
        994    D123 42 41 43  FCC    "BAC"
        994    D123 42 41 43  FCC    "BAC"
        995    D126 44 49 52  FCC    "DIR"
        995    D126 44 49 52  FCC    "DIR"
        996    D129 50 52 54  FCC    "PRT"
        996    D129 50 52 54  FCC    "PRT"
        997    D12C 4F 55 54  FCC    "OUT"
        997    D12C 4F 55 54  FCC    "OUT"
        998    *
        998    *
        999    ** READ A HEX ADDRESS FROM THE LINE BUFFER
        999    ** READ A HEX ADDRESS FROM THE LINE BUFFER
 1000   *
 1000   *
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1001   D12F BD        D21E   GETHX1 JSR    >ZD21E
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1002   D132 BD        D00E   ZD132  JSR    >NXTCH1
 1003   D135 25        22     BCS    ZD159
 1003   D135 25        22     BCS    ZD159
 1004   D137 8D        26     BSR    ZD15F
 1004   D137 8D        26     BSR    ZD15F
 1005   D139 25        18     BCS    ZD153
 1005   D139 25        18     BCS    ZD153
 1006   D13B 34        04     PSHS   B
 1006   D13B 34        04     PSHS   B
 1007       D13D C6        04     LDB    #$04
 1007       D13D C6        04     LDB    #$04
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1008   D13F 78        CC1C   ZD13F  ASL    >LODOFF+1
 1009   D142 79        CC1B   
ROL    >LODOFF
 1009   D142 79        CC1B   
ROL    >LODOFF
 1010   D145 5A        DECB
 1010   D145 5A        DECB
 1011   D146 26        F7     BNE    ZD13F
 1011   D146 26        F7     BNE    ZD13F
 1012   D148 35        04     PULS   B
 1012   D148 35        04     PULS   B
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1013   D14A BB        CC1C   
ADDA   >LODOFF+1
 1014   D14D B7        CC1C   
STA        >LODOFF+1
 1014   D14D B7        CC1C   
STA        >LODOFF+1
 1015   D150 5C        INCB
 1015   D150 5C        INCB
 1016   D151 20        DF     BRA    ZD132
 1016   D151 20        DF     BRA    ZD132
 1017   
 1017   
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1018   D153 BD        D00E   ZD153  JSR    >NXTCH1
 1019   D156 24        FB     BCC    ZD153
 1019   D156 24        FB     BCC    ZD153
 1020   D158 39        RTS
 1020   D158 39        RTS
 1021   
 1021   
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1022   D159 BE        CC1B   ZD159  LDX    >LODOFF
 1023   D15C 1C        FE     ANDCC  #$FE
 1023   D15C 1C        FE     ANDCC  #$FE
 1024   D15E 39        RTS
 1024   D15E 39        RTS
 1025   
 1025   
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1026   D15F 80        47     ZD15F  SUBA   #$47
 1027   D161 2A        0F     BPL    ZD172
 1027   D161 2A        0F     BPL    ZD172
 1028   D163 8B        06     ADDA   #$06
 1028   D163 8B        06     ADDA   #$06
 1029   D165 2A        04     BPL    ZD16B
 1029   D165 2A        04     BPL    ZD16B
 1030   D167 8B        07     ADDA   #$07
 1030   D167 8B        07     ADDA   #$07
 1031   D169 2A        07     BPL    ZD172
 1031   D169 2A        07     BPL    ZD172
 1032   D16B 8B        0A ZD16B  ADDA   #$0A
 1032   D16B 8B        0A ZD16B  ADDA   #$0A
 1033   D16D 2B        03     BMI    ZD172
 1033   D16D 2B        03     BMI    ZD172
 1034   D16F 1C        FE     ANDCC  #$FE
 1034   D16F 1C        FE     ANDCC  #$FE
 1035   D171 39        RTS
 1035   D171 39        RTS
 1036   
 1036   
 1037   D172 1A        01     ZD172  ORCC   #$01
 1037   D172 1A        01     ZD172  ORCC   #$01
 1038   D174 39        RTS
 1038   D174 39        RTS
 1039   
 1039   
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1040   D175 BD        D21E   INDEC1 JSR    >ZD21E
 1041   D178 BD        D00E   ZD178      JSR    >NXTCH1
 1041   D178 BD        D00E   ZD178      JSR    >NXTCH1
 1042   D17B 25        DC     BCS    ZD159
 1042   D17B 25        DC     BCS    ZD159
 1043   D17D 81        39     CMPA   #$39
 1043   D17D 81        39     CMPA   #$39
 1044   D17F 22        D2     BHI    ZD153
 1044   D17F 22        D2     BHI    ZD153
 1045   D181 84        0F     ANDA   #$0F
 1045   D181 84        0F     ANDA   #$0F
 1046   D183 34        04     PSHS   B
 1046   D183 34        04     PSHS   B
 1047   D185 34        02     PSHS   A
 1047   D185 34        02     PSHS   A
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1048   D187 FC        CC1B   
LDD    >LODOFF
 1049   D18A 58    ASLB
 1049   D18A 58    ASLB
 1050   D18B 49        ROLA
 1050   D18B 49        ROLA
 1051   D18C 58        ASLB
 1051   D18C 58        ASLB
 1052   D18D 49        ROLA
 1052   D18D 49        ROLA
 1053   D18E 58        ASLB
 1053   D18E 58        ASLB
 1054   D18F 49        ROLA
 1054   D18F 49        ROLA
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1055   D190 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1056   D193 F3        CC1B   
ADDD   >LODOFF
 1057   D196 EB        E0     ADDB   ,S+
 1057   D196 EB        E0     ADDB   ,S+
 1058   D198 89        00     ADCAZ&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
 1058   D198 89        00     ADCAZ&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
        #$00
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
        #$00
 1059   D19A FD        CC1B   
STD    >LODOFF
 1059   D19A FD        CC1B   
STD    >LODOFF
 1060   D19D 35        04     PULS   B
 1060   D19D 35        04     PULS   B
 1061   D19F 5C        INCB
 1061   D19F 5C        INCB
 1062   D1A0 20        D6     BRA    ZD178
 1062   D1A0 20        D6     BRA    ZD178
 1063   *
 1063   *
 1064   ** LOAD BINARY FILE
 1064   ** LOAD BINARY FILE
 1065   *
 1065   *
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1066   D1A2 7F        CC1D   LOAD1  CLR    >TRNFLG
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD1E4
 1067   D1A5 8D        3D     ZD1A5  BSR    ZD1E4
 1068   D1A7 81        02     CMPA   #$02
 1068   D1A7 81        02     CMPA   #$02
 1069   D1A9 27        15     BEQ    ZD1C0
 1069   D1A9 27        15     BEQ    ZD1C0
 1070   D1AB 81        16     CMPA   #$16
 1070   D1AB 81        16     CMPA   #$16
 1071   D1AD 26        F6     BNE    ZD1A5
 1071   D1AD 26        F6     BNE    ZD1A5
 1072   D1AF 8D        33     BSR    ZD1E4
 1072   D1AF 8D        33     BSR    ZD1E4
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1073   D1B1 B7        CC1E   
STA    >TRNVEC
 1074   D1B4 8D        2E     BSR    ZD1E4
 1074   D1B4 8D        2E     BSR    ZD1E4
 1075   D1B6 B7        CC1F       
STA    >TRNVEC+1
 1075   D1B6 B7        CC1F       
STA    >TRNVEC+1
 1076   D1B9 86        01     LDA    #$01
 1076   D1B9 86        01     LDA    #$01
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1077   D1BB B7        CC1D   
STA    >TRNFLG
 1078   D1BE 20        E5     BRA    ZD1A5
 1078   D1BE 20        E5     BRA    ZD1A5
 1079   
 1079   
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1080   D1C0 8D        22     ZD1C0  BSR    ZD1E4
 1081   D1C2 1F        89     TFR    A,B
 1081   D1C2 1F        89     TFR    A,B
 1082   D1C4 8D        1E     BSR    ZD1E4
 1082   D1C4 8D        1E     BSR    ZD1E4
 1083   D1C6 1E        89     EXG    A,B
 1083   D1C6 1E        89     EXG    A,B
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1084   D1C8 F3        CC1B   
ADDD   >LODOFF
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1085   D1CB FD        CC3D   
STD    >ZCC3D
 1086   D1CE 8D        14     BSR    ZD1E4
 1086   D1CE 8D        14     BSR    ZD1E4
 1087   D1D0 1F        89     TFR    A,B
 1087   D1D0 1F        89     TFR    A,B
 1088   D1D2 4D        TSTA
 1088   D1D2 4D        TSTA
 1089   D1D3 27        D0     BEQ    ZD1A5
 1089   D1D3 27        D0     BEQ    ZD1A5
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1090   D1D5 8D        0D     ZD1D5  BSR    ZD1E4
 1091   D1D7 BE        CC3D       
LDX    >ZCC3D
 1091   D1D7 BE        CC3D       
LDX    >ZCC3D
 1092   D1DA A7        80     STA    ,X+
 1092   D1DA A7        80     STA    ,X+
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1093   D1DC BF        CC3D   
STX    >ZCC3D
 1094   D1DF 5A        DECB
 1094   D1DF 5A        DECB
 1095   D1E0 26        F3     BNE    ZD1D5
 1095   D1E0 26        F3     BNE    ZD1D5
 1096   D1E2 20        C1     BRA    ZD1A5
 1096   D1E2 20        C1     BRA    ZD1A5
 1097   
 1097   
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1098   D1E4 8E        C840   ZD1E4  LDX    #FCB
 1099   D1E7 BD        D406   
JSR    >FMS
 1099   D1E7 BD        D406   
JSR    >FMS
 1100       D1EA 27        11     BEQ    ZD1FD
 1100       D1EA 27        11     BEQ    ZD1FD
 1101   D1EC A6        01     LDA    $01,X
 1101   D1EC A6        01     LDA    $01,X
 1102   D1EE 81        08     CMPA   #$08
 1102   D1EE 81        08     CMPA   #$08
 1103   D1F0 26        0E     BNE    ZD200
 1103   D1F0 26        0E     BNE    ZD200
 1104   D1F2 32        62     LEAS   $02,S
 1104   D1F2 32        62     LEAS   $02,S
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1105   D1F4 86        04     ZD1F4  LDA    #$04
 1106   D1F6 A7        84     STA    ,X
 1106   D1F6 A7        84     STA    ,X
 1107   D1F8 BD        D406   
JSR    >FMS
 1107   D1F8 BD        D406   
JSR    >FMS
 1108   D1FB 26        0D     BNE    ZD20A
 1108   D1FB 26        0D     BNE    ZD20A
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1109   D1FD 1C        FE     ZD1FD  ANDCC  #$FE
 1110   D1FF 39        RTS
 1110   D1FF 39        RTS
 1111   
 1111   
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1112   D200 B7        CC20   ZD200  STA    >ERRTYP
 1113   D203 81        04     CMPA   #$04
 1113   D203 81        04     CMPA   #$04
 1114   D205 26        03     BNE    ZD20A
 1114   D205 26        03     BNE    ZD20A
 1115   D207 1A        01     ORCC   #$01
 1115   D207 1A        01     ORCC   #$01
 1116       D209 39        RTS
 1116       D209 39        RTS
 1117   
 1117   
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1118   D20A 8D        73     ZD20A  BSR    RPTER1
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1119   D20C 7E        CDE4   
JMP    >ZCDE4
 1120   *
 1120   *
 1121   ** 'GET' - LOAD BINARY FILE
 1121   ** 'GET' - LOAD BINARY FILE
 1122   *
 1122   *
 1123   D20F 86        00     GETCMD LDA    #$00
 1123   D20F 86        00     GETCMD LDA    #$00
 1124   D211 8D        35     BSR    ZD248
 1124   D211 8D        35     BSR    ZD248
 1125   D213 25        0F     BCS    ZD224
 1125   D213 25        0F     BCS    ZD224
 1126   D215 8D        07     BSR    ZD21E
 1126   D215 8D        07     BSR    ZD21E
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1127   D217 7C        CC4C   
INC    >ZCC4C
 1128   D21A 8D        86     BSR    LOAD1
 1128   D21A 8D        86     BSR    LOAD1
 1129   D21C 20        F1     BRA    GETCMD
 1129   D21C 20        F1     BRA    GETCMD
 1130   
 1130   
 1131   D21E 4F        ZD21E  CLRA
 1131   D21E 4F        ZD21E  CLRA
 1132   D21F 5F        CLRB
 1132   D21F 5F        CLRB
 1133   D220 FD        CC1B   
STD    >LODOFF
 1133   D220 FD        CC1B   
STD    >LODOFF
 1134   D223 39        RTS
 1134   D223 39        RTS
 1135   
 1135   
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1136   D224 F6        CC4C   ZD224  LDB    >ZCC4C
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1137   D227 1027 FBAE 
LBEQ   ZCDD9
 1138   D22B 7E        CD03   
JMP    >WARMS
 1138   D22B 7E        CD03   
JMP    >WARMS
 1139   
 1139   
 1140   D22E 86        02     ZD22E  LDA    #$02
 1140   D22E 86        02     ZD22E  LDA    #$02
 1141   D230 8D        22     BSR    ZD254
 1141   D230 8D        22     BSR    ZD254
 1142   D232 8D        EA     BSR    ZD21E
 1142   D232 8D        EA     BSR    ZD21E
 1143   D234 BD        D1A2       
JSR    >LOAD1
 1143   D234 BD        D1A2       
JSR    >LOAD1
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1144   D237 F6        CC1D   
LDB    >TRNFLG
 1145   D23A 27        04     BEQ    ZD240
 1145   D23A 27        04     BEQ    ZD240
 1146   D23C 6E        9F CC1E
 1146   D23C 6E        9F CC1E
JMP     [TRNVEC]
JMP     [TRNVEC]
 1147   
 1147   
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1148   D240 8E        CC5C   ZD240  LDX    #NTRMSG
 1149   D243 86        81     LDA    #$81
 1149   D243 86        81     LDA    #$81
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1150   D245 7E        CDDE   
JMP    >ZCDDE
 1151   
 1151   
 1152   D248 34        02     ZD248  PSHS   A
 1152   D248 34        02     ZD248  PSHS   A
 1153   D24A 8E        C840   
LDX    #FCB
 1153   D24A 8E        C840   
LDX    #FCB
 1154   D24D BD        D036   
JSR    >GETFL1
 1154   D24D BD        D036   
JSR    >GETFL1
 1155   D250 35        02     PULS   A
 1155   D250 35        02     PULS   A
 1156   D252 25        1A     BCS    ZD26E
 1156   D252 25        1A     BCS    ZD26E
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1157   D254 8E        C840   ZD254  LDX    #FCB
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1158   D257 BD        D0EB   
JSR    >SETEX1
 1159       9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ D25A 8E        C840   
LDX    #FCB
 1159       9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m'     &.8n@& JGGLo !'u΁? o_φ5̂΁ D25A 8E        C840   
LDX    #FCB
 1160   D25D 86        01     LDA    #$01
 1160   D25D 86        01     LDA    #$01
 1161   D25F A7        84     STA    ,X
 1161   D25F A7        84     STA    ,X
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1162   >D261 BD       D1E4   
JSR    >ZD1E4
 1163   D264 1025 00BB 
LBCS   ZD323
 1163   D264 1025 00BB 
LBCS   ZD323
 1164   D268 86        FF     LDA    #$FF
 1164   D268 86        FF     LDA    #$FF
 1165   D26A A7        88 3B  STA    $3B,X
 1165   D26A A7        88 3B  STA    $3B,X
 1166   D26D 39        RTS
 1166   D26D 39        RTS
 1167   
 1167   
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1168   D26E B6        CC11   ZD26E  LDA    >LASTRM
 1169   D271 81        0D     CMPA   #$0D
 1169   D271 81        0D     CMPA   #$0D
 1170   D273 27        07     BEQ    ZD27C
 1170   D273 27        07     BEQ    ZD27C
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1171   D275 B1        CC02   
CMPA   >EOLCHR
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1172   D278 1026 FB5D 
LBNE   ZCDD9
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1173   D27C 1A        01     ZD27C  ORCC   #$01
 1174   D27E 39        RTS
 1174   D27E 39        RTS
 1175   
 1175   
 1176       D27F 34        30     RPTER1 PSHS   Y,X
 1176       D27F 34        30     RPTER1 PSHS   Y,X
 1177   D281 A6        01     LDA    $01,X
 1177   D281 A6        01     LDA    $01,X
 1178   D283 B7        CC20   
STA    >ERRTYP
 1178   D283 B7        CC20   
STA    >ERRTYP
 1179   D286 27        63     BEQ    ZD2EB
 1179   D286 27        63     BEQ    ZD2EB
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1180   D288 BD        CDEA   
JSR    >RSTIO1
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1181   D28B 10BE CC2D 
LDY    >ERRVEC
 1182   D28F 26        08     BNE    ZD299
 1182   D28F 26        08     BNE    ZD299
 1183   D291 81    10     CMPA   #$10
 1183   D291 81    10     CMPA   #$10
 1184   D293 27        58     BEQ    ZD2ED
 1184   D293 27        58     BEQ    ZD2ED
 1185   D295 108E D361 
LDY    #ZD361
 1185   D295 108E D361 
LDY    #ZD361
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1186   D299 8E        C840   ZD299  LDX    #FCB
 1187   D29C 6D        02     TST    $02,X
 1187   D29C 6D        02     TST    $02,X
 1188   D29E 27        09     BEQ    ZD2A9
 1188   D29E 27        09     BEQ    ZD2A9
 1189   D2A0 86        04     LDA    #$04
 1189   D2A0 86        04     LDA    #$04
 1190   D2A2 A7        84     STA    ,X
 1190   D2A2 A7        84     STA    ,X
 1191   D2A4 BD        D406   
JSR    >FMS
 1191   D2A4 BD        D406   
JSR    >FMS
 1192   D2A7 26        2E     BNE    ZD2D7
 1192   D2A7 26        2E     BNE    ZD2D7
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1193   D2A9 8E        C838   ZD2A9  LDX    #ZC838
 1194   D2AC C6        0B     LDB    #$0B
 1194   D2AC C6        0B     LDB    #$0B
 1195   D2AE 8D        6E     BSR    ZD31E
 1195   D2AE 8D        6E     BSR    ZD31E
 1196   D2B0 8E        C840   
LDX    #FCB
 1196   D2B0 8E        C840   
LDX    #FCB
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1197   D2B3 B6        CC0B   
LDA    >SYSDRV
 1198   D2B6 A7    03     STA    $03,X
 1198   D2B6 A7    03     STA    $03,X
 1199   D2B8 86        01     LDA    #$01
 1199   D2B8 86        01     LDA    #$01
 1200   D2BA A7        84     STA    ,X
 1200   D2BA A7        84     STA    ,X
 1201   D2BC BD        D406   
JSR    >FMS
 1201   D2BC BD        D406   
JSR    >FMS
 1202   D2BF 26        16     BNE    ZD2D7
 1202   D2BF 26        16     BNE    ZD2D7
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1203   D2C1 B6        CC20   
LDA    >ERRTYP
 1204   D2C4 4A        DECA
 1204   D2C4 4A        DECA
 1205   D2C5 47        ASRA
 1205   D2C5 47        ASRA
 1206   D2C6 47        ASRA
 1206   D2C6 47        ASRA
 1207       D2C7 4C        INCA
 1207       D2C7 4C        INCA
 1208   D2C8 6F        88 20  CLR    $20,X
 1208   D2C8 6F        88 20  CLR    $20,X
 1209   D2CB A7        88 21  STA    $21,X
 1209   D2CB A7        88 21  STA    $21,X
 1210   D2CE 86        15     LDA    #$15
 1210   D2CE 86        15     LDA    #$15
 1211   D2D0 A7        84     STA    ,X
 1211   D2D0 A7        84     STA    ,X
 1212   D2D2 BD        D406   
JSR    >FMS
 1212   D2D2 BD        D406   
JSR    >FMS
 1213   D2D5 27        1E     BEQ    ZD2F5
 1213   D2D5 27        1E     BEQ    ZD2F5
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DERMSG
 1214   D2D7 8E        CC75   ZD2D7  LDX    #DERMSG
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1215   D2DA BD        CE81   
JSR    >PSTRG1
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1216   D2DD BE        CC3F   
LDX    >ZCC3F
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1217   D2E0 B6        CC20   
LDA    >ERRTYP
 1218   D2E3 A7        01     STA    $01,X
 1218   D2E3 A7        01     STA    $01,X
 1219   D2E5 6F        84     CLR    ,X
 1219   D2E5 6F        84     CLR    ,X
 1220   D2E7 5F        CLRB
 1220   D2E7 5F        CLRB
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1221   D2E8 BD        CF86   
JSR    >OUTDC1
 1222   D2EB 35        B0     ZD2EB      PULS   PC,Y,X
 1222   D2EB 35        B0     ZD2EB      PULS   PC,Y,X
 1223   
 1223   
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1224   D2ED 8E        CC82   ZD2ED  LDX    #DNRMSG
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1225   D2F0 BD        CE81   
JSR    >PSTRG1
 1226   D2F3 20        F6     BRA    ZD2EB
 1226   D2F3 20        F6     BRA    ZD2EB
 1227   
 1227   
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1228   D2F5 BD        CEB5   ZD2F5  JSR    >PCRLF1
 1229   D2F8 8E        C840   
LDX    #FCB
 1229   D2F8 8E        C840   
LDX    #FCB
 1230   D2FB B6        CC20   
LDA    >ERRTYP
 1230   D2FB B6        CC20   
LDA    >ERRTYP
 1231   D2FE 4A        DECA
 1231   D2FE 4A        DECA
 1232   D2FF 84        03     ANDA   #$03
 1232   D2FF 84        03     ANDA   #$03
 1233   D301 C6        3F     LDB    #$3F
 1233   D301 C6        3F     LDB    #$3F
 1234   D303 3D        MUL
 1234   D303 3D        MUL
 1235   D304 CB        04     ADDB   #$04
 1235   D304 CB        04     ADDB   #$04
 1236   D306 E7        88 22  STB    $22,X
 1236   D306 E7        88 22  STB    $22,X
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1237   D309 BD        D406   ZD309  JSR    >FMS
 1238   D30C 26        C9     BNE    ZD2D7
 1238   D30C 26        C9     BNE    ZD2D7
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1239   D30E BD        CF41   
JSR    >PUTCH1
 1240   D311 81        0D     CMPA   #$0D
 1240   D311 81        0D     CMPA   #$0D
 1241   D313 26        F4     BNE    ZD309
 1241   D313 26        F4     BNE    ZD309
 1242   D315 86        04     LDA    #$04
 1242   D315 86        04     LDA    #$04
 1243   D317 A7        84     STA    ,X
 1243   D317 A7        84     STA    ,X
 1244   D319 BD        D406   
JSR    >FMS
 1244   D319 BD        D406   
JSR    >FMS
 1245   D31C 20        CD     BRA    ZD2EB
 1245   D31C 20        CD     BRA    ZD2EB
 1246   D31E 34        30     ZD31E
 1246   D31E 34        30     ZD31E
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR    PSHS   Y,X
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYR    PSHS   Y,X
 1247   D320 7E        D100   
JMP    >ZD100
 1247   D320 7E        D100   
JMP    >ZD100
 1248   
 1248   
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1249   D323 8E        CC6B   ZD323  LDX    #NFDMSG        NOT FOUND
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1250   D326 7E        CDE1   
JMP    >ZCDE1
 1251   *
 1251   *
 1252   ** CALL FLEX AS A SUBROUTINE
 1252   ** CALL FLEX AS A SUBROUTINE
 1253   *
 1253   *
 1254   D329 35        06     DOCMD1 PULS   B,A
 1254   D329 35        06     DOCMD1 PULS   B,A
 1255   D32B FD    CC43   
STD    >ZCC43
 1255   D32B FD    CC43   
STD    >ZCC43
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1256   D32E 10FF CC45 ZD32E  STS    >ZCC45
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1257   D332 7F        CC20   
CLR    >ERRTYP
 1258   D335 7C        CC28   
INC    >CMDFLG
 1258   D335 7C        CC28   
INC    >CMDFLG
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1259   D338 7E        CDB8   
JMP    >ZCDB8
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1260   D33B 7F        CC28   ZD33B  CLR    >CMDFLG
 1261   D33E 10FE CC45 
LDS    >ZCC45
 1261   D33E 10FE CC45 
LDS    >ZCC45
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1262   D342 F6        CC20   
LDB    >ERRTYP
 1263   D345 6E        9F CC43
 1263   D345 6E        9F CC43
JMP     [ZCC43]
JMP     [ZCC43]
 1264   *
 1264   *
 1265   ** ADD ACCB TO IX
 1265   ** ADD ACCB TO IX
 1266   *
 1266   *
 1267   D349 3A        ADDBX1 ABX
 1267   D349 3A        ADDBX1 ABX
 1268   D34A 39        RTS
 1268   D34A 39        RTS
 1269   
 1269   
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1270   D34B 7D        CCFC   ZD34B  TST    >ZCCFC
 1271   D34E 26        04     BNE    ZD354
 1271   D34E 26        04     BNE    ZD354
 1272   D350 6E        9F D3F3
 1272   D350 6E        9F D3F3
JMP     [MONVEC]
JMP     [MONVEC]
 1273   
 1273   
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1274   D354 8E        C840   ZD354  LDX    #FCB
 1275   D357 86        1B     LDA    #$1B
 1275   D357 86        1B     LDA    #$1B
 1276   D359 A7        01     STA    $01,X
 1276   D359 A7        01     STA    $01,X
 1277   D35B BD        D27F   
JSR    >RPTER1
 1277   D35B BD        D27F   
JSR    >RPTER1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1278   D35E 7E        CD67   
JMP    >WARM1
 1279   
 1279   
 1280   D361 45 52 52 4F   ZD361  FCC    /ERRORS/
 1280   D361 45 52 52 4F   ZD361  FCC    /ERRORS/
 1281   D367 00 00     FCB    $00,$00
 1281   D367 00 00     FCB    $00,$00
 1282   D369 53 59 53  FCC    /SYS/
 1282   D369 53 59 53  FCC    /SYS/
 1283   END
 1283   END
 1285   *
 1285   *
 1286   ** TERMINAL AND PRINTER DRIVERS
 1286   ** TERMINAL AND PRINTER DRIVERS
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1287   ** SYS09BUG - Spartan 3 Starter Board
 1288   *
 1288   *
 1289   ** FLEX DRIVER MEMORY MAP:
 1289   ** FLEX DRIVER MEMORY MAP:
 1290       ** C700 - C83F PRINTER SPOOLER
 1290       ** C700 - C83F PRINTER SPOOLER
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1291   ** CCC0 - CCF7 PRINTER DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1292   ** D370 - D3FF CONSOLE DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1293   ** DE00 - DFAF DISK DRIVERS
 1294   *
 1294   *
 1295   *
 1295   *
 1296   ** INTERRUPT VECTORS
 1296   ** INTERRUPT VECTORS
 1297   *
 1297   *
 1298   DFC8   IRQVEC EQU    MONRAM+$08

 1298   DFC8   IRQVEC EQU    MONRAM+$08

 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1299   DFC2   SWIVEC EQU    MONRAM+$02 SWI3 VECTOR
 1300   *
 1300   *
 1301   ** PRINTER DRIVERS
 1301   ** PRINTER DRIVERS
 1302   *
 1302   *
 1303   CCC0   ORG    $CCC0
 1303   CCC0   ORG    $CCC0
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1304   CCC0 7E        D370   PINIT  JMP    DUMRTS INITIATE PRINTER
 1305   CCD8   ORG    $CCD8
 1305   CCD8   ORG    $CCD8
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHECK IF PRINTER READY
 1306   CCD8 7E        D370   PCHK   JMP    DUMRTS CHECK IF PRINTER READY
 1307   CCE4   ORG    $CCE4
 1307   CCE4   ORG    $CCE4
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1308   CCE4 7E        D370   POUT   JMP    DUMRTS OUTPUT CHR. TO PRINTER
 1309   CCF8   ORG    $CCF8
 1309   CCF8   ORG    $CCF8
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1310   CCF8 01 00 00 00       ZCCF8  FCB    $01,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1311   CCFC 00 00 00 00       ZCCFC  FCB    $00,$00,$00,$00
 1312   *
 1312   *
 1313   ** CONSOLE DRIVER PATCHES:
 1313   ** CONSOLE DRIVER PATCHES:
 1314   *
 1314   *
 1315   D370   ORG    $D370
 1315   D370   ORG    $D370
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1316   D370   IHND   EQU    *              INTERRUPT HANDLER
 1317   D370   TMON   EQU    *              TIMER ON
 1317   D370   TMON   EQU    *              TIMER ON
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1318   D370   TMOFF  EQU    *              TIMER OFF
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1319   D370   TMINT  EQU    *              TIMER INITIALIZATION
 1320   D370       DUMRTS EQU    *
 1320   D370       DUMRTS EQU    *
 1321   D370 39        RTS
 1321   D370 39        RTS
 1322   *
 1322   *
 1323   ** SBUG MONITOR I/O CALLS
 1323   ** SBUG MONITOR I/O CALLS
 1324   *
 1324   *
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1325   >D371 7E       D370   TERINZ JMP    DUMRTS INITIATE ACIA
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1326   D374 6E        9F F804        INCHNE JMP    [MONROM+$04] INPUT WITHOUT ECHO
 1327   D378 6E        9F F800        MONITR     JMP    [MONROM+$00]
 1327   D378 6E        9F F800        MONITR     JMP    [MONROM+$00]
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1328   D37C 6E        9F F808        INCHEK JMP    [MONROM+$08] CHECK FOR TERMINAL ENTRY
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1329   D380 6E        9F F80A        OUTEEE JMP    [MONROM+$0A] OUPUT CHARACTER
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1330   D384 6E        9F F806        INEEE  JMP    [MONROM+$06] INPUT WITH ECHO
 1331   
 1331   
 1332       *
 1332       *
 1333   ** AUTO BLOCK FDBS
 1333   ** AUTO BLOCK FDBS
 1334   *
 1334   *
 1335   D3E5   ORG    $D3E5
 1335   D3E5   ORG    $D3E5
 1336   D3E5 D374
 1336   D3E5 D374
ZD3E5   FDB    INCHNE INPUT - NO ECHO
ZD3E5   FDB    INCHNE INPUT - NO ECHO
 1337   D3E7 D370
 1337   D3E7 D370
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
IHNDVC  FDB    IHND   IRQ INTERRUPT HANDLER
 1338   D3E9 DFC2
 1338   D3E9 DFC2
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
SWIVVC  FDB    SWIVEC SWI3 VECTOR LOCATION
 1339   D3EB DFC8
 1339   D3EB DFC8
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
IRQVVC  FDB    IRQVEC IRQ VECTOR LOCATION
 1340   D3ED D370
 1340   D3ED D370
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
TOFVEC  FDB    TMOFF  TIMER OFF ROUTINE
 1341   D3EF D370
 1341   D3EF D370
TONVEC  FDB    TMON   TIMER ON ROUTINE
TONVEC  FDB    TMON   TIMER ON ROUTINE
 1342   D3F1 D370
 1342   D3F1 D370
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
TINVEC  FDB    TMINT  TIMER INITIALIZE ROUTINE
 1343   D3F3 D378
 1343   D3F3 D378
MONVEC  FDB        MONITR MONITOR RETURN ADDRESS
MONVEC  FDB        MONITR MONITOR RETURN ADDRESS
 1344   D3F5 D371
 1344   D3F5 D371
TERVEC  FDB    TERINZ TERMINAL INITIATION
TERVEC  FDB    TERINZ TERMINAL INITIATION
 1345   D3F7 D37C
 1345   D3F7 D37C
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
STAVEC  FDB    INCHEK CHECK TERMINAL STATUS
 1346   D3F9 D380
 1346   D3F9 D380
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
OUTVEC  FDB    OUTEEE TERMINAL CHAR OUTPUT
 1347   D3FB D384
 1347   D3FB D384
INVEC   FDB    INEEE      TERMINAL INPUT CHARACTER
INVEC   FDB    INEEE      TERMINAL INPUT CHARACTER
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1348   D3FD 7E        CA00   ZD3FD  JMP    ZCA00
 1349   END
 1349   END
 1351   *
 1351   *
 1352   ** FILE MANAGEMENT SYSTEM
 1352   ** FILE MANAGEMENT SYSTEM
 1353   *
 1353   *
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1354   >D400 7E       D436   ZD400  JMP    >ZD436
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1355   >D403 7E       D459   FMSCLS JMP    >ZD459
 1356   >D406 7E       D47B   FMS        JMP    >FMS1
 1356   >D406 7E       D47B   FMS        JMP    >FMS1
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1357   D409 20 44 49 53       CPYMSG FCC    / DISK OPERATING SYSTEM/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1358   D41F 20 43 4F 50       FCC    / COPYRIGHT (C) 1980 BY/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1359   D435 20 54 45 43       FCC    / TECHNICAL SYSTEMS CONSULTANTS/
 1360   D409   ORG    CPYMSG
 1360   D409   ORG    CPYMSG
 1361   D409   FCBPTR RMB    2

 1361   D409   FCBPTR RMB    2

 1362   D40B   CURFCB RMB    4
 1362   D40B   CURFCB RMB    4
 1363   D40F   ZD40F  RMB    2
 1363   D40F   ZD40F  RMB    2
 1364   D411   ZD411  RMB    1
 1364   D411   ZD411  RMB    1
 1365   D412   ZD412  RMB    1
 1365   D412   ZD412  RMB    1
 1366   D413   ZD413  RMB    1
 1366   D413   ZD413  RMB    1
 1367   D414   ZD414  RMB    1
 1367   D414   ZD414  RMB    1
 1368   D415   ZD415  RMB    2
 1368   D415   ZD415  RMB    2
 1369   D417   ZD417  RMB    1
 1369   D417   ZD417  RMB    1
 1370   D418   ZD418  RMB    2
 1370   D418   ZD418  RMB    2
 1371   D41A   ZD41A  RMB    1
 1371   D41A   ZD41A  RMB    1
 1372   D41B   ZD41B  RMB    2
 1372   D41B   ZD41B  RMB    2
 1373   D41D   ZD41D  RMB    24
 1373   D41D   ZD41D  RMB    24
 1374   D435 FF        VERFLG FCB    $FF
 1374   D435 FF        VERFLG FCB    $FF
 1375   *
 1375   *
 1376   **
 1376   **
 1377   *
 1377   *
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1378   D436 BD        DE15   ZD436  JSR    >COLDDR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1379   D439 8E        D409   
LDX    #FCBPTR
 1380   D43C C6        0A     L"IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
 1380   D43C C6        0A     L"IGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5  
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ   DB    #$0A
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ   DB    #$0A
 1381   D43E 8D        11     BSR    ZD451
 1381   D43E 8D        11     BSR    ZD451
 1382   D440 8E        0005   
LDX    #Z0005
 1382   D440 8E        0005   
LDX    #Z0005
 1383   D443 BF        D413   
STX    >ZD413
 1383   D443 BF        D413   
STX    >ZD413
 1384   D446 BF        D415   
STX    >ZD415
 1384   D446 BF        D415   
STX    >ZD415
 1385   D449 7F        D41A   
CLR    >ZD41A
 1385   D449 7F        D41A   
CLR    >ZD41A
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1386   D44C 8E        D41B   ZD44C  LDX    #ZD41B
 1387   D44F C6        1A     LDB    #$1
 1387   D44F C6        1A     LDB    #$1
A
A
 1388   D451 6F        80     ZD451  CLR    ,X+
 1388   D451 6F        80     ZD451  CLR    ,X+
 1389   D453 5A        DECB
 1389   D453 5A        DECB
 1390   D454 26        FB     BNE    ZD451
 1390   D454 26        FB     BNE    ZD451
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1391   D456 7E        C70C   
JMP    >PRSPL5
 1392   
 1392   
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1393   D459 BD        C709   ZD459  JSR    >PRSPL4
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1394   D45C BE        D409   ZD45C  LDX    >FCBPTR
 1395   D45F 27        EB     BEQ    ZD44C
 1395   D45F 27        EB     BEQ    ZD44C
 1396   D461 30        88 E4  LEAX   -$1C,X
 1396   D461 30        88 E4  LEAX   -$1C,X
 1397   D464 BF        D40B   
STX    >CURFCB
 1397   D464 BF        D40B   
STX    >CURFCB
 1398   D467 34        20     PSHS   Y
 1398   D467 34        20     PSHS   Y
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1399   D469 BD        DAC3   
JSR    >CLOSE
 1400   D46C 35        20     PULS   Y
 1400   D46C 35        20     PULS   Y
 1401   D46E 24        EC     BCC    ZD45C
 1401   D46E 24        EC     BCC    ZD45C
 1402   D470 BE        D40B   
LDX    >CURFCB
 1402   D470 BE        D40B   
LDX    >CURFCB
 1403   D473 6F    02     CLR    $02,X
 1403   D473 6F    02     CLR    $02,X
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1404   D475 BD        C70C   
JSR    >PRSPL5
 1405   D478 C6        FF     LDB    #$FF
 1405   D478 C6        FF     LDB    #$FF
 1406   D47A 39        RTS
 1406   D47A 39        RTS
 1407   
 1407   
 1408   *
 1408   *
 1409   ** FMS CALL, PROCESSING
 1409   ** FMS CALL, PROCESSING
 1410   *
 1410   *
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1411   D47B 7D        CCFC   FMS1   TST    >ZCCFC
 1412   D47E 27        03     BEQ    ZD483
 1412   D47E 27        03     BEQ    ZD483
 1413   D480
 BD    C709   
JSR    >PRSPL4
 1413   D480
 BD    C709   
JSR    >PRSPL4
 1414   D483 34        24     ZD483  PSHS   Y,B
 1414   D483 34        24     ZD483  PSHS   Y,B
 1415   D485 BF        D40B   
STX    >CURFCB
 1415   D485 BF        D40B   
STX    >CURFCB
 1416   D488 6F        01     CLR    $01,X
 1416   D488 6F        01     CLR    $01,X
 1417   D48A E6        84     LDB    ,X
 1417   D48A E6        84     LDB    ,X
 1418   D48C 26        22     BNE    DOFUNC
 1418   D48C 26        22     BNE    DOFUNC
 1419   *
 1419   *
 1420   ** READ/WRITE CHAR/BYTE
 1420   ** READ/WRITE CHAR/BYTE
 1421   *
 1421   *
 1422   D48E E6    02     LDB    $02,X
 1422   D48E E6    02     LDB    $02,X
 1423   D490 27        1A     BEQ    ZD4AC
 1423   D490 27        1A     BEQ    ZD4AC
 1424   D492 C1        02     CMPB   #$02
 1424   D492 C1        02     CMPB   #$02
 1425   D494 27        11     BEQ    ZD4A7
 1425   D494 27        11     BEQ    ZD4A7
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1426   D496 BD        D5B4   
JSR    >ZD5B4
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1427   D499 BE        D40B   ZD499  LDX    >CURFCB
 1428   D49C 25        26     BCS    ZD4C4
 1428   D49C 25        26     BCS    ZD4C4
 1429   D49E 7D        CCFC   
TST        >ZCCFC
 1429   D49E 7D        CCFC   
TST        >ZCCFC
 1430   D4A1 26        23     BNE    ZD4C6
 1430   D4A1 26        23     BNE    ZD4C6
 1431   D4A3 5F        CLRB
 1431   D4A3 5F        CLRB
 1432   D4A4 35        24     PULS   Y,B
 1432   D4A4 35        24     PULS   Y,B
 1433   D4A6 39        RTS
 1433   D4A6 39        RTS
 1434   
 1434   
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1435   D4A7 BD        D6CF   ZD4A7  JSR    >ZD6CF
 1436   D4AA 20        ED     BRA    ZD499
 1436   D4AA 20        ED     BRA    ZD499
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1437   D4AC C6        12     ZD4AC  LDB    #$12
 1438   D4AE 20    14     BRA    ZD4C4
 1438   D4AE 20    14     BRA    ZD4C4
 1439   
 1439   
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1440   D4B0 C1        16     DOFUNC CMPB   #$16
 1441   D4B2 23        04     BLS    DOFUN1
 1441   D4B2 23        04     BLS    DOFUN1
 1442   D4B4 C6        01     LDB    #$01
 1442   D4B4 C6        01     LDB    #$01
 1443   D4B6 20        0C     BRA    ZD4C4
 1443   D4B6 20        0C     BRA    ZD4C4
 1444   D4B8 5A        DOFUN1 DECB
 1444   D4B8 5A        DOFUN1 DECB
 1445   D4B9 58        ASLB
 1445   D4B9 58        ASLB
 1446   D4BA 8E        D4CE   
LDX    #FMSTBL
 1446   D4BA 8E        D4CE   
LDX    #FMSTBL
 1447   D4BD AD        95     JSR    [B,X]
 1447   D4BD AD        95     JSR    [B,X]
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1448   D4BF BE        D40B   
LDX    >CURFCB
 1449   D4C2 24        02     BCC    ZD4C6
 1449   D4C2 24        02     BCC    ZD4C6
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1450   D4C4 E7        01     ZD4C4  STB    $01,X
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1451   D4C6 BD        C70C   ZD4C6  JSR    >PRSPL5
 1452   D4C9 6D        01     TST    $01,X
 1452   D4C9 6D        01     TST    $01,X
 1453   D4CB 35        24     PULS   Y,B
 1453   D4CB 35        24     PULS   Y,B
 1454       D4CD 39        RTS
 1454       D4CD 39        RTS
 1455   *
 1455   *
 1456   ** FMS COMMAND VECTOR TABLE
 1456   ** FMS COMMAND VECTOR TABLE
 1457   *
 1457   *
 1458   D4CE D986
 1458   D4CE D986
FMSTBL  FDB    OPENRD FC 1
FMSTBL  FDB    OPENRD FC 1
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1459   D4D0 D9D9      FDB    OPENWR FC 2
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1460   D4D2 DAF9      FDB    OPENUD FC 3
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1461   D4D4 DAC3      FDB    CLOSE  FC 4
 1462   D4D6 D5E2      FDB    REWIND     FC 5
 1462   D4D6 D5E2      FDB    REWIND     FC 5
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1463   D4D8 D81D      FDB    OPNDIR FC 6
 1464   D4DA D838      FDB    GETREC FC 7
 1464   D4DA D838      FDB    GETREC FC 7
 1465   D4DC D876      FDB    PUTREC FC 8
 1465   D4DC D876      FDB    PUTREC FC 8
 1466   D4DE D641      FDB    RDSECT FC 9
 1466   D4DE D641      FDB    RDSECT FC 9
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1467   D4E0 D69F      FDB    WRSECT FC 10
 1468   D4E2 D969      FDB    RESV1  FC 11
 1468   D4E2 D969      FDB    RESV1  FC 11
 1469   D4E4 DBD6      FDB        DELETE FC 12
 1469   D4E4 DBD6      FDB        DELETE FC 12
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1470   D4E6 DB2C      FDB    RENAME FC 13
 1471   D4E8 D699      FDB    RESV2  FC 14
 1471   D4E8 D699      FDB    RESV2  FC 14
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1472   D4EA DA87      FDB    NXTSEC FC 15
 1473   D4EC D810      FDB    OPNREC FC 16
 1473   D4EC D810      FDB    OPNREC FC 16
 1474   D4EE D56F      FDB    GETBYT FC 17
 1474   D4EE D56F      FDB    GETBYT FC 17
 1475   D4F0 D590      FDB    PUTBYT FC 18
 1475   D4F0 D590      FDB    PUTBYT FC 18
 1476       D4F2 DB07      FDB    RESV3  FC 19
 1476       D4F2 DB07      FDB    RESV3  FC 19
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1477   D4F4 DDBD      FDB    NXTDRV FC 20
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1478   D4F6 DCFB      FDB    POSREC FC 21
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1479   D4F8 DCE5      FDB    BAKREC FC 22
 1480   *
 1480   *
 1481   **
 1481   **
 1482   *
 1482   *
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1483   D4FA 8D        20     ZD4FA  BSR    ZD51C
 1484   D4FC 26        05     BNE    ZD503
 1484   D4FC 26        05     BNE    ZD503
 1485       D4FE C6        02     LDB    #$02
 1485       D4FE C6        02     LDB    #$02
 1486   D500 1A        01     ORCC   #$01
 1486   D500 1A        01     ORCC   #$01
 1487   D502 39        RTS
 1487   D502 39        RTS
 1488   
 1488   
 1489   D503 ED        84     ZD503  STD    ,X
 1489   D503 ED        84     ZD503  STD    ,X
 1490   D505 AE        84     LDX    ,X
 1490   D505 AE        84     LDX    ,X
 1491   D507 6F        84     CLR    ,X
 1491   D507 6F        84     CLR    ,X
 1492   D509 6F        01     CLR    $01,X
 1492   D509 6F        01     CLR    $01,X
 1493   D50B 39        RTS
 1493   D50B 39        RTS
 1494   
 1494   
 1495   D50C 8D    0E     ZD50C  BSR    ZD51C
 1495   D50C 8D    0E     ZD50C  BSR    ZD51C
 1496   D50E 27        05     BEQ    ZD515
 1496   D50E 27        05     BEQ    ZD515
 1497   D510 C6        0D     LDB    #$0D
 1497   D510 C6        0D     LDB    #$0D
 1498   D512 1A        01     ORCC   #$01
 1498   D512 1A        01     ORCC   #$01
 1499   D514 39        RTS
 1499   D514 39        RTS
 1500   
 1500   
 1501   D515 EC        94     ZD515  LDD    [,X]
 1501   D515 EC        94     ZD515  LDD    [,X]
 1502   D517 ED        84     STD    ,X
 1502   D517 ED        84     STD    ,X
 1503   D519 1C        FE     ANDCC  #$FE
 1503   D519 1C        FE     ANDCC  #$FE
 1504   D51B 39        RTS
 1504   D51B 39        RTS
 1505   
 1505   
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1506   D51C FC        D40B   ZD51C  LDD    >CURFCB
 1507   D51F C3        001C   
ADDD   #$001C
 1507   D51F C3        001C   
ADDD   #$001C
 1508   D522 8E        D409   
LDX    #FCBPTR
 1508   D522 8E        D409   
LDX    #FCBPTR
 1509   D525 10AE 84   ZD525  LDY    ,X
 1509   D525 10AE 84   ZD525  LDY    ,X
 1510   D528 26        03     BNE    ZD52D
 1510   D528 26        03     BNE    ZD52D
 1511   D52A 1C        FB     ANDCC  #$FB

 1511   D52A 1C        FB     ANDCC  #$FB

 1512   D52C 39        RTS
 1512   D52C 39        RTS
 1513   
 1513   
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1514   D52D 10A3 84   ZD52D  CMPD   ,X
 1515   D530 26        01     BNE    ZD533
 1515   D530 26        01     BNE    ZD533
 1516   D532 39        RTS
 1516   D532 39        RTS
 1517   D533 AE        84     ZD533  LDX    ,X
 1517   D533 AE        84     ZD533  LDX    ,X
 1518   D535 20        EE     BRA    ZD525
 1518   D535 20        EE     BRA    ZD525
 1519   
 1519   
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1520   D537 BE        D40B   ZD537  LDX    >CURFCB
 1521   D53A 4F    CLRA
 1521   D53A 4F    CLRA
 1522   D53B 5F        CLRB
 1522   D53B 5F        CLRB
 1523   D53C 8D        02     BSR    ZD540
 1523   D53C 8D        02     BSR    ZD540
 1524   D53E C6        2F     LDB    #$2F
 1524   D53E C6        2F     LDB    #$2F
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1525   D540 A7        88 11  ZD540  STA    $11,X
 1526   D543 30        01     LEAX   $01,X
 1526   D543 30        01     LEAX   $01,X
 1527   D545 5A        DECB
 1527   D545 5A        DECB
 1528   D546 26        F8     BNE    ZD540
 1528   D546 26        F8     BNE    ZD540
 1529   D548 39        RTS
 1529   D548 39        RTS
 1530       
 1530       
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1531   D549 BE        D40B   ZD549  LDX    >CURFCB
 1532   D54C C6        0B     LDB    #$0B
 1532   D54C C6        0B     LDB    #$0B
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1533   D54E A6        04     ZD54E  LDA    $04,X
 1534   D550 A7        88 24  STA    $24,X
 1534   D550 A7        88 24  STA    $24,X
 1535   D553 30        01     LEAX   $01,X
 1535   D553 30        01     LEAX   $01,X
 1536   D555 5A        DECB
 1536   D555 5A        DECB
 1537   D556 26        F6     BNE    ZD54E
 1537   D556 26        F6     BNE    ZD54E
 1538   D558 39    RTS
 1538   D558 39    RTS
 1539   
 1539   
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1540   D559 BE        D40B   ZD559  LDX    >CURFCB
 1541   D55C C6        0B     LDB    #$0B
 1541   D55C C6        0B     LDB    #$0B
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1542   D55E A6        04     ZD55E  LDA    $04,X
 1543   D560 34        02     PSHS   A
 1543   D560 34        02     PSHS   A
 1544   D562 A6        88 24  LDA    $24,X
 1544   D562 A6        88 24  LDA    $24,X
 1545   D565 A1        E0     CMPA   ,S+
 1545   D565 A1        E0     CMPA   ,S+
 1546   D567 26        05     BNE    ZD56E
 1546   D567 26        05     BNE    ZD56E
 1547   D569 30        01     LEAX   $01,X
 1547   D569 30        01     LEAX   $01,X
 1548   D56B 5A        DECB
 1548   D56B 5A        DECB
 1549   D56C 26        F0     BNE    ZD55E
 1549   D56C 26        F0     BNE    ZD55E
 1550   D56E 39        ZD56E  RTS
 1550   D56E 39        ZD56E  RTS
 1551   *
 1551   *
 1552   ** GET RANDOM BYTE FROM SECTOR
 1552   ** GET RANDOM BYTE FROM SECTOR
 1553   *
 1553   *
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1554   D56F BE        D40B   GETBYT LDX    >CURFCB
 1555   D572 E6        02     LDB    $02,X
 1555   D572 E6        02     LDB    $02,X
 1556   D574 54        LSRB
 1556   D574 54        LSRB
 1557   D575 24        79     BCC    ZD5F0
 1557   D575 24        79     BCC    ZD5F0
 1558   D577 E6        88 23  LDB    $23,X
 1558   D577 E6        88 23  LDB    $23,X
 1559   D57A 7E        D600   
JMP    >ZD600
 1559   D57A 7E        D600   
JMP    >ZD600
 1560   
 1560   
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1561   D57D BE        D40B   ZD57D  LDX    >CURFCB
 1562   D580 E6        88 22  LDB    $22,X
 1562   D580 E6        88 22  LDB    $22,X
 1563   D583 6C        88 22  INC    $22,X
 1563   D583 6C        88 22  INC    $22,X
 1564       D586 3A        ABX
 1564       D586 3A        ABX
 1565   D587 A7        88 40  STA    $40,X
 1565   D587 A7        88 40  STA    $40,X
 1566   D58A 5C        INCB
 1566   D58A 5C        INCB
 1567   D58B 26        1F     BNE    ZD5AC
 1567   D58B 26        1F     BNE    ZD5AC
 1568   D58D 1A        01     ORCC   #$01
 1568   D58D 1A        01     ORCC   #$01
 1569   D58F 39        RTS
 1569   D58F 39        RTS
 1570   *
 1570   *
 1571   ** PUT RANDOM BYTE IN SECTOR
 1571   ** PUT RANDOM BYTE IN SECTOR
 1572   *
 1572   *
 1573   D590 BE        D40B   PUTBYT LDX     >CURFCB
 1573   D590 BE        D40B   PUTBYT LDX     >CURFCB
 1574   D593 E6        02     LDB    $02,X
 1574   D593 E6        02     LDB    $02,X
 1575   D595 C4        03     ANDB   #$03
 1575   D595 C4        03     ANDB   #$03
 1576   D597 C1        03     CMPB   #$03
 1576   D597 C1        03     CMPB   #$03
 1577   D599 26        55     BNE    ZD5F0
 1577   D599 26        55     BNE    ZD5F0
 1578   D59B CA        80     ORB    #$80
 1578   D59B CA        80     ORB    #$80
 1579   D59D E7        02     STB    $02,X
 1579   D59D E7        02     STB    $02,X
 1580   D59F E6        0F     LDB    $0F,X
 1580   D59F E6        0F     LDB    $0F,X
 1581   D5A1 C5        80     !BITB       #$80
 1581   D5A1 C5        80     !BITB       #$80
 1582   D5A3 26        0A     BNE    ZD5AF
 1582   D5A3 26        0A     BNE    ZD5AF
 1583   D5A5 E6        88 23  LDB    $23,X
 1583   D5A5 E6        88 23  LDB    $23,X
 1584   D5A8 3A        ABX
 1584   D5A8 3A        ABX
 1585   D5A9 A7        88 40  STA    $40,X
 1585   D5A9 A7        88 40  STA    $40,X
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1586   D5AC 1C        FE     ZD5AC  ANDCC  #$FE
 1587   D5AE 39        RTS
 1587   D5AE 39        RTS
 1588   
 1588   
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1589   D5AF C6        0B     ZD5AF  LDB    #$0B
 1590   D5#B1 1A    01     ORCC   #$01
 1590   D5#B1 1A    01     ORCC   #$01
 1591   D5B3 39        RTS
 1591   D5B3 39        RTS
 1592   
 1592   
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1593   D5B4 A6        88 3B  ZD5B4  LDA    $3B,X
 1594   D5B7 2B        3C     BMI    ZD5F5
 1594   D5B7 2B        3C     BMI    ZD5F5
 1595   D5B9 27        07     BEQ    ZD5C2
 1595   D5B9 27        07     BEQ    ZD5C2
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1596   D5BB 6A        88 3B  DEC    $3B,X
 1597   D5BE 86        20     LDA    #$20
 1597   D5BE 86        20     LDA    #$20
 1598   D5C0 20        1D     BRA    ZD0 &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
 1598   D5C0 20        1D     BRA    ZD0 &9턮oo9'
99        &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠$5DF
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠$5DF
 1599   
 1599   
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1600   D5C2 8D        31     ZD5C2  BSR    ZD5F5
 1601   D5C4 25        1B     BCS    ZD5E1
 1601   D5C4 25        1B     BCS    ZD5E1
 1602   D5C6 81        18     CMPA   #$18
 1602   D5C6 81        18     CMPA   #$18
 1603   D5C8 22        15     BHI    ZD5DF
 1603   D5C8 22        15     BHI    ZD5DF
 1604   D5CA 27        F6     BEQ    ZD5C2
 1604   D5CA 27        F6     BEQ    ZD5C2
 1605   D5CC 81        09     CMPA   #$09
 1605   D5CC 81        09     CMPA   #$09
 1606   D5CE 26        0C     BNE    ZD5DC
 1606   D5CE 26        0C     BNE    ZD5DC
 1607   %D5D0 8D    23     BSR    ZD5F5
 1607   %D5D0 8D    23     BSR    ZD5F5
 1608   D5D2 25        0D     BCS    ZD5E1
 1608   D5D2 25        0D     BCS    ZD5E1
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1609   D5D4 BE        D40B   
LDX    >CURFCB
 1610   D5D7 A7        88 3B  STA    $3B,X
 1610   D5D7 A7        88 3B  STA    $3B,X
 1611   D5DA 20        D8     BRA    ZD5B4
 1611   D5DA 20        D8     BRA    ZD5B4
 1612   
 1612   
 1613   D5DC 4D        ZD5DC  TSTA
 1613   D5DC 4D        ZD5DC  TSTA
 1614   D5DD 27        E3     BEQ    ZD5C2
 1614   D5DD 27        E3     BEQ    ZD5C2
 1615   D5DF 1C        FE     ZD&5DF      ANDCC  #$FE
 1615   D5DF 1C        FE     ZD&5DF      ANDCC  #$FE
 1616   D5E1 39        ZD5E1  RTS
 1616   D5E1 39        ZD5E1  RTS
 1617   *
 1617   *
 1618   ** REWIND FILE
 1618   ** REWIND FILE
 1619   *
 1619   *
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1620   D5E2 BD        DAB1   REWIND JSR    >ZDAB1
 1621   D5E5 25        09     BCS    ZD5F0
 1621   D5E5 25        09     BCS    ZD5F0
 1622   D5E7 85        01     BITA   #$01
 1622   D5E7 85        01     BITA   #$01
 1623   D5E9 27        05     BEQ    ZD5F0
 1623   D5E9 27        05     BEQ    ZD5F0
 1624   D5EB A7        84     STA    ',X
 1624   D5EB A7        84     STA    ',X
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1625   D5ED 7E        D9A0   
JMP    >ZD9A0
 1626   
 1626   
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1627   D5F0 C6        12     ZD5F0  LDB    #$12
 1628   D5F2 1A        01     ORCC   #$01
 1628   D5F2 1A        01     ORCC   #$01
 1629   D5F4 39        RTS
 1629   D5F4 39        RTS
 1630   
 1630   
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1631   D5F5 BE        D40B   ZD5F5  LDX    >CURFCB
 1632   D5F8 E6        88 22  LDB    $22,X
 1632   D5F8 E6        88 22  LDB    $22,X
 1633   D5FB 27        0A     BEQ    (ZD607
 1633   D5FB 27        0A     BEQ    (ZD607
 1634   D5FD 6C        88 22  INC    $22,X
 1634   D5FD 6C        88 22  INC    $22,X
 1635   D600 3A        ZD600  ABX
 1635   D600 3A        ZD600  ABX
 1636   D601 A6        88 40  LDA    $40,X
 1636   D601 A6        88 40  LDA    $40,X
 1637   D604 1C        FE     ANDCC  #$FE
 1637   D604 1C        FE     ANDCC  #$FE
 1638   D606 39        RTS
 1638   D606 39        RTS
 1639   
 1639   
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1640   D607 8D        03     ZD607  BSR    ZD60C
 1641   D609 24        EA     BCC    ZD5F5
 1641   D609 24        EA     BCC    ZD5F5
 1642   D60B 3)9    RTS
 1642   D60B 3)9    RTS
 1643   
 1643   
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1644   D60C BE        D40B   ZD60C  LDX    >CURFCB
 1645   D60F EC        88 40  LDD    $40,X
 1645   D60F EC        88 40  LDD    $40,X
 1646   D612 6C        88 21  INC    $21,X
 1646   D612 6C        88 21  INC    $21,X
 1647   D615 26        03     BNE    ZD61A
 1647   D615 26        03     BNE    ZD61A
 1648   D617 6C        88 20  INC    $20,X
 1648   D617 6C        88 20  INC    $20,X
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1649   D61A 1083 0000 ZD61A  CMPD   #$0000
 1650   D61E* 27    1C     BEQ    ZD63C
 1650   D61E* 27    1C     BEQ    ZD63C
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1651   D620 ED        88 1E  ZD620  STD    $1E,X
 1652   D623 34        02     PSHS   A
 1652   D623 34        02     PSHS   A
 1653   D625 86        04     LDA    #$04
 1653   D625 86        04     LDA    #$04
 1654   D627 A7        88 22  STA    $22,X
 1654   D627 A7        88 22  STA    $22,X
 1655   D62A 35        02     PULS   A
 1655   D62A 35        02     PULS   A
 1656   D62C 8D        13     BSR    RDSECT
 1656   D62C 8D        13     BSR    RDSECT
 1657   D62E 24        10     BCC    ZD640
 1657   D62E 24        10     BCC    ZD640
+ 1658       D630 C5        80     BITB   #$80
+ 1658       D630 C5        80     BITB   #$80
 1659   D632 27        04     BEQ    ZD638
 1659   D632 27        04     BEQ    ZD638
 1660   D634 C6        10     LDB    #$10
 1660   D634 C6        10     LDB    #$10
 1661   D636 20        06     BRA    ZD63E
 1661   D636 20        06     BRA    ZD63E
 1662   
 1662   
 1663   D638 C6        09     ZD638  LDB    #$09
 1663   D638 C6        09     ZD638  LDB    #$09
 1664   D63A 20        02     BRA    ZD63E
 1664   D63A 20        02     BRA    ZD63E
 1665   
 1665   
 1666   D63C C6        08     ZD63C  LDB    #$08
,
 1666   D63C C6        08     ZD63C  LDB    #$08
,
 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1667   D63E 1A        01     ZD63E  ORCC   #$01
 1668   D640 39        ZD640  RTS
 1668   D640 39        ZD640  RTS
 1669   *
 1669   *
 1670   ** READ SINGLE SECTOR
 1670   ** READ SINGLE SECTOR
 1671   *
 1671   *
 1672   D641 8D        25     RDSECT BSR    ZD668
 1672   D641 8D        25     RDSECT BSR    ZD668
 1673   D643 BE        D40B   
LDX    >CURFCB
 1673   D643 BE        D40B   
LDX    >CURFCB
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1674   D646 BD        DE0C   
JSR    >DRIVE
 1675   D649 25        12     BCS-        ZD65D
 1675   D649 25        12     BCS-        ZD65D
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1676   D64B 8D        11     ZD64B  BSR    ZD65E
 1677   D64D BD        DE00   
JSR    >READ
 1677   D64D BD        DE00   
JSR    >READ
 1678   D650 26        03     BNE    ZD655
 1678   D650 26        03     BNE    ZD655
 1679   D652 1C        FE     ANDCC  #$FE
 1679   D652 1C        FE     ANDCC  #$FE
 1680   D654 39        RTS
 1680   D654 39        RTS
 1681   
 1681   
 1682   D655 34        04     ZD655  PSHS   B
 1682   D655 34        04     ZD655  PSHS   B
 1683   D657 8D        17     BSR    ZD670
 1683   D657 8D        17     BSR    ZD670
 1684   .D659 35    04     PULS   B
 1684   .D659 35    04     PULS   B
 1685   D65B 24        EE     BCC    ZD64B
 1685   D65B 24        EE     BCC    ZD64B
 1686   D65D 39        ZD65D  RTS
 1686   D65D 39        ZD65D  RTS
 1687   
 1687   
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1688   D65E BE        D40B   ZD65E  LDX    >CURFCB
 1689   D661 EC        88 1E  LDD    $1E,X
 1689   D661 EC        88 1E  LDD    $1E,X
 1690   D664 30        88 40  LEAX   $40,X
 1690   D664 30        88 40  LEAX   $40,X
 1691   D667 39        RTS
 1691   D667 39        RTS
 1692   
 1692   
 1693   D668 4F        Z/D668      CLRA
 1693   D668 4F        Z/D668      CLRA
 1694   D669 B7        D411   
STA    >ZD411
 1694   D669 B7        D411   
STA    >ZD411
 1695   D66C B7        D412   
STA    >ZD412
 1695   D66C B7        D412   
STA    >ZD412
 1696   D66F 39        RTS
 1696   D66F 39        RTS
 1697   
 1697   
 1698   D670 C5        10     ZD670  BITB   #$10
 1698   D670 C5        10     ZD670  BITB   #$10
 1699   D672 26        11     BNE    ZD685
 1699   D672 26        11     BNE    ZD685
 1700   D674 C5        80     BITB   #$80
 1700   D674 C5        80     BITB   #$80
 1701   D676 26        24     BNE    ZD69C
 1701   D676 26        24     BNE    ZD69C
 17021       D678 F6        D411   
LDB    >ZD411
 17021       D678 F6        D411   
LDB    >ZD411
 1703   D67B 5C        INCB
 1703   D67B 5C        INCB
 1704   D67C C1        07     CMPB   #$07
 1704   D67C C1        07     CMPB   #$07
 1705   D67E 27        05     BEQ    ZD685
 1705   D67E 27        05     BEQ    ZD685
 1706   D680 F7        D411   
STB    >ZD411
 1706   D680 F7        D411   
STB    >ZD411
 1707   D683 20        14     BRA    RESV2
 1707   D683 20        14     BRA    RESV2
 1708   
 1708   
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1709   D685 7F        D411   ZD685  CLR    >ZD411
 1710   D688 F6        D4=
9"'
 1710   D688 F6        D4=
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]212    
LDB    >ZD412
5'7'2@&45$9 9;+= &\;& 
$9]212    
LDB    >ZD412
 1711   D68B 5C        INCB
 1711   D68B 5C        INCB
 1712   D68C C1        04     CMPB   #$04
 1712   D68C C1        04     CMPB   #$04
 1713   D68E 27        0C     BEQ    ZD69C
 1713   D68E 27        0C     BEQ    ZD69C
 1714   D690 F7        D412   
STB    >ZD412
 1714   D690 F7        D412   
STB    >ZD412
 1715   D693 BE        D40B   
LDX    >CURFCB
 1715   D693 BE        D40B   
LDX    >CURFCB
 1716   D696 BD        DE09   
JSR    >RESTOR
 1716   D696 BD        DE09   
JSR    >RESTOR
 1717   *
 1717   *
 1718   ** RESERVED
 1718   ** RESERVED
 1719   *
 1719   *
 13720       D699 1C        FE     RESV2  ANDCC  #$FE
 13720       D699 1C        FE     RESV2  ANDCC  #$FE
 1721   D69B 39        RTS
 1721   D69B 39        RTS
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1722   D69C 1A        01     ZD69C  ORCC   #$01
 1723   D69E 39        RTS
 1723   D69E 39        RTS
 1724   *
 1724   *
 1725   ** WRITE SINGLE SECTOR
 1725   ** WRITE SINGLE SECTOR
 1726   *
 1726   *
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1727   D69F 8D        C7     WRSECT BSR    ZD668
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1728   D6A1 BE        D40B   
LDX    >CURFCB
 1729   4D6A4 BD    DE0C   
JSR    >DRIVE
 1729   4D6A4 BD    DE0C   
JSR    >DRIVE
 1730   D6A7 25        20     BCS    ZD6C9
 1730   D6A7 25        20     BCS    ZD6C9
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1731   D6A9 BE        D40B   ZD6A9  LDX    >CURFCB
 1732   D6AC 8D        B0     BSR    ZD65E
 1732   D6AC 8D        B0     BSR    ZD65E
 1733   D6AE BD        DE03   
JSR    >WRITE
 1733   D6AE BD        DE03   
JSR    >WRITE
 1734   D6B1 26        0A     BNE    ZD6BD
 1734   D6B1 26        0A     BNE    ZD6BD
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1735   D6B3 B6        D435   
LDA    >VERFLG
 1736   D6B6 257    37     BEQ    ZD6EF
 1736   D6B6 257    37     BEQ    ZD6EF
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1737   D6B8 BD        DE06   
JSR    >VERIFY
 1738   D6BB 27        32     BEQ    ZD6EF
 1738   D6BB 27        32     BEQ    ZD6EF
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1739   D6BD C5        40     ZD6BD  BITB   #$40
 1740   D6BF 26        0B     BNE    ZD6CC
 1740   D6BF 26        0B     BNE    ZD6CC
 1741   D6C1 34        04     PSHS   B
 1741   D6C1 34        04     PSHS   B
 1742   D6C3 8D        AB     BSR    ZD670
 1742   D6C3 8D        AB     BSR    ZD670
 1743   D6C5 35        04     PULS   B
 1743   D6C5 35        04     PULS   B
 17464       D6C7 24        E0     BCC    ZD6A9
 17464       D6C7 24        E0     BCC    ZD6A9
 1745   D6C9 39        ZD6C9  RTS
 1745   D6C9 39        ZD6C9  RTS
 1746   
 1746   
 1747   D6CA C6        20     LDB    #$20
 1747   D6CA C6        20     LDB    #$20
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1748   D6CC 1A        01     ZD6CC  ORCC   #$01
 1749   D6CE 39        RTS
 1749   D6CE 39        RTS
 1750   
 1750   
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1751   D6CF BE        D40B   ZD6CF  LDX    >CURFCB
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1752   D6D2 E6        88 3B  LDB    $3B,X
 1753   D67D5 2B    3D     BMI    ZD714
 1753   D67D5 2B    3D     BMI    ZD714
 1754   D6D7 81        20     CMPA   #$20
 1754   D6D7 81        20     CMPA   #$20
 1755   D6D9 26        0F     BNE    ZD6EA
 1755   D6D9 26        0F     BNE    ZD6EA
 1756   D6DB 5C        INCB
 1756   D6DB 5C        INCB
 1757   D6DC E7        88 3B  STB    $3B,X
 1757   D6DC E7        88 3B  STB    $3B,X
 1758   D6DF C1        7F     CMPB   #$7F
 1758   D6DF C1        7F     CMPB   #$7F
 1759   D6E1 26        0C     BNE    ZD6EF
 1759   D6E1 26        0C     BNE    ZD6EF
 1760   D6E3 20        0D     BRA    ZD6F2
 1760   D6E3 20        0D     BRA    ZD6F2
 1761   
 1761   
 17862       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 17862       D6E5 8D        0B     ZD6E5  BSR    ZD6F2
 1763   D6E7 24        E6     BCC    ZD6CF
 1763   D6E7 24        E6     BCC    ZD6CF
 1764   D6E9 39        RTS
 1764   D6E9 39        RTS
 1765   
 1765   
 1766   D6EA 5D        ZD6EA  TSTB
 1766   D6EA 5D        ZD6EA  TSTB
 1767   D6EB 27        27     BEQ    ZD714
 1767   D6EB 27        27     BEQ    ZD714
 1768   D6ED 20        F6     BRA    ZD6E5
 1768   D6ED 20        F6     BRA    ZD6E5
 1769   
 1769   
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1770   D6EF 1C        FE     ZD6EF  ANDCC  #$FE
 1771   D6F1 939    RTS
 1771   D6F1 939    RTS
 1772   
 1772   
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1773   D6F2 34        02     ZD6F2  PSHS   A
 1774   D6F4 C1        01     CMPB   #$01
 1774   D6F4 C1        01     CMPB   #$01
 1775   D6F6 26        04     BNE    ZD6FC
 1775   D6F6 26        04     BNE    ZD6FC
 1776   D6F8 86        20     LDA    #$20
 1776   D6F8 86        20     LDA    #$20
 1777   D6FA 20        10     BRA    ZD70C
 1777   D6FA 20        10     BRA    ZD70C
 1778   
 1778   
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1779   D6FC 86        09     ZD6FC  LDA    #$09
 1780   D6FE 8D        14     BSR    :ZD714
 1780   D6FE 8D        14     BSR    :ZD714
 1781   D700 35        02     PULS   A
 1781   D700 35        02     PULS   A
 1782   D702 25        0F     BCS    ZD713
 1782   D702 25        0F     BCS    ZD713
 1783   D704 34        02     PSHS   A
 1783   D704 34        02     PSHS   A
 1784   D706 BE        D40B   
LDX    >CURFCB
 1784   D706 BE        D40B   
LDX    >CURFCB
 1785   D709 A6        88 3B  LDA    $3B,X
 1785   D709 A6        88 3B  LDA    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1786   D70C 6F        88 3B  ZD70C  CLR    $3B,X
 1787   D70F 8D        03     BSR    ZD714
 1787   D70F 8D        03     BSR    ZD714
 1788   D7;11 35    02     PULS   A
 1788   D7;11 35    02     PULS   A
 1789   D713 39        ZD713  RTS
 1789   D713 39        ZD713  RTS
 1790   
 1790   
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1791   D714 BE        D40B   ZD714  LDX    >CURFCB
 1792   D717 E6        02     LDB    $02,X
 1792   D717 E6        02     LDB    $02,X
 1793   D719 C1        02     CMPB   #$02
 1793   D719 C1        02     CMPB   #$02
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1794   D71B 1026 FED1 
LBNE   ZD5F0
 1795   D71F E6        88 22  LDB    $22,X
 1795   D71F E6        88 22  LDB    $22,X
 1796   D722 C1        0<4 CMPB   #$04
 1796   D722 C1        0<4 CMPB   #$04
 1797   D724 26        08     BNE    ZD72E
 1797   D724 26        08     BNE    ZD72E
 1798   D726 34        02     PSHS   A
 1798   D726 34        02     PSHS   A
 1799   D728 8D        21     BSR    ZD74B
 1799   D728 8D        21     BSR    ZD74B
 1800   D72A 35        02     PULS   A
 1800   D72A 35        02     PULS   A
 1801   D72C 25        0F     BCS    ZD73D
 1801   D72C 25        0F     BCS    ZD73D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1802   D72E BD        D57D   ZD72E  JSR    >ZD57D
 1803   D731 24        0A     BCC    ZD73D
 1803   D731 24        0A     BCC    ZD73D
 1804   D7>33 C6    04     LDB    #$04
 1804   D7>33 C6    04     LDB    #$04
 1805   D735 BE        D40B   
LDX    >CURFCB
 1805   D735 BE        D40B   
LDX    >CURFCB
 1806   D738 E7        88 22  STB    $22,X
 1806   D738 E7        88 22  STB    $22,X
 1807   D73B 1C        FE     ANDCC  #$FE
 1807   D73B 1C        FE     ANDCC  #$FE
 1808   D73D 39        ZD73D  RTS
 1808   D73D 39        ZD73D  RTS
 1809   
 1809   
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1810   D73E BE        D40B   ZD73E  LDX    >CURFCB
 1811   D741 4F        CLRA
 1811   D741 4F        CLRA
 1812   D742 5F        CLRB
 1812   D742 5F        CLRB
 1J'' 94&  	5%4;o;59&"&4!5%}$
 1J'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooo?813   D743 ED        88 20  STD    $20,X
ooo?813   D743 ED        88 20  STD    $20,X
 1814   D746 ED        88 42  STD    $42,X
 1814   D746 ED        88 42  STD    $42,X
 1815   D749 20        27     BRA    ZD772
 1815   D749 20        27     BRA    ZD772
 1816   
 1816   
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1817   D74B E6        88 12  ZD74B  LDB    $12,X
 1818   D74E 26        22     BNE    ZD772
 1818   D74E 26        22     BNE    ZD772
 1819   D750 E6        88 17  LDB    $17,X
 1819   D750 E6        88 17  LDB    $17,X
 1820   D753 27        44     BEQ    ZD799
 1820   D753 27        44     BEQ    ZD799
 1@821       D755 6F        88 17  CLR    $17,X
 1@821       D755 6F        88 17  CLR    $17,X
 1822   D758 8D        3F     BSR    ZD799
 1822   D758 8D        3F     BSR    ZD799
 1823   D75A 25        2A     BCS    ZD786
 1823   D75A 25        2A     BCS    ZD786
 1824   D75C 8D        E0     BSR    ZD73E
 1824   D75C 8D        E0     BSR    ZD73E
 1825   D75E 25        26     BCS    ZD786
 1825   D75E 25        26     BCS    ZD786
 1826   D760 8D        DC     BSR    ZD73E
 1826   D760 8D        DC     BSR    ZD73E
 1827   D762 25        22     BCS    ZD786
 1827   D762 25        22     BCS    ZD786
 1828   D764 BE        D40B   
LDX    A>CURFCB
 1828   D764 BE        D40B   
LDX    A>CURFCB
 1829   D767 C6        02     LDB    #$02
 1829   D767 C6        02     LDB    #$02
 1830   D769 E7        88 17  STB    $17,X
 1830   D769 E7        88 17  STB    $17,X
 1831   D76C EC        88 11  LDD    $11,X
 1831   D76C EC        88 11  LDD    $11,X
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1832   D76F 7E        DC82   
JMP    >ZDC82
 1833   
 1833   
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1834   D772 8D        0E     ZD772  BSR    ZD782
 1835   D774 BE        D40B   
LDX    >CURFCB
 1835   D774 BE        D40B   
LDX    >CURFCB
 1836   D777 ED        88 40  BSTD        $40,X
 1836   D777 ED        88 40  BSTD        $40,X
 1837   D77A BD        D69F   
JSR    >WRSECT
 1837   D77A BD        D69F   
JSR    >WRSECT
 1838   D77D 24        1A     BCC    ZD799
 1838   D77D 24        1A     BCC    ZD799
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1839   D77F 7E        DBC1   
JMP    >ZDBC1
 1840   
 1840   
 1841   D782 8D        03     ZD782  BSR    ZD787
 1841   D782 8D        03     ZD782  BSR    ZD787
 1842   D784 EC        84     LDD    ,X
 1842   D784 EC        84     LDD    ,X
 1843   D786 39        ZD786  RTS
 1843   D786 39        ZD786  RTS
 1844   
 1844   
 1845   D787 BE        D40B   ZCD787      LDX    >CURFCB
 1845   D787 BE        D40B   ZCD787      LDX    >CURFCB
 1846   D78A E6        03     LDB    $03,X
 1846   D78A E6        03     LDB    $03,X
 1847   D78C 86        06     LDA    #$06
 1847   D78C 86        06     LDA    #$06
 1848   D78E 3D        MUL
 1848   D78E 3D        MUL
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1849   D78F 8E        D41D   
LDX    #ZD41D
 1850   D792 3A        ABX
 1850   D792 3A        ABX
 1851   D793 BF        D41B   
STX    >ZD41B
 1851   D793 BF        D41B   
STX    >ZD41B
 1852   D796 6D        84     TST    ,X
 1852   D796 6D        84     TST    ,X
 1853   D798 39        RTS
 1853   D798 39        RTS
 1854   D
 1854   D
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1855   D799 8D        E7     ZD799  BSR    ZD782
 1856   D79B 26        05     BNE    ZD7A2
 1856   D79B 26        05     BNE    ZD7A2
 1857   D79D C6        07     LDB    #$07
 1857   D79D C6        07     LDB    #$07
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1858   D79F 1A        01     ZD79F  ORCC   #$01
 1859   D7A1 39        RTS
 1859   D7A1 39        RTS
 1860   
 1860   
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1861   D7A2 BE        D40B   ZD7A2  LDX    >CURFCB
 1862   D7A5 ED        88 13  STD    $13,X
 1862   D7A5 ED        88 13  STD    $13,X
 E1863       D7A8 6D        88 12  TST    $12,X
 E1863       D7A8 6D        88 12  TST    $12,X
 1864   D7AB 26        03     BNE    ZD7B0
 1864   D7AB 26        03     BNE    ZD7B0
 1865   D7AD ED        88 11  STD    $11,X
 1865   D7AD ED        88 11  STD    $11,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1866   D7B0 6C        88 16  ZD7B0  INC    $16,X
 1867   D7B3 26        03     BNE    ZD7B8
 1867   D7B3 26        03     BNE    ZD7B8
 1868   D7B5 6C        88 15  INC    $15,X
 1868   D7B5 6C        88 15  INC    $15,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
 1869   D7B8 6D        88 17  ZD7B8  TST    $17,X
F 1870       D7BB 27        0B     BEQ    ZD7C8
F 1870       D7BB 27        0B     BEQ    ZD7C8
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1871   D7BD BD        DC43   
JSR    >ZDC43
 1872   D7C0 25        DD     BCS    ZD79F
 1872   D7C0 25        DD     BCS    ZD79F
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1873   D7C2 BE        D40B   
LDX    >CURFCB
 1874   D7C5 EC        88 13  LDD    $13,X
 1874   D7C5 EC        88 13  LDD    $13,X
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1875   D7C8 BD        D620   ZD7C8  JSR    >ZD620
 1876   D7CB 25        D2     BCS    ZD79F
 1876   D7CB 25        D2     BCS    ZD79F
 1877   DG7CD BE    D40B   
LDX    >CURFCB
 1877   DG7CD BE    D40B   
LDX    >CURFCB
 1878   D7D0 EC        88 40  LDD    $40,X
 1878   D7D0 EC        88 40  LDD    $40,X
 1879   D7D3 34        06     PSHS   B,A
 1879   D7D3 34        06     PSHS   B,A
 1880   D7D5 8D        B0     BSR    ZD787
 1880   D7D5 8D        B0     BSR    ZD787
 1881   D7D7 35        06     PULS   B,A
 1881   D7D7 35        06     PULS   B,A
 1882   D7D9 ED        84     STD    ,X
 1882   D7D9 ED        84     STD    ,X
 1883   D7DB 26        0A     BNE    ZD7E7
 1883   D7DB 26        0A     BNE    ZD7E7
 1884   D7DD 6F        02     CLR    $02,X
 1884   D7DD 6F        02     CLR    $02,X
 1H885       D7DF 6F        03     CLR    $03,X
 1H885       D7DF 6F        03     CLR    $03,X
 1886   D7E1 6F        04     CLR    $04,X
 1886   D7E1 6F        04     CLR    $04,X
 1887   D7E3 6F        05     CLR    $05,X
 1887   D7E3 6F        05     CLR    $05,X
 1888   D7E5 20        08     BRA    ZD7EF
 1888   D7E5 20        08     BRA    ZD7EF
 1889   
 1889   
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1890   D7E7 10AE 04   ZD7E7  LDY    $04,X
 1891   D7EA 31        3F     LEAY   -$01,Y
 1891   D7EA 31        3F     LEAY   -$01,Y
 1892   D7EC 10AF 04   STY    $04,X
 1892   D7EC 10AF 04   STY    $04,X
 1893   D7EIF 4F    ZD7EF  CLRA
 1893   D7EIF 4F    ZD7EF  CLRA
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1894   D7F0 BE        D40B   
LDX    >CURFCB
 1895   D7F3 6C        88 21  INC    $21,X
 1895   D7F3 6C        88 21  INC    $21,X
 1896   D7F6 26        03     BNE    ZD7FB
 1896   D7F6 26        03     BNE    ZD7FB
 1897   D7F8 6C        88 20  INC    $20,X
 1897   D7F8 6C        88 20  INC    $20,X
 1898   D7FB 5F        ZD7FB  CLRB
 1898   D7FB 5F        ZD7FB  CLRB
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1899   D7FC A7        88 40  ZD7FC  STA    $40,X
 1900   D7FF 30        01     LEAXK       $01,X
 1900   D7FF 30        01     LEAXK       $01,X
 1901   D801 5A        DECB
 1901   D801 5A        DECB
 1902   D802 26        F8     BNE    ZD7FC
 1902   D802 26        F8     BNE    ZD7FC
 1903   D804 BE        D40B   
LDX    >CURFCB
 1903   D804 BE        D40B   
LDX    >CURFCB
 1904   D807 EC        88 20  LDD    $20,X
 1904   D807 EC        88 20  LDD    $20,X
 1905   D80A ED        88 42  STD    $42,X
 1905   D80A ED        88 42  STD    $42,X
 1906   D80D 1C        FE     ANDCC  #$FE
 1906   D80D 1C        FE     ANDCC  #$FE
 1907   D80F 39        RTS
 1907   D80F 39        RTS
 1908   *
 1908   *
 1909   ** OPEN SYSTbo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ LEM INFO. RECORD
 1909   ** OPEN SYSTbo 1?Ol!&l _@0Z&        B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ LEM INFO. RECORD
 1910   *
 1910   *
 1911   D810 5F        OPNREC CLRB
 1911   D810 5F        OPNREC CLRB
 1912   D811 34        04     PSHS   B
 1912   D811 34        04     PSHS   B
 1913   D813 C6        03     LDB    #$03
 1913   D813 C6        03     LDB    #$03
 1914   D815 20        0E     BRA    ZD825
 1914   D815 20        0E     BRA    ZD825
 1915   D817 BE        D415   
LDX    >ZD415
 1915   D817 BE        D415   
LDX    >ZD415
 1916   D81A BF        D413   
STX    >ZD413
 1916   D81A BF        D413   
STX    >ZD413
 1917   D81D F6        D413   OPNDIR LDBM        >ZD413
 1917   D81D F6        D413   OPNDIR LDBM        >ZD413
 1918   D820 34        04     PSHS   B
 1918   D820 34        04     PSHS   B
 1919   D822 F6        D414   
LDB    >ZD414
 1919   D822 F6        D414   
LDB    >ZD414
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1920   D825 BE        D40B   ZD825  LDX    >CURFCB
 1921   D828 E7        88 41  STB    $41,X
 1921   D828 E7        88 41  STB    $41,X
 1922   D82B 35        04     PULS   B
 1922   D82B 35        04     PULS   B
 1923   D82D E7        88 40  STB    $40,X
 1923   D82D E7        88 40  STB    $40,X
 1924   D830 7F        D418   
CLR    >ZD418
 1924   D830 7F        D418   
CLR    >ZD418
 N1925       D833 5F        CLRB
 N1925       D833 5F        CLRB
 1926   D834 E7        88 22  STB    $22,X
 1926   D834 E7        88 22  STB    $22,X
 1927   D837 39        RTS
 1927   D837 39        RTS
 1928   *
 1928   *
 1929   ** GET INFO RECORD
 1929   ** GET INFO RECORD
 1930   *
 1930   *
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1931   D838 BE        D40B   GETREC LDX    >CURFCB
 1932   D83B E6        88 22  LDB    $22,X
 1932   D83B E6        88 22  LDB    $22,X
 1933   D83E 26        1D     BNE    ZD85D
 1933   D83E 26        1D     BNE    ZD85D
 1934   D840 BD        DO60C       
JSR    >ZD60C
 1934   D840 BD        DO60C       
JSR    >ZD60C
 1935   D843 25        30     BCS    ZD875
 1935   D843 25        30     BCS    ZD875
 1936   D845 BE        D40B   
LDX    >CURFCB
 1936   D845 BE        D40B   
LDX    >CURFCB
 1937   D848 7D        D418   
TST    >ZD418
 1937   D848 7D        D418   
TST    >ZD418
 1938   D84B 26        05     BNE    ZD852
 1938   D84B 26        05     BNE    ZD852
 1939   D84D DC        44     LDD    
 1939   D84D DC        44     LDD    
 1940   D84F FD        D418   
STD    >ZD418
 1940   D84F FD        D418   
STD    >ZD418
 1941   D852 86        10     ZD852  LDA    P#$10
 1941   D852 86        10     ZD852  LDA    P#$10
 1942   D854 A7        88 22  STA    $22,X
 1942   D854 A7        88 22  STA    $22,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1943   D857 EC        88 1E  LDD    $1E,X
 1944   D85A ED        88 2F  STD    $2F,X
 1944   D85A ED        88 2F  STD    $2F,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1945   D85D A6        88 22  ZD85D  LDA    $22,X
 1946   D860 A7        88 31  STA    $31,X
 1946   D860 A7        88 31  STA    $31,X
 1947   D863 C6        18     LDB    #$18
 1947   D863 C6        18     LDB    #$18
 1948   D865 34        14     ZD865  PSHS   QX,B
 1948   D865 34        14     ZD865  PSHS   QX,B
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1949   D867 BD        D5F5   
JSR    >ZD5F5
 1950   D86A 35        14     PULS   X,B
 1950   D86A 35        14     PULS   X,B
 1951   D86C A7        04     STA    $04,X
 1951   D86C A7        04     STA    $04,X
 1952   D86E 30        01     LEAX   $01,X
 1952   D86E 30        01     LEAX   $01,X
 1953   D870 5A        DECB
 1953   D870 5A        DECB
 1954   D871 26        F2     BNE    ZD865
 1954   D871 26        F2     BNE    ZD865
 1955   D873 1C        FE     ANDCC  #$FE
 1955   D873 1C        FE     ANDCC  #$FE
 1956   D875 39        ZD875  RTS
 1956   D875 39        ZD875  RTS
R 1957       *
R 1957       *
 1958   ** PUT INFORMATION RECORD
 1958   ** PUT INFORMATION RECORD
 1959   *
 1959   *
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1960   D876 BE        D40B   PUTREC LDX    >CURFCB
 1961   D879 A6        88 31  LDA    $31,X
 1961   D879 A6        88 31  LDA    $31,X
 1962   D87C A7        88 22  STA    $22,X
 1962   D87C A7        88 22  STA    $22,X
 1963   D87F C6        18     LDB    #$18
 1963   D87F C6        18     LDB    #$18
 1964   D881 34        14     ZD881  PSHS   X,B
 1964   D881 34        14     ZD881  PSHS   X,B
 1965   D883 A6        S04 LDA    $04,X
 1965   D883 A6        S04 LDA    $04,X
 1966   D885 BD        D714   
JSR    >ZD714
 1966   D885 BD        D714   
JSR    >ZD714
 1967   D888 35        14     PULS   X,B
 1967   D888 35        14     PULS   X,B
 1968   D88A 30        01     LEAX   $01,X
 1968   D88A 30        01     LEAX   $01,X
 1969   D88C 5A        DECB
 1969   D88C 5A        DECB
 1970   D88D 26        F2     BNE    ZD881
 1970   D88D 26        F2     BNE    ZD881
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1971   D88F 7E        D69F   
JMP    >WRSECT
 1972   
 1972   
 1973   D892 BE        D40B   ZD892  LDX    >CUTRFCB
 1973   D892 BE        D40B   ZD892  LDX    >CUTRFCB
 1974   D895 A6        03     LDA    $03,X
 1974   D895 A6        03     LDA    $03,X
 1975   D897 A7        88 23  STA    $23,X
 1975   D897 A7        88 23  STA    $23,X
 1976   D89A B6        D417   
LDA    >ZD417
 1976   D89A B6        D417   
LDA    >ZD417
 1977   D89D 7D        D41A   
TST    >ZD41A
 1977   D89D 7D        D41A   
TST    >ZD41A
 1978   D8A0 26        31     BNE    ZD8D3
 1978   D8A0 26        31     BNE    ZD8D3
 1979   D8A2 A7        03     STA    $03,X
 1979   D8A2 A7        03     STA    $03,X
 1980   D8A4 BE        D415   
LDX    >ZD415
 1980   D8A4 BE        D415   
LDX    >ZD415
 1981   D8AU7 BF    D413   
STX    >ZD413
 1981   D8AU7 BF    D413   
STX    >ZD413
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1982   D8AA 8C        0005   ZD8AA  CMPX   #Z0005
 1983   D8AD 27        0C     BEQ    ZD8BB
 1983   D8AD 27        0C     BEQ    ZD8BB
 1984   D8AF 8D        22     BSR    ZD8D3
 1984   D8AF 8D        22     BSR    ZD8D3
 1985   D8B1 23        37     BLS    ZD8EA
 1985   D8B1 23        37     BLS    ZD8EA
 1986   D8B3 BE        D418   
LDX    >ZD418
 1986   D8B3 BE        D418   
LDX    >ZD418
 1987   D8B6 BF        D413   
STX    >ZD413
 1987   D8B6 BF        D413   
STX    >ZD413
 1988   D8B9 20        EFV BRA    ZD8AA
 1988   D8B9 20        EFV BRA    ZD8AA
 1989   
 1989   
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1990   D8BB BE        D40B   ZD8BB  LDX    >CURFCB
 1991   D8BE A6        88 23  LDA    $23,X
 1991   D8BE A6        88 23  LDA    $23,X
 1992   D8C1 A7        03     STA    $03,X
 1992   D8C1 A7        03     STA    $03,X
 1993   D8C3 2A        0E     BPL    ZD8D3
 1993   D8C3 2A        0E     BPL    ZD8D3
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1994   D8C5 BD        DDBD   ZD8C5  JSR    >NXTDRV
 1995   D8C8 25        36     BCS    ZD900
 1995   D8C8 25        36     BCS    ZD900
 1996   D8CA W8D    07     BSR    ZD8D3
 1996   D8CA W8D    07     BSR    ZD8D3
 1997   D8CC 23        1C     BLS    ZD8EA
 1997   D8CC 23        1C     BLS    ZD8EA
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1998   D8CE BD        DDAD   
JSR    >ZDDAD
 1999   D8D1 20        F2     BRA    ZD8C5
 1999   D8D1 20        F2     BRA    ZD8C5
 2000   
 2000   
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2001   D8D3 BE        D40B   ZD8D3  LDX    >CURFCB
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2002   D8D6 7F        D41A   
CLR    >ZD41A
 2003   D8D9 BD        D549   
JSR    >ZD549
 2003   D8D9 BD        D549   
JSR    >ZD549
 2004   D8DCX BD    D81D   
JSR    >OPNDIR
 2004   D8DCX BD    D81D   
JSR    >OPNDIR
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2005   D8DF BD        D838   ZD8DF  JSR    >GETREC
 2006   D8E2 24        07     BCC    ZD8EB
 2006   D8E2 24        07     BCC    ZD8EB
 2007   D8E4 C1        08     CMPB   #$08
 2007   D8E4 C1        08     CMPB   #$08
 2008   D8E6 27        18     BEQ    ZD900
 2008   D8E6 27        18     BEQ    ZD900
 2009   D8E8 1A        01     ORCC   #$01
 2009   D8E8 1A        01     ORCC   #$01
 2010   D8EA 39        ZD8EA  RTS
 2010   D8EA 39        ZD8EA  RTS
 2011   
 2011   
 2012   D8EB BE        D40YB       ZD8EB  LDX    >CURFCB
 2012   D8EB BE        D40YB       ZD8EB  LDX    >CURFCB
 2013   D8EE A6        04     LDA    $04,X
 2013   D8EE A6        04     LDA    $04,X
 2014   D8F0 27        0C     BEQ    ZD8FE
 2014   D8F0 27        0C     BEQ    ZD8FE
 2015   D8F2 2A        02     BPL    ZD8F6
 2015   D8F2 2A        02     BPL    ZD8F6
 2016   D8F4 8D        0F     BSR    ZD905
 2016   D8F4 8D        0F     BSR    ZD905
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2017   D8F6 BD        D559   ZD8F6  JSR    >ZD559
 2018   D8F9 26        E4     BNE    ZD8DF
 2018   D8F9 26        E4     BNE    ZD8DF
 2019   D8FB 1C        FE     ANDCC  Z#$FE
 2019   D8FB 1C        FE     ANDCC  Z#$FE
 2020   D8FD 39        RTS
 2020   D8FD 39        RTS
 2021   
 2021   
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2022   D8FE 8D        05     ZD8FE  BSR    ZD905
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2023   D900 1C        FB     ZD900  ANDCC  #$FB
 2024   D902 1C        FE     ANDCC  #$FE
 2024   D902 1C        FE     ANDCC  #$FE
 2025   D904 39        RTS
 2025   D904 39        RTS
 2026   
 2026   
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2027   D905 A6        88 33  ZD905  LDA    $33,X
 2028   D908 26        0C     BNE    ZD916
[
 2028   D908 26        0C     BNE    ZD916
[
 2029   D90A EC        88 2F  LDD    $2F,X
 2029   D90A EC        88 2F  LDD    $2F,X
 2030   D90D ED        88 32  STD    $32,X
 2030   D90D ED        88 32  STD    $32,X
 2031   D910 A6        88 31  LDA    $31,X
 2031   D910 A6        88 31  LDA    $31,X
 2032   D913 A7        88 34  STA    $34,X
 2032   D913 A7        88 34  STA    $34,X
 2033   D916 39        ZD916  RTS
 2033   D916 39        ZD916  RTS
 2034   
 2034   
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2035   D917 BD        D787   ZD917  JSR    >ZD787
 2036   D91A 26        17     BNE    ZD933
 2036   D91A 26        17     BNE    ZD933
\ 2037       D91C 8D        18     BSR    ZD936
\ 2037       D91C 8D        18     BSR    ZD936
 2038   D91E 25        15     BCS    ZD935
 2038   D91E 25        15     BCS    ZD935
 2039   D920 C6        06     LDB    #$06
 2039   D920 C6        06     LDB    #$06
 2040   D922 10BE D40B 
LDY    >CURFCB
 2040   D922 10BE D40B 
LDY    >CURFCB
 2041   D926 BE        D41B   
LDX    >ZD41B
 2041   D926 BE        D41B   
LDX    >ZD41B
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2042   D929 A6        A8 5D  ZD929  LDA    $5D,Y
 2043   D92C 31        21     LEAY   $01,Y
 2043   D92C 31        21     LEAY   $01,Y
 2044   D92]E A7    80     STA    ,X+
 2044   D92]E A7    80     STA    ,X+
 2045   D930 5A        DECB
 2045   D930 5A        DECB
 2046   D931 26        F6     BNE    ZD929
 2046   D931 26        F6     BNE    ZD929
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2047   D933 1C        FE     ZD933  ANDCC  #$FE
 2048   D935 39        ZD935  RTS
 2048   D935 39        ZD935  RTS
 2049   
 2049   
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2050   D936 BD        D810   ZD936  JSR    >OPNREC
 2051   D939 BD        D60C   
JSR    >ZD60C
 2051   D939 BD        D60C   
JSR    >ZD60C
 2052   D93C 25        08     BCS^        ZD946
 2052   D93C 25        08     BCS^        ZD946
 2053   D93E BE        D40B   
LDX    >CURFCB
 2053   D93E BE        D40B   
LDX    >CURFCB
 2054   D941 C6        10     LDB    #$10
 2054   D941 C6        10     LDB    #$10
 2055   D943 E7        88 22  STB    $22,X
 2055   D943 E7        88 22  STB    $22,X
 2056   D946 39        ZD946  RTS
 2056   D946 39        ZD946  RTS
 2057   
 2057   
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2058   D947 BD        D787   ZD947  JSR    >ZD787
 2059   D94A 8D        EA     BSR    ZD936
 2059   D94A 8D        EA     BSR    ZD936
 2060   D94C 25        F8     BCS    ZD946_
 2060   D94C 25        F8     BCS    ZD946_
 2061   D94E C6        06     LDB    #$06
 2061   D94E C6        06     LDB    #$06
 2062   D950 10BE D40B 
LDY    >CURFCB
 2062   D950 10BE D40B 
LDY    >CURFCB
 2063   D954 BE        D41B   
LDX    >ZD41B
 2063   D954 BE        D41B   
LDX    >ZD41B
 2064   D957 A6        80     ZD957  LDA    ,X+
 2064   D957 A6        80     ZD957  LDA    ,X+
 2065   D959 A7        A8 5D  STA    $5D,Y
 2065   D959 A7        A8 5D  STA    $5D,Y
 2066   D95C 31        21     LEAY   $01,Y
 2066   D95C 31        21     LEAY   $01,Y
 2067   D95E 5A        DECB
 2067   D95E 5A        DECB
 2068   D95F 26        F6     `BNE        ZD957
 2068   D95F 26        F6     `BNE        ZD957
 2069   D961 BD        D69F   
JSR    >WRSECT
 2069   D961 BD        D69F   
JSR    >WRSECT
 2070   D964 24        E0     BCC    ZD946
 2070   D964 24        E0     BCC    ZD946
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2071   D966 7E        DBC1   
JMP    >ZDBC1
 2072   *
 2072   *
 2073   **
 2073   **
 2074   *
 2074   *
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2075   D969 BE        D40B   RESV1  LDX    >CURFCB
 2076   D96C 86        02     LDA    #$02
 2076   D96C 86        02     LDA    #$02
 2077   D96E A7        02     STA    $02,X
 2077   D96E A7        02     STA    $02,X
a 2078       D970 EC        88 2F  LDD    $2F,X
a 2078       D970 EC        88 2F  LDD    $2F,X
 2079   D973 ED        88 1E  STD    $1E,X
 2079   D973 ED        88 1E  STD    $1E,X
 2080   D976 BD        D641   
JSR    >RDSECT
 2080   D976 BD        D641   
JSR    >RDSECT
 2081   D979 25        08     BCS    ZD983
 2081   D979 25        08     BCS    ZD983
 2082   D97B BD        D876   
JSR    >PUTREC
 2082   D97B BD        D876   
JSR    >PUTREC
 2083   D97E 24        05     BCC    ZD985
 2083   D97E 24        05     BCC    ZD985
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2084   D980 7E        DBC1   
JMP    >ZDBC1
 2085   
 2085   
 2c086       D983 C6        0A     ZD983  LDB    #$0A
 2c086       D983 C6        0A     ZD983  LDB    #$0A
 2087   D985 39        ZD985  RTS
 2087   D985 39        ZD985  RTS
 2088   *
 2088   *
 2089   ** OPEN FOR READ
 2089   ** OPEN FOR READ
 2090   *
 2090   *
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2091   D986 BD        D4FA   OPENRD JSR    >ZD4FA
 2092   D989 25        3D     BCS    ZD9C8
 2092   D989 25        3D     BCS    ZD9C8
 2093   D98B BD        D892   
JSR    >ZD892
 2093   D98B BD        D892   
JSR    >ZD892
 2094   D98E 25        38     BCS    ZD9C8
 2094   D98E 25        38     BCS    ZD9C8
 oI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
 oI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 d2095       D990 26        3B     BNE    ZD9CD
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 d2095       D990 26        3B     BNE    ZD9CD
 2096   D992 BE        D40B   
LDX    >CURFCB
 2096   D992 BE        D40B   
LDX    >CURFCB
 2097   D995 7D        D41A   
TST    >ZD41A
 2097   D995 7D        D41A   
TST    >ZD41A
 2098   D998 27        06     BEQ    ZD9A0
 2098   D998 27        06     BEQ    ZD9A0
 2099   D99A A6        0F     LDA    $0F,X
 2099   D99A A6        0F     LDA    $0F,X
 2100   D99C 85        20     BITA   #$20
 2100   D99C 85        20     BITA   #$20
 2101   D99E 26        29     BNE    ZD9C9
 2101   D99E 26        29     BNE    ZD9C9
 2102   D9A0 BD        DCC0   eZD9A0      JSR    >ZDCC0
 2102   D9A0 BD        DCC0   eZD9A0      JSR    >ZDCC0
 2103   D9A3 25        2A     BCS    ZD9CF
 2103   D9A3 25        2A     BCS    ZD9CF
 2104   D9A5 EC        88 11  LDD    $11,X
 2104   D9A5 EC        88 11  LDD    $11,X
 2105   D9A8 ED        88 40  STD    $40,X
 2105   D9A8 ED        88 40  STD    $40,X
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2106   D9AB BD        DA76   
JSR    >ZDA76
 2107   D9AE E6        88 17  LDB    $17,X
 2107   D9AE E6        88 17  LDB    $17,X
 2108   D9B1 27        13     BEQ    ZD9C6
 2108   D9B1 27        13     BEQ    ZD9C6
 2109   D9B3 34        04     ZD9B3  Pf   SHS     B
 2109   D9B3 34        04     ZD9B3  Pf   SHS     B
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2110   D9B5 BD        D60C   
JSR    >ZD60C
 2111   D9B8 35        04     PULS   B
 2111   D9B8 35        04     PULS   B
 2112   D9BA 25        0C     BCS    ZD9C8
 2112   D9BA 25        0C     BCS    ZD9C8
 2113   D9BC 5A        DECB
 2113   D9BC 5A        DECB
 2114   D9BD 26        F4     BNE    ZD9B3
 2114   D9BD 26        F4     BNE    ZD9B3
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2115   D9BF BE        D40B   
LDX    >CURFCB
 2116   D9C2 5F        CLRB
 2116   D9C2 5F        CLRB
 2117   D9C3 E7        88 22  STB    $22,X
 2117   D9C3 E7        88 22  STB    $22,X
 g
 g
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
2118    D9C6 1C        FE     ZD9C6  ANDCC  #$FE
 2119   D9C8 39        ZD9C8  RTS
 2119   D9C8 39        ZD9C8  RTS
 2120   
 2120   
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2121   D9C9 C6        11     ZD9C9  LDB    #$11
 2122   D9CB 20        02     BRA    ZD9CF
 2122   D9CB 20        02     BRA    ZD9CF
 2123   
 2123   
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2124   D9CD C6        04     ZD9CD  LDB    #$04
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2125   D9CF 34        04     ZD9CF  PSHS   B
 2126   D9D1 BD        D50C   
JhSR        >ZD50C
 2126   D9D1 BD        D50C   
JhSR        >ZD50C
 2127   D9D4 35        04     PULS   B
 2127   D9D4 35        04     PULS   B
 2128   D9D6 1A        01     ORCC   #$01
 2128   D9D6 1A        01     ORCC   #$01
 2129   D9D8 39        RTS
 2129   D9D8 39        RTS
 2130   
 2130   
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2131   D9D9 BE        D40B   OPENWR LDX    >CURFCB
 2132   D9DC 6D        03     TST    $03,X
 2132   D9DC 6D        03     TST    $03,X
 2133   D9DE 2A        08     BPL    ZD9E8
 2133   D9DE 2A        08     BPL    ZD9E8
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2134   D9E0 BD        DDBD   
JSR    >NXTDRV
 2135i       D9E3 24        03     BCC    ZD9E8
 2135i       D9E3 24        03     BCC    ZD9E8
 2136   D9E5 C6        10     LDB    #$10
 2136   D9E5 C6        10     LDB    #$10
 2137   D9E7 39        RTS
 2137   D9E7 39        RTS
 2138   
 2138   
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2139   D9E8 BD        D4FA   ZD9E8  JSR    >ZD4FA
 2140   D9EB 25        E2     BCS    ZD9CF
 2140   D9EB 25        E2     BCS    ZD9CF
 2141   D9ED BD        D537   
JSR    >ZD537
 2141   D9ED BD        D537   
JSR    >ZD537
 2142   D9F0 BD        D917   
JSR    >ZD917
 2142   D9F0 BD        D917   
JSR    >ZD917
 2143   D9F3 25        DA     j
BCS        ZD9CF
 2143   D9F3 25        DA     j
BCS        ZD9CF
 2144   D9F5 BD        D892   
JSR    >ZD892
 2144   D9F5 BD        D892   
JSR    >ZD892
 2145   D9F8 25        D5     BCS    ZD9CF
 2145   D9F8 25        D5     BCS    ZD9CF
 2146   D9FA 26        04     BNE    ZDA00
 2146   D9FA 26        04     BNE    ZDA00
 2147   D9FC C6        03     LDB    #$03
 2147   D9FC C6        03     LDB    #$03
 2148   D9FE 20        CF     BRA    ZD9CF
 2148   D9FE 20        CF     BRA    ZD9CF
 2149   
 2149   
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2150   DA00 BD        DCC0   ZDA00  JSR    >ZDCC0
 2151   DA03 25        CA     BCS    ZDk9CF
 2151   DA03 25        CA     BCS    ZDk9CF
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2152   DA05 BE        D40B   
LDX    >CURFCB
 2153   DA08 C6        0A     LDB    #$0A
 2153   DA08 C6        0A     LDB    #$0A
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2154   DA0A 6F        0F     ZDA0A  CLR    $0F,X
 2155   DA0C 30        01     LEAX   $01,X
 2155   DA0C 30        01     LEAX   $01,X
 2156   DA0E 5A        DECB
 2156   DA0E 5A        DECB
 2157   DA0F 26        F9     BNE    ZDA0A
 2157   DA0F 26        F9     BNE    ZDA0A
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2158   DA11 BE        D40B   
LDX    >CURFCB
 2159   DA14 EC        88l 32      LDD    $32,X
 2159   DA14 EC        88l 32      LDD    $32,X
 2160   DA17 27        27     BEQ    ZDA40
 2160   DA17 27        27     BEQ    ZDA40
 2161   DA19 ED        88 2F  STD    $2F,X
 2161   DA19 ED        88 2F  STD    $2F,X
 2162   DA1C A6        88 34  LDA    $34,X
 2162   DA1C A6        88 34  LDA    $34,X
 2163   DA1F A7        88 31  STA    $31,X
 2163   DA1F A7        88 31  STA    $31,X
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2164   DA22 FC        CC0E   
LDD    >DATERG
 2165   DA25 ED        88 19  STD    $19,X
 2165   DA25 ED        88 19  STD    $19,X
 2166   DA28 B6        CC10   
LDA    m>YEAR
 2166   DA28 B6        CC10   
LDA    m>YEAR
 2167   DA2B A7        88 1B  STA    $1B,X
 2167   DA2B A7        88 1B  STA    $1B,X
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2168   DA2E BD        DDAD   
JSR    >ZDDAD
 2169   DA31 BD        D969   
JSR    >RESV1
 2169   DA31 BD        D969   
JSR    >RESV1
 2170   DA34 25        99     BCS    ZD9CF
 2170   DA34 25        99     BCS    ZD9CF
 2171   DA36 8D        3E     BSR    ZDA76
 2171   DA36 8D        3E     BSR    ZDA76
 2172   DA38 86        04     LDA    #$04
 2172   DA38 86        04     LDA    #$04
 2173   DA3A A7        88 22  STA    $22,X
 2173   DA3A A7        88 22  STA    $22,X
 2174   DA3nD 1C    FE     ANDCC  #$FE
 2174   DA3nD 1C    FE     ANDCC  #$FE
 2175   DA3F 39        RTS
 2175   DA3F 39        RTS
 2176   
 2176   
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2177   DA40 BE        D40B   ZDA40  LDX    >CURFCB
 2178   DA43 6F        88 17  CLR    $17,X
 2178   DA43 6F        88 17  CLR    $17,X
 2179   DA46 6C        88 12  INC    $12,X
 2179   DA46 6C        88 12  INC    $12,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2180   DA49 EC        88 2F  LDD    $2F,X
 2181   DA4C BD        D620   
JSR    >ZD620
 2181   DA4C BD        D620   
JSR    >ZD620
 2182   DA4F 25        p0D BCS    ZDA5E
 2182   DA4F 25        p0D BCS    ZDA5E
 2183   DA51 BD        D772   
JSR    >ZD772
 2183   DA51 BD        D772   
JSR    >ZD772
 2184   DA54 25        08     BCS    ZDA5E
 2184   DA54 25        08     BCS    ZDA5E
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2185   DA56 BD        D69F   
JSR    >WRSECT
 2186   DA59 24        06     BCC    ZDA61
 2186   DA59 24        06     BCC    ZDA61
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2187   DA5B BD        DBC1   
JSR    >ZDBC1
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2188   DA5E 7E        D9CF   ZDA5E  JMP    >ZD9CF
 2189   
 2189   
 2190   DA61 BE        |459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
 2190   DA61 BE        |459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1qD40B    ZDA61  LDX    >CURFCB
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1qD40B    ZDA61  LDX    >CURFCB
 2191   DA64 EC        88 1E  LDD    $1E,X
 2191   DA64 EC        88 1E  LDD    $1E,X
 2192   DA67 ED        88 32  STD    $32,X
 2192   DA67 ED        88 32  STD    $32,X
 2193   DA6A 86        10     LDA    #$10
 2193   DA6A 86        10     LDA    #$10
 2194   DA6C A7        88 34  STA    $34,X
 2194   DA6C A7        88 34  STA    $34,X
 2195   DA6F BD        D947   
JSR    >ZD947
 2195   DA6F BD        D947   
JSR    >ZD947
 2196   DA72 25        EA     BCS    ZDA5E
 2196   DA72 25        EA     BCS    ZDA5E
 2197   DA74 20        8A     BrRA        ZDA00
 2197   DA74 20        8A     BrRA        ZDA00
 2198   
 2198   
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2199   DA76 BE        D40B   ZDA76  LDX    >CURFCB
 2200   DA79 A6        84     LDA    ,X
 2200   DA79 A6        84     LDA    ,X
 2201   DA7B A7        02     STA    $02,X
 2201   DA7B A7        02     STA    $02,X
 2202   DA7D 6F        84     CLR    ,X
 2202   DA7D 6F        84     CLR    ,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2203   DA7F 6F        88 3B  CLR    $3B,X
 2204   DA82 4F        CLRA
 2204   DA82 4F        CLRA
 2205   DA83 A7        88 22  STA    $22,X
 2205   DA83 A7        88 22  STA    $22,X
 2206   sDA86 39    RTS
 2206   sDA86 39    RTS
 2207   *
 2207   *
 2208   ** READ/WRITE NEXT SECTOR
 2208   ** READ/WRITE NEXT SECTOR
 2209   *
 2209   *
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2210   DA87 8D        28     NXTSEC BSR    ZDAB1
 2211   DA89 25        0E     BCS    ZDA99
 2211   DA89 25        0E     BCS    ZDA99
 2212   DA8B 6F        84     CLR    ,X
 2212   DA8B 6F        84     CLR    ,X
 2213   DA8D 44        LSRA
 2213   DA8D 44        LSRA
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2214   DA8E 1025 FB7A 
LBCS   ZD60C
 2215   DA92 C6        04     LDB    t#$04
 2215   DA92 C6        04     LDB    t#$04
 2216   DA94 E7        88 22  STB    $22,X
 2216   DA94 E7        88 22  STB    $22,X
 2217   DA97 1C        FE     ANDCC  #$FE
 2217   DA97 1C        FE     ANDCC  #$FE
 2218   DA99 39        ZDA99  RTS
 2218   DA99 39        ZDA99  RTS
 2219   
 2219   
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2220   DA9A BE        D40B   ZDA9A  LDX    >CURFCB
 2221   DA9D A6        02     LDA    $02,X
 2221   DA9D A6        02     LDA    $02,X
 2222   DA9F 81        83     CMPA   #$83
 2222   DA9F 81        83     CMPA   #$83
 2223   DAA1 26        0B     BNE    ZDAAE
 2223   DAA1 26        0B     BNE    ZDAAE
 2u224       DAA3 86        03     LDA    #$03
 2u224       DAA3 86        03     LDA    #$03
 2225   DAA5 A7        02     STA    $02,X
 2225   DAA5 A7        02     STA    $02,X
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2226   DAA7 BD        D69F   ZDAA7  JSR    >WRSECT
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2227   DAAA 1025 0113 
LBCS   ZDBC1
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2228   DAAE 1C        FE     ZDAAE  ANDCC  #$FE
 2229   DAB0 39        RTS
 2229   DAB0 39        RTS
 2230   
 2230   
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 2231   DAB1 8D        E7     ZDAB1  BSR    ZDA9A
 22v32       DAB3 25        0D     BCS    ZDAC2
 22v32       DAB3 25        0D     BCS    ZDAC2
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2233   DAB5 BE        D40B   
LDX    >CURFCB
 2234   DAB8 A6        02     LDA    $02,X
 2234   DAB8 A6        02     LDA    $02,X
 2235   DABA 81        03     CMPA   #$03
 2235   DABA 81        03     CMPA   #$03
 2236   DABC 23        F0     BLS    ZDAAE
 2236   DABC 23        F0     BLS    ZDAAE
 2237   DABE C6        12     LDB    #$12
 2237   DABE C6        12     LDB    #$12
 2238   DAC0 1A        01     ORCC   #$01
 2238   DAC0 1A        01     ORCC   #$01
 2239   DAC2 39        ZDAC2  RTS
 2239   DAC2 39        ZDAC2  RTS
w 2240       
w 2240       
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2241   DAC3 8D        EC     CLOSE  BSR    ZDAB1
 2242   DAC5 25        31     BCS    ZDAF8
 2242   DAC5 25        31     BCS    ZDAF8
 2243   DAC7 81        02     CMPA   #$02
 2243   DAC7 81        02     CMPA   #$02
 2244   DAC9 27        08     BEQ    ZDAD3
 2244   DAC9 27        08     BEQ    ZDAD3
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2245   DACB BE        D40B   ZDACB  LDX    >CURFCB
 2246   DACE 6F        02     CLR    $02,X
 2246   DACE 6F        02     CLR    $02,X
 2247   DAD0 7E        D50C   
JMP    >ZD50Cx
 2247   DAD0 7E        D50C   
JMP    >ZD50Cx
 2248   
 2248   
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2249   DAD3 A6        88 12  ZDAD3  LDA    $12,X
 2250   DAD6 26        05     BNE    ZDADD
 2250   DAD6 26        05     BNE    ZDADD
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2251   DAD8 BD        DBA7   
JSR    >ZDBA7
 2252   DADB 20        19     BRA    ZDAF6
 2252   DADB 20        19     BRA    ZDAF6
 2253   
 2253   
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2254   DADD 8D        C8     ZDADD  BSR    ZDAA7
 2255   DADF 25        17     BCS    ZDAF8
 2255   DADF 25        17     BCS    ZDAF8
 2256   DAE1 BE        D40By       
LDX    >CURFCB
 2256   DAE1 BE        D40By       
LDX    >CURFCB
 2257   DAE4 6D        88 17  TST    $17,X
 2257   DAE4 6D        88 17  TST    $17,X
 2258   DAE7 27        05     BEQ    ZDAEE
 2258   DAE7 27        05     BEQ    ZDAEE
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2259   DAE9 BD        DC98   
JSR    >ZDC98
 2260   DAEC 25        0A     BCS    ZDAF8
 2260   DAEC 25        0A     BCS    ZDAF8
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2261   DAEE BD        D969   ZDAEE  JSR    >RESV1
 2262   DAF1 25        05     BCS    ZDAF8
 2262   DAF1 25        05     BCS    ZDAF8
 2263   DAF3 BD        D947   
JSR    >zZD947
 2263   DAF3 BD        D947   
JSR    >zZD947
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2264   DAF6 24        D3     ZDAF6  BCC    ZDACB
 2265   DAF8 39        ZDAF8  RTS
 2265   DAF8 39        ZDAF8  RTS
 2266   *
 2266   *
 2267   ** OPEN FOR UPDATE
 2267   ** OPEN FOR UPDATE
 2268   *
 2268   *
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2269   DAF9 BD        D986   OPENUD JSR    >OPENRD
 2270   DAFC 25        28     BCS    ZDB26
 2270   DAFC 25        28     BCS    ZDB26
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2271   DAFE BD        D60C   
JSR    >ZD60C
 2272   DB01 25        23     {BCS        ZDB26
 2272   DB01 25        23     {BCS        ZDB26
 2273   DB03 86        03     LDA    #$03
 2273   DB03 86        03     LDA    #$03
 2274   DB05 20        18     BRA    ZDB1F
 2274   DB05 20        18     BRA    ZDB1F
 2275   *
 2275   *
 2276   **
 2276   **
 2277   *
 2277   *
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2278   DB07 BD        D986   RESV3  JSR    >OPENRD
 2279   DB0A 25        1A     BCS    ZDB26
 2279   DB0A 25        1A     BCS    ZDB26
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2280   DB0C BE        D40B   
LDX    >CURFCB
 2281   DB0F A6        0F     LDA    $0F,X
 2281   DB0F A6        0F     LDA    $0F,X
 22}82       DB11 85        80     BITA   #$80
 22}82       DB11 85        80     BITA   #$80
 2283   DB13 26        12     BNE    ZDB27
 2283   DB13 26        12     BNE    ZDB27
 2284   DB15 EC        88 13  LDD    $13,X
 2284   DB15 EC        88 13  LDD    $13,X
 2285   DB18 BD        D620   
JSR    >ZD620
 2285   DB18 BD        D620   
JSR    >ZD620
 2286   DB1B 25        09     BCS    ZDB26
 2286   DB1B 25        09     BCS    ZDB26
 2287   DB1D 86        02     LDA    #$02
 2287   DB1D 86        02     LDA    #$02
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2288   DB1F BE        D40B   ZDB1F  LDX    >CURFCB
 2289   DB22 A7        'o~&ۧ %m'ܘ%
 2289   DB22 A7        'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟~02       STA    $02,X
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟~02       STA    $02,X
 2290   DB24 1C        FE     ANDCC  #$FE
 2290   DB24 1C        FE     ANDCC  #$FE
 2291   DB26 39        ZDB26  RTS
 2291   DB26 39        ZDB26  RTS
 2292   
 2292   
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2293   DB27 C6        0B     ZDB27  LDB    #$0B
 2294   DB29 1A        01     ORCC   #$01
 2294   DB29 1A        01     ORCC   #$01
 2295   DB2B 39        RTS
 2295   DB2B 39        RTS
 2296   *
 2296   *
 2297   ** RENAME FILE
 2297   ** RENAME FILE
 2298   *
 2298   *
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2299   DB2C 8D        35     RENAME BSR         ZDB63
 2300   DB2E BD        D892   
JSR    >ZD892
 2300   DB2E BD        D892   
JSR    >ZD892
 2301   DB31 25        2A     BCS    ZDB5D
 2301   DB31 25        2A     BCS    ZDB5D
 2302   DB33 27        24     BEQ    ZDB59
 2302   DB33 27        24     BEQ    ZDB59
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2303   DB35 BE        D40B   
LDX    >CURFCB
 2304   DB38 C6        0B     LDB    #$0B
 2304   DB38 C6        0B     LDB    #$0B
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2305   DB3A A6        88 24  ZDB3A  LDA    $24,X
 2306   DB3D A7        04     STA    $04,X
 2306   DB3D A7        04     STA    $04,X
 23!07       DB3F 30        01     LEAX   $01,X
 23!07       DB3F 30        01     LEAX   $01,X
 2308   DB41 5A        DECB
 2308   DB41 5A        DECB
 2309   DB42 26        F6     BNE    ZDB3A
 2309   DB42 26        F6     BNE    ZDB3A
 2310   DB44 8D        4D     BSR    ZDB93
 2310   DB44 8D        4D     BSR    ZDB93
 2311   DB46 25        15     BCS    ZDB5D
 2311   DB46 25        15     BCS    ZDB5D
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2312   DB48 BE        D40B   
LDX    >CURFCB
 2313   DB4B A6        0F     LDA    $0F,X
 2313   DB4B A6        0F     LDA    $0F,X
 2314   DB4D 85        80     BITA   #$80
 2314   DB4D 85        80     BITA   #$80
 231"5       DB4F 26        D6     BNE    ZDB27
 231"5       DB4F 26        D6     BNE    ZDB27
 2316   DB51 85        60     BITA   #$60
 2316   DB51 85        60     BITA   #$60
 2317   DB53 26        09     BNE    ZDB5E
 2317   DB53 26        09     BNE    ZDB5E
 2318   DB55 8D        0C     BSR    ZDB63
 2318   DB55 8D        0C     BSR    ZDB63
 2319   DB57 20        55     BRA    ZDBAE
 2319   DB57 20        55     BRA    ZDBAE
 2320   
 2320   
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2321   DB59 C6        03     ZDB59  LDB    #$03
 2322   DB5B 1A        01     ORCC   #$01
 2322   DB5B 1A        01     ORCC   #$01
 2323   DB5D 39        Z#DB5D      RTS
 2323   DB5D 39        Z#DB5D      RTS
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2324   DB5E C6        0C     ZDB5E  LDB    #$0C
 2325   DB60 1A        01     ORCC   #$01
 2325   DB60 1A        01     ORCC   #$01
 2326   DB62 39        RTS
 2326   DB62 39        RTS
 2327   
 2327   
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2328   DB63 BE        D40B   ZDB63  LDX    >CURFCB
 2329   DB66 86        0B     LDA    #$0B
 2329   DB66 86        0B     LDA    #$0B
 2330   DB68 B7        D411   
STA    >ZD411
 2330   DB68 B7        D411   
STA    >ZD411
 2331   DB6B A6        04     ZDB6B  LDA    $$04,X
 2331   DB6B A6        04     ZDB6B  LDA    $$04,X
 2332   DB6D E6        88 35  LDB    $35,X
 2332   DB6D E6        88 35  LDB    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2333   DB70 A7        88 35  STA    $35,X
 2334   DB73 E7        04     STB    $04,X
 2334   DB73 E7        04     STB    $04,X
 2335   DB75 30        01     LEAX   $01,X
 2335   DB75 30        01     LEAX   $01,X
 2336   DB77 7A        D411   
DEC    >ZD411
 2336   DB77 7A        D411   
DEC    >ZD411
 2337   DB7A 26        EF     BNE    ZDB6B
 2337   DB7A 26        EF     BNE    ZDB6B
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2338   DB7C BE        D40B   
LDX    >CURFCB
 2339   %DB7F A6    0C     LDA    $0C,X
 2339   %DB7F A6    0C     LDA    $0C,X
 2340   DB81 26        0C     BNE    ZDB8F
 2340   DB81 26        0C     BNE    ZDB8F
 2341   DB83 C6        03     LDB    #$03
 2341   DB83 C6        03     LDB    #$03
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2342   DB85 A6        88 3D  ZDB85  LDA    $3D,X
 2343   DB88 A7        0C     STA    $0C,X
 2343   DB88 A7        0C     STA    $0C,X
 2344   DB8A 30        01     LEAX   $01,X
 2344   DB8A 30        01     LEAX   $01,X
 2345   DB8C 5A        DECB
 2345   DB8C 5A        DECB
 2346   DB8D 26        F6     BNE    ZDB85
 2346   DB8D 26        F6     BNE    ZDB85
 23&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 23&47       DB8F BE        D40B   ZDB8F  LDX    >CURFCB
 2348   DB92 39        RTS
 2348   DB92 39        RTS
 2349   
 2349   
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2350   DB93 8D        CE     ZDB93  BSR    ZDB63
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2351   DB95 BD        D892   ZDB95  JSR    >ZD892
 2352   DB98 25        07     BCS    ZDBA1
 2352   DB98 25        07     BCS    ZDBA1
 2353   DB9A 26        06     BNE    ZDBA2
 2353   DB9A 26        06     BNE    ZDBA2
 2354   DB9C BE        D40B   
LDX    >CURFCB
 2354   DB9C BE        D40B   
LDX    >CURFCB
 '2355       DB9F 1C        FE     ANDCC  #$FE
 '2355       DB9F 1C        FE     ANDCC  #$FE
 2356   DBA1 39        ZDBA1  RTS
 2356   DBA1 39        ZDBA1  RTS
 2357   
 2357   
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2358   DBA2 C6        04     ZDBA2  LDB    #$04
 2359   DBA4 1A        01     ORCC   #$01
 2359   DBA4 1A        01     ORCC   #$01
 2360   DBA6 39        RTS
 2360   DBA6 39        RTS
 2361   
 2361   
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2362   DBA7 BE        D40B   ZDBA7  LDX    >CURFCB
 2363   DBAA 86        FF     LDA    #$FF
 2363   DBAA 86        FF     LDA    #$FF
 2364   DB(AC A7    04     STA    $04,X
 2364   DB(AC A7    04     STA    $04,X
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2365   DBAE BD        D969   ZDBAE  JSR    >RESV1
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2366   DBB1 BE        D40B   
LDX    >CURFCB
 2367   DBB4 86        00     LDA    #$00
 2367   DBB4 86        00     LDA    #$00
 2368   DBB6 A7        02     STA    $02,X
 2368   DBB6 A7        02     STA    $02,X
 2369   DBB8 39        RTS
 2369   DBB8 39        RTS
 2370   
 2370   
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2371   DBB9 ED        88 40  ZDBB9  STD    $40,X
 2372   DBBC BD        )D69F       
JSR    >WRSECT
 2372   DBBC BD        )D69F       
JSR    >WRSECT
 2373   DBBF 24        14     BCC    ZDBD5
 2373   DBBF 24        14     BCC    ZDBD5
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2374   DBC1 C5        40     ZDBC1  BITB   #$40
 2375   DBC3 26        08     BNE    ZDBCD
 2375   DBC3 26        08     BNE    ZDBCD
 2376   DBC5 C5        80     BITB   #$80
 2376   DBC5 C5        80     BITB   #$80
 2377   DBC7 27        0A     BEQ    ZDBD3
 2377   DBC7 27        0A     BEQ    ZDBD3
 2378   DBC9 C6        10     LDB    #$10
 2378   DBC9 C6        10     LDB    #$10
 2379   DBCB 20        06     BRA    ZDBD3
 2379   DBCB 20        06     BRA    ZDBD3
 2*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2*380       DBCD C6        0B     ZDBCD  LDB    #$0B
 2381   DBCF 20        02     BRA    ZDBD3
 2381   DBCF 20        02     BRA    ZDBD3
 2382   
 2382   
 2383   DBD1 C6        0A     LDB    #$0A
 2383   DBD1 C6        0A     LDB    #$0A
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2384   DBD3 1A        01     ZDBD3  ORCC   #$01
 2385   DBD5 39        ZDBD5  RTS
 2385   DBD5 39        ZDBD5  RTS
 2386   *
 2386   *
 2387   ** DELETE FILE
 2387   ** DELETE FILE
 2388   *
 2388   *
 2389   DBD6 BD        D917   DELETE JSR    +>ZD917
 2389   DBD6 BD        D917   DELETE JSR    +>ZD917
 2390   DBD9 25        5E     BCS    ZDC39
 2390   DBD9 25        5E     BCS    ZDC39
 2391   DBDB 8D        B8     BSR    ZDB95
 2391   DBDB 8D        B8     BSR    ZDB95
 2392   DBDD 25        5A     BCS    ZDC39
 2392   DBDD 25        5A     BCS    ZDC39
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2393   DBDF BE        D40B   
LDX    >CURFCB
 2394   DBE2 A6        0F     LDA    $0F,X
 2394   DBE2 A6        0F     LDA    $0F,X
 2395   DBE4 85        80     BITA   #$80
 2395   DBE4 85        80     BITA   #$80
 2396   DBE6 26        52     BNE    ZDC3A
 2396   DBE6 26        52     BNE    ZDC3A
 2397   DBE8 85        $@&ŀ'
 2397   DBE8 85        $@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@,60 BITA   #$60
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@,60 BITA   #$60
 2398   DBEA 26        52     BNE    ZDC3E
 2398   DBEA 26        52     BNE    ZDC3E
 2399   DBEC BD        D787   
JSR    >ZD787
 2399   DBEC BD        D787   
JSR    >ZD787
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2400   DBEF BE        D41B   
LDX    >ZD41B
 2401   DBF2 EC        02     LDD    $02,X
 2401   DBF2 EC        02     LDD    $02,X
 2402   DBF4 26        0F     BNE    ZDC05
 2402   DBF4 26        0F     BNE    ZDC05
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2403   DBF6 BE        D40B   
LDX    >CURFCB
 2404   DBF9 EC        88 11  LDD    $11,X-
 2404   DBF9 EC        88 11  LDD    $11,X-
 2405   DBFC 27        33     BEQ    ZDC31
 2405   DBFC 27        33     BEQ    ZDC31
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2406   DBFE BE        D41B   
LDX    >ZD41B
 2407   DC01 ED        84     STD    ,X
 2407   DC01 ED        84     STD    ,X
 2408   DC03 20        14     BRA    ZDC19
 2408   DC03 20        14     BRA    ZDC19
 2409   
 2409   
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2410   DC05 BE        D40B   ZDC05  LDX    >CURFCB
 2411   DC08 BD        D620   
JSR    >ZD620
 2411   DC08 BD        D620   
JSR    >ZD620
 2412   DC0B 25        2C     BCS    ZDC39
 2412   DC0B 25        2C     BCS    ZDC39
 24.13       DC0D BE        D40B   
LDX    >CURFCB
 24.13       DC0D BE        D40B   
LDX    >CURFCB
 2414   DC10 EC        88 11  LDD    $11,X
 2414   DC10 EC        88 11  LDD    $11,X
 2415   DC13 27        1C     BEQ    ZDC31
 2415   DC13 27        1C     BEQ    ZDC31
 2416   DC15 8D        A2     BSR    ZDBB9
 2416   DC15 8D        A2     BSR    ZDBB9
 2417   DC17 25        20     BCS    ZDC39
 2417   DC17 25        20     BCS    ZDC39
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2418   DC19 BE        D40B   ZDC19  LDX    >CURFCB
 2419   DC1C EC        88 13  LDD    $13,X
 2419   DC1C EC        88 13  LDD    $13,X
 2420   DC1/F BE    D41B   
LDX    >ZD41B
 2420   DC1/F BE    D41B   
LDX    >ZD41B
 2421   DC22 ED        02     STD    $02,X
 2421   DC22 ED        02     STD    $02,X
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2422   DC24 BE        D40B   
LDX    >CURFCB
 2423   DC27 EC        88 15  LDD    $15,X
 2423   DC27 EC        88 15  LDD    $15,X
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2424   DC2A BE        D41B   
LDX    >ZD41B
 2425   DC2D E3        04     ADDD   $04,X
 2425   DC2D E3        04     ADDD   $04,X
 2426   DC2F ED        04     STD    $04,X
 2426   DC2F ED        04     STD    $04,X
 2427   DC31 BD        DBA7   ZD0C31      JSR    >ZDBA7
 2427   DC31 BD        DBA7   ZD0C31      JSR    >ZDBA7
 2428   DC34 25        03     BCS    ZDC39
 2428   DC34 25        03     BCS    ZDC39
 2429   DC36 BD        D947   
JSR    >ZD947
 2429   DC36 BD        D947   
JSR    >ZD947
 2430   DC39 39        ZDC39  RTS
 2430   DC39 39        ZDC39  RTS
 2431   
 2431   
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2432   DC3A C6        0B     ZDC3A  LDB    #$0B
 2433   DC3C 20        02     BRA    ZDC40
 2433   DC3C 20        02     BRA    ZDC40
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2434   DC3E C6        0C     ZDC3E  LDB    #$0C
 2435   DC40 1A        01     ZD1C40      ORCC   #$01
 2435   DC40 1A        01     ZD1C40      ORCC   #$01
 2436   DC42 39        RTS
 2436   DC42 39        RTS
 2437   
 2437   
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2438   DC43 EC        88 1E  ZDC43  LDD    $1E,X
 2439   DC46 5C        INCB
 2439   DC46 5C        INCB
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2440   DC47 E1        88 3C  CMPB   $3C,X
 2441   DC4A 23        03     BLS    ZDC4F
 2441   DC4A 23        03     BLS    ZDC4F
 2442   DC4C C6        01     LDB    #$01
 2442   DC4C C6        01     LDB    #$01
 2443   DC4E 4C        INCA
 2443   DC4E 4C        INCA
 2444   DC4F 10A3 88 213    ZDC4F  CMPD   $13,X
 2444   DC4F 10A3 88 213    ZDC4F  CMPD   $13,X
 2445   DC53 26        0E     BNE    ZDC63
 2445   DC53 26        0E     BNE    ZDC63
 2446   DC55 A6        88 37  LDA    $37,X
 2446   DC55 A6        88 37  LDA    $37,X
 2447   DC58 81        FF     CMPA   #$FF
 2447   DC58 81        FF     CMPA   #$FF
 2448   DC5A 27        07     BEQ    ZDC63
 2448   DC5A 27        07     BEQ    ZDC63
 2449   DC5C 4C        INCA
 2449   DC5C 4C        INCA
 2450   DC5D A7        88 37  STA    $37,X
 2450   DC5D A7        88 37  STA    $37,X
 2451   DC60 1C        FE     ANDCC  #$FE
 2451   DC60 1C        FE     ANDCC  #$FE
 2452   3DC62 39    RTS
 2452   3DC62 39    RTS
 2453   
 2453   
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2454   DC63 8D        33     ZDC63  BSR    ZDC98
 2455   DC65 25        30     BCS    ZDC97
 2455   DC65 25        30     BCS    ZDC97
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2456   DC67 BE        D40B   
LDX    >CURFCB
 2457   DC6A A6        88 3A  LDA    $3A,X
 2457   DC6A A6        88 3A  LDA    $3A,X
 2458   DC6D 8B        03     ADDA   #$03
 2458   DC6D 8B        03     ADDA   #$03
 2459   DC6F 26        16     BNE    ZDC87
 2459   DC6F 26        16     BNE    ZDC87
 2460   DC71 EC        88 1E  4LDD        $1E,X
 2460   DC71 EC        88 1E  4LDD        $1E,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2461   DC74 10A3 88 11        CMPD   $11,X
 2462   DC78 27        05     BEQ    ZDC7F
 2462   DC78 27        05     BEQ    ZDC7F
 2463   DC7A C6        17     LDB    #$17
 2463   DC7A C6        17     LDB    #$17
 2464   DC7C 1A        01     ORCC   #$01
 2464   DC7C 1A        01     ORCC   #$01
 2465   DC7E 39        RTS
 2465   DC7E 39        RTS
 2466   
 2466   
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2467   DC7F EC        88 40  ZDC7F  LDD    $40,X
 2468   DC82 ED        88 38  ZDC82  STD    $538,X
 2468   DC82 ED        88 38  ZDC82  STD    $538,X
 2469   DC85 86        04     LDA    #$04
 2469   DC85 86        04     LDA    #$04
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2470   DC87 A7        88 3A  ZDC87  STA    $3A,X
 2471   DC8A EC        88 13  LDD    $13,X
 2471   DC8A EC        88 13  LDD    $13,X
 2472   DC8D ED        88 35  STD    $35,X
 2472   DC8D ED        88 35  STD    $35,X
 2473   DC90 86        01     LDA    #$01
 2473   DC90 86        01     LDA    #$01
 2474   DC92 A7        88 37  STA    $37,X
 2474   DC92 A7        88 37  STA    $37,X
 2475   DC95 1C        FE     ANDCC  #$FE
 2475   DC95 1C        FE     ANDCC  #$FE
 24766       DC97 39        ZDC97  RTS
 24766       DC97 39        ZDC97  RTS
 2477   
 2477   
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2478   DC98 EC        88 38  ZDC98  LDD    $38,X
 2479   DC9B BD        D620   
JSR    >ZD620
 2479   DC9B BD        D620   
JSR    >ZD620
 2480   DC9E 25        F7     BCS    ZDC97
 2480   DC9E 25        F7     BCS    ZDC97
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2481   DCA0 BE        D40B   
LDX    >CURFCB
 2482   DCA3 1F        12     TFR    X,Y
 2482   DCA3 1F        12     TFR    X,Y
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2483   DCA5 E6        88 3A  LDB    $3A,X
 2484   DC7A8 3A    ABX
 2484   DC7A8 3A    ABX
 2485   DCA9 C6        03     LDB    #$03
 2485   DCA9 C6        03     LDB    #$03
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2486   DCAB A6        A8 35  ZDCAB  LDA    $35,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2487   DCAE 31        21     LEAY   $01,Y
 2488   DCB0 A7        88 40  STA    $40,X
 2488   DCB0 A7        88 40  STA    $40,X
 2489   DCB3 30        01     LEAX   $01,X
 2489   DCB3 30        01     LEAX   $01,X
 2490   DCB5 5A        DECB
 2490   DCB5 5A        DECB
 2491   DCB6 26        F3     BNE    ZDCAB
 2491   DCB6 26        F3     BNE    ZDCAB
 2492   DCB8 8BD    D69F   
JSR    >WRSECT
 2492   DCB8 8BD    D69F   
JSR    >WRSECT
 2493   DCBB 24        DA     BCC    ZDC97
 2493   DCBB 24        DA     BCC    ZDC97
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2494   DCBD 7E        DBC1   
JMP    >ZDBC1
 2495   
 2495   
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2496   DCC0 BD        D810   ZDCC0  JSR    >OPNREC
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2497   DCC3 BD        D60C   
JSR    >ZD60C
 2498   DCC6 25        46     BCS    ZDD0E
 2498   DCC6 25        46     BCS    ZDD0E
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2499   DCC8 BE        D40B   
LDX    >CURFCB
 2500   9DCCB 4F    CLRA
 2500   9DCCB 4F    CLRA
 2501   DCCC 5F        CLRB
 2501   DCCC 5F        CLRB
 2502   DCCD ED        88 20  STD    $20,X
 2502   DCCD ED        88 20  STD    $20,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2503   DCD0 A6        88 67  LDA    $67,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2504   DCD3 A7        88 3C  STA    $3C,X
 2505   DCD6 5F        CLRB
 2505   DCD6 5F        CLRB
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2506   DCD7 6F        88 40  ZDCD7  CLR    $40,X
 2507   DCDA 30        01     LEAX   $01,X
 2507   DCDA 30        01     LEAX   $01,X
 2508   DCDC :5A    DECB
 2508   DCDC :5A    DECB
 2509   DCDD 26        F8     BNE    ZDCD7
 2509   DCDD 26        F8     BNE    ZDCD7
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2510   DCDF BE        D40B   
LDX    >CURFCB
 2511   DCE2 1C        FE     ANDCC  #$FE
 2511   DCE2 1C        FE     ANDCC  #$FE
 2512   DCE4 39        RTS
 2512   DCE4 39        RTS
 2513   *
 2513   *
 2514   ** BACKUP ONE RECORD
 2514   ** BACKUP ONE RECORD
 2515   *
 2515   *
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2516   DCE5 BE        D40B   BAKREC LDX    >CURFCB
 2517   DCE8 A6        88 17  LDA    ;$17,X
 2517   DCE8 A6        88 17  LDA    ;$17,X
 2518   DCEB 27        1D     BEQ    ZDD0A
 2518   DCEB 27        1D     BEQ    ZDD0A
 2519   DCED EC        88 20  LDD    $20,X
 2519   DCED EC        88 20  LDD    $20,X
 2520   DCF0 83        0001   
SUBD   #$0001
 2520   DCF0 83        0001   
SUBD   #$0001
 2521   DCF3 2A        03     BPL    ZDCF8
 2521   DCF3 2A        03     BPL    ZDCF8
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2522   DCF5 7E        DD9A   
JMP    >ZDD9A
 2523   *
 2523   *
 2524   ** POSITION TO RECORD N
 2524   ** POSITION TO RECORD N
 2525   *
 2525   *
 2526   DCF8 ED        88 20  <ZDCF8      STD    $20,X
 2526   DCF8 ED        88 20  <ZDCF8      STD    $20,X
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2527   DCFB BD        DAB1   POSREC JSR    >ZDAB1
 2528   DCFE 25        0E     BCS    ZDD0E
 2528   DCFE 25        0E     BCS    ZDD0E
 2529   DD00 46        RORA
 2529   DD00 46        RORA
 2530   DD01 24        07     BCC    ZDD0A
 2530   DD01 24        07     BCC    ZDD0A
 2531   DD03 6F        84     CLR    ,X
 2531   DD03 6F        84     CLR    ,X
 2532   DD05 A6        88 17  LDA    $17,X
 2532   DD05 A6        88 17  LDA    $17,X
 2533   DD08 26        05     BNE    ZDD0F
 2533   DD08 26        05     BNE    ZDD0F
 2534   =DD0A C6    12     ZDD0A  LDB    #$12
 2534   =DD0A C6    12     ZDD0A  LDB    #$12
 2535   DD0C 1A        01     ORCC   #$01
 2535   DD0C 1A        01     ORCC   #$01
 2536   DD0E 39        ZDD0E  RTS
 2536   DD0E 39        ZDD0E  RTS
 2537   
 2537   
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2538   DD0F 7F        D411   ZDD0F  CLR    >ZD411
 2539   DD12 EC        88 11  LDD    $11,X
 2539   DD12 EC        88 11  LDD    $11,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2540   DD15 10AE 88 20        LDY    $20,X
 2541   DD19 27        6A     BEQ    ZDD85
 2541   DD19 27        6A     BEQ    ZDD85
 2542   >DD1B BD    DD9F   
JSR    >ZDD9F
 2542   >DD1B BD    DD9F   
JSR    >ZDD9F
 2543   DD1E 25        EE     BCS    ZDD0E
 2543   DD1E 25        EE     BCS    ZDD0E
 2544   DD20 4F        CLRA
 2544   DD20 4F        CLRA
 2545   DD21 5F        CLRB
 2545   DD21 5F        CLRB
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2546   DD22 6D        02     ZDD22  TST    $02,X
 2547   DD24 27        74     BEQ    ZDD9A
 2547   DD24 27        74     BEQ    ZDD9A
 2548   DD26 EB        02     ADDB   $02,X
 2548   DD26 EB        02     ADDB   $02,X
 2549   DD28 89        00     ADCA   #$00
 2549   DD28 89        00     ADCA   #$00
 2550   DD2A ?BF    D40F   
STX    >ZD40F
 2550   DD2A ?BF    D40F   
STX    >ZD40F
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2551   DD2D BE        D40B   
LDX    >CURFCB
 2552   DD30 10A3 88 20        CMPD   $20,X
 2552   DD30 10A3 88 20        CMPD   $20,X
 2553   DD34 24        2C     BCC    ZDD62
 2553   DD34 24        2C     BCC    ZDD62
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2554   DD36 BE        D40F   
LDX    >ZD40F
 2555   DD39 30        03     LEAX   $03,X
 2555   DD39 30        03     LEAX   $03,X
 2556   DD3B 34        02     PSHS   A
 2556   DD3B 34        02     PSHS   A
 2557   DD3D B6        D411   
LDA    @>ZD411
 2557   DD3D B6        D411   
LDA    @>ZD411
 2558   DD40 4C        INCA
 2558   DD40 4C        INCA
 2559   DD41 B7        D411   
STA    >ZD411
 2559   DD41 B7        D411   
STA    >ZD411
 2560   DD44 81        54     CMPA   #$54
 2560   DD44 81        54     CMPA   #$54
 2561   DD46 27        08     BEQ    ZDD50
 2561   DD46 27        08     BEQ    ZDD50
 2562   DD48 81        A8     CMPA   #$A8
 2562   DD48 81        A8     CMPA   #$A8
 2563   DD4A 35        02     PULS   A
 2563   DD4A 35        02     PULS   A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2564   DD4C 27        4C     BEQ    ZDD9A
 2565   DD4E 20        D2     BRA    ZDD22A
 2565   DD4E 20        D2     BRA    ZDD22A
 2566   
 2566   
 2567   DD50 34        04     ZDD50  PSHS   B
 2567   DD50 34        04     ZDD50  PSHS   B
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2568   DD52 BE        D40B   
LDX    >CURFCB
 2569   DD55 EC        88 40  LDD    $40,X
 2569   DD55 EC        88 40  LDD    $40,X
 2570   DD58 8D        45     BSR    ZDD9F
 2570   DD58 8D        45     BSR    ZDD9F
 2571   DD5A 25        3E     BCS    ZDD9A
 2571   DD5A 25        3E     BCS    ZDD9A
 2572   DD5C 35        04     PULS   B
 2572   DD5C 35        04     PULS   B
 2573   DD5E 35        02     PULS   A
 2573   DD5E 35        02     PULS   A
 2574   DD60 B20    C0     BRA    ZDD22
 2574   DD60 B20    C0     BRA    ZDD22
 2575   
 2575   
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2576   DD62 A3        88 20  ZDD62  SUBD   $20,X
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2577   DD65 BE        D40F   
LDX    >ZD40F
 2578   DD68 A6        02     LDA    $02,X
 2578   DD68 A6        02     LDA    $02,X
 2579   DD6A 34        04     PSHS   B
 2579   DD6A 34        04     PSHS   B
 2580   DD6C A0        E0     SUBA   ,S+
 2580   DD6C A0        E0     SUBA   ,S+
 2581   DD6E 4A        DECA
 2581   DD6E 4A        DECA
 2582   DD6F 1F        89     TFR    A,B
 2582   DD6F 1F        89     TFR    A,B
 0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
 2584   DD73 EB        01     ADDB   $01,X
 2584   DD73 EB        01     ADDB   $01,X
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2585   DD75 BE        D40B   
LDX    >CURFCB
 2586   DD78 25        05     BCS    ZDD7F
 2586   DD78 25        05     BCS    ZDD7F
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2587   DD7A E1        88 3C  ZDD7A  CMPB   $3C,X
 2588   DD7D 23        06     BLS    ZDD85
 2588   DD7D 23        06     BLS    ZDD85
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2589   DD7F E0        88 3C  ZDD7F  SUBB   $3C,X
 2590D       DD82 4C        INCA
 2590D       DD82 4C        INCA
 2591   DD83 20        F5     BRA    ZDD7A
 2591   DD83 20        F5     BRA    ZDD7A
 2592   
 2592   
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2593   DD85 BD        D620   ZDD85  JSR    >ZD620
 2594   DD88 25        14     BCS    ZDD9E
 2594   DD88 25        14     BCS    ZDD9E
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2595   DD8A BE        D40B   
LDX    >CURFCB
 2596   DD8D EC        88 42  LDD    $42,X
 2596   DD8D EC        88 42  LDD    $42,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2597   DD90 10A3 88 20        CMPD   $20,X
 2598   DD94 E27    14     BEQ    ZDDAA
 2598   DD94 E27    14     BEQ    ZDDAA
 2599   DD96 C6        19     LDB    #$19
 2599   DD96 C6        19     LDB    #$19
 2600   DD98 20        02     BRA    ZDD9C
 2600   DD98 20        02     BRA    ZDD9C
 2601   
 2601   
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2602   DD9A C6        18     ZDD9A  LDB    #$18
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2603   DD9C 1A        01     ZDD9C  ORCC   #$01
 2604   DD9E 39        ZDD9E  RTS
 2604   DD9E 39        ZDD9E  RTS
 2605   
 2605   
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 2606   DD9F BD        D620   ZDD9F  JSR    >ZD620
 260F7       DDA2 25        08     BCS    ZDDAC
 260F7       DDA2 25        08     BCS    ZDDAC
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2608   DDA4 BE        D40B   
LDX    >CURFCB
 2609   DDA7 C6        44     LDB    #$44
 2609   DDA7 C6        44     LDB    #$44
 2610   DDA9 3A        ABX
 2610   DDA9 3A        ABX
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2611   DDAA 1C        FE     ZDDAA  ANDCC  #$FE
 2612   DDAC 39        ZDDAC  RTS
 2612   DDAC 39        ZDDAC  RTS
 2613   
 2613   
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2614   DDAD BE        D40B   ZDDAD  LDX    >CURFCB
 2615   DDB0 C6        G0B LDB    #$0B
 2615   DDB0 C6        G0B LDB    #$0B
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2616   DDB2 A6        88 24  ZDDB2  LDA    $24,X
 2617   DDB5 A7        04     STA    $04,X
 2617   DDB5 A7        04     STA    $04,X
 2618   DDB7 30        01     LEAX   $01,X
 2618   DDB7 30        01     LEAX   $01,X
 2619   DDB9 5A        DECB
 2619   DDB9 5A        DECB
 2620   DDBA 26        F6     BNE    ZDDB2
 2620   DDBA 26        F6     BNE    ZDDB2
 2621   DDBC 39        RTS
 2621   DDBC 39        RTS
 2622   *
 2622   *
 2623   ** FIND NEXT DRIVE
 2623   ** FIND NEXT DRIVE
 2624   *
 2624   *
 2625   DHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2625   DHDBD BE    D40B   NXTDRV LDX    >CURFCB
 2626   DDC0 A6        03     LDA    $03,X
 2626   DDC0 A6        03     LDA    $03,X
 2627   DDC2 4C        INCA
 2627   DDC2 4C        INCA
 2628   DDC3 81        04     CMPA   #$04
 2628   DDC3 81        04     CMPA   #$04
 2629   DDC5 24        0F     BCC    ZDDD6
 2629   DDC5 24        0F     BCC    ZDDD6
 2630   DDC7 A7        03     STA    $03,X
 2630   DDC7 A7        03     STA    $03,X
 2631   DDC9 26        05     BNE    ZDDD0
 2631   DDC9 26        05     BNE    ZDDD0
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIY
 2632   >DDCB BD       DE0F   
JSR    >DRVRDIY
 2633   DDCE 20        03     BRA    ZDDD3
 2633   DDCE 20        03     BRA    ZDDD3
 2634   
 2634   
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2635   >DDD0 BD       DE12   ZDDD0  JSR    >QUICK
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2636   DDD3 25        E8     ZDDD3  BCS    NXTDRV
 2637   DDD5 39        RTS
 2637   DDD5 39        RTS
 2638   
 2638   
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2639   DDD6 C6        10     ZDDD6  LDB    #$10
 2640   DDD8 1A        01     ORCC   #$01
 2640   DDD8 1A        01     ORCC   #$01
 2641   DDDA 39        RTS
 2641   DDDA 39        RTS
 264J2       END
 264J2       END
 2643   
 2643   
 2645   *
 2645   *
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2646   ** FLEX 9 COMPACT FLASH DISK DRIVERS
 2647   *
 2647   *
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2648   * FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
 2649   * WITH I/O MAPPED AT $XE000
 2649   * WITH I/O MAPPED AT $XE000
 2650   * AND ROM MAPPED AT $XF000
 2650   * AND ROM MAPPED AT $XF000
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKM
 2651   * THE BURCHED B5-X300 HAS 256KBYTES OF SRAKM
 2652   * THE FIRST 64K IS USED BY FLEX,
 2652   * THE FIRST 64K IS USED BY FLEX,
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2653   * THE SECOND 192K MAY BE USED AS A RAM DISK
 2654   *
 2654   *
 2655   *
 2655   *
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2656   0010   IMASK  EQU    $10    IRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2657   0040   FMASK  EQU    $40    FIRQ MASK CC
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 2658   FFF0   DATREG EQU    $FFF0  DAT REGISTERS
 L2659       *
 L2659       *
 2660   E040   CF_BASE EQU    $E040
 2660   E040   CF_BASE EQU    $E040
 2661   E040   CF_DATA EQU    CF_BASE+0
 2661   E040   CF_DATA EQU    CF_BASE+0
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2662   E041   CF_ERROR EQU   CF_BASE+1 ; read error
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2663   E041   CF_FEATURE EQU CF_BASE+1 ; write feature
 2664   E042   CF_SCNT EQU    CF_BASE+2
 2664   E042   CF_SCNT EQU    CF_BASE+2
 2665   E043   CF_SNUM EQU    CF_BMASE+3
 2665   E043   CF_SNUM EQU    CF_BMASE+3
 2666   E044   CF_CLO EQU    CF_BASE+4
 2666   E044   CF_CLO EQU    CF_BASE+4
 2667   E045   CF_CHI EQU    CF_BASE+5
 2667   E045   CF_CHI EQU    CF_BASE+5
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2668   E046   CF_HEAD EQU    CF_BASE+6
 2669   E047   CF_STATUS EQU  CF_BASE+7 ; read status
 2669   E047   CF_STATUS EQU  CF_BASE+7 ; read status
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2670   E047   CF_COMAND EQU  CF_BASE+7 ; write command
 2671   *
 2671   *
 2672   * CommandN Equates
 2672   * CommandN Equates
 2673   *
 2673   *
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2674   0020   CMDREAD EQU    $20    ; Read Single sector
 2675   0030   CMDWRITE EQU   $30    ; Write Single sector
 2675   0030   CMDWRITE EQU   $30    ; Write Single sector
 2676   00EF   CMDFEATURE EQU $EF
 2676   00EF   CMDFEATURE EQU $EF
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2677   0001   FEAT8BIT EQU   $01    ; enable 8 bit transfers
 2678   00E0   HEADLBA EQU    $E0
 2678   00E0   HEADLBA EQU    $E0
 2O679       *
 2O679       *
 2680   * Status bit equates
 2680   * Status bit equates
 2681   *
 2681   *
 2682   0080   BSY    EQU    $80
 2682   0080   BSY    EQU    $80
 2683   0040   DRDY   EQU    $40
 2683   0040   DRDY   EQU    $40
 2684   0008   DRQ    EQU    $08
 2684   0008   DRQ    EQU    $08
 2685   0001   ERR    EQU    $01
 2685   0001   ERR    EQU    $01
 2686   DE00   ORG    $DE00
 2686   DE00   ORG    $DE00
 2687   *      
 2687   *      
 2688   * DISK DRIVER JUMP TABLE
 2688   * DISK DRIVER JUMP TABLE
 2689   *
 2689   *
 2690   >DE009$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCDEB_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9P 7E   DE4B   READ   JMP    READSC
 2690   >DE009$0Z&9L$& %99~K~l~ގ~2~ސ~ޜ~ޜ~~J~7FAG n\OZCDEB_9 GL_X@Z&_M@Z&6_9Ɇ0G+_7@Z&_,O@Z&_9_9#O_9_9G&G@'9G'9P 7E   DE4B   READ   JMP    READSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2691   >DE03 7E       DE6C   WRITE  JMP    WRITSC
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2692   DE06 7E        DE8E   VERIFY JMP    BUSY
 2693   >DE09 7E       DE32   RESTOR JMP    RESTR1
 2693   >DE09 7E       DE32   RESTOR JMP    RESTR1
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2694   DE0C 7E        DE90   DRIVE  JMP    DRVSEL
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2695   DE0F 7E        DE9C   DRVRDY JMP    CHKDRV
 2696   DEQ12 7E    DE9C   QUICK  JMP    CHKDRV
 2696   DEQ12 7E    DE9C   QUICK  JMP    CHKDRV
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2697   >DE15 7E       DE1F   COLDDR JMP    INITDR
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2698   >DE18 7E       DE4A   WARMDR JMP    WARMD1
 2699   >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2699   >DE1B 7E       DE37   SEEK   JMP    SEEKTS
 2700   *
 2700   *
 2701   * RAM SPACE
 2701   * RAM SPACE
 2702   *
 2702   *
 2703   DE1E 00        DRVNUM FCB    0
 2703   DE1E 00        DRVNUM FCB    0
 2704   *
 2704   *
 2705   R*
 2705   R*
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2706   * INITIALIZE CF CARD FOR 8 BIT LBA MODE
 2707   *
 2707   *
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2708   DE1F 8D        7F     INITDR BSR    WAITRDY
 2709   DE21 86        E0     LDA    #HEADLBA
 2709   DE21 86        E0     LDA    #HEADLBA
 2710   DE23 B7        E046   
STA    CF_HEAD
 2710   DE23 B7        E046   
STA    CF_HEAD
 2711   DE26 86        01     LDA    #FEAT8BIT
 2711   DE26 86        01     LDA    #FEAT8BIT
 2712   DE28 B7        E041   
STA    CF_FEATURE
 2712   DE28 B7        E041   
STA    CF_FEATURE
 27S13       DE2B 86        EF     LDA    #CMDFEATURE
 27S13       DE2B 86        EF     LDA    #CMDFEATURE
 2714   DE2D B7        E047   
STA    CF_COMAND
 2714   DE2D B7        E047   
STA    CF_COMAND
 2715   DE30 20        6E     BRA    WAITRDY
 2715   DE30 20        6E     BRA    WAITRDY
 2716   *      
 2716   *      
 2717   * RESTORE DISK DRIVER (SEEK TRACK 00)
 2717   * RESTORE DISK DRIVER (SEEK TRACK 00)
 2718   *      
 2718   *      
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2719   DE32 8D        5C     RESTR1 BSR    DRVSEL
 2720   DE34 4F        CLRA   
; Track 0
 2720   DE34 4F        CLRA   
; Track 0
 T2721       DE35 C6        01     LDB    #$01   ; Sector 1
 T2721       DE35 C6        01     LDB    #$01   ; Sector 1
 2722   *
 2722   *
 2723   * Seek track and sector
 2723   * Seek track and sector
 2724   * A holds track number (0 - ??)
 2724   * A holds track number (0 - ??)
 2725   * B holds sector number (1 - ??)
 2725   * B holds sector number (1 - ??)
 2726   * Sector numbers starts from 1
 2726   * Sector numbers starts from 1
 2727   * subtract 1 to start from sector 0 on CFU
 2727   * subtract 1 to start from sector 0 on CFU
 2728   *
 2728   *
 2729   DE37 5A        SEEKTS DECB
 2729   DE37 5A        SEEKTS DECB
 2730   DE38 F7        E043   
STB    CF_SNUM
 2730   DE38 F7        E043   
STB    CF_SNUM
 2731   DE3B B7        E044   
STA    CF_CLO
 2731   DE3B B7        E044   
STA    CF_CLO
 2732   DE3E F6        DE1E   
LDB    DRVNUM
 2732   DE3E F6        DE1E   
LDB    DRVNUM
 2733   DE41 F7        E045   
STB    CF_CHI
 2733   DE41 F7        E045   
STB    CF_CHI
 2734   DE44 C6        01     LDB    #$01
 2734   DE44 C6        01     LDB    #$01
 2735   DE46 F7        E042   
STB    CF_SCNT
 2735   DE46 F7        E042   
STB    CF_SCNT
 2V736       DE49 5F        CLRB
 2V736       DE49 5F        CLRB
 2737   DE4A 39        WARMD1 RTS
 2737   DE4A 39        WARMD1 RTS
 2738   *
 2738   *
 2739   * READ SECTORS FROM CF
 2739   * READ SECTORS FROM CF
 2740   *
 2740   *
 2741   *
 2741   *
 2742   DE4B 8D        EA     READSC BSR    SEEKTS
 2742   DE4B 8D        EA     READSC BSR    SEEKTS
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2743   DE4D 86        20     LDA    #CMDREAD       ; IDE READ MULTIPLE
 2744   DE4F B7        E047   
STA    CF_COMAND
 2744   DE4F B7        E047   
STA    CF_COMAND
 2745   WDE52 8D    4C     BSR    WAITRDY
 2745   WDE52 8D    4C     BSR    WAITRDY
 2746   *
 2746   *
 2747   * READ LOOP
 2747   * READ LOOP
 2748   *
 2748   *
 2749   DE54 5F        CLRB
 2749   DE54 5F        CLRB
 2750   DE55 8D        58     RDLP1  BSR    WAITDRQ
 2750   DE55 8D        58     RDLP1  BSR    WAITDRQ
 2751   DE57 B6        E040   
LDA    CF_DATA
 2751   DE57 B6        E040   
LDA    CF_DATA
 2752   DE5A A7        80     STA    ,X+
 2752   DE5A A7        80     STA    ,X+
 2753   DE5C 5A        DECB
 2753   DE5C 5A        DECB
 2754   DE5D 26        F6     BNE    RDLP1
 2754   DE5D 26        F6     BNE    RDLP1
 2X755       *
 2X755       *
 2756   DE5F 5F        CLRB
 2756   DE5F 5F        CLRB
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2757   DE60 8D        4D     RDLP2  BSR    WAITDRQ
 2758   DE62 B6        E040   
LDA    CF_DATA
 2758   DE62 B6        E040   
LDA    CF_DATA
 2759   DE65 5A        DECB
 2759   DE65 5A        DECB
 2760   DE66 26        F8     BNE    RDLP2
 2760   DE66 26        F8     BNE    RDLP2
 2761   *
 2761   *
 2762   DE68 8D        36     BSR    WAITRDY
 2762   DE68 8D        36     BSR    WAITRDY
 2763   DE6A 5F        CLRB
 2763   DE6A 5F        CLRB
 2764   DE6B 39        RTS
 2764   DE6B 39        RTS
 276Y5       *      
 276Y5       *      
 2766   * WRITE SECTOR TO CF
 2766   * WRITE SECTOR TO CF
 2767   *      
 2767   *      
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2768   DE6C 8D        C9     WRITSC BSR    SEEKTS ; SEEK TRACK & SECTOR
 2769   DE6E 86        30     LDA    #CMDWRITE ; IDE WRITE MULTIPLE
 2769   DE6E 86        30     LDA    #CMDWRITE ; IDE WRITE MULTIPLE
 2770   DE70 B7        E047   
STA    CF_COMAND
 2770   DE70 B7        E047   
STA    CF_COMAND
 2771   DE73 8D        2B     BSR    WAITRDY
 2771   DE73 8D        2B     BSR    WAITRDY
 2772   *
 2772   *
Z 2773       * WRITE LOOP
Z 2773       * WRITE LOOP
 2774   *
 2774   *
 2775   DE75 5F        CLRB
 2775   DE75 5F        CLRB
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2776   DE76 8D        37     WRTLP1 BSR    WAITDRQ
 2777   DE78 A6        80     LDA    ,X+
 2777   DE78 A6        80     LDA    ,X+
 2778   DE7A B7        E040   
STA    CF_DATA
 2778   DE7A B7        E040   
STA    CF_DATA
 2779   DE7D 5A        DECB
 2779   DE7D 5A        DECB
 2780   DE7E 26        F6     BNE    WRTLP1
 2780   DE7E 26        F6     BNE    WRTLP1
 2781   *
 2781   *
 2782   DE80 5F        CLRB
 2782   DE80 5F        CLRB
 278[3       DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 278[3       DE81 8D        2C     WRTLP2 BSR    WAITDRQ
 2784   DE83 4F        CLRA
 2784   DE83 4F        CLRA
 2785   DE84 B7        E040   
STA    CF_DATA
 2785   DE84 B7        E040   
STA    CF_DATA
 2786   DE87 5A        DECB
 2786   DE87 5A        DECB
 2787   DE88 26        F7     BNE    WRTLP2
 2787   DE88 26        F7     BNE    WRTLP2
 2788   *
 2788   *
 2789   DE8A 8D        14     BSR    WAITRDY
 2789   DE8A 8D        14     BSR    WAITRDY
 2790   DE8C 5F        CLRB
 2790   DE8C 5F        CLRB
 2791   DE8D 39        RTS
 2791   DE8D 39        RTS
 2792   *      
 2792   *      
 2\793       * CHECK FOR BUSY       
 2\793       * CHECK FOR BUSY       
 2794   * Doubles as VERIFY
 2794   * Doubles as VERIFY
 2795   *      
 2795   *      
 2796   DE8E 5F        BUSY   CLRB   
Never busy
 2796   DE8E 5F        BUSY   CLRB   
Never busy
 2797   DE8F 39        RTS
 2797   DE8F 39        RTS
 2798   *      
 2798   *      
 2799   * DRIVE SELECT DISK DRIVER
 2799   * DRIVE SELECT DISK DRIVER
 2800   *      
 2800   *      
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE # FROM FCB
 2801   DE90 A6        03     DRVSEL LDA    3,X    GET DRIVE # FROM FCB
 2802   ]DE92 81    03     CMPA   #3
 2802   ]DE92 81    03     CMPA   #3
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2803   DE94 23        01     BLS    DRVS2  IF > 3, SET IT TO 0    
 2804   DE96 4F        CLRA
 2804   DE96 4F        CLRA
 2805   DE97 B7        DE1E   DRVS2  STA    DRVNUM
 2805   DE97 B7        DE1E   DRVS2  STA    DRVNUM
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2806   DE9A 5F        CLRB   
; SET Z, CLEAR C
 2807   DE9B 39        RTS
 2807   DE9B 39        RTS
 2808   *      
 2808   *      
 2809   * CHECK DRIVE READY DISK DRIVE^R
 2809   * CHECK DRIVE READY DISK DRIVE^R
 2810   *      
 2810   *      
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2811   DE9C A6        03     CHKDRV LDA    3,X
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2812   DE9E 5F        CLRB   
; CLEAR C, SET Z
 2813   DE9F 39        RTS
 2813   DE9F 39        RTS
 2814   *
 2814   *
 2815   * WAIT UNTIL READY
 2815   * WAIT UNTIL READY
 2816   *
 2816   *
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2817   DEA0 B6        E047   WAITRDY LDA    CF_STATUS
 2818   DEA3 85        80     BITA   #BSY
 2818   DEA3 85        80     BITA   #BSY
 2819   DEA5 2_6    F9     BNE    WAITRDY
 2819   DEA5 2_6    F9     BNE    WAITRDY
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2820   DEA7 B6        E047   
LDA    CF_STATUS
 2821   DEAA 85        40     BITA   #DRDY
 2821   DEAA 85        40     BITA   #DRDY
 2822   DEAC 27        F2     BEQ    WAITRDY
 2822   DEAC 27        F2     BEQ    WAITRDY
 2823   DEAE 39        RTS
 2823   DEAE 39        RTS
 2824   *
 2824   *
 2825   * WAIT FOR DATA REQUEST
 2825   * WAIT FOR DATA REQUEST
 2826   *
 2826   *
 2827   DEAF B6        E047   WAITDRQ LDA    CF_STATUS
 2827   DEAF B6        E047   WAITDRQ LDA    CF_STATUS
 2828   `DEB2 85    08     BITA   #DRQ
 2828   `DEB2 85    08     BITA   #DRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2829   DEB4 27        F9     BEQ    WAITDRQ
 2830   DEB6 39        RTS
 2830   DEB6 39        RTS
 2831   *
 2831   *
 2832   END
 2832   END
 2833   
 2833   
 2834   END    COLDS
 2834   END    COLDS
0 ERROR(S) DETECTED
0 ERROR(S) DETECTED
SYMBOL TABLE:
SYMBOL TABLE:
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE3   
ACIAS   E000   ADDBX  CD36   ADDBX1 D349    BAKREC DCE5    BPTBL  DFE3   
BSECHR CC07     aBSPCHR CC00        BSY    0080   BUSY   DE8E   CF_BAS E040    
BSECHR CC07     aBSPCHR CC00        BSY    0080   BUSY   DE8E   CF_BAS E040    
CF_CHI E045     CF_CLO E044    CF_COM E047    CF_DAT E040    CF_ERR E041    
CF_CHI E045     CF_CLO E044    CF_COM E047    CF_DAT E040    CF_ERR E041    
CF_FEA E041     CF_HEA E046    CF_SCN E042    CF_SNU E043    CF_STA E047    
CF_FEA E041     CF_HEA E046    CF_SCN E042    CF_SNU E043    CF_STA E047    
CHKDRV DE9C     CLASS  CD21   CLASS1 CFED    CLOSE  DAC3   CMDFEA 00EF    
CHKDRV DE9C     CLASS  CD21   CLASS1 CFED    CLOSE  DAC3   CMDFEA 00EF    
bCMDFLG CC28 CMDREA 0020    CMDTBL CC93    CMDWRI 0030    COLADX DFFB    
bCMDFLG CC28 CMDREA 0020    CMDTBL CC93    CMDWRI 0030    COLADX DFFB    
COLD1   CD57   COLDDR DE15    COLDS  CD00   CPORT  DFE0   CPYMSG D409    
COLD1   CD57   COLDDR DE15    COLDS  CD00   CPORT  DFE0   CPYMSG D409    
CURCHR CC18     CURCOL CC29    CURFCB D40B    CURLIN CC1A    DATERG CC0E    
CURCHR CC18     CURCOL CC29    CURFCB D40B    CURLIN CC1A    DATERG CC0E    
DATREG FFF0     DATSTR CAEC    DAY    CC0F   DECTBL CCA0    DcELCHR CC01        
DATREG FFF0     DATSTR CAEC    DAY    CC0F   DECTBL CCA0    DcELCHR CC01        
DELETE DBD6     DEPCNT CC03    DERMSG CC75    DNRMSG CC82    DOCMD1 D329    
DELETE DBD6     DEPCNT CC03    DERMSG CC75    DNRMSG CC82    DOCMD1 D329    
DOCMND CD4B     DOFUN1 D4B8    DOFUNC D4B0    DRDY   0040   DRIVE  DE0C   
DOCMND CD4B     DOFUN1 D4B8    DOFUNC D4B0    DRDY   0040   DRIVE  DE0C   
DRQ     0008   DRVNUM DE1E    DRVRDY DE0F    DRVS2  DE97   DRVSEL DE90    
DRQ     0008   DRVNUM DE1E    DRVRDY DE0F    DRVS2  DE97   DRVSEL DE90    
DUMRTS D370     ECHO   DFE2   EJTCNT CC08    EOdLCHR CC02        ERR    0001   
DUMRTS D370     ECHO   DFE2   EJTCNT CC08    EOdLCHR CC02        ERR    0001   
ERRTYP CC20     ERRVEC CC2D    ESCCHR CC0A    ESCFLG DFFE    ESCVEC CC16    
ERRTYP CC20     ERRVEC CC2D    ESCCHR CC0A    ESCFLG DFFE    ESCVEC CC16    
EXTTBL D10B     FCB    C840   FCBPTR D409    FEAT8B 0001    FIEFLG CC2F    
EXTTBL D10B     FCB    C840   FCBPTR D409    FEAT8B 0001    FIEFLG CC2F    
FIPADR CC26     FIRQ   DFC6   FMASK  0040   FMS    D406   FMS1   D47B   
FIPADR CC26     FIRQ   DFC6   FMASK  0040   FMS    D406   FMS1   D47B   
FMSCLS D403     FMSTBL D4CE    FOPADR eCC24        GETBYT D56F    GETCH1 CEFB    
FMSCLS D403     FMSTBL D4CE    FOPADR eCC24        GETBYT D56F    GETCH1 CEFB    
GETCHR CD15     GETCMD D20F    GETFIL CD2D    GETFL1 D036    GETHEX CD42    
GETCHR CD15     GETCMD D20F    GETFIL CD2D    GETFL1 D036    GETHEX CD42    
GETHX1 D12F     GETREC D838    HEADLB 00E0    IC11   FFF0   IHND   D370   
GETHX1 D12F     GETREC D838    HEADLB 00E0    IC11   FFF0   IHND   D370   
IHNDVC D3E7     IMASK  0010   INBUF1 CE2B    INBUFF CD1B    INCH   CD09   
IHNDVC D3E7     IMASK  0010   INBUF1 CE2B    INBUFF CD1B    INCH   CD09   
INCH2   CD0C   INCHEK fD37C        INCHEV F806    INCHKV F808    INCHNE D374    
INCH2   CD0C   INCHEK fD37C        INCHEV F806    INCHKV F808    INCHNE D374    
INCHV   F804   INDEC  CD48   INDEC1 D175    INEEE  D384   INITDR DE1F    
INCHV   F804   INDEC  CD48   INDEC1 D175    INEEE  D384   INITDR DE1F    
INPSWT CC23     INVEC  D3FB   IRQ    DFC8   IRQVEC DFC8    IRQVVC D3EB    
INPSWT CC23     INVEC  D3FB   IRQ    DFC8   IRQVEC DFC8    IRQVVC D3EB    
LASTRM CC11     LINBUF C080    LINLEN 0050    LINPTR CC14    LOAD   CD30   
LASTRM CC11     LINBUF C080    LINLEN 0050    LINPTR CC14    LOAD   CD30   
LOAD1   gD1A2       LODOFF CC1B    LRARAM DFD0    LRAV   F812   MAPUP  CC49   
LOAD1   gD1A2       LODOFF CC1B    LRARAM DFD0    LRAV   F812   MAPUP  CC49   
MEMEND CC2B     MONEXT F000    MONIO  E000   MONITR D378    MONITV F800    
MEMEND CC2B     MONEXT F000    MONIO  E000   MONITR D378    MONITV F800    
MONRAM DFC0     MONROM F800    MONTH  CC0E   MONVEC D3F3    NEWROW DFFD    
MONRAM DFC0     MONROM F800    MONTH  CC0E   MONVEC D3F3    NEWROW DFFD    
NFDMSG CC6B     NTRMSG CC5C    NULCNT CC05    NUMLIN 0019    NXTCH  hCD27       
NFDMSG CC6B     NTRMSG CC5C    NULCNT CC05    NUMLIN 0019    NXTCH  hCD27       
NXTCH1 D00E     NXTCMV F802    NXTDRV DDBD    NXTSEC DA87    OPENRD D986    
NXTCH1 D00E     NXTCMV F802    NXTDRV DDBD    NXTSEC DA87    OPENRD D986    
OPENUD DAF9     OPENWR D9D9    OPNDIR D81D    OPNREC D810    OUTAD1 CFD0    
OPENUD DAF9     OPENWR D9D9    OPNDIR D81D    OPNREC D810    OUTAD1 CFD0    
OUTADR CD45     OUTCH  CD0F   OUTCH2 CD12    OUTCHV F80A    OUTDC1 CF86    
OUTADR CD45     OUTCH  CD0F   OUTCH2 CD12    OUTCHV F80A    OUTDC1 CF86    
OUTDEC CD39     OUTEEE D380    OUTHEX CD3C    OUTHiX1 CFD4        OUTHXL CFDC    
OUTDEC CD39     OUTEEE D380    OUTHEX CD3C    OUTHiX1 CFD4        OUTHXL CFDC    
OUTHXR CFE0     OUTSWT CC22    OUTVEC D3F9    PAUSE  CC09   PCHK   CCD8   
OUTHXR CFE0     OUTSWT CC22    OUTVEC D3F9    PAUSE  CC09   PCHK   CCD8   
PCLKHI 0001     PCLKLO 0000    PCRLF  CD24   PCRLF1 CEB5    PCRLFV F80E    
PCLKHI 0001     PCLKLO 0000    PCRLF  CD24   PCRLF1 CEB5    PCRLFV F80E    
PDATAV F80C     PINIT  CCC0   PMTSTR CC4E    POSREC DCFB    POUT   CCE4   
PDATAV F80C     PINIT  CCC0   PMTSTR CC4E    POSREC DCFB    POUT   CCE4   
PROMRE E0C0     PRSPL1 C700    PRSjPL2 C703        PRSPL3 C706    PRSPL4 C709    
PROMRE E0C0     PRSPL1 C700    PRSjPL2 C703        PRSPL3 C706    PRSPL4 C709    
PRSPL5 C70C     PRSPL6 C70F    PRSTHI 0002    PRSTLO 0000    PRVCHR CC19    
PRSPL5 C70C     PRSPL6 C70F    PRSTHI 0002    PRSTLO 0000    PRVCHR CC19    
PS2KBD E020     PSTRG1 CE81    PSTRGV F810    PSTRNG CD1E    PUTBYT D590    
PS2KBD E020     PSTRG1 CE81    PSTRGV F810    PSTRNG CD1E    PUTBYT D590    
PUTCH1 CF41     PUTCHR CD18    PUTREC D876    QCNT   C71B   QRYSTR CC52    
PUTCH1 CF41     PUTCHR CD18    PUTREC D876    QCNT   C71B   QRYSTR CC52    
QUICK   DE12   RkDLP1      DE55   RDLP2  DE60   RDSECT D641    READ   DE00   
QUICK   DE12   RkDLP1      DE55   RDLP2  DE60   RDSECT D641    READ   DE00   
READSC DE4B     RENAME DB2C    RENT1  CDB1   RENTER CD06    RESTOR DE09    
READSC DE4B     RENAME DB2C    RENT1  CDB1   RENTER CD06    RESTOR DE09    
RESTR1 DE32     RESV1  D969   RESV2  D699   RESV3  DB07   REWIND D5E2    
RESTR1 DE32     RESV1  D969   RESV2  D699   RESV3  DB07   REWIND D5E2    
ROWADX DFFC     RPTER1 D27F    RPTERR CD3F    RSTIO1 CDEA    RSTRIO CD2A    
l
ROWADX DFFC     RPTER1 D27F    RPTERR CD3F    RSTIO1 CDEA    RSTRIO CD2A    
l
SEEK    DE1B   SEEKTS DE37    SETEX1 D0EB    SETEXT CD33    SIOFLG CC21    
SEEK    DE1B   SEEKTS DE37    SETEX1 D0EB    SETEXT CD33    SIOFLG CC21    
STACK   DFC0   STAVEC D3F7    SVCVL  DFCE   SVCVO  DFCC   SWI    DFCA   
STACK   DFC0   STAVEC D3F7    SVCVL  DFCE   SVCVO  DFCC   SWI    DFCA   
SWI2    DFC4   SWI3   DFC2   SWIVEC DFC2    SWIVVC D3E9    SYNCHI AA55    
SWI2    DFC4   SWI3   DFC2   SWIVEC DFC2    SWIVVC D3E9    SYNCHI AA55    
SYNCLO FF00     SYSDRV CC0B    TABCHR CC06    TERINZ D371    TERmVEC D3F5        
SYNCLO FF00     SYSDRV CC0B    TABCHR CC06    TERINZ D371    TERmVEC D3F5        
TINVEC D3F1     TMINT  D370   TMOFF  D370   TMON   D370   TOFVEC D3ED    
TINVEC D3F1     TMINT  D370   TMOFF  D370   TMON   D370   TOFVEC D3ED    
TONVEC D3EF     TRNFLG CC1D    TRNVEC CC1E    TTLSTR CADC    UCTVEC CC12    
TONVEC D3EF     TRNFLG CC1D    TRNVEC CC1E    TTLSTR CADC    UCTVEC CC12    
VDU     E030   VDUATT 0001    VDUCHR 0000    VDUCOL 0002    VDUOFF 0004    
VDU     E030   VDUATT 0001    VDUCHR 0000    VDUCOL 0002    VDUOFF 0004    
VDUROW 0003     VERFLG D435    VERIFY DE06    WAInTDR DEAF        WAITRD DEA0    
VDUROW 0003     VERFLG D435    VERIFY DE06    WAInTDR DEAF        WAITRD DEA0    
WARM1   CD67   WARMD1 DE4A    WARMDR DE18    WARMS  CD03   WIDCNT CC04    
WARM1   CD67   WARMD1 DE4A    WARMDR DE18    WARMS  CD03   WIDCNT CC04    
WOTMSG CC56     WRITE  DE03   WRITSC DE6C    WRKDRV CC0C    WRSECT D69F    
WOTMSG CC56     WRITE  DE03   WRITSC DE6C    WRKDRV CC0C    WRSECT D69F    
WRTLP1 DE76     WRTLP2 DE81    YEAR   CC10   Z0000  0000   Z0005  0005   
WRTLP1 DE76     WRTLP2 DE81    YEAR   CC10   Z0000  0000   Z0005  0005   
Z0044   0044   Z00A0  00A0   ZoC07F      C07F   ZC0FF  C0FF   ZC712  C712   
Z0044   0044   Z00A0  00A0   ZoC07F      C07F   ZC0FF  C0FF   ZC712  C712   
ZC719   C719   ZC71C  C71C   ZC71D  C71D   ZC71E  C71E   ZC71F  C71F   
ZC719   C719   ZC71C  C71C   ZC71D  C71D   ZC71E  C71E   ZC71F  C71F   
ZC721   C721   ZC738  C738   ZC73F  C73F   ZC747  C747   ZC76D  C76D   
ZC721   C721   ZC738  C738   ZC73F  C73F   ZC747  C747   ZC76D  C76D   
ZC777   C777   ZC779  C779   ZC785  C785   ZC791  C791   ZC795  C795   
ZC777   C777   ZC779  C779   ZC785  C785   ZC791  C791   ZC795  C795   
ZC79B   C79Bp       ZC7BC  C7BC   ZC7C3  C7C3   ZC7C7  C7C7   ZC7E3  C7E3   
ZC79B   C79Bp       ZC7BC  C7BC   ZC7C3  C7C3   ZC7C7  C7C7   ZC7E3  C7E3   
ZC7ED   C7ED   ZC7F6  C7F6   ZC800  C800   ZC810  C810   ZC838  C838   
ZC7ED   C7ED   ZC7F6  C7F6   ZC800  C800   ZC810  C810   ZC838  C838   
ZC844   C844   ZCA00  CA00   ZCA02  CA02   ZCA06  CA06   ZCA08  CA08   
ZC844   C844   ZCA00  CA00   ZCA02  CA02   ZCA06  CA06   ZCA08  CA08   
ZCA38   CA38   ZCA4C  CA4C   ZCA7B  CA7B   ZCA7E  CA7E   ZCA8E  CA8qE       
ZCA38   CA38   ZCA4C  CA4C   ZCA7B  CA7B   ZCA7E  CA7E   ZCA8E  CA8qE       
ZCAAC   CAAC   ZCAC0  CAC0   ZCACB  CACB   ZCAD9  CAD9   ZCADB  CADB   
ZCAAC   CAAC   ZCAC0  CAC0   ZCACB  CACB   ZCAD9  CAD9   ZCADB  CADB   
ZCC0D   CC0D   ZCC30  CC30   ZCC31  CC31   ZCC34  CC34   ZCC3D  CC3D   
ZCC0D   CC0D   ZCC30  CC30   ZCC31  CC31   ZCC34  CC34   ZCC3D  CC3D   
ZCC3F   CC3F   ZCC43  CC43   ZCC45  CC45   ZCC47  CC47   ZCC4A  CC4A   
ZCC3F   CC3F   ZCC43  CC43   ZCC45  CC45   ZCC47  CC47   ZCC4A  CC4A   
ZCC4B   CC4B   ZCC4C  CC4C   ZCC4D  CC4D   ZCCF8  rCCF8       ZCCFC  CCFC   
ZCC4B   CC4B   ZCC4C  CC4C   ZCC4D  CC4D   ZCCF8  rCCF8       ZCCFC  CCFC   
ZCD4E   CD4E   ZCD5B  CD5B   ZCD9D  CD9D   ZCDB8  CDB8   ZCDD3  CDD3   
ZCD4E   CD4E   ZCD5B  CD5B   ZCD9D  CD9D   ZCDB8  CDB8   ZCDD3  CDD3   
ZCDD6   CDD6   ZCDD9  CDD9   ZCDDE  CDDE   ZCDE1  CDE1   ZCDE4  CDE4   
ZCDD6   CDD6   ZCDD9  CDD9   ZCDDE  CDDE   ZCDE1  CDE1   ZCDE4  CDE4   
ZCE05   CE05   ZCE06  CE06   ZCE0A  CE0A   ZCE12  CE12   ZCE1E  CE1E   
ZCE05   CE05   ZCE06  CE06   ZCE0A  CE0A   ZCE12  CE12   ZCE1E  CE1E   
ZCE2A   CE2A   ZCE31  CE31   ZCE4sA      CE4A   ZCE4F  CE4F   ZCE56  CE56   
ZCE2A   CE2A   ZCE31  CE31   ZCE4sA      CE4A   ZCE4F  CE4F   ZCE56  CE56   
ZCE5D   CE5D   ZCE73  CE73   ZCE78  CE78   ZCE83  CE83   ZCE90  CE90   
ZCE5D   CE5D   ZCE73  CE73   ZCE78  CE78   ZCE83  CE83   ZCE90  CE90   
ZCE9E   CE9E   ZCEA1  CEA1   ZCED0  CED0   ZCED7  CED7   ZCEDC  CEDC   
ZCE9E   CE9E   ZCEA1  CEA1   ZCED0  CED0   ZCED7  CED7   ZCEDC  CEDC   
ZCEDE   CEDE   ZCEE1  CEE1   ZCEF0  CEF0   ZCEF6  CEF6   ZCEF8  CEF8   
ZCEDE   CEDE   ZCEE1  CEE1   ZCEF0  CEF0   ZCEF6  CEF6   ZCEF8  CEF8   
ZCEFA   CEFA   ZtCF15      CF15   ZCF1A  CF1A   ZCF1D  CF1D   ZCF21  CF21   
ZCEFA   CEFA   ZtCF15      CF15   ZCF1A  CF1A   ZCF1D  CF1D   ZCF21  CF21   
ZCF29   CF29   ZCF2F  CF2F   ZCF38  CF38   ZCF4F  CF4F   ZCF64  CF64   
ZCF29   CF29   ZCF2F  CF2F   ZCF38  CF38   ZCF4F  CF4F   ZCF64  CF64   
ZCF66   CF66   ZCF76  CF76   ZCF80  CF80   ZCF83  CF83   ZCF96  CF96   
ZCF66   CF66   ZCF76  CF76   ZCF80  CF80   ZCF83  CF83   ZCF96  CF96   
ZCFA3   CFA3   ZCFA6  CFA6   ZCFB2  CFB2   ZCFC9  CFC9   ZCFCE  CFCE   u
ZCFA3   CFA3   ZCFA6  CFA6   ZCFB2  CFB2   ZCFC9  CFC9   ZCFCE  CFCE   u
ZCFEA   CFEA   ZD005  D005   ZD00B  D00B   ZD019  D019   ZD032  D032   
ZCFEA   CFEA   ZD005  D005   ZD00B  D00B   ZD019  D019   ZD032  D032   
ZD05F   D05F   ZD074  D074   ZD077  D077   ZD079  D079   ZD07C  D07C   
ZD05F   D05F   ZD074  D074   ZD077  D077   ZD079  D079   ZD07C  D07C   
ZD080   D080   ZD098  D098   ZD09D  D09D   ZD0AB  D0AB   ZD0B2  D0B2   
ZD080   D080   ZD098  D098   ZD09D  D09D   ZD0AB  D0AB   ZD0B2  D0B2   
ZD0C4   D0C4   ZD0C7  D0C7   ZD0CA  D0CA   ZD0D4  D0Dv4       ZD0DA  D0DA   
ZD0C4   D0C4   ZD0C7  D0C7   ZD0CA  D0CA   ZD0D4  D0Dv4       ZD0DA  D0DA   
ZD0E4   D0E4   ZD100  D100   ZD109  D109   ZD132  D132   ZD13F  D13F   
ZD0E4   D0E4   ZD100  D100   ZD109  D109   ZD132  D132   ZD13F  D13F   
ZD153   D153   ZD159  D159   ZD15F  D15F   ZD16B  D16B   ZD172  D172   
ZD153   D153   ZD159  D159   ZD15F  D15F   ZD16B  D16B   ZD172  D172   
ZD178   D178   ZD1A5  D1A5   ZD1C0  D1C0   ZD1D5  D1D5   ZD1E4  D1E4   
ZD178   D178   ZD1A5  D1A5   ZD1C0  D1C0   ZD1D5  D1D5   ZD1E4  D1E4   
ZD1F4   D1F4   ZD1FD  D1FD   ZD200  wD200       ZD20A  D20A   ZD21E  D21E   
ZD1F4   D1F4   ZD1FD  D1FD   ZD200  wD200       ZD20A  D20A   ZD21E  D21E   
ZD224   D224   ZD22E  D22E   ZD240  D240   ZD248  D248   ZD254  D254   
ZD224   D224   ZD22E  D22E   ZD240  D240   ZD248  D248   ZD254  D254   
ZD26E   D26E   ZD27C  D27C   ZD299  D299   ZD2A9  D2A9   ZD2D7  D2D7   
ZD26E   D26E   ZD27C  D27C   ZD299  D299   ZD2A9  D2A9   ZD2D7  D2D7   
ZD2EB   D2EB   ZD2ED  D2ED   ZD2F5  D2F5   ZD309  D309   ZD31E  D31E   
ZD2EB   D2EB   ZD2ED  D2ED   ZD2F5  D2F5   ZD309  D309   ZD31E  D31E   
ZD323   D323   ZD32xE      D32E   ZD33B  D33B   ZD34B  D34B   ZD354  D354   
ZD323   D323   ZD32xE      D32E   ZD33B  D33B   ZD34B  D34B   ZD354  D354   
ZD361   D361   ZD3E5  D3E5   ZD3FD  D3FD   ZD400  D400   ZD40F  D40F   
ZD361   D361   ZD3E5  D3E5   ZD3FD  D3FD   ZD400  D400   ZD40F  D40F   
ZD411   D411   ZD412  D412   ZD413  D413   ZD414  D414   ZD415  D415   
ZD411   D411   ZD412  D412   ZD413  D413   ZD414  D414   ZD415  D415   
ZD417   D417   ZD418  D418   ZD41A  D41A   ZD41B  D41B   ZD41D  D41D   
ZD417   D417   ZD418  D418   ZD41A  D41A   ZD41B  D41B   ZD41D  D41D   
ZyD436       D436   ZD44C  D44C   ZD451  D451   ZD459  D459   ZD45C  D45C   
ZyD436       D436   ZD44C  D44C   ZD451  D451   ZD459  D459   ZD45C  D45C   
ZD483   D483   ZD499  D499   ZD4A7  D4A7   ZD4AC  D4AC   ZD4C4  D4C4   
ZD483   D483   ZD499  D499   ZD4A7  D4A7   ZD4AC  D4AC   ZD4C4  D4C4   
ZD4C6   D4C6   ZD4FA  D4FA   ZD503  D503   ZD50C  D50C   ZD515  D515   
ZD4C6   D4C6   ZD4FA  D4FA   ZD503  D503   ZD50C  D50C   ZD515  D515   
ZD51C   D51C   ZD525  D525   ZD52D  D52D   ZD533  D533   zZD537      D537   
ZD51C   D51C   ZD525  D525   ZD52D  D52D   ZD533  D533   zZD537      D537   
ZD540   D540   ZD549  D549   ZD54E  D54E   ZD559  D559   ZD55E  D55E   
ZD540   D540   ZD549  D549   ZD54E  D54E   ZD559  D559   ZD55E  D55E   
ZD56E   D56E   ZD57D  D57D   ZD5AC  D5AC   ZD5AF  D5AF   ZD5B4  D5B4   
ZD56E   D56E   ZD57D  D57D   ZD5AC  D5AC   ZD5AF  D5AF   ZD5B4  D5B4   
ZD5C2   D5C2   ZD5DC  D5DC   ZD5DF  D5DF   ZD5E1  D5E1   ZD5F0  D5F0   
ZD5C2   D5C2   ZD5DC  D5DC   ZD5DF  D5DF   ZD5E1  D5E1   ZD5F0  D5F0   
ZD5F5   D5F5   ZD600  D600   ZD607  D60{7       ZD60C  D60C   ZD61A  D61A   
ZD5F5   D5F5   ZD600  D600   ZD607  D60{7       ZD60C  D60C   ZD61A  D61A   
ZD620   D620   ZD638  D638   ZD63C  D63C   ZD63E  D63E   ZD640  D640   
ZD620   D620   ZD638  D638   ZD63C  D63C   ZD63E  D63E   ZD640  D640   
ZD64B   D64B   ZD655  D655   ZD65D  D65D   ZD65E  D65E   ZD668  D668   
ZD64B   D64B   ZD655  D655   ZD65D  D65D   ZD65E  D65E   ZD668  D668   
ZD670   D670   ZD685  D685   ZD69C  D69C   ZD6A9  D6A9   ZD6BD  D6BD   
ZD670   D670   ZD685  D685   ZD69C  D69C   ZD6A9  D6A9   ZD6BD  D6BD   
ZD6C9   D6C9   ZD6CC  |D6CC       ZD6CF  D6CF   ZD6E5  D6E5   ZD6EA  D6EA   
ZD6C9   D6C9   ZD6CC  |D6CC       ZD6CF  D6CF   ZD6E5  D6E5   ZD6EA  D6EA   
ZD6EF   D6EF   ZD6F2  D6F2   ZD6FC  D6FC   ZD70C  D70C   ZD713  D713   
ZD6EF   D6EF   ZD6F2  D6F2   ZD6FC  D6FC   ZD70C  D70C   ZD713  D713   
ZD714   D714   ZD72E  D72E   ZD73D  D73D   ZD73E  D73E   ZD74B  D74B   
ZD714   D714   ZD72E  D72E   ZD73D  D73D   ZD73E  D73E   ZD74B  D74B   
ZD772   D772   ZD782  D782   ZD786  D786   ZD787  D787   ZD799  D799   
ZD772   D772   ZD782  D782   ZD786  D786   ZD787  D787   ZD799  D799   
ZD79}F       D79F   ZD7A2  D7A2   ZD7B0  D7B0   ZD7B8  D7B8   ZD7C8  D7C8   
ZD79}F       D79F   ZD7A2  D7A2   ZD7B0  D7B0   ZD7B8  D7B8   ZD7C8  D7C8   
ZD7E7   D7E7   ZD7EF  D7EF   ZD7FB  D7FB   ZD7FC  D7FC   ZD825  D825   
ZD7E7   D7E7   ZD7EF  D7EF   ZD7FB  D7FB   ZD7FC  D7FC   ZD825  D825   
ZD852   D852   ZD85D  D85D   ZD865  D865   ZD875  D875   ZD881  D881   
ZD852   D852   ZD85D  D85D   ZD865  D865   ZD875  D875   ZD881  D881   
ZD892   D892   ZD8AA  D8AA   ZD8BB  D8BB   ZD8C5  D8C5   ZD8~D3      D8D3   
ZD892   D892   ZD8AA  D8AA   ZD8BB  D8BB   ZD8C5  D8C5   ZD8~D3      D8D3   
ZD8DF   D8DF   ZD8EA  D8EA   ZD8EB  D8EB   ZD8F6  D8F6   ZD8FE  D8FE   
ZD8DF   D8DF   ZD8EA  D8EA   ZD8EB  D8EB   ZD8F6  D8F6   ZD8FE  D8FE   
ZD900   D900   ZD905  D905   ZD916  D916   ZD917  D917   ZD929  D929   
ZD900   D900   ZD905  D905   ZD916  D916   ZD917  D917   ZD929  D929   
ZD933   D933   ZD935  D935   ZD936  D936   ZD946  D946   ZD947  D947   
ZD933   D933   ZD935  D935   ZD936  D936   ZD946  D946   ZD947  D947   
ZD957   D957   ZD983  D983   ZD985  D985   ZD9A0      D9A0   ZD9B3  D9B3   
ZD957   D957   ZD983  D983   ZD985  D985   ZD9A0      D9A0   ZD9B3  D9B3   
ZD9C6   D9C6   ZD9C8  D9C8   ZD9C9  D9C9   ZD9CD  D9CD   ZD9CF  D9CF   
ZD9C6   D9C6   ZD9C8  D9C8   ZD9C9  D9C9   ZD9CD  D9CD   ZD9CF  D9CF   
ZD9E8   D9E8   ZDA00  DA00   ZDA0A  DA0A   ZDA40  DA40   ZDA5E  DA5E   
ZD9E8   D9E8   ZDA00  DA00   ZDA0A  DA0A   ZDA40  DA40   ZDA5E  DA5E   
ZDA61   DA61   ZDA76  DA76   ZDA99  DA99   ZDA9A  DA9A   ZDAA7  DAA7   
ZDA61   DA61   ZDA76  DA76   ZDA99  DA99   ZDA9A  DA9A   ZDAA7  DAA7   
ZDAAE   DAAE   ZDAB1  DAB1       ZDAC2  DAC2   ZDACB  DACB   ZDAD3  DAD3   
ZDAAE   DAAE   ZDAB1  DAB1       ZDAC2  DAC2   ZDACB  DACB   ZDAD3  DAD3   
ZDADD   DADD   ZDAEE  DAEE   ZDAF6  DAF6   ZDAF8  DAF8   ZDB1F  DB1F   
ZDADD   DADD   ZDAEE  DAEE   ZDAF6  DAF6   ZDAF8  DAF8   ZDB1F  DB1F   
ZDB26   DB26   ZDB27  DB27   ZDB3A  DB3A   ZDB59  DB59   ZDB5D  DB5D   
ZDB26   DB26   ZDB27  DB27   ZDB3A  DB3A   ZDB59  DB59   ZDB5D  DB5D   
ZDB5E   DB5E   ZDB63  DB63   ZDB6B  DB6B   ZDB85  DB85   ZDB8F  DB8F   
ZDB5E   DB5E   ZDB63  DB63   ZDB6B  DB6B   ZDB85  DB85   ZDB8F  DB8F   
ZDB93   DB93       ZDB95  DB95   ZDBA1  DBA1   ZDBA2  DBA2   ZDBA7  DBA7   
ZDB93   DB93       ZDB95  DB95   ZDBA1  DBA1   ZDBA2  DBA2   ZDBA7  DBA7   
ZDBAE   DBAE   ZDBB9  DBB9   ZDBC1  DBC1   ZDBCD  DBCD   ZDBD3  DBD3   
ZDBAE   DBAE   ZDBB9  DBB9   ZDBC1  DBC1   ZDBCD  DBCD   ZDBD3  DBD3   
ZDBD5   DBD5   ZDC05  DC05   ZDC19  DC19   ZDC31  DC31   ZDC39  DC39   
ZDBD5   DBD5   ZDC05  DC05   ZDC19  DC19   ZDC31  DC31   ZDC39  DC39   
ZDC3A   DC3A   ZDC3E  DC3E   ZDC40  DC40   ZDC43  DC43   ZDC4F  DC4F       
ZDC3A   DC3A   ZDC3E  DC3E   ZDC40  DC40   ZDC43  DC43   ZDC4F  DC4F       
ZDC63   DC63   ZDC7F  DC7F   ZDC82  DC82   ZDC87  DC87   ZDC97  DC97   
ZDC63   DC63   ZDC7F  DC7F   ZDC82  DC82   ZDC87  DC87   ZDC97  DC97   
ZDC98   DC98   ZDCAB  DCAB   ZDCC0  DCC0   ZDCD7  DCD7   ZDCF8  DCF8   
ZDC98   DC98   ZDCAB  DCAB   ZDCC0  DCC0   ZDCD7  DCD7   ZDCF8  DCF8   
ZDD0A   DD0A   ZDD0E  DD0E   ZDD0F  DD0F   ZDD22  DD22   ZDD50  DD50   
ZDD0A   DD0A   ZDD0E  DD0E   ZDD0F  DD0F   ZDD22  DD22   ZDD50  DD50   
ZDD62   DD62   ZDD7A  DD7A   ZDD7F  DD7F   ZDD85      DD85   ZDD9A  DD9A   
ZDD62   DD62   ZDD7A  DD7A   ZDD7F  DD7F   ZDD85      DD85   ZDD9A  DD9A   
ZDD9C   DD9C   ZDD9E  DD9E   ZDD9F  DD9F   ZDDAA  DDAA   ZDDAC  DDAC   
ZDD9C   DD9C   ZDD9E  DD9E   ZDD9F  DD9F   ZDDAA  DDAA   ZDDAC  DDAC   
ZDDAD   DDAD   ZDDB2  DDB2   ZDDD0  DDD0   ZDDD3  DDD3   ZDDD6  DDD6   
ZDDAD   DDAD   ZDDB2  DDB2   ZDDD0  DDD0   ZDDD3  DDD3   ZDDD6  DDD6   
 5'&+&        
 5'&+&        
]'پ
]'پ
4     5Z& &''&9nOZCEEC_9 G_$@Z&_@Z&_9G&G@'9G'9*******************************************************
*
* Bootstrap FLEX Loader
*
* SBUG1.8 loads the bootstap loader at $C000
* however the Flex adaption manual has the
* bootstrap loader residing at $C100
*
******************************************************
*
* Equates
*
STACK    EQU $C0FF
SCTBUF       EQU $C300
*
* Start of Utility
*
      ORG $C000
BOOT BRA LOAD0
     FCB 0,0,0
TRK  FCB 0  File start track
SCT   FCB 0  File start sector
DNS  FCB 0  Density Flag (not used)
TADR   FDB $C000      Transfer address
LADR      FDB 0  Load Address
DRVNUM    FCB 0  Drive number 0
*
LOAD0 LDS    #STACK Set up stack
  LDD    TRK    Set up start track and sector
 STD    SCTBUF
        LDY    #SCTBUF+256
*
* Perform actual file load
*
LOAD1       BSR GETCH      Get acharcater
        CMPA #$02      Data record hearder ?
     BEQ    LOAD2  Skip, is so
   CMPA #$16      Xfr address hearder ?
 BNE LOAD1      Loop if neither
*
* Get transfer address
*
    BSR    GETCH
 STA    TADR
  BSR    GETCH
 STA    TADR+1
        BRA    LOAD1
*
* Load data record
*
LOAD2     BSR    GETCH  Get load address
  STA    LADR
  BSR    GETCH
 STA    LADR+1
        BSR    GETCH  Get Bytes count
       TFR    A,B
   TSTB
  BEQ    LOAD1 Loop if count = 0
       LDX    LADR   Get load address
LOAD3 PSHS B,X
      BSR    GETCH  Get data character
    PULS B,X
      STA    ,X+    Store at load address
 DECB
      BNE    LOAD3  Loop until count = 0
  BRA    LOAD1
*
* Get Character routine
* Reads a sector if needed
*
GETCH     CMPY #SCTBUF+256 out of data ?
        BNE    GETCH4 Go read Character if not
GETCH2 LDX    #SCTBUF        Point to buffer
       LDD    0,X            Get forward Link
       BEQ        GO
4     5Z& &''&9nOZCEEC_9 G_$@Z&_@Z&_9G&G@'9G'9*******************************************************
*
* Bootstrap FLEX Loader
*
* SBUG1.8 loads the bootstap loader at $C000
* however the Flex adaption manual has the
* bootstrap loader residing at $C100
*
******************************************************
*
* Equates
*
STACK    EQU $C0FF
SCTBUF       EQU $C300
*
* Start of Utility
*
      ORG $C000
BOOT BRA LOAD0
     FCB 0,0,0
TRK  FCB 0  File start track
SCT   FCB 0  File start sector
DNS  FCB 0  Density Flag (not used)
TADR   FDB $C000      Transfer address
LADR      FDB 0  Load Address
DRVNUM    FCB 0  Drive number 0
*
LOAD0 LDS    #STACK Set up stack
  LDD    TRK    Set up start track and sector
 STD    SCTBUF
        LDY    #SCTBUF+256
*
* Perform actual file load
*
LOAD1       BSR GETCH      Get acharcater
        CMPA #$02      Data record hearder ?
     BEQ    LOAD2  Skip, is so
   CMPA #$16      Xfr address hearder ?
 BNE LOAD1      Loop if neither
*
* Get transfer address
*
    BSR    GETCH
 STA    TADR
  BSR    GETCH
 STA    TADR+1
        BRA    LOAD1
*
* Load data record
*
LOAD2     BSR    GETCH  Get load address
  STA    LADR
  BSR    GETCH
 STA    LADR+1
        BSR    GETCH  Get Bytes count
       TFR    A,B
   TSTB
  BEQ    LOAD1 Loop if count = 0
       LDX    LADR   Get load address
LOAD3 PSHS B,X
      BSR    GETCH  Get data character
    PULS B,X
      STA    ,X+    Store at load address
 DECB
      BNE    LOAD3  Loop until count = 0
  BRA    LOAD1
*
* Get Character routine
* Reads a sector if needed
*
GETCH     CMPY #SCTBUF+256 out of data ?
        BNE    GETCH4 Go read Character if not
GETCH2 LDX    #SCTBUF        Point to buffer
       LDD    0,X            Get forward Link
       BEQ        GO
if zero, file is loaded
        BSR    READ   Read next sector
      BNE    BOOT   start over if error
   LDY    #SCTBUF+4      Point past link
GETCH4 LDA     ,Y+            Else, get a character
  RTS
*
* File is loaded, Jump to it
*
GO        JMP    [TADR] Jump to transfer address

*
** 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_SCNT    EQU CF_BASE+2
CF_SNUM  
if zero, file is loaded
        BSR    READ   Read next sector
      BNE    BOOT   start over if error
   LDY    #SCTBUF+4      Point past link
GETCH4 LDA     ,Y+            Else, get a character
  RTS
*
* File is loaded, Jump to it
*
GO        JMP    [TADR] Jump to transfer address

*
** 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_SCNT    EQU CF_BASE+2
CF_SNUM  
EQU CF_BASE+3
CF_CLO    EQU CF_BASE+4
CF_CHI   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
*      
* RESTORE DISK DRIVER (SEEK TRACK 00)
*       
RESTR1 CLR    DRVNUM
        CLRA   ; Track 0
     LDB        #$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_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_
CHI
    LDB    #$01
  STB    CF_SCNT
       CLRB
WARMD1 RTS
*
* READ SECTORS FROM CF
*
*
READ      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
*
* 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
 5'&+&     
EQU CF_BASE+3
CF_CLO    EQU CF_BASE+4
CF_CHI   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
*      
* RESTORE DISK DRIVER (SEEK TRACK 00)
*       
RESTR1 CLR    DRVNUM
        CLRA   ; Track 0
     LDB        #$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_SNUM
       STA    CF_CLO
        LDB    DRVNUM
        STB    CF_
CHI
    LDB    #$01
  STB    CF_SCNT
       CLRB
WARMD1 RTS
*
* READ SECTORS FROM CF
*
*
READ      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
*
* 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
 5'&+&     
]'پ
]'پ
4     5Z& &''&9nOZCDEB_9 G_$@Z&_@Z&_9G&G@'9G'98~~~~-~3~6~?~~~;~ Ľ}: >$:0  >O%~4'.'L/'^0&~1&~2&~ݑ3&~~$ǽ
<''z'
4     5Z& &''&9nOZCDEB_9 G_$@Z&_@Z&_9G&G@'9G'98~~~~-~3~6~?~~~;~ Ľ}: >$:0  >O%~4'.'L/'^0&~1&~2&~ݑ3&~~$ǽ
<''z'
'@0       &~@ 9< ̟@ @58=>F$ F-,焎F&؎̟B 9> !~ h%!)焝ڽ9;?>~:~~`
;'
?'
'@0       &~@ 9< ̟@ @58=>F$ F-,焎F&؎̟B 9> !~ h%!)焝ڽ9;?>~:~~`
;'
?'
? 
>'L>
? 
>'L>

9&=
:'
=&~B5&80B'F
8'(F=9~~M'Íx *N
&> 6&*r7?~5&+`;~9
&  W$         X$9

9&=
:'
=&~B5&80B'F
8'(F=9~~M'Íx *N
&> 6&*r7?~5&+`;~9
&  W$         X$9
'
''
'
''
' %+
'WW$9W$9焝#&9'~9;<=9D0D&9
' %+
'WW$9W$9焝#&9'~9;<=9D0D&9
STORAGE BUFFER FULL
STORAGE BUFFER FULL
READY
READY


MANUAL TRANSMIT MODE
MANUAL TRANSMIT MODE


ENTER NAME OF DISC FILE TO BE CREATED: 
ENTER NAME OF DISC FILE TO BE CREATED: 
ENTER NAME OF DISC FILE TO READ FROM (DEFAULT = .TXT): 
ENTER NAME OF DISC FILE TO READ FROM (DEFAULT = .TXT): 
ACCUMULATING DATA FOR LOCAL DISC SAVE
ACCUMULATING DATA FOR LOCAL DISC SAVE
     NAM LOADIMG
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS   EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS   EQU $D406
*
** RAM AREA:
*
    ORG $C100
LOAD BRA LOAD1
     FCB $01
BYTECT FCB $00
BEGADR FDB $00
ENDADR FDB $00
PTRADR FDB $00
*
** ILLEGAL ADDRESS SPECIFIED
*
BADADR LDX #IASMSG
   JSR >PSTRNG
   JMP >WARMS
*
** MAIN ENTRY POINT
*
LOAD1       LDX #SYSFCB
   JSR >GETFIL
   BCC GETRNG
    LDB #$15
      STB $01,X
     JMP >FMSERR
*
** GET ADDRESS RANGE
*
GETRNG JSR >GETADR
   BLS BADADR
    STX >BEGADR
*
 JSR >GETADR
   BLS BADADR
    STX >ENDADR
*
** OPEN FILE FOR READ
*
OPENRD LDX #SYSFCB
      LDA #$01
      STA ,X
        JSR >FMS
      BNE DSKERR
    LDA #$FF
      STA $3B,X
*
** WRITE BYTE TO DISK
*
RDLOOP LDX #SYSFCB
    JSR >FMS
      BNE DSKERR
    LDX >BEGADR
   STA ,X+
       STX >BEGADR
   CPX >ENDADR
   BNE RDLOOP
*
** FINISHED LOAD
*
       LDX #ENDMSG
   JSR PSTRNG
*
*
** CLOSE FILE
*
CLOSE   LDA #$04
      LDX #SYSFCB
   STA ,X
        JSR >FMS
      BEQ EXIT
*
** ERROR IN CLOSING
*
DSKERR LDA $01,X
FMSERR JSR >RPTERR
      JSR >FMSCLS
EXIT       JMP >WARMS
*
** READ HEX ADDRESS FROM LINE BUFFER
*
GETADR LDX #SYSFCB
        JSR >GETHEX
   BITB #$FF
     RTS
*
** GET Y/N       CHARACTER
*
GETYN      JSR >PSTRNG
   JSR >GETCHR
   ANDA #$5F
     CMPA #$59
     RTS
*
** MESSAGES
*
IASMSG FCC "ILLEGAL ADDRESS SPECIFIED"
        FCB $04
ENDMSG FCC "FILE LOADED"
      FCB $04
       END LOAD
       NAM LOADIMG
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS   EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS   EQU $D406
*
** RAM AREA:
*
    ORG $C100
LOAD BRA LOAD1
     FCB $01
BYTECT FCB $00
BEGADR FDB $00
ENDADR FDB $00
PTRADR FDB $00
*
** ILLEGAL ADDRESS SPECIFIED
*
BADADR LDX #IASMSG
   JSR >PSTRNG
   JMP >WARMS
*
** MAIN ENTRY POINT
*
LOAD1       LDX #SYSFCB
   JSR >GETFIL
   BCC GETRNG
    LDB #$15
      STB $01,X
     JMP >FMSERR
*
** GET ADDRESS RANGE
*
GETRNG JSR >GETADR
   BLS BADADR
    STX >BEGADR
*
 JSR >GETADR
   BLS BADADR
    STX >ENDADR
*
** OPEN FILE FOR READ
*
OPENRD LDX #SYSFCB
      LDA #$01
      STA ,X
        JSR >FMS
      BNE DSKERR
    LDA #$FF
      STA $3B,X
*
** WRITE BYTE TO DISK
*
RDLOOP LDX #SYSFCB
    JSR >FMS
      BNE DSKERR
    LDX >BEGADR
   STA ,X+
       STX >BEGADR
   CPX >ENDADR
   BNE RDLOOP
*
*
** CLOSE FILE
*
CLOSE   LDA #$04
      LDX #SYSFCB
   STA ,X
        JSR >FMS
      BEQ EXIT
*
** ERROR IN CLOSING
*
DSKERR LDA $01,X
FMSERR JSR >RPTERR
  JSR >FMSCLS
EXIT   JMP >WARMS
*
** READ HEX ADDRESS FROM LINE BUFFER
*
GETADR LDX #SYSFCB
        JSR >GETHEX
   BITB #$FF
     RTS
*
** GET Y/N       CHARACTER
*
GETYN      JSR >PSTRNG
   JSR >GETCHR
   ANDA #$5F
     CMPA #$59
     RTS
*
** MESSAGES
*
IASMSG FCC "ILLEGAL ADDRESS SPECIFIED"
        FCB $04
       END LOAD
 ~@-$~lu#u#ۿ@&,;@&&@'?~@B9_Y9ILLEGAL ADDRESS SPECIFIEDFILE LOADED           NAM DISKDUMP
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS  EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
PCRLF   EQU $CD24
OUTHEX EQU $CD3C
OUTADR EQU $CD45
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS      EQU $D406

     NAM LOADIMG
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS   EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS   EQU $D406
*
** RAM AREA:
*
    ORG $C100
LOAD BRA LOAD1
     FCB $01
BYTECT FCB $00
BEGADR FDB $00
ENDADR FDB $00
PTRADR FDB $00
*
** ILLEGAL ADDRESS SPECIFIED
*
BADADR LDX #IASMSG
   JSR >PSTRNG
   JMP >WARMS
*
** MAIN ENTRY POINT
*
LOAD1       LDX #SYSFCB
   JSR >GETFIL
   BCC GETRNG
    LDB #$15
      STB $01,X
     JMP >FMSERR
*
** GET ADDRESS RANGE
*
GETRNG JSR >GETADR
   BLS BADADR
    STX >BEGADR
*
 JSR >GETADR
   BLS BADADR
    STX >ENDADR
*
** OPEN FILE FOR READ
*
OPENRD LDX #SYSFCB
      LDA #$01
      STA ,X
        JSR >FMS
      BNE DSKERR
    LDA #$FF
      STA $3B,X
*
** WRITE BYTE TO DISK
*
RDLOOP LDX #SYSFCB
    JSR >FMS
      BNE DSKERR
    LDX >BEGADR
   STA ,X+
       STX >BEGADR
   CPX >ENDADR
   BNE RDLOOP
*
** FINISHED LOAD
*
       LDX #ENDMSG
   JSR PSTRNG
*
*
** CLOSE FILE
*
CLOSE   LDA #$04
      LDX #SYSFCB
   STA ,X
        JSR >FMS
      BEQ EXIT
*
** ERROR IN CLOSING
*
DSKERR LDA $01,X
FMSERR JSR >RPTERR
      JSR >FMSCLS
EXIT       JMP >WARMS
*
** READ HEX ADDRESS FROM LINE BUFFER
*
GETADR LDX #SYSFCB
        JSR >GETHEX
   BITB #$FF
     RTS
*
** GET Y/N       CHARACTER
*
GETYN      JSR >PSTRNG
   JSR >GETCHR
   ANDA #$5F
     CMPA #$59
     RTS
*
** MESSAGES
*
IASMSG FCC "ILLEGAL ADDRESS SPECIFIED"
        FCB $04
ENDMSG FCC "FILE LOADED"
      FCB $04
       END LOAD
       NAM LOADIMG
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS   EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS   EQU $D406
*
** RAM AREA:
*
    ORG $C100
LOAD BRA LOAD1
     FCB $01
BYTECT FCB $00
BEGADR FDB $00
ENDADR FDB $00
PTRADR FDB $00
*
** ILLEGAL ADDRESS SPECIFIED
*
BADADR LDX #IASMSG
   JSR >PSTRNG
   JMP >WARMS
*
** MAIN ENTRY POINT
*
LOAD1       LDX #SYSFCB
   JSR >GETFIL
   BCC GETRNG
    LDB #$15
      STB $01,X
     JMP >FMSERR
*
** GET ADDRESS RANGE
*
GETRNG JSR >GETADR
   BLS BADADR
    STX >BEGADR
*
 JSR >GETADR
   BLS BADADR
    STX >ENDADR
*
** OPEN FILE FOR READ
*
OPENRD LDX #SYSFCB
      LDA #$01
      STA ,X
        JSR >FMS
      BNE DSKERR
    LDA #$FF
      STA $3B,X
*
** WRITE BYTE TO DISK
*
RDLOOP LDX #SYSFCB
    JSR >FMS
      BNE DSKERR
    LDX >BEGADR
   STA ,X+
       STX >BEGADR
   CPX >ENDADR
   BNE RDLOOP
*
*
** CLOSE FILE
*
CLOSE   LDA #$04
      LDX #SYSFCB
   STA ,X
        JSR >FMS
      BEQ EXIT
*
** ERROR IN CLOSING
*
DSKERR LDA $01,X
FMSERR JSR >RPTERR
  JSR >FMSCLS
EXIT   JMP >WARMS
*
** READ HEX ADDRESS FROM LINE BUFFER
*
GETADR LDX #SYSFCB
        JSR >GETHEX
   BITB #$FF
     RTS
*
** GET Y/N       CHARACTER
*
GETYN      JSR >PSTRNG
   JSR >GETCHR
   ANDA #$5F
     CMPA #$59
     RTS
*
** MESSAGES
*
IASMSG FCC "ILLEGAL ADDRESS SPECIFIED"
        FCB $04
       END LOAD
 ~@-$~lu#u#ۿ@&,;@&&@'?~@B9_Y9ILLEGAL ADDRESS SPECIFIEDFILE LOADED           NAM DISKDUMP
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS  EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
PCRLF   EQU $CD24
OUTHEX EQU $CD3C
OUTADR EQU $CD45
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS      EQU $D406

*
** RAM AREA:
*
     ORG $C100
DUMPDK BRA DUMPD1
   FCB $01
TRACK  FCB $00
SECTOR FCB $00
BYTCNT FCB $00
*
** MAIN ENTRY POINT
*
DUMPD1 CLR       TRACK
 CLR SECTOR
    INC SECTOR
    LDX #SYSFCB
   JSR GETFIL
    BCS FINISH
    LDA #1
        STA 0,X
       JSR FMS
       BNE ERROR
     LDA #$FF
  STA 59,X
DLOOP1 LDX #SYSFCB
   LDA TRACK
     STA 30,X
      LDA SECTOR
    STA 31,X
      LDA #9
        STA 0,X
       JSR FMS
       BNE ERROR
*
* DUMP OUT SECTOR
*
       LDX #SECMSG
   JSR PSTRNG
    LDX #SYSFCB+30
        JSR OUTADR
    JSR PCRLF
*
   LDX #SYSFCB+64
        CLR BYTCNT
    LDB #16
DLOOP2     JSR OUTHEX
    LEAX 1,X
      DECB
  BNE DSKIP1
    JSR PCRLF
     LDB #16
DSKIP1 DEC BYTCNT
    BNE DLOOP2
*
* INCREMENT TRACK AND SECTOR COUNT
*
     LDA SECTOR
    INCA
  CMPA #21
      BNE DSKIP3
            LDA #1
 LDB TRACK
     INCB
  CMPB #80
      BEQ FINISH
    STB TRACK
DSKIP3   STA SECTOR
    BRA DLOOP1
*
* WRAP IT UP
*
FINISH     LDA #4
        LDX #SYSFCB
   STA 0,X
       JSR FMS
       BNE ERROR
     JMP WARMS
*
ERROR      JSR RPTERR
    JSR FMSCLS
    JMP WARMS
SECMSG FCC ":S"
     FCB $04
       END DUMPDK
  NAM DISKDUMP
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS  EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
PCRLF   EQU $CD24
OUTHEX EQU $CD3C
OUTADR EQU $CD45
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS      EQU $D406
*
** RAM AREA:
*
        ORG $C100
DUMPDK BRA DUMPD1
   FCB $01
TRACK  FCB $00
SECTOR FCB $00
BYTCNT FCB $00
*
** MAIN ENTRY POINT
*
DUMPD1 CLR       TRACK
 INC TRACK
     CLR SECTOR
    LDX #SYSFCB
   JSR GETFIL
    BCS FINISH
    LDA #1
        STA 0,X
       JSR FMS
       BNE ERROR
     LDA #$FF
  STA 59,X
DLOOP1 LDX #SYSFCB
   LDA TRACK
     STA 30,X
      LDA SECTOR
    STA 31,X
      LDA #9
        STA 0,X
       JSR FMS
       BNE ERROR
*
* DUMP OUT SECTOR
*
       LDX #SECMSG
   JSR PSTRNG
    LDX #SYSFCB+30
        JSR OUTADR
    JSR PCRLF
*
   LDX #SYSFCB+64
        CLR BYTCNT
    LDB #16
DLOOP2     JSR OUTHEX
    LEAX 1,X
      DECB
  BNE DSKIP1
    JSR PCRLF
     LDB #16
DSKIP1 DEC BYTCNT
    BNE DLOOP2
*
* INCREMENT TRACK AND SECTOR COUNT
*
     LDA SECTOR
    INCA
  CMPA #20
      BNE DSKIP3
    CLRA
  LDB TRACK
     INCB
  CMPB #80
      BEQ FINISH
    STB TRACK
DSKIP3   STA SECTOR
    BRA DLOOP1
*
* WRAP IT UP
*
FINISH     LDA #4
        LDX #SYSFCB
   STA 0,X
       JSR FMS
       BNE ERROR
     JMP WARMS
*
ERROR      JSR RPTERR
    JSR FMSCLS
    JMP WARMS
SECMSG FCC ":S"
     FCB $04
       END DUMPDK
 @-%a@        &Q^E$Ȁ<0Z&$z&L&O\P' @&~?~:S |@-%i&o;@  &R^E$Ȁ<0Z&$z&L&
\P' @&~?~:S*********************************************
*
* 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
 BL       S 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
*
** RAM AREA:
*
     ORG $C100
DUMPDK BRA DUMPD1
   FCB $01
TRACK  FCB $00
SECTOR FCB $00
BYTCNT FCB $00
*
** MAIN ENTRY POINT
*
DUMPD1 CLR       TRACK
 CLR SECTOR
    INC SECTOR
    LDX #SYSFCB
   JSR GETFIL
    BCS FINISH
    LDA #1
        STA 0,X
       JSR FMS
       BNE ERROR
     LDA #$FF
  STA 59,X
DLOOP1 LDX #SYSFCB
   LDA TRACK
     STA 30,X
      LDA SECTOR
    STA 31,X
      LDA #9
        STA 0,X
       JSR FMS
       BNE ERROR
*
* DUMP OUT SECTOR
*
       LDX #SECMSG
   JSR PSTRNG
    LDX #SYSFCB+30
        JSR OUTADR
    JSR PCRLF
*
   LDX #SYSFCB+64
        CLR BYTCNT
    LDB #16
DLOOP2     JSR OUTHEX
    LEAX 1,X
      DECB
  BNE DSKIP1
    JSR PCRLF
     LDB #16
DSKIP1 DEC BYTCNT
    BNE DLOOP2
*
* INCREMENT TRACK AND SECTOR COUNT
*
     LDA SECTOR
    INCA
  CMPA #21
      BNE DSKIP3
            LDA #1
 LDB TRACK
     INCB
  CMPB #80
      BEQ FINISH
    STB TRACK
DSKIP3   STA SECTOR
    BRA DLOOP1
*
* WRAP IT UP
*
FINISH     LDA #4
        LDX #SYSFCB
   STA 0,X
       JSR FMS
       BNE ERROR
     JMP WARMS
*
ERROR      JSR RPTERR
    JSR FMSCLS
    JMP WARMS
SECMSG FCC ":S"
     FCB $04
       END DUMPDK
  NAM DISKDUMP
*
** FLEX CALLS
*
SYSFCB EQU $C840
WARMS  EQU $CD03
GETCHR EQU $CD15
PSTRNG EQU $CD1E
GETFIL EQU $CD2D
SETEXT EQU $CD33
RPTERR EQU $CD3F
PCRLF   EQU $CD24
OUTHEX EQU $CD3C
OUTADR EQU $CD45
GETHEX EQU $CD42
FMSCLS EQU $D403
FMS      EQU $D406
*
** RAM AREA:
*
        ORG $C100
DUMPDK BRA DUMPD1
   FCB $01
TRACK  FCB $00
SECTOR FCB $00
BYTCNT FCB $00
*
** MAIN ENTRY POINT
*
DUMPD1 CLR       TRACK
 INC TRACK
     CLR SECTOR
    LDX #SYSFCB
   JSR GETFIL
    BCS FINISH
    LDA #1
        STA 0,X
       JSR FMS
       BNE ERROR
     LDA #$FF
  STA 59,X
DLOOP1 LDX #SYSFCB
   LDA TRACK
     STA 30,X
      LDA SECTOR
    STA 31,X
      LDA #9
        STA 0,X
       JSR FMS
       BNE ERROR
*
* DUMP OUT SECTOR
*
       LDX #SECMSG
   JSR PSTRNG
    LDX #SYSFCB+30
        JSR OUTADR
    JSR PCRLF
*
   LDX #SYSFCB+64
        CLR BYTCNT
    LDB #16
DLOOP2     JSR OUTHEX
    LEAX 1,X
      DECB
  BNE DSKIP1
    JSR PCRLF
     LDB #16
DSKIP1 DEC BYTCNT
    BNE DLOOP2
*
* INCREMENT TRACK AND SECTOR COUNT
*
     LDA SECTOR
    INCA
  CMPA #20
      BNE DSKIP3
    CLRA
  LDB TRACK
     INCB
  CMPB #80
      BEQ FINISH
    STB TRACK
DSKIP3   STA SECTOR
    BRA DLOOP1
*
* WRAP IT UP
*
FINISH     LDA #4
        LDX #SYSFCB
   STA 0,X
       JSR FMS
       BNE ERROR
     JMP WARMS
*
ERROR      JSR RPTERR
    JSR FMSCLS
    JMP WARMS
SECMSG FCC ":S"
     FCB $04
       END DUMPDK
 @-%a@        &Q^E$Ȁ<0Z&$z&L&O\P' @&~?~:S |@-%i&o;@  &R^E$Ȁ<0Z&$z&L&
\P' @&~?~:S*********************************************
*
* 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
 BL       S 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 #'S-$40
 NOP
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5]
 CMPA #'Q-$40
 NOP
 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 Z CE9E
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 AND!
CC #$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 >CU"RLIN
 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 #$1#F
 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 >FIPAD$R
 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
 L&EAX $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 Z'D005
 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 Z*D074
 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
Z,D0C7 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
 RO/L >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 Z0D172
 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 1>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 Z2D1E4
 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 #$043
 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 GE4 TCMD

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
5! 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 >ERR6"TYP
 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
7# 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 #DNRM8$SG
 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
9%
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
;*********************************************
*
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES
*
*********************************************
 ORG $CD00
*
** FLEX JUMPS
*
COLDS JMP >COLD1
WARMS JMP >WARM1
RENTER JMP >RENT1
INCH JMP >INCH
INCH2 JMP >INC<H2
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 ZC?D9D
 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 >OUATCH+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+
B 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
 BLC  S 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 >ZCF66D

 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 #'S-$40
 NOP
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5]
 CMPA #'Q-$40
 NOP
 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 Z CE9E
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 AND!
CC #$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 >CU"RLIN
 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 #$1#F
 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 >FIPAD$R
 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
 L&EAX $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 Z'D005
 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 Z*D074
 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
Z,D0C7 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
 RO/L >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 Z0D172
 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 1>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 Z2D1E4
 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 #$043
 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 GE4 TCMD

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
5! 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 >ERR6"TYP
 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
7# 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 #DNRM8$SG
 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
9%
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
;*********************************************
*
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES
*
*********************************************
 ORG $CD00
*
** FLEX JUMPS
*
COLDS JMP >COLD1
WARMS JMP >WARM1
RENTER JMP >RENT1
INCH JMP >INCH
INCH2 JMP >INC<H2
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 ZC?D9D
 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 >OUATCH+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+
B 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
 BLC  S 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 >ZCF66D

 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 >ESCHR
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5E]
 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
ZCED0F 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
ZCG
EFA 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 H

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 ZCFI4F
 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 ZCFJ83
 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 ZCFB2K
 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
L*
** 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
 CMPAM #'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 >PRVCNHR
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 O$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 P>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 #$FEQ
 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 R#$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 S$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"
 FCTC "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
U 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
 ANDCVC #$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
 PWULS 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 XA,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
 YJSR >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

ZD21Z E 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
 B[!CS 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 Z\"D2EB
 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 >P^$STRG1
 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
a~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'

 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 >ESCHR
 BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5E]
 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
ZCED0F 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
ZCG
EFA 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 H

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 ZCFI4F
 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 ZCFJ83
 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 ZCFB2K
 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
L*
** 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
 CMPAM #'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 >PRVCNHR
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 O$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 P>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 #$FEQ
 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 R#$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 S$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"
 FCTC "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
U 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
 ANDCVC #$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
 PWULS 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 XA,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
 YJSR >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

ZD21Z E 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
 B[!CS 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 Z\"D2EB
 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 >P^$STRG1
 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
a~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~bG+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&z~bG+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁ζζ@'~g@'40~ؾ
&@gC~/΁+%
%:%9v%c]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONL'd

Oƹ&0&0_+ܽ΁ζζ@'~g@'40~ؾ
&@gC~/΁+%
%:%9v%c]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONL'd
~W~g~ͱ~ ~~~~~B~+~΁~~ζ~d~~7~ѣ~~J~χ~~Ҁ~0~~v~*~N~~(篟14LZ&| }(&&N΁zՁ
'@|
7%̓>'   '5&n/V ΁~g
~W~g~ͱ~ ~~~~~B~+~΁~~ζ~d~~7~ѣ~~J~χ~~Ҁ~0~~v~*~N~~(篟14LZ&| }(&&N΁zՁ
'@|
7%̓>'   '5&n/V ΁~g
#"!&$9D_# &m&m'm&e0m&9''
'
#"!&$9D_# &m&m'm&e0m&9''
'
'2#'⧀
&9R& Ό'0& gg 
B  ɍ3'ΈpB0 N'f&]'P&n}!&'Ӷ' "}    '4'Z&5|
\
'2#'⧀
&9R& Ό'0& gg 
B  ɍ3'ΈpB0 N'f&]'P&n}!&'Ӷ' "}    '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S         f 9G& G$&G9$Ҁ~}!& "L) |)4')$ζ|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~B0%9#A%Z#a%z#994g
'' &'獹5ooՆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z ? &0 ?940&"=1h0Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'S         f 9G& G$&G9$Ҁ~}!& "L) |)4')$ζ|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~B0%9#A%Z#a%z#994g
'' &'獹5ooՆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z ? &0 ?940&"=1h0Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIј5\ ='&3. "=M'Ѝ
==Z& @'&2b&i	
9 &9s~5%|L O_9L'~"ѣ'n\~4@75%@\@%;9
'&\940 'c-&'Xb@m' &.8n@& JGGLo !'u΁? o_χ5̂΁ j
+99%܁9"҄44XIXIXIј5\ ='&3. "=M'Ѝ
==Z& @'&2b&i	
9 &9s~5%|L O_9L'~"ѣ'n\~4@75%@\@%;9
'&\940 'c-&'Xb@m' &.8n@& JGGLo !'u΁? o_χ5̂΁ j
ζ@ J?="&ɽB
& 4 M0~k~5CE |(~͸(E nC:9}&n@Ҁ~gERRORSSYS~p~p~pp9~pnnnn
ζ@ J?="&ɽB
& 4 M0~k~5CE |(~͸(E nC:9}&n@Ҁ~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYkRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYkRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽl &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽl &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠m
9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠m
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9n]'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;& 
$9n]'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
ooooo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ pI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
ooooo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ pI8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 q459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 q459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%r1'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%r1'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@s$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@s$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!t@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#COLD1
WARMS JMP >WARM1
RENTER JMP >RENT1
INCH JMP >INCH
INCH2 JMP >INCwH2
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 x>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
y 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 ZCzD9D
 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 >OU|TCH+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
 BL~ S 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
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!t@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#COLD1
WARMS JMP >WARM1
RENTER JMP >RENT1
INCH JMP >INCH
INCH2 JMP >INCwH2
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 x>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
y 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 ZCzD9D
 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 >OU|TCH+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
 BL~ S 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
ZC
EFA 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

ZD21 E 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
 B!CS 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 Z"D2EB
 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 >P$STRG1
 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
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'

 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
ZC
EFA 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

ZD21 E 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
 B!CS 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 Z"D2EB
 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 >P$STRG1
 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
~!~~G~Dž~Ǖ~;1}4&|4m'1;4 }')4@5oo"o;}')? ﭟ? }0'? |0909}&'&}'
'4
'4
<5
&?1 Ԇ
+
<5
&?1 Ԇ
+
'"m'j~G0@&z~G+? ~@STARTUPTXT ʬ99+0
'"m'j~G0@&z~G+? ~@STARTUPTXT ʬ99+0

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd

Oƹ&0&0_+ܽ΁εε@'~g@'40~׾
&@gC~.΁+%
%:%9u%]'996809 FLEX V3.01DATE (MM,DD,YY)? ;:@I`NZ+++???WHAT?CAN'T TRANSFERNOT FOUNDDISK ERROR #DRIVES NOT READYGETMONK'd
~W~g~ͱ~ ~~~~~A~+~΁~~ε~~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
~W~g~ͱ~ ~~~~~A~+~΁~~ε~~~6~Ѣ~~I~φ~~~/~~u~)~N~~(篟14LZ&| }(&&N΁zԁ
'@|
6%̓>'   '5&n.V ΁~g
#"!&$9D_# &m&m'm&0m&9''
'
#"!&$9D_# &m&m'm&0m&9''
'
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e
'2#'⧀
&9R& Ό'0& ff 
A  ɍ2'ΈoA0 N'e
&\
&\
'P&n}!&'Զ' "}     '4'Z&5|
\
'P&n}!&'Զ' "}     '4'Z&5|
\
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
X4'ONZ&59}#&}&'}/'}$'S          9G& G$&G9$~}!& "L) |)4')$ε|)54}"&}$' 
}&& 59JM섎̠0zM& =K%|K 4K&}J&}' # |J50 DDDD09#~A0%9#A%Z#a%z#994ľ
'' &'獹5ooԆK4%.&.%(&   ?'l##h?m'am*}
' 
?9%C9"?m*8$/.9K+%4K5I% 0Z$-'_&]&9]'o0Z Ŀ? &0 ?940&"=10Z&5BINTXTCMDBASSYSBAKSCRDATBACDIRPRTOUT%"&%4xyZ&5\ ߽$99G***
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
+99%܁9"҄44XIXIXIјĉ5\ ='&3. "=M'Ѝ
==Z& @'&2b&
	9 &9s~5%|L O_9L'~"Ѣ'n\~4@65%@\@%;9
'&]940 'c-&'Xa@m' &.8n@& JGGLo !'u΁? o_φ5̂΁ 
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
ε@ J?="&ɽA
& 40 L~k~5CE |(~͸(E nC:9}&n@~gERRORSSYS~p~p~pp9~pnnnn
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
nntppppxq|Ӏӄ~~6~Y~{ DISK OPERATING SYSTEM COPYRIGHT (C) 1980 BY TECHNICAL SYSTEMS CONSULTANTS5    
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
oZ&~         '04 5 $o9}'     4$o&"''մ%&}&#_5$9  # ZXέ$m5$9ن8vA֟i,֙ڇoՐݽ &9턮oo9'
99       &9&9 O_/0Z&9$0Z&94$&0Z&9T$y#~"l":@\&9&Uʀŀ&
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠
9"'
#:@99;+<'jս;  1%"'    &#%
; M'9ڱ%   '~٠
9"'
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
l":@9$9@l!&l '4"5$ŀ'      9%%&945$90@9O9&ŀ&$\'ց \'      99Ǿ% &
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%}$
5'7'2@&45$9 9;+= &\;& 
$9]'' 94&  	5%4;o;59&"&4!5%}$
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
"9O_E B '&"'Do?%*%&%"~܂@֟$~9=:m9&9m&l&lm'C%ݾ %Ҿ@45&
oooo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
oooo 1?Ol!&l _@0Z&       B9_4 4A5@_"9"&%0}&D"/"1450Z&91"450Z&~֟#}&1'"#7 #*ݽ%6#ݭ I8$'9'*Y&993&/2149ׇ&%]1!Z&9%"9ׇ%]1!Z&֟$~/A%v$~
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
9%=ؒ%8&ّ;}' &)%*@v'45%Z&_"9 459m*ݽ$9%7%ڽؒ%& Ͻ%ʾ
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1'o~&ۧ %m'ܘ%
o0Z&2''/41ݭi%>"9ol/ %
r%U֟$~Ͼ24G% oo;O"9(%oD%z"9&֟%9%
#9%1'o~&ۧ %m'ܘ%
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟$@&ŀ'
i%G$9ن%(%# ن%& %      995ؒ%*'$$0Z&M%&օ`&  U99550z&&=0Z&9νؒ%&99i9@֟$@&ŀ'
  
  
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#
9%^%Z&R`&Rׇ&'3  %,'% ۧ%G9 9\<#L&7'L793%0:&'9@8:5798 %ܡ::51!@0Z&֟$~%FO_ g<_o@0Z&9' *~ݚ ڱ%F$o&9 'jݟ%O_m't $,04LT'5'L 4@E%>55  ev4J%<#

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        
   
                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                 !!!!!!!!!  !
   
                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                 !!!!!!!!!  !
!!!
!!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""  "
!!!
!!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""  "
"""
""""""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#########  #
"""
""""""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#########  #
###
################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$  $
###
################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~#################################################################################################################################$$$$$$$$$  $
$$$
$$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%  %
$$$
$$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%  %
%%%
%%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&  &
%%%
%%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&  &
&&&
&&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''   '
&&&
&&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''   '
'''
''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((  (
'''
''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((  (
(((
((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))  )
(((
((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))  )
)))
))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*********  *
)))
))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*********  *
***
******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*********************************************************************************************************************************+++++++++  +
***
******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~*********************************************************************************************************************************+++++++++  +
+++
+++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,  ,
+++
+++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,  ,
,,,
,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------  -
,,,
,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------  -
---
------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~---------------------------------------------------------------------------------------------------------------------------------.........  .
---
------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~---------------------------------------------------------------------------------------------------------------------------------.........  .
...
................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~................................................................................................................................./////////  /
...
................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~................................................................................................................................./////////  /
///
/////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////000000000  0
///
/////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////000000000  0
000
0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111  1
000
0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111  1
111
1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222  2
111
1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222  2
222
2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333  3
222
2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333  3
333
3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444  4
333
3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444  4
444
4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555  5
444
4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555  5
555
5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666  6
555
5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666  6
666
6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777  7
666
6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777  7
777
7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888  8
777
7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888  8
888
8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999  9
888
8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999  9
999
9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::  :
999
9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::  :
:::
::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;  ;
:::
::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;  ;
;;;
;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< <
;;;
;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< <
<<<
<<<<<<<<<<<<<<<<<<< 
<<<
<<<<<<<<<<<<<<<<<<< 
===
=================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=================================================================================================================================>>>>>>>>>  >
===
=================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=================================================================================================================================>>>>>>>>>  >
 
 

powered by: WebSVN 2.1.0

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