mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
Kernel 0.93+
This commit is contained in:
parent
c43c51e28e
commit
e753621178
Binary file not shown.
@ -210,7 +210,7 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBETALK .AZ "libetalk"
|
||||
LIBETALK .AZ "LIBETALK"
|
||||
SSCANF.ADDR .AZ "%D.%d"
|
||||
SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h"
|
||||
MSG.Usage .AS "Usage : AARP, display AARP cache\r\n"
|
||||
|
@ -359,7 +359,7 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AS "Usage : ADT <ip|host> [port]\r\n"
|
||||
|
@ -225,7 +225,7 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
SSCANF.IP .AZ "%d.%d.%d.%d"
|
||||
SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h"
|
||||
MSG.Usage .AS "Usage : ARP, display ARP cache\r\n"
|
||||
|
@ -176,7 +176,7 @@ CS.QUIT lda hLIBTCPIP
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
SSCANF.IP .AZ "%d.%d.%d.%d"
|
||||
|
@ -412,7 +412,7 @@ Wait.TimeOut ldy #TimeOut
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBETALK .AZ "libetalk"
|
||||
LIBETALK .AZ "LIBETALK"
|
||||
hLIBETALK .BS 1
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : ETCONFIG\r\n"
|
||||
|
@ -300,7 +300,7 @@ CS.RUN.CheckOpt ldy #1
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
LIBBLKDEV .AZ "libblkdev"
|
||||
LIBBLKDEV .AZ "LIBBLKDEV"
|
||||
hLIBBLKDEV .BS 1
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : FORMAT <BLOCKDEV> [VOLUME.NAME]\r\n"
|
||||
|
@ -477,7 +477,7 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AS "Usage : HTTPGET <ip|host> [port]\r\n"
|
||||
|
@ -344,7 +344,7 @@ Wait.TimeOut ldy #TimeOut
|
||||
.INB USR/SRC/SBIN/IPCONFIG.S.ETC
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
*--------------------------------------
|
||||
OptionList >PSTR "DEde"
|
||||
|
@ -162,7 +162,7 @@ OptionVars .DA #bText,#bText
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : MD5 [ -d input text | input file ]\r\n"
|
||||
*--------------------------------------
|
||||
LIBCRYPT .AZ "libcrypt"
|
||||
LIBCRYPT .AZ "LIBCRYPT"
|
||||
hLIBCRYPT .BS 1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -159,7 +159,7 @@ CS.QUIT lda hLIBTCPIP
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG0 .AZ "Type Prot Local Remote Options Status"
|
||||
MSG1 .AZ "%s %s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\r\n"
|
||||
|
@ -629,7 +629,7 @@ MSG.DIR .AZ "Reading Dir:%s..."
|
||||
MSG.FILE .AZ "Adding File:%s..."
|
||||
ARC.Header .AZ "PAK"
|
||||
*--------------------------------------
|
||||
LIBPAK .AZ "libpak"
|
||||
LIBPAK .AZ "LIBPAK"
|
||||
hLIB .BS 1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -554,7 +554,7 @@ MSG.STORE .AZ "Store : %5D Bytes, New Ofs=$%H\r\n"
|
||||
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
||||
TAG .AZ "PAKME"
|
||||
*--------------------------------------
|
||||
LIBPAK .AZ "libpak"
|
||||
LIBPAK .AZ "LIBPAK"
|
||||
hLIB .BS 1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -311,7 +311,7 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AS "Usage : PING <ip|host>\r\n"
|
||||
.AZ " -1-9 : Ping Count\r\n"
|
||||
|
@ -216,7 +216,7 @@ DumpRPCFrame lda #S.UDP+24
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip.o"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.USAGE .AZ "Usage : RPCDUMP <ip|host>"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
|
@ -287,7 +287,7 @@ CS.QUIT lda hSocket
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AZ "Usage : TELNET <ip|host> [port]"
|
||||
|
@ -367,7 +367,7 @@ OptionList >PSTR "CcDdPpSs"
|
||||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
LIBCRYPT .AZ "libcrypt"
|
||||
LIBCRYPT .AZ "LIBCRYPT"
|
||||
hLIBCRYPT .BS 1
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : USERADD username\r\n"
|
||||
|
@ -29,6 +29,7 @@ MLI.E.BEYEOF .EQ $4D Beyond EOF
|
||||
MLI.E.LOCKED .EQ $4E File Access Error, File Locked
|
||||
MLI.E.OPEN .EQ $50 File Already Open
|
||||
MLI.E.BADDIR .EQ $51 Directory Structure Damaged
|
||||
MLI.E.NOTPRODOS .EQ $52 Not a ProDOS disk
|
||||
MLI.E.INVPARAM .EQ $53 Invalid Parameter
|
||||
* .EQ $55 Too Many Volumes
|
||||
* .EQ $56 Bad Buffer Address
|
||||
|
@ -208,29 +208,38 @@ sysdeath1 tax death error code.
|
||||
sta CLR80DISP disable 80 col hardware.
|
||||
lda SETTEXT switch in text.
|
||||
lda cortflag is this a Cortland?
|
||||
beq H321A if not, don't use super hires switch.
|
||||
beq .1 if not, don't use super hires switch.
|
||||
|
||||
stz newvideo force off super hires.
|
||||
|
||||
H321A lda CLRPAGE2 switch in text page 1.
|
||||
ldy #$13
|
||||
.1 lda CLRPAGE2 switch in text page 1.
|
||||
|
||||
H321F lda #$20 inverse space border
|
||||
sta vline11+10,y
|
||||
sta vline13+10,y
|
||||
lda deathmsg,y
|
||||
sta vline12+10,y 'RESTART SYSTEM-$0x'
|
||||
ldy #deathmsg.LEN-1
|
||||
|
||||
.2 lda deathmsg,y
|
||||
sta $400,y 'RESTART SYSTEM-$'
|
||||
dey
|
||||
bpl H321F
|
||||
bpl .2
|
||||
|
||||
txa x = death error code
|
||||
and #$0F convert to ascii
|
||||
ora #$B0
|
||||
cmp #$BA
|
||||
bcc H323B branch if not > 9.
|
||||
ora #$30
|
||||
cmp #$3A
|
||||
bcc .3 branch if not > 9.
|
||||
|
||||
adc #$06 inc to alpha a-f
|
||||
H323B sta vline12+28 death error code 1 to F
|
||||
bra * end of xdos mli
|
||||
|
||||
.3 ldy #deathmsg.LEN
|
||||
sta $400,y
|
||||
|
||||
lda #' '
|
||||
|
||||
.4 iny
|
||||
sta $400,y
|
||||
cpy #39
|
||||
bne .4
|
||||
|
||||
bra *
|
||||
*--------------------------------------
|
||||
* ProDOS Block File Manager
|
||||
*--------------------------------------
|
||||
@ -247,7 +256,7 @@ XDOS.bfmgr lda disptch,x translate into command address.
|
||||
sta bkbitflg to say 'file modified'
|
||||
bcc nopath
|
||||
|
||||
jsr setpath process pathname before calling command
|
||||
jsr XDOS.GetPath process pathname before calling command
|
||||
bcs errorsys branch if bad name.
|
||||
|
||||
nopath asl cmdtemp test for refnum processing
|
||||
@ -266,16 +275,20 @@ H3274 jsr $FFFF SELF MODIFIED : execute command
|
||||
errorsys jsr GP.P8errv
|
||||
goodop rts
|
||||
*--------------------------------------
|
||||
setpath ldy #$01 index to pathname pointer
|
||||
* entry used by rename for 2nd pathname.
|
||||
*--------------------------------------
|
||||
XDOS.GetRenPath ldy #$03 get address to new pathname
|
||||
.HS 2C
|
||||
*--------------------------------------
|
||||
XDOS.GetPath ldy #$01 index to pathname pointer
|
||||
lda (A3L),y low pointer address
|
||||
sta zpt
|
||||
|
||||
iny
|
||||
lda (A3L),y hi pointer address
|
||||
sta zpt+1
|
||||
|
||||
* entry used by rename for 2nd pathname.
|
||||
|
||||
synpath ldx #$00 x = index to pathbuf
|
||||
ldx #$00 x = index to pathbuf
|
||||
ldy #$00 y = index to input pathname.
|
||||
|
||||
stz prfxflg assume prefix is in use.
|
||||
@ -371,7 +384,7 @@ endname lda namcnt validate local name < 16
|
||||
beq errsyn
|
||||
H3323 rts
|
||||
*--------------------------------------
|
||||
XDOS.SetPrefix jsr setpath call is made to detect if a null path.
|
||||
XDOS.SetPrefix jsr XDOS.GetPath call is made to detect if a null path.
|
||||
bcc H3333 path ok.
|
||||
|
||||
ldy pathbuf is it a null pathname?
|
||||
@ -750,7 +763,7 @@ H3588 lda (zpt),y
|
||||
|
||||
jmp XDOS.Create
|
||||
crerr2 rts return and report errors
|
||||
|
||||
*--------------------------------------
|
||||
creat1 ldx #$00 zero out gbuf
|
||||
|
||||
H35A0 stz gbuf,x
|
||||
@ -807,7 +820,7 @@ crname lda pathbuf,x move local name as filename
|
||||
bcc .3
|
||||
cmp #'z'+1
|
||||
bcs .3
|
||||
|
||||
|
||||
eor #$20
|
||||
sta d_stor,y
|
||||
|
||||
@ -891,41 +904,56 @@ cmvparnt lda d_entblk,x
|
||||
|
||||
lda h_entln lastly, the length of parent's
|
||||
sta gbuf+42 directory entries.
|
||||
|
||||
cralcblk jsr alc1blk get address of file's data block
|
||||
bcs crerr3
|
||||
|
||||
sta d_frst
|
||||
sty d_frst+1
|
||||
sta bloknml
|
||||
sty bloknml+1
|
||||
jsr wrtgbuf go write data block of file
|
||||
bcs crerr3
|
||||
|
||||
inc h_fcnt add 1 to total # of files in this dir
|
||||
bne credone
|
||||
|
||||
inc h_fcnt+1
|
||||
|
||||
credone jsr drevise go revise directories with new file
|
||||
bcs crerr3
|
||||
|
||||
jmp upbmap lastly, update volume bitmap
|
||||
*--------------------------------------
|
||||
entcalc lda /gbuf set high address of dir entry
|
||||
sta zpt+1 index pointer.
|
||||
lda #$04 calc address of entry based
|
||||
ldx d_entnum on the entry #.
|
||||
|
||||
H3689 clc
|
||||
|
||||
H368A dex addr = gbuf + ((d_entnum-1) * h_entln)
|
||||
beq H3696 branch with carry clear = no errors.
|
||||
|
||||
adc h_entln
|
||||
bcc H368A
|
||||
|
||||
inc zpt+1 inc hi address.
|
||||
bcs H3689 always.
|
||||
|
||||
H3696 sta zpt newly calculated low address.
|
||||
crerr3 rts carry set if error.
|
||||
|
||||
*--------------------------------------
|
||||
drevise lda p8date
|
||||
beq drevise1 if no clock, then don't mod date/time.
|
||||
|
||||
ldx #$03
|
||||
|
||||
modtime lda p8date,x move last modification date/time
|
||||
sta d_moddt,x to entry being updated.
|
||||
dex
|
||||
bpl modtime
|
||||
|
||||
drevise1 lda d_attr mark entry as backupable
|
||||
ora bkbitflg (bit 5 = backup needed)
|
||||
sta d_attr
|
||||
@ -935,38 +963,51 @@ drevise1 lda d_attr mark entry as backupable
|
||||
ldx d_entblk+1
|
||||
jsr rdblk read block into general purpose buffer
|
||||
bcs crerr3
|
||||
|
||||
jsr entcalc fix up ptr to entry location within gbuf.
|
||||
|
||||
ldy h_entln now move 'd.' info to directory.
|
||||
|
||||
dey
|
||||
|
||||
H36CA lda d_stor,y
|
||||
sta (zpt),y
|
||||
dey
|
||||
bpl H36CA
|
||||
|
||||
lda d_head is the entry block same as
|
||||
cmp bloknml the entry's header block?
|
||||
bne H36E0 if no, go save entry block
|
||||
|
||||
lda d_head+1 then maybe, so test high addresses.
|
||||
cmp bloknml+1
|
||||
beq uphead branch if they are the same block.
|
||||
|
||||
H36E0 jsr wrtgbuf go write updated directory block.
|
||||
bcs crerr3
|
||||
|
||||
lda d_head get address of header block and
|
||||
ldx d_head+1
|
||||
jsr rdblk go read in header block to modify.
|
||||
bcs crerr3
|
||||
|
||||
uphead ldy #$01 update current # of files in this dir.
|
||||
|
||||
H36F2 lda h_fcnt,y
|
||||
sta gbuf+37,y (current entry count)
|
||||
dey
|
||||
bpl H36F2
|
||||
|
||||
lda h_attr also update header's attributes.
|
||||
sta gbuf+34
|
||||
jsr wrtgbuf go write updated header
|
||||
bcs H375A
|
||||
|
||||
ripple lda gbuf+4 test for 'root' directory because
|
||||
and #$F0 if it is, then directory revision
|
||||
eor #$F0 is complete (leaves carry clear).
|
||||
beq H3770 branch if done.
|
||||
|
||||
lda gbuf+41 get entry #
|
||||
sta d_entnum
|
||||
lda gbuf+42 and the length of ertries in that dir
|
||||
@ -975,42 +1016,54 @@ ripple lda gbuf+4 test for 'root' directory because
|
||||
ldx gbuf+40
|
||||
jsr rdblk read it
|
||||
bcs H375A
|
||||
|
||||
jsr entcalc get indirect ptr to parent entry in gbuf
|
||||
lda p8date don't touch mod
|
||||
beq H373B if no clock...
|
||||
|
||||
ldx #$03 update the modification date & time
|
||||
ldy #$24 for this entry too
|
||||
|
||||
H3732 lda p8date,x
|
||||
sta (zpt),y
|
||||
dey
|
||||
dex
|
||||
bpl H3732
|
||||
|
||||
H373B jsr wrtgbuf write updated entry back to disk.
|
||||
bcs H375A if error.
|
||||
|
||||
ldy #$25 compare current block # to this
|
||||
lda (zpt),y entry's header block.
|
||||
iny
|
||||
cmp bloknml are low addresses the same?
|
||||
sta bloknml
|
||||
bne H3751 branch if entry doesn't reside in same
|
||||
|
||||
lda (zpt),y block as header.
|
||||
cmp bloknml+1 are high address the same?
|
||||
beq ripple they are the same, continue to root dir.
|
||||
|
||||
H3751 lda (zpt),y not same so read in this dir's header.
|
||||
sta bloknml+1
|
||||
jsr rdgbuf
|
||||
bcc ripple continue if read was good
|
||||
|
||||
H375A rts
|
||||
tsterr lda #$52 not tree or dir, unrecognized type
|
||||
|
||||
tsterr lda #MLI.E.NOTPRODOS not tree or dir, unrecognized type
|
||||
sec
|
||||
rts
|
||||
|
||||
tstsos lda gbuf pointer to previous dir block
|
||||
ora gbuf+1 must be null
|
||||
bne tsterr
|
||||
|
||||
lda gbuf+4 test for header
|
||||
and #$E0
|
||||
cmp #$E0
|
||||
bne tsterr
|
||||
|
||||
H3770 clc no error
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -12,7 +12,7 @@ moventry ldy h_entln Get FileInfo From Directory Block Buffer
|
||||
tya
|
||||
bne .1
|
||||
|
||||
.DO LOWERCASE=1
|
||||
.DO LOWERCASE=2
|
||||
lda d_stor
|
||||
and #$F0
|
||||
cmp #$F0
|
||||
@ -56,10 +56,10 @@ moventry ldy h_entln Get FileInfo From Directory Block Buffer
|
||||
.5 iny
|
||||
dex
|
||||
bne .4
|
||||
.FIN
|
||||
|
||||
.8 lda #$00 no errors
|
||||
clc
|
||||
.FIN
|
||||
|
||||
nofind rts
|
||||
*--------------------------------------
|
||||
lookfile jsr preproot go find volume
|
||||
@ -99,12 +99,12 @@ phantm2 lda rootstuf-$10,y
|
||||
|
||||
H37C2 lda #MLI.E.INVPATH bad path (carry set)
|
||||
rts
|
||||
|
||||
*--------------------------------------
|
||||
lookfil0 stz nofree reset free entry indicator.
|
||||
sec dir to be searched has header in this block.
|
||||
L37C9 stz totent reset entry counter.
|
||||
|
||||
jsr looknam look for name pointed to by pnptr.
|
||||
jsr XDOS.LookupNameInDirBlk look for name pointed to by pnptr.
|
||||
bcc namfound if name was found.
|
||||
|
||||
lda entcntl have we looked at all of the
|
||||
@ -229,8 +229,9 @@ filfound lda h_maxent figure out which entry # this is
|
||||
sta d_entblk+1
|
||||
clc
|
||||
rts
|
||||
|
||||
looknam lda h_maxent reset count of files per block
|
||||
*--------------------------------------
|
||||
XDOS.LookupNameInDirBlk
|
||||
lda h_maxent reset count of files per block
|
||||
sta cntent
|
||||
|
||||
lda /gbuf
|
||||
@ -243,12 +244,14 @@ L38C1 sta zpt reset indirect pointer to gbuf
|
||||
ldy #$00
|
||||
lda (zpt),y get length of name in directory.
|
||||
bne isname branch if there is a name.
|
||||
|
||||
lda nofree test if a free entry has been declared.
|
||||
bne L38F8 yes, inc to next entry.
|
||||
|
||||
jsr filfound set address for current entry.
|
||||
|
||||
inc nofree indicate a free spot has been found.
|
||||
bne L38F8 always.
|
||||
bra L38F8
|
||||
|
||||
isname and #$0F strip byte (is checked by 'filfound')
|
||||
inc totent inc count of valid files found.
|
||||
@ -261,22 +264,42 @@ isname and #$0F strip byte (is checked by 'filfound')
|
||||
cmpname inx (first) next letter index
|
||||
iny
|
||||
|
||||
.DO LOWERCASE=0
|
||||
lda (zpt),y compare names letter by letter
|
||||
cmp pathbuf,x
|
||||
.ELSE
|
||||
lda pathbuf,x
|
||||
jsr XDOS.ToUpper
|
||||
cmp (zpt),y compare names letter by letter
|
||||
.DO LOWERCASE=1
|
||||
phy
|
||||
cpy #8 CS if MIN_VERSION to use
|
||||
|
||||
ldy #$1C VERSION
|
||||
lda (zpt),y
|
||||
bpl .4 no lowercase information
|
||||
|
||||
bcs .1
|
||||
|
||||
ply
|
||||
and whichbit,y
|
||||
beq .5 UPPERCASE
|
||||
|
||||
bra .2
|
||||
|
||||
.1 iny MIN_VERSION
|
||||
lda (zpt),y
|
||||
|
||||
ply
|
||||
and whichbit-8,y
|
||||
beq .5
|
||||
|
||||
.2 lda (zpt),y
|
||||
jsr XDOS.ToLower
|
||||
bra .6
|
||||
|
||||
.4 ply
|
||||
.FIN
|
||||
.5 lda (zpt),y compare names letter by letter
|
||||
.6 cmp pathbuf,x
|
||||
bne L38F8
|
||||
|
||||
dec namcnt all letters compared?
|
||||
bne cmpname no, continue.
|
||||
|
||||
.DO LOWERCASEMATCH=1
|
||||
.FIN
|
||||
|
||||
clc a match is found.
|
||||
noname rts
|
||||
|
||||
@ -290,21 +313,25 @@ L38F8 dec cntent checked all entries in this block?
|
||||
|
||||
inc zpt+1 look on 2nd page.
|
||||
clc carry should always be clear before
|
||||
bcc L38C1 looking at next.
|
||||
|
||||
bra L38C1 looking at next.
|
||||
*--------------------------------------
|
||||
preproot jsr findvol search vcb's and dev's for spec'd volume
|
||||
bcs novolume
|
||||
|
||||
lda #$00 zero out directory temps
|
||||
ldy #$42
|
||||
|
||||
L3914 sta own_blk,y and owner info
|
||||
dey
|
||||
bpl L3914
|
||||
|
||||
lda devnum setup device # for this directory
|
||||
sta d_dev
|
||||
jsr movhed0 setup other header info from directory
|
||||
ldy #$01 in gbuf and clean up misc info.
|
||||
ldx vcbptr
|
||||
inx
|
||||
|
||||
L3929 lda vcbbuf+18,x misc info includes
|
||||
sta h_tblk,y total # of blocks,
|
||||
lda vcbbuf+26,x the address of the 1st bitmap,
|
||||
@ -339,13 +366,17 @@ findvol lda #$00
|
||||
ldy preflag use prefix volume name to look up vcb.
|
||||
bit prfxflg is this a prefixed path?
|
||||
bpl L396F branch if it is
|
||||
|
||||
tay set ptr to volume name
|
||||
|
||||
L396F sty vnptr and save.
|
||||
sta devnum zero out dev# until vcb located.
|
||||
|
||||
L3975 pha acc now used as vcb lookup index.
|
||||
tax index pointer to x.
|
||||
lda vcbbuf,x get vcb volume name length.
|
||||
bne L3987 branch if claimed vcb to be tested.
|
||||
|
||||
L397C ldy vnptr restore pointer to requested vol name.
|
||||
pla now adj vcb index to next vcb entry.
|
||||
clc
|
||||
@ -397,6 +428,7 @@ L39C2 jsr rdgbuf read in directory (or prefix dir)
|
||||
L39CC ldx vcbptr check if current (matched) vcb is active
|
||||
lda vcbbuf+17,x i.e. does it have open files?
|
||||
bmi L39ED report not found if active.
|
||||
|
||||
L39D4 lda vnptr make path ptr same as volume ptr
|
||||
sta namptr
|
||||
jsr mvdevnums copy all device #'s to be examined.
|
||||
|
@ -449,7 +449,7 @@ L49C3 dey has user's request been satisfied ?
|
||||
and #$18 make sure no illegal access bits were
|
||||
beq L49D0 set !! branch if legal access.
|
||||
|
||||
lda #$4E otherwise, access error.
|
||||
lda #MLI.E.LOCKED otherwise, access error.
|
||||
sec
|
||||
L49CF rts
|
||||
|
||||
@ -461,12 +461,12 @@ L49D0 ldy #$0B
|
||||
L49D9 jmp drevise update with clock also...
|
||||
*--------------------------------------
|
||||
XDOS.Rename jsr lookfile look for source (original) file.
|
||||
bcc L4A1E if found.
|
||||
bcc XDOS.RenameFileDir if found.
|
||||
|
||||
cmp #$40 trying to rename a volume ?
|
||||
bne L49FD no, return error.
|
||||
|
||||
jsr renpath syntax new name.
|
||||
XDOS.RenameVol jsr XDOS.GetRenPath syntax new name.
|
||||
bcs L49FD rename error.
|
||||
|
||||
ldy pathbuf find out if only rootname for new name
|
||||
@ -478,7 +478,7 @@ XDOS.Rename jsr lookfile look for source (original) file.
|
||||
lda vcbbuf+17,x
|
||||
bpl L49FF if volume not busy.
|
||||
|
||||
lda #$50 file busy error.
|
||||
lda #MLI.E.OPEN file busy error.
|
||||
L49FD sec
|
||||
rts
|
||||
|
||||
@ -501,16 +501,18 @@ L4A10 lda pathbuf,y move new name to vcb.
|
||||
L4A1C clc no errors
|
||||
rts
|
||||
*--------------------------------------
|
||||
L4A1E jsr getnamptr set y = 1st char of path, x = 0.
|
||||
XDOS.RenameFileDir
|
||||
jsr getnamptr set y = 1st char of path, x = 0.
|
||||
|
||||
L4A21 lda pathbuf,y move original name to gbuf
|
||||
sta gbuf,x for later comparison to new name.
|
||||
bmi L4A2D if last character has been moved
|
||||
|
||||
iny otherwise, get the next one.
|
||||
inx
|
||||
bra L4A21 always.
|
||||
bra L4A21
|
||||
|
||||
L4A2D jsr renpath get new name syntaxed.
|
||||
L4A2D jsr XDOS.GetRenPath get new name syntaxed.
|
||||
bcs L4A74 rename error.
|
||||
|
||||
jsr getnamptr set y = path, x = 0.
|
||||
@ -521,22 +523,18 @@ L4A38 cmp gbuf,x to make sure they are in the same dir.
|
||||
php save result of comparison.
|
||||
and #$F0 was last char really a count ?
|
||||
bne L4A46 if not.
|
||||
|
||||
sty rnptr save pointer to next name, it might
|
||||
stx namptr be the last.
|
||||
|
||||
L4A46 plp result of last comparison ?
|
||||
bne L4A52 branch if different character or count.
|
||||
|
||||
inx bump pointers.
|
||||
iny
|
||||
lda pathbuf,y was it the last character ?
|
||||
bne L4A38 if not.
|
||||
|
||||
.DO LOWERCASE=1
|
||||
|
||||
|
||||
|
||||
.FIN
|
||||
|
||||
clc no operation, names were the same.
|
||||
rts
|
||||
|
||||
@ -569,7 +567,7 @@ L4A76 jsr lookfile test for duplicate file name.
|
||||
L4A7F cmp #MLI.E.FNOTFND was it a valid file not found ?
|
||||
bne L4A74 no, rename error.
|
||||
|
||||
jsr setpath syntax pathname of file to be changed.
|
||||
jsr XDOS.GetPath syntax pathname of file to be changed.
|
||||
jsr findfile get all the info on this file.
|
||||
bcs L4A74 rename error.
|
||||
|
||||
@ -582,6 +580,8 @@ L4A7F cmp #MLI.E.FNOTFND was it a valid file not found ?
|
||||
bne L4A9D branch if ok to rename
|
||||
|
||||
lda #MLI.E.LOCKED otherwise, illegal access.
|
||||
.HS 2C BIT ABS
|
||||
L4A98 lda #MLI.E.INCFF
|
||||
L4A9B sec
|
||||
rts
|
||||
|
||||
@ -591,12 +591,9 @@ L4A9D lda d_stor find out which storage type.
|
||||
beq L4AAE then ok.
|
||||
|
||||
cmp #$40 is it a seed, sapling or tree ?
|
||||
bcc L4AAE then ok.
|
||||
bcs L4A98 file incompatible error.
|
||||
|
||||
lda #MLI.E.INCFF file incompatible error.
|
||||
bne L4A9B always.
|
||||
|
||||
L4AAE jsr renpath since both names go into the directory,
|
||||
L4AAE jsr XDOS.GetRenPath since both names go into the directory,
|
||||
bcs L4A74 syntax the new name to get the local
|
||||
|
||||
ldy rnptr name address. y = index to local name
|
||||
@ -632,30 +629,25 @@ L4ABE lda pathbuf,y move local name to dir entry workspace.
|
||||
bcs L4A74
|
||||
|
||||
L4AF0 jmp drevise1 end by updating all path directories.
|
||||
|
||||
*--------------------------------------
|
||||
mvrotnam ldx #$00
|
||||
|
||||
L4AF5 sta gbuf+4,x
|
||||
inx
|
||||
iny
|
||||
lda pathbuf,y
|
||||
bne L4AF5
|
||||
|
||||
jmp wrtgbuf write changed header block.
|
||||
|
||||
renpath ldy #$03 get address to new pathname
|
||||
lda (A3L),y
|
||||
iny
|
||||
sta zpt
|
||||
lda (A3L),y set up for syntaxing routine (synpath)
|
||||
sta zpt+1
|
||||
jmp synpath do syntax (returns y = local namelength)
|
||||
|
||||
*--------------------------------------
|
||||
getnamptr ldy #$00 return pointer to 1st name of path.
|
||||
bit prfxflg is this a prefixed name ?
|
||||
bmi L4B1A branch if not.
|
||||
ldy newpfxptr
|
||||
L4B1A ldx #$00
|
||||
rts
|
||||
bmi .1 branch if not.
|
||||
|
||||
ldy newpfxptr
|
||||
.1 ldx #$00
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/PRODOS.FX/PRODOS.S.XDOS.E
|
||||
LOAD USR/SRC/PRODOS.FX/PRODOS.S
|
||||
|
@ -543,12 +543,12 @@ XDOS.IsValidFirstChar.SEC
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
XDOS.ToUpper cmp #'a'
|
||||
bcc .8
|
||||
cmp #'z'+1
|
||||
bcs .8
|
||||
eor #$20
|
||||
.8 rts
|
||||
*XDOS.ToUpper cmp #'a'
|
||||
* bcc .8
|
||||
* cmp #'z'+1
|
||||
* bcs .8
|
||||
* eor #$20
|
||||
*.8 rts
|
||||
*--------------------------------------
|
||||
XDOS.ToLower cmp #'A'
|
||||
bcc .8
|
||||
@ -718,9 +718,8 @@ whichbit .HS 8040201008040201
|
||||
ofcbtbl .HS 0C0D1819151617
|
||||
inftabl .HS 1E101F2080939421
|
||||
.HS 22232418191A1B
|
||||
deathmsg .HS 20
|
||||
.AS -"RESTART SYSTEM-$01"
|
||||
.HS 20
|
||||
deathmsg .AS "RESTART SYSTEM-$0"
|
||||
deathmsg.LEN .EQ *-deathmsg
|
||||
*--------------------------------------
|
||||
XDOS.DATA .DUMMY
|
||||
|
||||
|
@ -115,13 +115,9 @@ pbuf .EQ $0280 prefix buffer
|
||||
softev .EQ $03F2 RESET vector
|
||||
pwredup .EQ $03F4 power up byte
|
||||
nmivect .EQ $03FB nmi handler
|
||||
txtp2 .EQ $0400 test location for aux card
|
||||
vmode .EQ $04FB video firmware operating mode
|
||||
|
||||
ch80col .EQ $057B 80 column ch position
|
||||
vline11 .EQ $0528 line 11 of display
|
||||
vline12 .EQ $05A8 line 12 of display
|
||||
vline13 .EQ $0628 line 13 of display
|
||||
vline16 .EQ $07A8 line 16 of display
|
||||
|
||||
dbuf .EQ $0C00 8 page directory buffer
|
||||
|
@ -185,7 +185,7 @@ CS.END
|
||||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.USAGE .AZ "Usage : CIFSD <ip|host> sharename mountpoint"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
|
@ -110,7 +110,7 @@ Destop.Paint >LIBCALL hLIBGUI,LIBGUI.HideCursor
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
LIBGUI .AZ "LIBGUI"
|
||||
hLIBGUI .BS 1
|
||||
*--------------------------------------
|
||||
MouseData .BS S.MOUSE
|
||||
|
@ -341,7 +341,7 @@ CS.QUIT lda hSrvSocket
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
hLIBTCPIP .BS 1
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
MSG.TCPWAIT .AZ "HTTPD:Waiting for TCP/IP initializing..."
|
||||
MSG.TCPIPERR .AZ "HTTPD:TCP/IP Not initialized properly."
|
||||
MSG.INITOK .AZ "HTTPD:Listening on port %D, root dir: %s.\r\n"
|
||||
|
@ -470,7 +470,7 @@ CS.CLEANUP lda ZPhGetLine
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
LIBCRYPT .AZ "libcrypt"
|
||||
LIBCRYPT .AZ "LIBCRYPT"
|
||||
hLIBCRYPT .BS 1
|
||||
MSG.NOAUTH .AS "\r\n\r\nA2osX-Login:No ETC/PASSWD file present, Logged as ROOT.\r\n"
|
||||
.AS "Consider adding ROOT password with USERADD command.\r\n"
|
||||
|
@ -234,7 +234,7 @@ CS.QUIT lda hSrvSocket
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
hLIBTCPIP .BS 1
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
LIBTCPIP .AZ "LIBTCPIP"
|
||||
MSG.TCPWAIT .AZ "TELNETD:Waiting for TCP/IP initializing..."
|
||||
MSG.INITOK .AZ "TELNETD:Init Ok, Listening."
|
||||
MSG.TCPIPERR .AZ "TELNETD:TCP/IP Not initialized properly."
|
||||
|
Loading…
Reference in New Issue
Block a user