diff --git a/images/apple/PLFORTH.po b/images/apple/PLFORTH.po index 9237634..e7bf9f6 100644 Binary files a/images/apple/PLFORTH.po and b/images/apple/PLFORTH.po differ diff --git a/src/mk4th b/src/mk4th index 82c034a..926beee 100755 --- a/src/mk4th +++ b/src/mk4th @@ -10,16 +10,16 @@ cat rel/ARGS#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/ARGS R cat rel/LONGJMP#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/LONGJMP REL cat rel/apple/INITSLOT#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/INITSLOT REL cat rel/HRFORTH#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HRFORTH REL -cat rel/HR2FORTH#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HR2FORTH REL +#cat rel/HR2FORTH#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HR2FORTH REL cat rel/TX2FORTH#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/TX2FORTH REL cat rel/PLFORTH#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/PLFORTH REL -cat rel/apple/COPY#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/COPY REL -cat rel/apple/DEL#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/DEL REL -cat rel/apple/REN#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/REN REL -cat rel/apple/CAT#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/CAT REL +#cat rel/apple/COPY#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/COPY REL +#cat rel/apple/DEL#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/DEL REL +#cat rel/apple/REN#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/REN REL +#cat rel/apple/CAT#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/CAT REL #cat rel/apple/TYPE#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/TYPE REL #cat rel/apple/NEWDIR#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/NEWDIR REL -cat rel/apple/MATCHFILES#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/MATCHFILES REL +#cat rel/apple/MATCHFILES#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/MATCHFILES REL cat rel/INT32#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/INT32 REL cat rel/apple/PORTIO#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/PORTIO REL #cat rel/FPSTR#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/FPSTR REL @@ -29,24 +29,30 @@ cat rel/apple/PORTIO#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/PORTIO #cat ../sysfiles/ELEMS.CODE#060000 | java -jar ac.jar -p PLFORTH.PO sys/ELEMS.CODE BIN cat rel/ED#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/ED REL cat rel/LINES#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/LINES REL +cat rel/SINCOS#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/SINCOS REL +cat rel/TURTLE#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/TURTLE REL cat rel/apple/HGRFONT#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HGRFONT REL cat rel/apple/HGRTILE#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HGRTILE REL cat rel/apple/HGRLIB#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/HGRLIB REL cat rel/apple/GRLIB#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/GRLIB REL -cat rel/apple/DGRLIB#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/DGRLIB REL +#cat rel/apple/DGRLIB#FE1000 | java -jar ac.jar -p PLFORTH.PO sys/DGRLIB REL cat scripts/plasma.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/PLASMA.4TH TXT cat scripts/machid.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/MACHID.4TH TXT cat scripts/conio.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/CONIO.4TH TXT cat scripts/fileio.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/FILEIO.4TH TXT cat scripts/grlib.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/GRLIB.4TH TXT -cat scripts/dgrlib.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/DGRLIB.4TH TXT +#cat scripts/dgrlib.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/DGRLIB.4TH TXT cat scripts/hgrlib.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/HGRLIB.4TH TXT +cat scripts/hgrfont.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/HGRFONT.4TH TXT cat scripts/int32.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/INT32.4TH TXT cat scripts/portio.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/PORTIO.4TH TXT +cat scripts/turtle.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/TURTLE.4TH TXT #cat scripts/fpu.4th | java -jar ac.jar -ptx PLFORTH.PO sys/scripts/FPU.4TH TXT cat scripts/rod.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/ROD.4TH TXT cat scripts/bounce.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/BOUNCE.4TH TXT -cat scripts/dbounce.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/DBOUNCE.4TH TXT +#cat scripts/dbounce.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/DBOUNCE.4TH TXT cat scripts/hrbounce.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/HRBOUNCE.4TH TXT -#cat scripts/hrplot.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/HRPLOT.4TH TXT +cat scripts/grturtle.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/GRTURTLE.4TH TXT +cat scripts/hrturtle.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/HRTURTLE.4TH TXT +#cat scripts/hrplot.4th | java -jar ac.jar -ptx PLFORTH.PO scripts/HRPLOT.4TH TXT echo "+PLFORTH PLASMA.4TH" | java -jar ac.jar -ptx PLFORTH.PO AUTORUN TXT diff --git a/src/scripts/hgrfont.4th b/src/scripts/hgrfont.4th index 48039a3..a3e74fc 100644 --- a/src/scripts/hgrfont.4th +++ b/src/scripts/hgrfont.4th @@ -1,4 +1,5 @@ ' HGRPUTSTR ?ENDSRC " HGRTILE" LOADMOD" " " HGRFONT" LOADMOD" " +LOOKUP TILEDRAWBUF PLASMA TILEDRAWBUF LOOKUP HGRPUTSTR PLASMA HGRPUTSTR diff --git a/src/vmsrc/apple/cmd.pla b/src/vmsrc/apple/cmd.pla index a1c0575..f925ef2 100755 --- a/src/vmsrc/apple/cmd.pla +++ b/src/vmsrc/apple/cmd.pla @@ -1,9 +1,8 @@ const MACHID = $BF98 -const iobuffer = $0800 const RELADDR = $1000 -const symtbl = $B800 -const freemem = $0006 +const iobuffer = $0800 +const symtbl = $DA00 const getlnbuf = $01FF const CSW = $36 const KSW = $38 @@ -621,9 +620,9 @@ end // loop // return 0 asm lookuptbl(dci)#1 - LDA #$00 ; SYMBOL TABLE + LDA #$00 ; SYMBOL TABLE AT $DA00 STA DSTL - LDA #$B8 + LDA #$DA STA DSTH LDA ESTKL,X STA SRCL @@ -949,6 +948,8 @@ end // Symbol table routines. // def addsym(sym, addr)#0 + ^$C083 // Read/Write enable RAMCARD BANK 2 + ^$C083 while ^sym & $80 ^lastsym = ^sym lastsym++ @@ -958,6 +959,7 @@ def addsym(sym, addr)#0 lastsym=>1 = addr lastsym = lastsym + 3 ^lastsym = 0 + ^$C080 // Read only RAMCARD BANK 2 end // // String routines. @@ -1460,6 +1462,7 @@ else // // Print some startup info. // + prstr("HEAP START:$"); prword(heap); crout prstr("MEM FREE:$"); prword(availheap); crout fin docmds diff --git a/src/vmsrc/apple/cmdjit.pla b/src/vmsrc/apple/cmdjit.pla index 7b8e8f3..be79c66 100755 --- a/src/vmsrc/apple/cmdjit.pla +++ b/src/vmsrc/apple/cmdjit.pla @@ -1541,6 +1541,7 @@ else // // Print some startup info. // + prstr("HEAP START:$"); prword(heap); crout prstr("MEM FREE:$"); prword(availheap); crout fin docmds diff --git a/src/vmsrc/apple/cmdstub.s b/src/vmsrc/apple/cmdstub.s index 68caa8c..967b10e 100644 --- a/src/vmsrc/apple/cmdstub.s +++ b/src/vmsrc/apple/cmdstub.s @@ -6,17 +6,23 @@ LCRWEN = $C083 LCBNK2 = $00 LCBNK1 = $08 !SOURCE "vmsrc/plvmzp.inc" + JMP CMDMOVE +_CMDBEGIN = * +!PSEUDOPC $0C00 { +!SOURCE "vmsrc/apple/cmd.a" +_CMDEND = * +} ;* -;* MOVE CMD DOWN TO $0C00-$2000 +;* MOVE CMD DOWN TO $0C00-$1C00 ;* - LDA #<_CMDBEGIN +CMDMOVE LDA #<_CMDBEGIN STA SRCL LDA #>_CMDBEGIN STA SRCH LDY #$00 STY DSTL - LDX #$0C - STX DSTH + LDA #$0C + STA DSTH LDX #$10 - LDA (SRC),Y STA (DST),Y @@ -25,20 +31,15 @@ LCBNK1 = $08 INC SRCH INC DSTH DEX ; STOP WHEN DST=$2000 REACHED - BNE - + BPL - ; ; INIT VM ENVIRONMENT STACK POINTERS ; STY $01FF STY IFPL ; INIT FRAME POINTER = $BF00 - LDA #$B8 + LDA #$BF STA IFPH LDX #$FE ; INIT STACK POINTER (YES, $FE. SEE GETS) TXS LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX JMP $0C00 -_CMDBEGIN = * - !PSEUDOPC $0C00 { - !SOURCE "vmsrc/apple/cmd.a" -_CMDEND = * -}