From c4b98f186672cd8240acf78f102fa0a60f32f405 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Wed, 3 Dec 2025 19:57:24 -0800 Subject: [PATCH] Increase symbol table and increase free memory for 64K VM --- images/apple/PLFORTH.po | Bin 143360 -> 143360 bytes src/mk4th | 26 ++++++++++++++++---------- src/scripts/hgrfont.4th | 1 + src/vmsrc/apple/cmd.pla | 13 ++++++++----- src/vmsrc/apple/cmdjit.pla | 1 + src/vmsrc/apple/cmdstub.s | 23 ++++++++++++----------- 6 files changed, 38 insertions(+), 26 deletions(-) diff --git a/images/apple/PLFORTH.po b/images/apple/PLFORTH.po index 92376343056c986756daf9ea4a0117a8ee24ac99..e7bf9f6269a355bc993679e851949f0caeeac71b 100644 GIT binary patch delta 7497 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 = 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 = * -}