1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-01-10 06:30:41 +00:00

Bump the version. Init VM from PLASMA.SYSTEM.

This commit is contained in:
David Schmenk 2014-12-21 16:47:32 -08:00
parent 73bfdae1a9
commit fdee5810c6
5 changed files with 33 additions and 14 deletions

View File

@ -91,7 +91,7 @@ word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0
// Editor variables // Editor variables
// //
byte nullstr = "" byte nullstr = ""
byte version = "PLASMA ][ SANDBOX VERSION 00.10 " byte version = "PLASMA ][ SANDBOX VERSION 00.11 "
byte errorstr = "ERROR: $" byte errorstr = "ERROR: $"
byte okstr = "OK" byte okstr = "OK"
byte outofmem = "OUT OF MEMORY!" byte outofmem = "OUT OF MEMORY!"
@ -3944,6 +3944,17 @@ def parse_module
return FALSE return FALSE
end end
// //
// Close all files
//
^$BFD8 = 0
close(0)
//
// Set memory bitmap
//
memset($BF58, 24, 0)
^$BF58 = $CF
^$BF6F = $01
//
// Init editor // Init editor
// //
if !(^machid & $80) if !(^machid & $80)

View File

@ -39,7 +39,7 @@ predef loadmod, execmod, lookupstrmod
// //
// System variables. // System variables.
// //
word version = $0010 // 00.10 word version = $0011 // 00.1
word systemflags = 0 word systemflags = 0
word heap word heap
word symtbl, lastsym word symtbl, lastsym

View File

@ -33,7 +33,7 @@ predef loadmod, execmod, lookupstrmod
// //
// System variable. // System variable.
// //
word version = $0010 // 00.10 word version = $0011 // 00.11
word systemflags = 0 word systemflags = 0
word heap word heap
word xheap = $0800 word xheap = $0800

View File

@ -288,18 +288,27 @@ CMDENTRY = *
!BYTE $CC !BYTE $CC
!WORD CLOSEPARMS !WORD CLOSEPARMS
BNE FAIL BNE FAIL
;
; INIT VM ENVIRONMENT STACK POINTERS
;
; LDA #$00 ; INIT FRAME POINTER
STA IFPL
LDA #$BF
STA IFPH
LDX #$FE ; INIT STACK POINTER (YES, $FE. SEE GETS)
TXS
LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX
JMP $2000 ; JUMP TO LOADED SYSTEM COMMAND JMP $2000 ; JUMP TO LOADED SYSTEM COMMAND
; ;
; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT ; PRINT FAIL MESSAGE, WAIT FOR KEYPRESS, AND REBOOT
; ;
FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE FAIL INC $3F4 ; INVALIDATE POWER-UP BYTE
LDY #$01 LDY #33
- LDA FAILMSG,Y - LDA FAILMSG,Y
ORA #$80 ORA #$80
JSR $FDED JSR $FDED
INY DEY
CPY FAILMSG BPL -
BNE -
JSR $FD0C ; WAIT FOR KEYPRESS JSR $FD0C ; WAIT FOR KEYPRESS
JMP ($FFFC) ; RESET JMP ($FFFC) ; RESET
OPENPARMS !BYTE 3 OPENPARMS !BYTE 3
@ -309,13 +318,12 @@ REFNUM !BYTE 0
READPARMS !BYTE 4 READPARMS !BYTE 4
!BYTE 0 !BYTE 0
!WORD $2000 !WORD $2000
!WORD $1100 !WORD $9F00
!WORD 0 !WORD 0
CLOSEPARMS !BYTE 1 CLOSEPARMS !BYTE 1
!BYTE 0 !BYTE 0
DISABLE80 !BYTE 21, 13, '1', 26, 13 DISABLE80 !BYTE 21, 13, '1', 26, 13
FAILMSG !BYTE 39 FAILMSG !TEXT "...TESER OT YEK YNA .DMC GNISSIM"
!TEXT "MISSING CMD. PRESS ANY KEY TO RESET..."
PAGE0 = * PAGE0 = *
;****************************** ;******************************
;* * ;* *
@ -344,10 +352,10 @@ PAGE3 = *
BIT LCRDEN+LCBNK2 ; $03DC - INDIRECT INTERPX ENTRY BIT LCRDEN+LCBNK2 ; $03DC - INDIRECT INTERPX ENTRY
JMP IINTRPX JMP IINTRPX
} }
DEFCMD !FILL 30 DEFCMD !FILL 28
ENDBYE = * ENDBYE = *
} }
LCDEFCMD = *-30 ; DEFCMD IN LC MEMORY LCDEFCMD = *-28 ; DEFCMD IN LC MEMORY
;***************** ;*****************
;* * ;* *
;* OPXCODE TABLE * ;* OPXCODE TABLE *

View File

@ -34,7 +34,7 @@ predef loadmod, execmod, lookupstrmod
// //
// System variables. // System variables.
// //
word version = $0010 // 00.10 word version = $0011 // 00.11
word systemflags = 0 word systemflags = 0
byte refcons = 0 byte refcons = 0
byte devcons = 0 byte devcons = 0
@ -63,7 +63,7 @@ byte machid = $F2 // Apple ///, 80 columns
// //
// Command line pointer // Command line pointer
// //
word cmdptr = @autorun word cmdptr
// //
// Standard Library exported functions. // Standard Library exported functions.
// //