{CBM--}{CBM--}$8011 length lE e input{CBM--}$8012 pos a p{CBM--}$8013 txtadr a t{CBM--}$8014 prslngth l s prntstr{CBM--}$8015 prspos a. p{CBM--}$8016 lastsc l s/t clclstsc{CBM--}$8017 chsm-trk z . t chsm-sr{CBM--}$8018 chsm-sctr s{CBM--}$8019 {CBM--}$801 *errflg > 127: d f dskerr{CBM--}{CBM--}b X v
{CBM--}E w %00001000 mX {CBM--}
s-f-w ; {CBM--} w (
%-z) X {CBM--} z.{CBM--}$801 *s-fw-seq %00000001: s srchfw{CBM--}$801 *s-fw-prg %00000010: p{CBM--}$801 *s-fw-usr %00000011: u{CBM--}$801 *s-fw-rel %00000100: r{CBM--}$801 *s-fw-del %00000111: d{CBM--}{CBM--}fX v {CBM--} w 0
{CBM--} z.{CBM--}$8020 *s-fw-pr %01000000: p {CBM--}$8021 *s-fw-rw %01000000: r/w .{CBM--}$8022 *s-fw-op %10000000: wfo .{CBM--}$8023 *s-fw-cl %10000000: c {CBM--}$8024 sfw-chflg e (a ):{CBM--} $00: s p{CBM--} $7: ($01-$7) xd{CBM--} $: ($80-$) r{CBM--} d f {CBM--} p
E ; {CBM--} srchfw, srchfw-i2, {CBM--} srchfw-i4.{CBM--}$8025 *sfw-ftno r: . f{CBM--}$8026 *dblockno d-b srchfile{CBM--}$8027 *dentryno d-e{CBM--}$8028 *dfilnaml l d
{CBM--} (*-j
E){CBM--}$8029 *dentrypos p
d-b prdbuf{CBM--}$802 *track t -{CBM--}$802 *sector s {CBM--}{CBM--}d 10 v {CBM--}d xd p/d. . e {CBM--}
{CBM--} 77 = e{CBM--} 80 = p{CBM--}$8032 *chsm-flag d : <> 0{CBM--}$8033 *prdevno d gE: 4 5{CBM--}$8034 *sec-addr d sE: 0 255{CBM--}$8035 *autolf a l f: 10 = {CBM--} 0 = {CBM--}$8036 *frstlin w-z (0-24)*** window{CBM--}$8037 *frstcol w-s (0-39)***{CBM--}$8038 lastlin w-z (0-24)***{CBM--}$8039 lastcol w-s (0-39)***{CBM--}$803 charl z subwndw{CBM--} w-z{CBM--}$803 charm
z{CBM--}$803 charr z{CBM--}$803 xlin w-z{CBM--}$803 xfcol w-s{CBM--}$803 xlcol w-s{CBM--}$8040 line b
askmouse{CBM--} m{CBM--}$8041 col s{CBM--}$8042 fncno m.{CBM--}$8043 ofncno {CBM--}$8044 mousepos z X j{CBM--}$8045-$804 , X
$ (nop){CBM--}$8050-$80 s X xdos-u{CBM--}$817-$820 s X xdos-r{CBM--} extdir ex d{CBM--} bam b a m{CBM--} hiddenfls h f{CBM--} chckdsk c d{CBM--} prfrm-t p
t{CBM--} rescratch r{CBM--} scrprtct s p{CBM--} dwrprtct d w p{CBM--} dadrchng d a c{CBM--} diskmenu disk menu{CBM--} prntmenu p m{CBM--} sys-set s
s{CBM--} goreset q{CBM--} gobasic r b{CBM--} newdks n.{CBM--} dskname d
c{CBM--} chcksmdsk <- (p ){CBM--} fileinf1{CBM--} fileinf2 d
{CBM--} ...{CBM--} fileinf8{CBM--} next n{CBM--} fileld1{CBM--} ... p
{CBM--} fileld8{CBM--} previous p{CBM--} chngclose wfo/c-s E{CBM--} chngprtct r/w / p {CBM--} chng-dskn d d {CBM--} dhng-drv d d {CBM--} chng-pr p d {CBM--} chng-lf a l f {CBM--} gobreak b{CBM--}{CBM--}$478-$ d{CBM--}$478 am-cnt{CBM--}$479 am-cnt-bu{CBM--}$47-$49 am-tbl1 64 b{CBM--}$4-$49 am-tbl2 64 b{CBM--}$4-$539 am-tbl3 64 b{CBM--}$53-$579 am-tbl4 64 b , X E {CBM--} v{CBM--}$57-$911 scrbuf 920 b{CBM--}$b912-$94 scrbuf2 195 b{CBM--}$95-$4 dirbuf 256 b{CBM--}$5-$4 blkbuf 256 b{CBM--}$5-$4 headbuf 256 b{CBM--}$5-$24 printbuf 80 b{CBM--}$25-$74 inpttext 80 b{CBM--}$75-$ hdnfls-ts 650 b{CBM--}$75-$ printbuf2 121 b{CBM--}$-$4 printbuf3 80 b{CBM--}$000-$ 8 b-rom{CBM--}$000-$ 4 s (ram){CBM--}$000-$ 4 v-r
{CBM--}$000-$ 8 b
-rom (k){CBM--}{CBM--}{CBM--}n xdos-b
X p
{CBM--}{CBM--}f m
, xdos- b
, f d d E, X p
. e
r, p
X w E . d a ( v p
) jsr $ . jmp (),
a k
a .{CBM--}{CBM--}a l p
w {CBM--}($8000){CBM--} (xdos ){CBM--} d jmp ($8000) xdos ( {CBM--}
r).{CBM--}{CBM--}($8002){CBM--} (xdos
){CBM--} m jmp ($8002)
(
{CBM--} nmi) xdos
.{CBM--}{CBM--}$8050 mmenu3{CBM--} (rX
h
X vE {CBM--} b
){CBM--} e p
, f {CBM--} (.b. n) e (..
{CBM--} m E).{CBM--}{CBM--}$8053 gobasic{CBM--} (rX cbm-b){CBM--} d v-c X,
r
-{CBM--} k
b-w
{CBM--} .{CBM--}{CBM--}$8056 goreset{CBM--} (a r ){CBM--} i s $8008 ascii-z <<7>> {CBM--} ,
r .{CBM--}{CBM--}$8059 rom-ram{CBM--} (b-r
){CBM--} d Y b 1-3 p ($01) {CBM--} 110 8k r
b-r
{CBM--}
.{CBM--}{CBM--}$805 ram-rom{CBM--} (
r
-k ){CBM--} d b 1-3 a 1 1 ,
{CBM--} b $000-$ $000-$ r
{CBM--} b $000-$ i/o .{CBM--}{CBM--}$805 setcnsts{CBM--} (n
d ){CBM--} f s {CBM--}{CBM--}$8062 setmsvic{CBM--} (p-k ){CBM--} d z
h {CBM--}
gV{$7c} .{CBM--}{CBM--}$8065 clcblkfre a,x{CBM--} (a b d ){CBM--} a d
headbuf a {CBM--} b
bam a () x {CBM--} () ; z a {CBM--} d-bV!{CBM--}{CBM--}$8068 clcbusd a,x{CBM--} (a bV d ){CBM--} clcblkfre, bV {CBM--} .{CBM--}{CBM--}$806 prnt16bit a,x{CBM--} (p 16-b z ){CBM--} e z a () x ()
b 0-65535 {CBM--} a ,
b {CBM--} $0100 (256) ascii-d vX {CBM--}
0 .{CBM--}{CBM--}$806 trns16bit a,x{CBM--} (p 16-b z fac){CBM--} e z (
k prnt16bit) {CBM--} f
fac {CBM--} X.{CBM--}{CBM--}$8071 wrsr-ntry{CBM--} ( b srchnext){CBM--} d b d , {CBM--} {$7c} chsmsr . d {CBM--} r srchnext.{CBM--}{CBM--}$8074 res-excmd{CBM--} (f
X xopen (k
) s){CBM--} d z b V {CBM--} k
f xopen-r {CBM--} a i-k
.{CBM--}{CBM--}$8077 res-ecmd2 a,x,y{CBM--} (f
xopen (k
) ){CBM--} w ,
z {CBM--} a :{CBM--} a = l b{CBM--} x,y = l, h-b a{CBM--}{CBM--}$807 set-mspos a,x,y{CBM--} (p ){CBM--} x = x-p (){CBM--} y = y-p (){CBM--} a = {$7b} x-p (9. b){CBM--}{CBM--}$807 set-amt-1 a,x,y{CBM--} (i-d X m ){CBM--} a = b
{CBM--} x = b
{CBM--} y = b
{CBM--}{CBM--}$8041 set-amt-2 a,x,y{CBM--} (i-d mX ){CBM--} p
,
X e.{CBM--}{CBM--}$8044 set-dp-bb{CBM--} (dskpnt blkbuf ){CBM--} d dskpnt-z a blkbuf {CBM--} .{CBM--}{CBM--}$8047 set-dp-db{CBM--} (dskpnt dirbuf ){CBM--} w ,
. dirbuf{CBM--}{CBM--}$804 set-dp-b2 x,y{CBM--} (dskpnt a x,y ){CBM--} x,y = l, h-b a{CBM--}{CBM--}$804 validate{CBM--} (d ){CBM--} d >>v<<-b d {CBM--} f .{CBM--}{CBM--}$8050 stndrdw x,y{CBM--} (s ){CBM--} x,y = l, h-b ,
20 {CBM--} z t
{CBM--} s, t, ok c-f {CBM--} . b a ok
rts {CBM--} X, c rX {CBM--} V (2 pla)
rts
{CBM--} p
.{CBM--}{CBM--}$8053 srchfw a,x,y x{CBM--} (d ){CBM--} d d,
mX {CBM--} xd v (b ).{CBM--} x,y = l, h-b a {$7b}{CBM--} a = a mX:{CBM--} 1. ok 6. r/w{CBM--} 2. s 7. p{CBM--} 3. p 8. d{CBM--} 4. u 9. wfo{CBM--} 5. r 10. c{CBM--} e r srchfile . nE {CBM--} X rX
x-r s .{CBM--}{CBM--}$8056 srchfw-i2 a,x,y x{CBM--} (E d , r){CBM--} w ,
e {CBM--} r-w.{CBM--}{CBM--}$8059 srchfw-i4 a,x,y x{CBM--} (E d , s {CBM--} p){CBM--} d.,
eE s p-{CBM--} w.{CBM--}{CBM--}$805 strout a,y{CBM--} (z ){CBM--} e z
lE {CBM--} b
.{CBM--} a,y = l, h-b a s{CBM--}{CBM--}$805 chsm-sr{CBM--} (d ){CBM--} d d d h d {CBM--}
s , {CBM--} nX
.{CBM--} a:{CBM--} d r , f {CBM--} d , {$7c} chsmflag {CBM--}
{$7c} 0 .{CBM--}{CBM--}$8062 readdsk x,y{CBM--} (l b d
f {CBM--} d){CBM--} d t x s y 256 {CBM--} b s (dskpnt), a {CBM--} r chsmsr, .{CBM--}{CBM--}$8065 readdsk2 x,y{CBM--} (l b d){CBM--} d.,
{$7b} d.{CBM--} h:{CBM--} d l d
r {CBM--} ,
bV u {CBM--} , d a {CBM--} f
V ;
z {CBM--} X. d v
. . {CBM--} mX c d .{CBM--}{CBM--}$8068 writedsk x,y{CBM--} (s b d
f {CBM--} d){CBM--} d (dskpnt) 256 b s {CBM--} t x, s y, a chsmsr, {CBM--} .{CBM--}{CBM--}$806 writedsk2 x,y{CBM--} (s b d){CBM--} d.,
{$7b} d.{CBM--}{CBM--}$806 ckout2{CBM--} (a f-d ){CBM--} d d jsr basout ($2) {CBM--} d
d
2, xopen {CBM--} ,
.{CBM--} h:{CBM--} d rX aE s {CBM--} (e: t; a: b
) {CBM--} jsr clrch ($).{CBM--}{CBM--}$8071 ckout15{CBM--} (a f-k
){CBM--} w ,
n. 15{CBM--}{CBM--}$8074 chkin2{CBM--} (e f-d ){CBM--} d d
jsr basin ($) {CBM--} d .{CBM--}{CBM--}$8077 chkin15{CBM--} (e f-f ){CBM--} d., n. 15{CBM--} a:{CBM--} b r
{$7c} X {CBM--} ,
a
d {CBM--}
A.{CBM--}{CBM--}$807 xopen{CBM--} (f-d- k
){CBM--} e open 15,8,15,i : open 2,8,2,# {CBM--} d- ( b-b) k
(
{CBM--} i) f ( {CBM--}
s{$7c} d
{CBM--} n
).{CBM--}{CBM--}$807 dskerr{CBM--} (d ){CBM--} d f s
{CBM--} b
. b {CBM--} a f d {CBM--} (..) errflg w 127.{CBM--} a: d f
( {CBM--} d-/ readdsk . writedsk {CBM--} ),
X s , i {CBM--} p
b
V .{CBM--}{CBM--}$8080 srchfile x,y x{CBM--} ( d
d ){CBM--} d a
z {CBM--} d
x () y () X, {CBM--} p
X d
{CBM--} v sfwseq sfwcl (b , {CBM--} eE xd) .{CBM--} f rX x n , d {CBM--}
k ; x {CBM--} s
dirbuf , 32 b {CBM--} e d .{CBM--}{CBM--}$8083 srchnext x,y x{CBM--} (E d d ){CBM--} e srchfile p
{CBM--} ,
m
X
{CBM--} d .{CBM--} b rX x .{CBM--}{CBM--}$8086 prerdwr a,x,y{CBM--} (t, s z , {CBM--} systems){CBM--} n
. {CBM--} rdwrcom1-b ( d {CBM--} ).{CBM--}{CBM--}$808 clrprbuf{CBM--} (printbuf V){CBM--} d 80 b s printbuf {CBM--}
l X (s, ascii 32).{CBM--}{CBM--}$808 ascii a x,a{CBM--} ( d
ascii-z
){CBM--} e
a d
b 0-99 {CBM--} ascii-z
:{CBM--} x = z{CBM--} a = e{CBM--}{CBM--}$8092 rdprev c-f{CBM--} ( d-b ){CBM--} d (
dblockno ) d-b {CBM--} , (c=0), dirbuf {CBM--} ( c=1).{CBM--}{CBM--}$80 rdnext c{CBM--} ( d-b ){CBM--} w rdprev, X d-{CBM--} b.{CBM--}{CBM--}$8099 rdhead{CBM--} (d-h ){CBM--} d t 18, s 0 d-h {CBM--} s headbuf
readdsk2 {CBM--} .{CBM--}{CBM--}$809 rwhead x,y{CBM--} (l d-h ){CBM--} d dskpnt a headbuf , {CBM--} x-r
18 (t), y
0 (s) {CBM--} .{CBM--}{CBM--}$809 wrhead{CBM--} (d-h ){CBM--} w rdhead,
z
{CBM--} writedsk2.{CBM--}{CBM--}$809 clr-dcb a{CBM--} (dskcmdbuf V ){CBM--} a a dskcmdbuf a X {CBM--} b , dskcmdbuf+1 driveno {CBM--} {CBM--} l
, dskcmdbuf+2 E {CBM--} d, 37 s {CBM--}
>>shift space<< (cbm-ascii 160) X.{CBM--}{CBM--}$809 snd-dcb{CBM--} (dsmcmdbuf d ){CBM--} d
b dskcmdbuf b {CBM--} b f X.{CBM--} a: v
a r
{$7c} k
{CBM--} (. b.
xopen) V .{CBM--}{CBM--}$800 prdbuf{CBM--} (headbuf dirbuf f
){CBM--} e d
headbuf {CBM--} {$7b} id, . d {CBM--} dirbuf, s f
{CBM--}
p
b
{CBM--} .{CBM--}{CBM--}$803 prntinit{CBM--} (d ){CBM--} d d , E w {CBM--} s
, {CBM--} a . d r
a {CBM--} p
d .{CBM--} z dX :{CBM--} - gE
a{$7c} d {CBM--} b open 4,4,sec-addr .{CBM--} - X d
c-s {CBM--} u .{CBM--} a d :{CBM--} - E mps 801.{CBM--} - e-d
( esc {CBM--}
) X; s {CBM--} d .{CBM--} w s r
,
X {CBM--} f X; {CBM--} >>u-r X d<<.{CBM--}{CBM--}$806 pi-sndesc a{CBM--} (esc z
a d ){CBM--} e esc-c (ascii 27) z {CBM--}
a d ;
{CBM--} {$7b} s .{CBM--}{CBM--}$809 prntstr a,x,y{CBM--} (s d ){CBM--} e s
lE a (=E a {CBM--} z), x (), y ()
s , {CBM--}
prntout
d ; {CBM--} a >> << (ascii 13) {CBM--} newline .{CBM--}{CBM--}$80 prntout a{CBM--} (z d
f ){CBM--} d z a
gE- i {CBM--} d , a r {CBM--}
e z
b 32 {CBM--} 127 160 . z z {CBM--} 32 128 159 ( a cbm-ascii) {CBM--} w 64 .{CBM--} h ,
a {CBM--} d, X z :{CBM--} - mps 801 z X.{CBM--} - X e-
d {CBM--} c cbm ascii
.{CBM--} d {CBM--} s d .{CBM--} a m, c {CBM--} d r ; {CBM--} >>u-r...<<.{CBM--}{CBM--}$80 prnto-wf a{CBM--} (z d f ){CBM--} w , f z.{CBM--}{CBM--}$802 prnthd{CBM--} (d- d ){CBM--} d {CBM--} d
d .{CBM--}{CBM--}$805 newline{CBM--} ( z
d ){CBM--} e >> << , autolf {CBM--} w 10 , z d {CBM--} .{CBM--}{CBM--}$808 pr39min{CBM--} (39
>>-<< d ){CBM--} e 39 m-z .{CBM--}$80 clclstsc x y{CBM--} ( s t ){CBM--} d s t x y {CBM--} (x ).{CBM--}{CBM--}$80 texton{CBM--} (b
){CBM--} n a b
-r $5 {CBM--} b
, c {CBM--} z g-/k {CBM--} .{CBM--}{CBM--}$801 window x,y{CBM--} (w
b
){CBM--} e f
b
, {CBM--} x ( z), y ( s) {CBM--} lastlin ( z), lastcol ( s) {CBM--} .{CBM--} a:{CBM--} d p
a {CBM--} .{CBM--} a
s , , {CBM--} b
, {CBM--} s ( w . ) {CBM--} , p {CBM--} u
.{CBM--}{CBM--}$804 scrtobuf{CBM--} ( b
z){CBM--} d i {CBM--} b
z{CBM--} h:{CBM--} d r w {CBM--} b
( b w).{CBM--}{CBM--}$807 buftoscr{CBM--} ( z b
){CBM--} d u
{CBM--} r; z {CBM--} b
.{CBM--}{CBM--}$80 input a,x,y a{CBM--} (e z/a m){CBM--} t 80 z {CBM--} s ( l a; a {CBM--} t x () y ()). a
{CBM--} a m
, n
a {CBM--} (0 : m). d {CBM--} w pos l e.{CBM--}{CBM--}$80 input-s{CBM--} (z l am-cnt){CBM--} d am-cnt a m {CBM--} am-cnt-bu , am-cnt
{CBM--}
w 0 (=> m
). {CBM--}{CBM--}$800 input-r{CBM--} (am-cnt ){CBM--} d r w {CBM--} am-cnt-bu amcnt .{CBM--}{CBM--}$803 askmouse a{CBM--} (j , m ){CBM--} h
j p 2 , {CBM--}
m
b
{CBM--} m . f r
{CBM--} a V{$7c} 127 , m , {CBM--} ; w {CBM--} 128 , X p (a {CBM--} n
). b 0 .{CBM--}{CBM--}$806 stndrd-am x{CBM--} (
m X){CBM--} askmouse , m {CBM--} , r {CBM--} w n
x ; {CBM--} v .{CBM--}{CBM--}$809 mouseoff{CBM--} (m-s ){CBM--} d s m {CBM--} . d s {CBM--} f f-c