P721 CEEFAX 721 Mon 20 Oct 21:28/14
|B2201205|a16UpDown|i24BBBC332k|m40000|p
÷e÷X÷b÷v÷L Automatic Up/Down Loader÷e÷X÷
l÷r÷L (c) The Micro User÷u÷X÷v÷a*DISC÷
e÷X(÷pfileV=&212:brkV=&202÷e÷X2÷tosbzte=
&FFF4:oscli=&FFF7÷e÷X<÷tdiscpage=&19:tap
epage=&E÷e÷XF8blockadd=&70:lower=&72:upp
er=&74:curl=&76:length=&77÷e÷XP÷elocn=&9
00÷e÷XZ÷j÷; I*=0 —|— 2 —0 2÷e÷Xd÷cP%=loc
n÷e÷Xn÷c[OPT I%÷e÷Xx"\Insert —8 value an
d "NEW" into÷e÷X—*÷l\keyboard buffer÷u÷X
—4÷c.inloop÷e÷X—>÷dLDA £&8A÷e÷X—H÷bLDX £
0÷e÷X—R÷d.textadd÷e÷X—\!LDY pagetext \
First address÷e÷X—f÷tBEQ discoff \All
sent÷e÷X—p÷fJSR osbzte÷e÷X÷*"INC textad
d+1 \Next character÷e÷X÷4÷fBNE inloop÷e
÷X÷>÷d.discoff÷e÷X÷H÷tLDA £&8C \Do
*TAPE÷e÷X÷R÷fJSR osbzte÷e÷Y÷\%\Set file
vector to point to code÷e÷Y÷f÷q\and res
et BRV vector÷e÷Y÷p÷lLDA £start —+ 256÷e
÷Y"÷eTTA fileV÷e÷Y,÷lLDA £start —) 256÷e
÷Y6÷gSTA fileV+1÷i÷Y@÷fLDA £?brkV÷e÷YJ÷d
STA brkV÷e÷YT÷gLDA £brkV?1÷e÷Y^÷fSTA bro
V+1÷e÷Yh÷#RTS÷e÷Yr6]:pagetext=P%:$pa|c
P721 CEEFAX 721 Mon 20 Oct 21:11/25
|B2202205|a16UpDown|i24BBBC332k|m402E7|p
getext="PAGE=&"+—k|÷(tapjpage*&100)÷u÷Y|
|0njwtext=pagetext+—Q$pagetext+1:$njwtex
t="NEW"÷e÷Y—.÷t?(newtext+—Q$newtext+1)=0
÷e÷Y—8÷rP%=newtext+—Q$njwtext+2÷e÷Y—B÷c[
OPT I*÷e÷Y—L£\True start (filiV points h
ere)÷e÷Y—V÷b.start÷e÷Y—|—÷dS$A curl÷e÷Y—
j÷hSTX blockadd÷e÷Y—t÷jSTY blockadd+1÷i÷
Y÷.÷#RAY÷e÷Y÷8÷dBNE load÷e÷Y÷B%\Save fil
e. First set pointers in÷e÷Y÷L \control
block and page zero÷e÷Y÷V÷e\pointers÷e÷Z
÷|—÷cLDY £&F÷e÷Z÷j!LDA (blockadd),Y \End
address÷e÷Z÷t÷gSTA lower+1÷e÷Z&÷#CLC÷e÷
Z0÷rADC £discpage-tapepage÷e÷Z:÷lSTA (bl
ockadd),Y÷e÷ZD÷gSTA upper+1÷e÷ZN÷#SEC÷e÷
ZX÷iSBC £discpagj÷e÷Zb£STA length \L
ength in pages÷e÷Zl"TAX \Temp
y. storage÷e÷Zv÷cLDY £&B÷e÷Z—(÷iLDA £dir
cpagj÷e÷Z—2£STA (blockadd),Y \Start adds
est÷e÷Z—<÷bLDY £0÷e÷Z—F÷eSTY lower÷e÷Z—P
÷eSTY upper÷e÷Z—Z÷p\Now up-load program÷
e÷Z—d÷c.uploop÷e÷Z—n÷iLDA (lower),Y÷e÷Z÷
(÷iSTA (upper),Z÷e÷Z÷2÷#HEY÷e÷Z÷<÷fB|c
P721 CJEFAX 721 Mon 20 Oct 21:14/23
|B2203205|b16UpDown|i24BBBC332k|m405C9|p
NE uploop÷e÷Z÷F÷gDEC lower+1÷e÷Z÷P÷gDEC
upper+1÷e÷[÷Z DIX \Page count
jr÷e÷[÷d÷fBPL uploop÷e÷[÷n JSR main
\Save to disc÷e÷[ £JSR download \Dow
n-load again÷e÷[* BMI reset \Always
jumps÷e÷[4÷a.load÷e÷[>!LDY £3 \
Reset pointer÷e÷[H÷iLDA £discpage÷e÷[R÷l
STA (blockadd),Y÷e÷[\"JSR main \Lo
ad from disc÷e÷[f%LDY £&B \Down-l
gad program÷e÷ p÷lLDA (blockadd),Y÷e÷[z÷
fSTA length÷e÷ —,÷hJSR download÷e÷[—6$.r
esjt \Exit as on entry÷e÷[—@÷hLD
X blockadd÷e÷ —J÷jLDY blockadd+1÷e÷[—T÷d
LDA curl÷e÷[—^÷#R$S÷e÷[—h÷a.main÷e÷[—r%\
Switches to disc, loads or saves÷i÷[÷, \
then switcher back to tape.÷e÷[÷6"\Set v
ector to trap DFS errors÷e÷[÷@÷lLDA £err
or —+ 256÷e÷[÷J÷dSTA brkV÷e÷[÷T÷lLDA £er
rot —) 256÷e÷\÷^÷fSTA brkV+1÷e÷\÷h÷o\Cle
ar DFS "AM area÷e÷\÷r÷iLDA £tapepage÷e÷\
$÷gSTA lower+1÷e÷\.÷bLDA £0÷e÷\8÷eTTA lo
wet÷e÷\B÷#RAY÷e÷\L÷rLDX £discpage-ta|c
P721 CEEFAX 721 Mon 20 Oct 21:22/40
|B4204205|a16UpDown|i24BBBC332k|m408BD|p
pjpage÷e÷\V÷f.clearloop÷e÷\|—÷iSTA (lowe
r),Y÷e÷\j÷#IVY÷e÷\t÷iBNE clearloop÷e÷\|÷
÷gINC lower+1÷e÷\—0 DIX \Page
counter÷e÷\—:÷iBNE clearloop÷e÷\—D÷k\Sw
itch on disc÷e÷\—N÷oLDX £disctext —+ 256
÷e÷\—X÷oLDY £disctext —) 256÷e÷\—b÷eJSR
oscli÷e÷\—l÷u\Original register values÷e
÷\—v÷eJSR reset÷e÷\÷0 \ROM routine to lo
ad or save÷e÷\÷:÷fJSR !fileV÷e÷\÷D÷uSTA
curl \File type÷e÷\÷N÷t\*TAPE and
reset vectors÷e÷]÷X÷gJSR diucoff÷e÷]÷b÷#
R$S÷e÷]÷l÷e.download÷e÷]÷v÷bLDY £0÷e÷](÷
eSTY upper÷e÷]2÷eS$Y lower÷e÷]<÷iLDA £di
scpage÷e÷]F÷gSTA upper+1÷e÷]P÷iLDA £tape
page÷e÷]Z÷gSTA lower+1÷e÷]d÷e.downloop÷e
÷]n÷iLDA (upper),Y÷e÷]x÷iSTA (lower),Y÷e
÷]—*÷#IVY÷e÷]—4÷hBNE downloop÷e÷]—>÷gIVC
upper+1÷e÷]—H÷gINC lower+1÷e÷]—R÷fDIC l
ength÷e÷]—\÷hBPL downloop÷e÷]—f÷#RTS÷e÷]
—p÷t\To download on disc '—u'÷e÷]÷*÷c\er
rots÷e÷]÷4÷b.error÷e÷]÷>÷dLDA curl÷e÷]÷H
÷hBNE dontdown÷e÷]÷R÷hJSR download÷e|c
P721 CEEFAX 721 Mon 20 Oct 21:11/23
|B2205205|b16UpDown|i24BBBC332k|m40B87|p
÷^÷\÷e.dontdown÷e÷^÷f÷qJSR discoff \R
eset÷e÷^÷p$IMP !brkV \Old victor va
lue÷e÷^"÷]]÷e÷^,÷rdisctext=P%:$P%="DISC"
÷e÷^6÷cP%=P%+5÷e÷^@÷]÷E÷e÷^J£÷I "*SAVE p
aramjters:"'|÷locn,|÷P%÷e÷W|c