diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fc8979a6..22ce6cd4 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/ProDOS.203/ProDOS.S.LDR.A.txt b/ProDOS.203/ProDOS.S.LDR.A.txt index 848785e8..2f8c909b 100644 --- a/ProDOS.203/ProDOS.S.LDR.A.txt +++ b/ProDOS.203/ProDOS.S.LDR.A.txt @@ -324,7 +324,7 @@ H228E sta dst+1 cmp /dbuf+$800 until it points past end of buffer. bcc H228E if ok, read next block. -H22B7 jmp lodintrp jmp to 'licode' (load interpreter) +H22B7 jmp $800 jmp to "load interpreter" code * relocation/configuration error @@ -371,21 +371,25 @@ cortland .BS 1 cortland loader flag (1 = Cortland) newquitflag .BS 1 1 = old quit code H232B .DA #1 move interpreter loader code - .DA lodintrp destination address - .DA H257B-licode length to move - .DA licode source address + .DA $800 destination address + .DA licode.end-licode length to move + .DA LOADINT source address + .DA #$01 move $3F0 vectors .DA p3vect destination .DA $0010 16 bytes to move .DA H257B source + .DA #$01 - .DA lookptr - .DA $0002 - .DA dst + .DA lookptr destination address + .DA $0002 length to move + .DA dst source + .DA #$01 move 128k test to zero page .DA tst128 destination - .DA LDR.Test128.Len - .DA LDR.Test128 + .DA LDR.Test128.Len length to move + .DA LDR.Test128 source + .HS FF done dsp64 .DA #$01 move p8 dispatcher code @@ -467,15 +471,16 @@ cortclock .DA #$01 relocation table. 1=move src to dst * loader origin $800 -ofsL .EQ *-lodintrp offset from loader org +LOADINT .PH $800 -licode jsr MLI check for file 'atinit' +licode jsr MLI check for file 'atinit' .DA #MLIGETFILEINFO .DA gfi_list bcc gfi_ok branch if 'atinit' file found cmp #$46 file not found? beq H23DF if so, continue loading interpreter bne H23E2 + gfi_ok lda gfi_type cmp #$E2 is 'atinit' correct file type? bne H23E2 error - wrong file type @@ -500,34 +505,29 @@ H23DF jmp goloadint execute .system file * fatal error -H23E2 ldx H23F0 -H23E5 lda H23F0,x +H23E2 ldx $23F0 BUG: should be ATINIT.ERR +H23E5 lda $23F0,x BUG: should be ATINIT.ERR sta vline16,x dex bne H23E5 beq * -H23F0 .DA #$1A length of message +ATINIT.ERR .DA #$1A length of message .AS -"Unable to load ATInit file" -gfi_list .EQ *-ofsL - .DA #$0A +gfi_list .DA #$0A .DA atinitname .HS 00 -gfi_type .EQ *-ofsL - .HS 00000000 +gfi_type .HS 00000000 .HS 0000000000000000 .HS 0000 -atopen .EQ *-ofsL parms to open 'atinit' - .HS 03 +atopen .HS 03 .DA atinitname .DA iobuf i/o buffer .HS 01 ref# hard coded since no other files -atinitname .EQ *-ofsL - .DA #06 length of name +atinitname .DA #06 length of name .AS -"atinit" name of appletalk config file -goloadint .EQ *-ofsL - +goloadint lda /dbuf search directory buffer sta idxl+1 lda #$04 start 1 entry past header @@ -621,10 +621,10 @@ H24C8 jsr MLI close interpreter file sta KBDSTROBE clear keyboard H24DF lda RROMBNK2 enable ROM jmp sysentry go run interpreter -cflag .EQ *-ofsL - .HS 00 set if a //c. -nointrp .EQ *-ofsL no interpreter found, - jsr MLI so quit. + +cflag .HS 00 set if a //c. + +nointrp jsr MLI no interpreter found,so quit. .DA #$65 .DA quitparm badlod ldy ierlen center the error message @@ -646,41 +646,32 @@ H2508 lda lgmess,y dey bpl H2508 H2511 bmi H2511 -lgmess .EQ *-ofsL - .AS -"** System program too large **" -iomess .EQ *-ofsL - .AS -"** Unable to load" +lgmess .AS -"** System program too large **" +iomess .AS -"** Unable to load" .AS -" X.System *********" -ierlen .EQ *-ofsL - .HS 00 -opparm .EQ *-ofsL parms for open call - .HS 03 +ierlen .HS 00 +opparm .HS 03 .DA pbuf .DA iobuf .HS 01 -efparm .EQ *-ofsL parms for get eof call - .HS 02 +efparm .HS 02 .DA #01 -eof .EQ *-ofsL - .HS 000000 length of file. -rdparm .EQ *-ofsL parms for read call - .HS 04 +eof .HS 000000 length of file. +rdparm .HS 04 .HS 01 .DA sysentry -rdlen .EQ *-ofsL +rdlen .HS 0000 .HS 0000 - .HS 0000 -clparm .EQ *-ofsL parms for close call - .HS 01 +clparm .HS 01 .HS 00 -quitparm .EQ *-ofsL parms for quit call - .HS 04 +quitparm .HS 04 .HS 00 .HS 0000 .HS 00 .HS 0000 -iterp .EQ *-ofsL interpreter suffix that is required - .AS -".SYSTEM" +iterp .AS -".SYSTEM" interpreter suffix that is required + +licode.end .EP * 16 bytes moved to $03F0 vectors @@ -743,7 +734,7 @@ LDR.Test128 sta idapple H25DC-2621 was moved to location tst128 sta SETWRITEAUX write to aux mem while on main zp sta SETREADAUX and read aux mem. sta dbuf write these locs just to test aux mem - sta lodintrp 1k apart from each other. + sta $800 1k apart from each other. lda dbuf cmp #$EE bne noaux @@ -751,7 +742,7 @@ LDR.Test128 sta idapple H25DC-2621 was moved to location tst128 asl change value and see what happens. cmp dbuf bne noaux branch if not sparse mapping. - cmp lodintrp + cmp $800 bne H2606 if not sparse. noaux sec no aux memory available. bcs H2607 diff --git a/ProDOS.203/ProDOS.S.DiskII.txt b/ProDOS.203/ProDOS.S.XRW.txt similarity index 96% rename from ProDOS.203/ProDOS.S.DiskII.txt rename to ProDOS.203/ProDOS.S.XRW.txt index 71b4397a..70276766 100644 --- a/ProDOS.203/ProDOS.S.DiskII.txt +++ b/ProDOS.203/ProDOS.S.XRW.txt @@ -878,6 +878,6 @@ spunit .HS 0000000000000000 ref pathbuf-$10smartport unit numbers * pathname buffer starts at this page boundary (pathbuf = $D700) *-------------------------------------- MAN -SAVE USR/SRC/PRODOS.203/PRODOS.S.DISKII +SAVE USR/SRC/PRODOS.203/PRODOS.S.XRW LOAD USR/SRC/PRODOS.203/PRODOS.S ASM diff --git a/ProDOS.203/ProDOS.S.txt b/ProDOS.203/ProDOS.S.txt index 808bbb53..c813a358 100644 --- a/ProDOS.203/ProDOS.S.txt +++ b/ProDOS.203/ProDOS.S.txt @@ -125,8 +125,8 @@ vline14 .EQ $06A8 line 14 of display vline16 .EQ $07A8 line 16 of display vline23 .EQ $0750 line 23 of display vline24 .EQ $07D0 line 24 of display -lodintrp .EQ $800 -DirBlkBuf .EQ $C00 + +DirBlkBuf .EQ $0C00 dbuf .EQ $0C00 8 page directory buffer vblock1 .EQ $0E00 ramdisk directory block volbuf .EQ $0F00 volume buffer @@ -211,7 +211,7 @@ RAMX .PH $200 .EP XRW .PH $D000 - .INB USR/SRC/PRODOS.203/PRODOS.S.DISKII + .INB USR/SRC/PRODOS.203/PRODOS.S.XRW .EP SEL0 .PH $1000