mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-08-07 18:25:03 +00:00
Huge update: memset() now matches C library for params. stdlib renamed
cmdsys so that dependencies have to be updated. Version now 0.8 - getting close
This commit is contained in:
BIN
SANDBOX.PO
BIN
SANDBOX.PO
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
import stdlib
|
import cmdsys
|
||||||
predef putc, putln, puts, getc, gets
|
predef putc, putln, puts, getc, gets
|
||||||
predef call, syscall
|
predef call, syscall
|
||||||
predef heapmark, heapallocallign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocallign, heapalloc, heaprelease, heapavail
|
@@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// Handle based swapping memory manager
|
// Handle based swapping memory manager
|
||||||
//
|
//
|
||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
predef isugt, isuge, isult, isule
|
predef isugt, isuge, isult, isule
|
||||||
@@ -163,7 +163,7 @@ end
|
|||||||
def get_info(path, infoptr)
|
def get_info(path, infoptr)
|
||||||
byte params[18]
|
byte params[18]
|
||||||
|
|
||||||
memset(@params, 18, 0)
|
memset(@params, 0, 18)
|
||||||
params.0 = 10
|
params.0 = 10
|
||||||
params:1 = path
|
params:1 = path
|
||||||
syscall($C4, @params)
|
syscall($C4, @params)
|
||||||
@@ -609,7 +609,7 @@ export def hmemNew(size)
|
|||||||
// Allocate a new page table
|
// Allocate a new page table
|
||||||
//
|
//
|
||||||
hpgtbl[page] = heapalloc(PG_SIZE)
|
hpgtbl[page] = heapalloc(PG_SIZE)
|
||||||
memset(hpgtbl[page], PG_SIZE, HMEM_AVAIL)
|
memset(hpgtbl[page], HMEM_AVAIL, PG_SIZE)
|
||||||
//puts(@allocpgstr);puth(hpgtbl[page]);putln
|
//puts(@allocpgstr);puth(hpgtbl[page]);putln
|
||||||
//
|
//
|
||||||
// Check if we need to allocate the memory pool
|
// Check if we need to allocate the memory pool
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// DHCP
|
// DHCP
|
||||||
//
|
//
|
||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
byte MACHID
|
byte MACHID
|
||||||
@@ -187,11 +187,11 @@ memcpy(@DHCP.dhcp_clientha, @localha, 6)
|
|||||||
//
|
//
|
||||||
// Clear our local IP address
|
// Clear our local IP address
|
||||||
//
|
//
|
||||||
memset(@localip, 4, 0)
|
memset(@localip, 0, 4)
|
||||||
//
|
//
|
||||||
// Set subnet mask to all 1's
|
// Set subnet mask to all 1's
|
||||||
//
|
//
|
||||||
memset(@subnet_mask, 4, IP_BROADCAST)
|
memset(@subnet_mask, IP_BROADCAST, 4)
|
||||||
//
|
//
|
||||||
// Prepare to receive DHCP packets from a server
|
// Prepare to receive DHCP packets from a server
|
||||||
//
|
//
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
byte MACHID
|
byte MACHID
|
||||||
@@ -422,8 +422,8 @@ export def sendIP(ipdst, proto, seglist, size)
|
|||||||
hdr:ip_chksm = 0
|
hdr:ip_chksm = 0
|
||||||
memcpy(@hdr.ip_src, @localip, IPADR_SIZE)
|
memcpy(@hdr.ip_src, @localip, IPADR_SIZE)
|
||||||
if !ipdst // IP_BROADCAST
|
if !ipdst // IP_BROADCAST
|
||||||
memset(@hdr.ip_dst, IPADR_SIZE, IP_BROADCAST)
|
memset(@hdr.ip_dst, IP_BROADCAST, IPADR_SIZE)
|
||||||
memset(@dstha, MAC_SIZE, MAC_BROADCAST)
|
memset(@dstha, MAC_BROADCAST, MAC_SIZE)
|
||||||
else
|
else
|
||||||
retry = 0
|
retry = 0
|
||||||
while ipdst=>0 <> remoteip:0 and ipdst=>2 <> remoteip:2
|
while ipdst=>0 <> remoteip:0 and ipdst=>2 <> remoteip:2
|
||||||
@@ -431,9 +431,9 @@ export def sendIP(ipdst, proto, seglist, size)
|
|||||||
return -1 // ARP failed
|
return -1 // ARP failed
|
||||||
fin
|
fin
|
||||||
retry = retry + 1
|
retry = retry + 1
|
||||||
memset(@dstMAC, MAC_SIZE, MAC_BROADCAST)
|
memset(@dstMAC, MAC_BROADCAST, MAC_SIZE)
|
||||||
memset(@remoteha, MAC_SIZE, 0)
|
memset(@remoteha, 0, MAC_SIZE)
|
||||||
memcpy(@remoteip, ipdst, IPADR_SIZE)
|
memcpy(@remoteip, ipdst, IPADR_SIZE)
|
||||||
opARP = ARP_REQST
|
opARP = ARP_REQST
|
||||||
writeEther(@ARP, t_earp)
|
writeEther(@ARP, t_earp)
|
||||||
for timeout = 1000 downto 0
|
for timeout = 1000 downto 0
|
||||||
@@ -500,7 +500,7 @@ export def recvUDP(localport, callback, param)
|
|||||||
if !portsUDP
|
if !portsUDP
|
||||||
portsUDP = heapalloc(MAX_UDP_NOTIFIES * t_notify)
|
portsUDP = heapalloc(MAX_UDP_NOTIFIES * t_notify)
|
||||||
if !portsUDP; return -1; fin
|
if !portsUDP; return -1; fin
|
||||||
memset(portsUDP, MAX_UDP_NOTIFIES * t_notify, 0)
|
memset(portsUDP, 0, MAX_UDP_NOTIFIES * t_notify)
|
||||||
fin
|
fin
|
||||||
//
|
//
|
||||||
// Look for an existing notification on localport
|
// Look for an existing notification on localport
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef puts
|
predef puts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef memset
|
predef memset
|
||||||
//
|
//
|
||||||
// System flags: memory allocator screen holes.
|
// System flags: memory allocator screen holes.
|
||||||
@@ -13,7 +13,7 @@ end
|
|||||||
|
|
||||||
sysflags reshgr1 // Reserve HGR page 1
|
sysflags reshgr1 // Reserve HGR page 1
|
||||||
|
|
||||||
memset($2000, $2000, 0) // Clear HGR page 1
|
memset($2000, 0, $2000) // Clear HGR page 1
|
||||||
^$C054
|
^$C054
|
||||||
^$C052
|
^$C052
|
||||||
^$C057
|
^$C057
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef memset, memcpy, getc, heapalloc, heapmark, heaprelease
|
predef memset, memcpy, getc, heapalloc, heapmark, heaprelease
|
||||||
end
|
end
|
||||||
import HGR1
|
import HGR1
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// ICMP service
|
// ICMP service
|
||||||
//
|
//
|
||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
byte MACHID
|
byte MACHID
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, memset, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
@@ -50,13 +50,13 @@ hmemDel(d)
|
|||||||
memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln
|
memfre=hmemFre(@memlrgst);puth(memfre); putc(' '); puth(memlrgst); putln
|
||||||
|
|
||||||
memptr = hmemLock(a)
|
memptr = hmemLock(a)
|
||||||
if memptr; memset(memptr, MAX_MEMBLK_SIZE, $1111); fin
|
if memptr; memset(memptr, $1111, MAX_MEMBLK_SIZE); fin
|
||||||
hmemUnlock(a)
|
hmemUnlock(a)
|
||||||
memptr = hmemLock(b)
|
memptr = hmemLock(b)
|
||||||
if memptr; memset(memptr, MAX_MEMBLK_SIZE, $2222); fin
|
if memptr; memset(memptr, $2222, MAX_MEMBLK_SIZE); fin
|
||||||
hmemUnlock(b)
|
hmemUnlock(b)
|
||||||
memptr = hmemLock(c)
|
memptr = hmemLock(c)
|
||||||
if memptr; memset(memptr, MAX_MEMBLK_SIZE, $3333); fin
|
if memptr; memset(memptr, $3333, MAX_MEMBLK_SIZE); fin
|
||||||
hmemUnlock(c)
|
hmemUnlock(c)
|
||||||
memptr = hmemLock(a)
|
memptr = hmemLock(a)
|
||||||
if memptr; puth(a); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin
|
if memptr; puth(a); putc('='); puth(*(memptr + MAX_MEMBLK_SIZE - 2)); putln; fin
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, memset, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
|
@@ -1,91 +0,0 @@
|
|||||||
//
|
|
||||||
// Include all imported modules and their data/functions.
|
|
||||||
//
|
|
||||||
include(stdlib.plh)
|
|
||||||
//
|
|
||||||
// Profile commands.
|
|
||||||
//
|
|
||||||
const stop = 0
|
|
||||||
const start = 1
|
|
||||||
const dump = 2
|
|
||||||
//
|
|
||||||
// Declare all global variables for this module.
|
|
||||||
//
|
|
||||||
byte profstr[] = "PLASMA Profiler\n"
|
|
||||||
byte optstr[] = "Module to profile"
|
|
||||||
byte ttlstr[] = "Total executed opcodes: $"
|
|
||||||
byte hdrstr[] = " OP COUNT\n"
|
|
||||||
byte valstr[] = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
|
||||||
word cmdstr
|
|
||||||
byte opstats[260]
|
|
||||||
//
|
|
||||||
// Define functions.
|
|
||||||
//
|
|
||||||
asm equate
|
|
||||||
!SOURCE "vmsrc/plvmzp.inc"
|
|
||||||
end
|
|
||||||
asm profiler
|
|
||||||
LDA ESTKL,X
|
|
||||||
CMP #$02
|
|
||||||
BNE +
|
|
||||||
INX
|
|
||||||
LDY ESTKL,X
|
|
||||||
STY DSTL
|
|
||||||
LDY ESTKH,X
|
|
||||||
STY DSTH
|
|
||||||
+ STX ESP
|
|
||||||
JSR $03E2
|
|
||||||
LDX ESP
|
|
||||||
RTS
|
|
||||||
end
|
|
||||||
def printb(b)
|
|
||||||
putc(valstr[(b >> 4) & $0F])
|
|
||||||
putc(valstr[ b & $0F])
|
|
||||||
end
|
|
||||||
def printw(h)
|
|
||||||
putc(valstr[(h >> 12) & $0F])
|
|
||||||
putc(valstr[(h >> 8) & $0F])
|
|
||||||
putc(valstr[(h >> 4) & $0F])
|
|
||||||
putc(valstr[ h & $0F])
|
|
||||||
end
|
|
||||||
def printl(lo, hi)
|
|
||||||
printw(hi)
|
|
||||||
printw(lo)
|
|
||||||
end
|
|
||||||
def dumpstats
|
|
||||||
byte opcnt, linecnt
|
|
||||||
word longptr
|
|
||||||
profiler(@opstats, 2)
|
|
||||||
puts(@ttlstr)
|
|
||||||
printl(opstats:0, opstats:2)
|
|
||||||
putln
|
|
||||||
puts(@hdrstr)
|
|
||||||
longptr = @opstats:4
|
|
||||||
linecnt = 0
|
|
||||||
for opcnt = 0 to 63
|
|
||||||
if (longptr):0 | (longptr):2
|
|
||||||
putc('$')
|
|
||||||
printb(opcnt << 1)
|
|
||||||
putc(' ')
|
|
||||||
putc('$')
|
|
||||||
printl((longptr):0, (longptr):2)
|
|
||||||
linecnt = linecnt + 1
|
|
||||||
if linecnt % 20 == 0
|
|
||||||
getc
|
|
||||||
fin
|
|
||||||
putln
|
|
||||||
fin
|
|
||||||
longptr = longptr + 4
|
|
||||||
next
|
|
||||||
end
|
|
||||||
|
|
||||||
puts(@profstr)
|
|
||||||
puts(@optstr)
|
|
||||||
cmdstr = gets($BA)
|
|
||||||
if ^cmdstr
|
|
||||||
profiler(1)
|
|
||||||
modexec(cmdstr)
|
|
||||||
profiler(0)
|
|
||||||
dumpstats
|
|
||||||
fin
|
|
||||||
done
|
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, putc, puts, modaddr
|
predef syscall, call, memset, getc, putc, puts, modaddr
|
||||||
byte MACHID
|
byte MACHID
|
||||||
end
|
end
|
||||||
@@ -38,7 +38,7 @@ byte a1err[] = "Apple 1 not supported.\n"
|
|||||||
byte a3err[] = "Apple 3 version mismatch.\n"
|
byte a3err[] = "Apple 3 version mismatch.\n"
|
||||||
byte exitmsg[] = "Press any key to exit.\n"
|
byte exitmsg[] = "Press any key to exit.\n"
|
||||||
byte goodbye[] = "That's all, folks!\n"
|
byte goodbye[] = "That's all, folks!\n"
|
||||||
byte stdlib[] = "STDLIB"
|
byte cmdsys[] = "cmdsys"
|
||||||
//
|
//
|
||||||
// Screen row address arrays.
|
// Screen row address arrays.
|
||||||
//
|
//
|
||||||
@@ -212,8 +212,8 @@ def a3grmode(mix)
|
|||||||
dev_control(devcons, 17, @grcharset)
|
dev_control(devcons, 17, @grcharset)
|
||||||
a3viewport(0, 20, 40, 4)
|
a3viewport(0, 20, 40, 4)
|
||||||
for i = 0 to mix
|
for i = 0 to mix
|
||||||
memset(txt1scrn[i], 40, $0000) // text screen
|
memset(txt1scrn[i], $0000, 40) // text screen
|
||||||
memset(txt2scrn[i], 40, $0000) // color screen
|
memset(txt2scrn[i], $0000, 40) // color screen
|
||||||
next
|
next
|
||||||
return grscrn(@txt2scrn) // point to color screen
|
return grscrn(@txt2scrn) // point to color screen
|
||||||
end
|
end
|
||||||
@@ -264,8 +264,8 @@ when MACHID & $C8
|
|||||||
gotoxy = @a3gotoxy
|
gotoxy = @a3gotoxy
|
||||||
grmode = @a3grmode
|
grmode = @a3grmode
|
||||||
textmode = @a3textmode
|
textmode = @a3textmode
|
||||||
if modaddr(@stdlib):0 == $0010
|
if modaddr(@cmdsys):0 == $0010
|
||||||
devcons = modaddr(@stdlib).5 // devcons variable from STDLIB
|
devcons = modaddr(@cmdsys).5 // devcons variable from cmdsys
|
||||||
else
|
else
|
||||||
puts(@a3err)
|
puts(@a3err)
|
||||||
return
|
return
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, putc, puts, putln
|
predef syscall, call, memset, getc, putc, puts, putln
|
||||||
predef memset, memcpy
|
predef memset, memcpy
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef syscall, call, getc, putc, puts, putln
|
predef syscall, call, getc, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr
|
predef memset, memcpy, modaddr
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
||||||
@@ -8,7 +8,7 @@ end
|
|||||||
const modkeep = $2000
|
const modkeep = $2000
|
||||||
const modinitkeep = $4000
|
const modinitkeep = $4000
|
||||||
|
|
||||||
byte stdlib = "STDLIB"
|
byte cmdsys = "cmdsys"
|
||||||
|
|
||||||
byte[] initstr
|
byte[] initstr
|
||||||
byte = " ( )\n"
|
byte = " ( )\n"
|
||||||
@@ -251,7 +251,7 @@ when MACHID & $C8
|
|||||||
home = @a3home
|
home = @a3home
|
||||||
gotoxy = @a3gotoxy
|
gotoxy = @a3gotoxy
|
||||||
tone = @a3tone
|
tone = @a3tone
|
||||||
devcons = modaddr(@stdlib).5 // devcons variable from STDLIB
|
devcons = modaddr(@cmdsys).5 // devcons variable from cmdsys
|
||||||
open = @a3open
|
open = @a3open
|
||||||
read = @a3read
|
read = @a3read
|
||||||
close = @a3close
|
close = @a3close
|
||||||
|
@@ -1,15 +1,14 @@
|
|||||||
//
|
//
|
||||||
// Map module
|
// Map module
|
||||||
//
|
//
|
||||||
|
import cmdsys
|
||||||
import STDLIB
|
|
||||||
predef syscall, call, getc, putc, puts, putln
|
predef syscall, call, getc, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr
|
predef memset, memcpy, modaddr
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
||||||
byte MACHID
|
byte MACHID
|
||||||
end
|
end
|
||||||
|
|
||||||
import ROGUEIO
|
import rogueio
|
||||||
const O_READ = 1
|
const O_READ = 1
|
||||||
const O_WRITE = 2
|
const O_WRITE = 2
|
||||||
const O_READ_WRITE = 3
|
const O_READ_WRITE = 3
|
||||||
@@ -173,14 +172,14 @@ export def loadmap(level)
|
|||||||
if not viewmap
|
if not viewmap
|
||||||
viewmap = heapalloc(mapsize)
|
viewmap = heapalloc(mapsize)
|
||||||
fin
|
fin
|
||||||
memset(viewmap, mapsize, $A0A0)
|
memset(viewmap, $A0A0, mapsize)
|
||||||
//
|
//
|
||||||
// Load catacomb map from file
|
// Load catacomb map from file
|
||||||
//
|
//
|
||||||
if not map
|
if not map
|
||||||
map = heapalloc(mapsize)
|
map = heapalloc(mapsize)
|
||||||
fin
|
fin
|
||||||
memset(map, mapsize, $2323) // Solid walls
|
memset(map, $2323, mapsize) // Solid walls
|
||||||
//
|
//
|
||||||
// Set level map and read it
|
// Set level map and read it
|
||||||
//
|
//
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, memset, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy
|
predef memset, memcpy
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
||||||
byte MACHID
|
byte MACHID
|
||||||
end
|
end
|
||||||
|
|
||||||
import ROGUEMAP
|
import roguemap
|
||||||
const xcentr = 20
|
const xcentr = 20
|
||||||
const ycentr = 12
|
const ycentr = 12
|
||||||
const scrnwidth = 40
|
const scrnwidth = 40
|
||||||
@@ -37,12 +37,12 @@ import ROGUEMAP
|
|||||||
predef loadmap, getmaptile, setmaptile, updtmaptile, lighttorches, drawmap, drawvisentity
|
predef loadmap, getmaptile, setmaptile, updtmaptile, lighttorches, drawmap, drawvisentity
|
||||||
end
|
end
|
||||||
|
|
||||||
import ROGUECOMBAT
|
import roguecombat
|
||||||
predef fight
|
predef fight
|
||||||
word entity, entities
|
word entity, entities
|
||||||
end
|
end
|
||||||
|
|
||||||
import ROGUEIO
|
import rogueio
|
||||||
predef puti, toupper
|
predef puti, toupper
|
||||||
word rnd, getkb, home, gotoxy, tone
|
word rnd, getkb, home, gotoxy, tone
|
||||||
end
|
end
|
||||||
@@ -229,7 +229,7 @@ def status
|
|||||||
end
|
end
|
||||||
|
|
||||||
def clearstatus
|
def clearstatus
|
||||||
return memset($07D0, 40, $A0A0)
|
return memset($07D0, $A0A0, 40)
|
||||||
end
|
end
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import STDLIB
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, putc, puts, putln
|
predef syscall, call, memset, getc, putc, puts, putln
|
||||||
byte MACHID
|
byte MACHID
|
||||||
end
|
end
|
||||||
@@ -29,7 +29,7 @@ end
|
|||||||
|
|
||||||
beep
|
beep
|
||||||
//for iter = 1 to 10
|
//for iter = 1 to 10
|
||||||
memset(@flag, sizepl, TRUE)
|
memset(@flag, TRUE, sizepl)
|
||||||
count = 0
|
count = 0
|
||||||
for i = 0 to size
|
for i = 0 to size
|
||||||
if flag[i]
|
if flag[i]
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
//
|
//
|
||||||
// Static IP
|
// Static IP
|
||||||
//
|
//
|
||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease
|
predef heapmark, heapallocalign, heapalloc, heaprelease
|
||||||
byte MACHID
|
byte MACHID
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// Include all imported modules and their data/functions.
|
// Include all imported modules and their data/functions.
|
||||||
//
|
//
|
||||||
include(stdlib.plh)
|
include(cmdsys.plh)
|
||||||
include(testlib.plh)
|
include(testlib.plh)
|
||||||
//
|
//
|
||||||
// Structure definition.
|
// Structure definition.
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// Include all imported modules and their data/functions.
|
// Include all imported modules and their data/functions.
|
||||||
//
|
//
|
||||||
include(stdlib.plh)
|
include(cmdsys.plh)
|
||||||
//
|
//
|
||||||
// Module data.
|
// Module data.
|
||||||
//
|
//
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
import stdlib
|
import cmdsys
|
||||||
predef syscall, call, memset, getc, gets, putc, puts, putln
|
predef syscall, call, getc, gets, putc, puts, putln
|
||||||
predef memset, memcpy, modaddr, modexec
|
predef memset, memcpy, modaddr, modexec
|
||||||
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
predef heapmark, heapallocalign, heapalloc, heaprelease, heapavail
|
||||||
byte MACHID
|
byte MACHID
|
||||||
|
@@ -90,7 +90,7 @@ word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0
|
|||||||
// Editor variables
|
// Editor variables
|
||||||
//
|
//
|
||||||
byte nullstr = ""
|
byte nullstr = ""
|
||||||
byte version = "PLASMA ][ SANDBOX VERSION 00.12"
|
byte version = "PLASMA ][ SANDBOX VERSION 00.80"
|
||||||
byte errorstr = "ERROR: $"
|
byte errorstr = "ERROR: $"
|
||||||
byte okstr = "OK"
|
byte okstr = "OK"
|
||||||
byte outofmem = "OUT OF MEMORY!"
|
byte outofmem = "OUT OF MEMORY!"
|
||||||
@@ -512,7 +512,7 @@ PARAMS: !WORD 0000
|
|||||||
RTS
|
RTS
|
||||||
end
|
end
|
||||||
// SET MEMORY TO VALUE
|
// SET MEMORY TO VALUE
|
||||||
// MEMSET(ADDR, SIZE, VALUE)
|
// MEMSET(ADDR, VALUE, SIZE)
|
||||||
// With optimizations from Peter Ferrie
|
// With optimizations from Peter Ferrie
|
||||||
//
|
//
|
||||||
asm memset
|
asm memset
|
||||||
@@ -520,25 +520,25 @@ asm memset
|
|||||||
STA DSTL
|
STA DSTL
|
||||||
LDA ESTKH+2,X
|
LDA ESTKH+2,X
|
||||||
STA DSTH
|
STA DSTH
|
||||||
LDY ESTKL+1,X
|
LDY ESTKL,X
|
||||||
BEQ +
|
BEQ +
|
||||||
INC ESTKH+1,X
|
INC ESTKH,X
|
||||||
LDY #$00
|
LDY #$00
|
||||||
+ LDA ESTKH+1,X
|
+ LDA ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
SETMLPL CLC
|
SETMLPL CLC
|
||||||
LDA ESTKL,X
|
LDA ESTKL+1,X
|
||||||
SETMLPH STA (DST),Y
|
SETMLPH STA (DST),Y
|
||||||
DEC ESTKL+1,X
|
DEC ESTKL,X
|
||||||
BNE +
|
BNE +
|
||||||
DEC ESTKH+1,X
|
DEC ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
+ INY
|
+ INY
|
||||||
BNE +
|
BNE +
|
||||||
INC DSTH
|
INC DSTH
|
||||||
+ BCS SETMLPL
|
+ BCS SETMLPL
|
||||||
SEC
|
SEC
|
||||||
LDA ESTKH,X
|
LDA ESTKH+1,X
|
||||||
BCS SETMLPH
|
BCS SETMLPH
|
||||||
SETMEX INX
|
SETMEX INX
|
||||||
INX
|
INX
|
||||||
@@ -1099,8 +1099,8 @@ end
|
|||||||
def inittxtbuf
|
def inittxtbuf
|
||||||
word i
|
word i
|
||||||
|
|
||||||
memset(strheapmap, strheapmsz, 0)
|
memset(strheapmap, 0, strheapmsz)
|
||||||
memset(strlinbuf, maxfill * 2, @nullstr)
|
memset(strlinbuf, @nullstr, maxfill * 2)
|
||||||
numlines = 1
|
numlines = 1
|
||||||
cursrow = 0
|
cursrow = 0
|
||||||
curscol = 0
|
curscol = 0
|
||||||
@@ -1269,7 +1269,7 @@ def drawrow(row, ofst, strptr)
|
|||||||
if numchars >= 40
|
if numchars >= 40
|
||||||
numchars = 40
|
numchars = 40
|
||||||
else
|
else
|
||||||
memset(scrnptr + numchars, 40 - numchars, $A0A0)
|
memset(scrnptr + numchars, $A0A0, 40 - numchars)
|
||||||
fin
|
fin
|
||||||
return memcpy(scrnptr, strptr + ofst + 1, numchars)
|
return memcpy(scrnptr, strptr + ofst + 1, numchars)
|
||||||
end
|
end
|
||||||
@@ -1288,7 +1288,7 @@ def drawscrn(toprow, ofst)
|
|||||||
if numchars >= 40
|
if numchars >= 40
|
||||||
numchars = 40
|
numchars = 40
|
||||||
else
|
else
|
||||||
memset(scrnptr + numchars, 40 - numchars, $A0A0)
|
memset(scrnptr + numchars, $A0A0, 40 - numchars)
|
||||||
fin
|
fin
|
||||||
memcpy(scrnptr, strptr + ofst + 1, numchars)
|
memcpy(scrnptr, strptr + ofst + 1, numchars)
|
||||||
next
|
next
|
||||||
@@ -1616,7 +1616,7 @@ def editline(key)
|
|||||||
|
|
||||||
if (editkey(key))
|
if (editkey(key))
|
||||||
flags = flags | changed
|
flags = flags | changed
|
||||||
memset(@editstr, 80, $A0A0)
|
memset(@editstr, $A0A0, 80)
|
||||||
strcpy(@editstr, strlinbuf:[cursrow])
|
strcpy(@editstr, strlinbuf:[cursrow])
|
||||||
undoline = strlinbuf:[cursrow]
|
undoline = strlinbuf:[cursrow]
|
||||||
strlinbuf:[cursrow] = @editstr
|
strlinbuf:[cursrow] = @editstr
|
||||||
@@ -2035,7 +2035,7 @@ def emit_word(wval)
|
|||||||
codeptr = codeptr + 2
|
codeptr = codeptr + 2
|
||||||
end
|
end
|
||||||
def emit_fill(size)
|
def emit_fill(size)
|
||||||
memset(codeptr, size, 0)
|
memset(codeptr, 0, size)
|
||||||
codeptr = codeptr + size
|
codeptr = codeptr + size
|
||||||
end
|
end
|
||||||
def emit_op(op)
|
def emit_op(op)
|
||||||
@@ -4026,7 +4026,7 @@ close(0)
|
|||||||
//
|
//
|
||||||
// Set memory bitmap
|
// Set memory bitmap
|
||||||
//
|
//
|
||||||
memset($BF58, 24, 0)
|
memset($BF58, 0, 24)
|
||||||
^$BF58 = $CF
|
^$BF58 = $CF
|
||||||
^$BF6F = $01
|
^$BF6F = $01
|
||||||
//
|
//
|
||||||
|
@@ -39,7 +39,7 @@ predef loadmod, execmod, lookupstrmod
|
|||||||
//
|
//
|
||||||
// System variables.
|
// System variables.
|
||||||
//
|
//
|
||||||
word version = $0012 // 00.12
|
word version = $0080 // 00.80
|
||||||
word systemflags = 0
|
word systemflags = 0
|
||||||
word heap
|
word heap
|
||||||
word symtbl, lastsym
|
word symtbl, lastsym
|
||||||
@@ -66,7 +66,7 @@ word cmdptr = @hexchar // make it point to a zero
|
|||||||
//
|
//
|
||||||
// Standard Library exported functions.
|
// Standard Library exported functions.
|
||||||
//
|
//
|
||||||
byte stdlibstr[] = "STDLIB"
|
byte syslibstr[] = "CMDSYS"
|
||||||
byte machidstr[] = "MACHID"
|
byte machidstr[] = "MACHID"
|
||||||
byte putcstr[] = "PUTC"
|
byte putcstr[] = "PUTC"
|
||||||
byte putlnstr[] = "PUTLN"
|
byte putlnstr[] = "PUTLN"
|
||||||
@@ -112,7 +112,7 @@ word = @modadrstr, @lookupstrmod
|
|||||||
word = @machidstr, @machid
|
word = @machidstr, @machid
|
||||||
word = @argstr, @cmdptr
|
word = @argstr, @cmdptr
|
||||||
word = 0
|
word = 0
|
||||||
word stdlibsym = @exports
|
word syslibsym = @exports
|
||||||
//
|
//
|
||||||
// CALL CFFA1 API ENTRYPOINT
|
// CALL CFFA1 API ENTRYPOINT
|
||||||
// SYSCALL(CMD)
|
// SYSCALL(CMD)
|
||||||
@@ -178,7 +178,7 @@ asm quit
|
|||||||
end
|
end
|
||||||
//
|
//
|
||||||
// SET MEMORY TO VALUE
|
// SET MEMORY TO VALUE
|
||||||
// MEMSET(ADDR, SIZE, VALUE)
|
// MEMSET(ADDR, VALUE, SIZE)
|
||||||
// With optimizations from Peter Ferrie
|
// With optimizations from Peter Ferrie
|
||||||
//
|
//
|
||||||
asm memset
|
asm memset
|
||||||
@@ -186,25 +186,25 @@ asm memset
|
|||||||
STA DSTL
|
STA DSTL
|
||||||
LDA ESTKH+2,X
|
LDA ESTKH+2,X
|
||||||
STA DSTH
|
STA DSTH
|
||||||
LDY ESTKL+1,X
|
LDY ESTKL,X
|
||||||
BEQ +
|
BEQ +
|
||||||
INC ESTKH+1,X
|
INC ESTKH,X
|
||||||
LDY #$00
|
LDY #$00
|
||||||
+ LDA ESTKH+1,X
|
+ LDA ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
SETMLPL CLC
|
SETMLPL CLC
|
||||||
LDA ESTKL,X
|
LDA ESTKL+1,X
|
||||||
SETMLPH STA (DST),Y
|
SETMLPH STA (DST),Y
|
||||||
DEC ESTKL+1,X
|
DEC ESTKL,X
|
||||||
BNE +
|
BNE +
|
||||||
DEC ESTKH+1,X
|
DEC ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
+ INY
|
+ INY
|
||||||
BNE +
|
BNE +
|
||||||
INC DSTH
|
INC DSTH
|
||||||
+ BCS SETMLPL
|
+ BCS SETMLPL
|
||||||
SEC
|
SEC
|
||||||
LDA ESTKH,X
|
LDA ESTKH+1,X
|
||||||
BCS SETMLPH
|
BCS SETMLPH
|
||||||
SETMEX INX
|
SETMEX INX
|
||||||
INX
|
INX
|
||||||
@@ -990,18 +990,18 @@ heap = *freemem
|
|||||||
symtbl = allocheap($200)
|
symtbl = allocheap($200)
|
||||||
lastsym = symtbl
|
lastsym = symtbl
|
||||||
^lastsym = 0
|
^lastsym = 0
|
||||||
stodci(@stdlibstr, heap)
|
stodci(@syslibstr, heap)
|
||||||
addmod(heap, @version)
|
addmod(heap, @version)
|
||||||
while *stdlibsym
|
while *syslibsym
|
||||||
stodci(stdlibsym=>0, heap)
|
stodci(syslibsym=>0, heap)
|
||||||
addsym(heap, stdlibsym=>2)
|
addsym(heap, syslibsym=>2)
|
||||||
stdlibsym = stdlibsym + 4
|
syslibsym = syslibsym + 4
|
||||||
loop
|
loop
|
||||||
//
|
//
|
||||||
// Try to load autorun.
|
// Try to load autorun.
|
||||||
//
|
//
|
||||||
cmdptr = heap
|
cmdptr = heap
|
||||||
memset(cmdptr, 128, 0)
|
memset(cmdptr, 0, 128)
|
||||||
readfile(@autorun, cmdptr + 1)
|
readfile(@autorun, cmdptr + 1)
|
||||||
while ^(cmdptr + ^cmdptr + 1) >= ' '
|
while ^(cmdptr + ^cmdptr + 1) >= ' '
|
||||||
^cmdptr = ^cmdptr + 1
|
^cmdptr = ^cmdptr + 1
|
||||||
|
@@ -33,7 +33,7 @@ predef loadmod, execmod, lookupstrmod
|
|||||||
//
|
//
|
||||||
// System variable.
|
// System variable.
|
||||||
//
|
//
|
||||||
word version = $0012 // 00.12
|
word version = $0080 // 00.80
|
||||||
word systemflags = 0
|
word systemflags = 0
|
||||||
word heap
|
word heap
|
||||||
word xheap = $0800
|
word xheap = $0800
|
||||||
@@ -43,7 +43,7 @@ byte cmdln = "" // Overlay exported strings table
|
|||||||
//
|
//
|
||||||
// Standard Library exported functions.
|
// Standard Library exported functions.
|
||||||
//
|
//
|
||||||
byte stdlibstr = "STDLIB"
|
byte syslibstr = "CMDSYS"
|
||||||
byte machidstr = "MACHID"
|
byte machidstr = "MACHID"
|
||||||
byte sysstr = "SYSCALL"
|
byte sysstr = "SYSCALL"
|
||||||
byte callstr = "CALL"
|
byte callstr = "CALL"
|
||||||
@@ -91,7 +91,7 @@ word = @modadrstr, @lookupstrmod
|
|||||||
word = @machidstr, MACHID
|
word = @machidstr, MACHID
|
||||||
word = @argstr, @cmdln
|
word = @argstr, @cmdln
|
||||||
word = 0
|
word = 0
|
||||||
word stdlibsym = @exports
|
word syslibsym = @exports
|
||||||
//
|
//
|
||||||
// String pool.
|
// String pool.
|
||||||
//
|
//
|
||||||
@@ -192,7 +192,7 @@ asm reboot
|
|||||||
end
|
end
|
||||||
//
|
//
|
||||||
// SET MEMORY TO VALUE
|
// SET MEMORY TO VALUE
|
||||||
// MEMSET(ADDR, SIZE, VALUE)
|
// MEMSET(ADDR, VALUE, SIZE)
|
||||||
// With optimizations from Peter Ferrie
|
// With optimizations from Peter Ferrie
|
||||||
//
|
//
|
||||||
asm memset
|
asm memset
|
||||||
@@ -200,25 +200,25 @@ asm memset
|
|||||||
STA DSTL
|
STA DSTL
|
||||||
LDA ESTKH+2,X
|
LDA ESTKH+2,X
|
||||||
STA DSTH
|
STA DSTH
|
||||||
LDY ESTKL+1,X
|
LDY ESTKL,X
|
||||||
BEQ +
|
BEQ +
|
||||||
INC ESTKH+1,X
|
INC ESTKH,X
|
||||||
LDY #$00
|
LDY #$00
|
||||||
+ LDA ESTKH+1,X
|
+ LDA ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
SETMLPL CLC
|
SETMLPL CLC
|
||||||
LDA ESTKL,X
|
LDA ESTKL+1,X
|
||||||
SETMLPH STA (DST),Y
|
SETMLPH STA (DST),Y
|
||||||
DEC ESTKL+1,X
|
DEC ESTKL,X
|
||||||
BNE +
|
BNE +
|
||||||
DEC ESTKH+1,X
|
DEC ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
+ INY
|
+ INY
|
||||||
BNE +
|
BNE +
|
||||||
INC DSTH
|
INC DSTH
|
||||||
+ BCS SETMLPL
|
+ BCS SETMLPL
|
||||||
SEC
|
SEC
|
||||||
LDA ESTKH,X
|
LDA ESTKH+1,X
|
||||||
BCS SETMLPH
|
BCS SETMLPH
|
||||||
SETMEX INX
|
SETMEX INX
|
||||||
INX
|
INX
|
||||||
@@ -1217,7 +1217,7 @@ def resetmemfiles
|
|||||||
//
|
//
|
||||||
// Set memory bitmap
|
// Set memory bitmap
|
||||||
//
|
//
|
||||||
memset($BF58, 24, 0)
|
memset($BF58, 0, 24)
|
||||||
^$BF58 = $CF
|
^$BF58 = $CF
|
||||||
^$BF6F = $01
|
^$BF6F = $01
|
||||||
end
|
end
|
||||||
@@ -1273,19 +1273,19 @@ heap = *freemem
|
|||||||
//
|
//
|
||||||
// Init symbol table.
|
// Init symbol table.
|
||||||
//
|
//
|
||||||
stodci(@stdlibstr, heap)
|
stodci(@syslibstr, heap)
|
||||||
addmod(heap, @version)
|
addmod(heap, @version)
|
||||||
while *stdlibsym
|
while *syslibsym
|
||||||
stodci(stdlibsym=>0, heap)
|
stodci(syslibsym=>0, heap)
|
||||||
addsym(heap, stdlibsym=>2)
|
addsym(heap, syslibsym=>2)
|
||||||
stdlibsym = stdlibsym + 4
|
syslibsym = syslibsym + 4
|
||||||
loop
|
loop
|
||||||
//
|
//
|
||||||
// Try to load autorun.
|
// Try to load autorun.
|
||||||
//
|
//
|
||||||
autorun = open(@autorun, iobuffer)
|
autorun = open(@autorun, iobuffer)
|
||||||
if autorun > 0
|
if autorun > 0
|
||||||
cmdln = read(autorun, @stdlibstr, 128)
|
cmdln = read(autorun, @syslibstr, 128)
|
||||||
close(autorun)
|
close(autorun)
|
||||||
else
|
else
|
||||||
//
|
//
|
||||||
|
@@ -874,7 +874,7 @@ void interp(code *ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char *stdlib_exp[] = {
|
char *syslib_exp[] = {
|
||||||
"PUTC",
|
"PUTC",
|
||||||
"PUTS",
|
"PUTS",
|
||||||
"PUTSZ",
|
"PUTSZ",
|
||||||
@@ -902,12 +902,12 @@ int main(int argc, char **argv)
|
|||||||
/*
|
/*
|
||||||
* Add default library.
|
* Add default library.
|
||||||
*/
|
*/
|
||||||
stodci("STDLIB", dci);
|
stodci("CMDSYS", dci);
|
||||||
add_mod(dci, 0xFFFF);
|
add_mod(dci, 0xFFFF);
|
||||||
for (i = 0; stdlib_exp[i]; i++)
|
for (i = 0; syslib_exp[i]; i++)
|
||||||
{
|
{
|
||||||
mem_data[i] = i + 3;
|
mem_data[i] = i + 3;
|
||||||
stodci(stdlib_exp[i], dci);
|
stodci(syslib_exp[i], dci);
|
||||||
add_sym(dci, i);
|
add_sym(dci, i);
|
||||||
}
|
}
|
||||||
if (argc)
|
if (argc)
|
||||||
|
@@ -34,7 +34,7 @@ predef loadmod, execmod, lookupstrmod
|
|||||||
//
|
//
|
||||||
// System variables.
|
// System variables.
|
||||||
//
|
//
|
||||||
word version = $0012 // 00.12
|
word version = $0080 // 00.80
|
||||||
word systemflags = 0
|
word systemflags = 0
|
||||||
byte refcons = 0
|
byte refcons = 0
|
||||||
byte devcons = 0
|
byte devcons = 0
|
||||||
@@ -67,7 +67,7 @@ word cmdptr
|
|||||||
//
|
//
|
||||||
// Standard Library exported functions.
|
// Standard Library exported functions.
|
||||||
//
|
//
|
||||||
byte stdlibstr[] = "STDLIB"
|
byte syslibstr[] = "CMDSYS"
|
||||||
byte machidstr[] = "MACHID"
|
byte machidstr[] = "MACHID"
|
||||||
byte sysstr[] = "SYSCALL"
|
byte sysstr[] = "SYSCALL"
|
||||||
byte callstr[] = "CALL"
|
byte callstr[] = "CALL"
|
||||||
@@ -114,7 +114,7 @@ word = @modadrstr, @lookupstrmod
|
|||||||
word = @machidstr, @machid
|
word = @machidstr, @machid
|
||||||
word = @argstr, @cmdptr
|
word = @argstr, @cmdptr
|
||||||
word = 0
|
word = 0
|
||||||
word stdlibsym = @exports
|
word syslibsym = @exports
|
||||||
//
|
//
|
||||||
// CALL SOS
|
// CALL SOS
|
||||||
// SYSCALL(CMD, PARAMS)
|
// SYSCALL(CMD, PARAMS)
|
||||||
@@ -179,7 +179,7 @@ JMPTMP JMP (TMP)
|
|||||||
end
|
end
|
||||||
//
|
//
|
||||||
// SET MEMORY TO VALUE
|
// SET MEMORY TO VALUE
|
||||||
// MEMSET(ADDR, SIZE, VALUE)
|
// MEMSET(ADDR, VALUE, SIZE)
|
||||||
// With optimizations from Peter Ferrie
|
// With optimizations from Peter Ferrie
|
||||||
//
|
//
|
||||||
asm memset
|
asm memset
|
||||||
@@ -187,25 +187,25 @@ asm memset
|
|||||||
STA DSTL
|
STA DSTL
|
||||||
LDA ESTKH+2,X
|
LDA ESTKH+2,X
|
||||||
STA DSTH
|
STA DSTH
|
||||||
LDY ESTKL+1,X
|
LDY ESTKL,X
|
||||||
BEQ +
|
BEQ +
|
||||||
INC ESTKH+1,X
|
INC ESTKH,X
|
||||||
LDY #$00
|
LDY #$00
|
||||||
+ LDA ESTKH+1,X
|
+ LDA ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
SETMLPL CLC
|
SETMLPL CLC
|
||||||
LDA ESTKL,X
|
LDA ESTKL+1,X
|
||||||
SETMLPH STA (DST),Y
|
SETMLPH STA (DST),Y
|
||||||
DEC ESTKL+1,X
|
DEC ESTKL,X
|
||||||
BNE +
|
BNE +
|
||||||
DEC ESTKH+1,X
|
DEC ESTKH,X
|
||||||
BEQ SETMEX
|
BEQ SETMEX
|
||||||
+ INY
|
+ INY
|
||||||
BNE +
|
BNE +
|
||||||
INC DSTH
|
INC DSTH
|
||||||
+ BCS SETMLPL
|
+ BCS SETMLPL
|
||||||
SEC
|
SEC
|
||||||
LDA ESTKH,X
|
LDA ESTKH+1,X
|
||||||
BCS SETMLPH
|
BCS SETMLPH
|
||||||
SETMEX INX
|
SETMEX INX
|
||||||
INX
|
INX
|
||||||
@@ -1274,12 +1274,12 @@ init_cons
|
|||||||
seg_find($00, @symtbl, @lastsym, $08, $11)
|
seg_find($00, @symtbl, @lastsym, $08, $11)
|
||||||
lastsym = symtbl & $FF00
|
lastsym = symtbl & $FF00
|
||||||
xpokeb(symtbl.0, lastsym, 0)
|
xpokeb(symtbl.0, lastsym, 0)
|
||||||
stodci(@stdlibstr, heap)
|
stodci(@syslibstr, heap)
|
||||||
addmod(heap, @version)
|
addmod(heap, @version)
|
||||||
while *stdlibsym
|
while *syslibsym
|
||||||
stodci(stdlibsym=>0, heap)
|
stodci(syslibsym=>0, heap)
|
||||||
addsym(heap, stdlibsym=>2)
|
addsym(heap, syslibsym=>2)
|
||||||
stdlibsym = stdlibsym + 4
|
syslibsym = syslibsym + 4
|
||||||
loop
|
loop
|
||||||
//
|
//
|
||||||
// Try to load autorun.
|
// Try to load autorun.
|
||||||
|
Reference in New Issue
Block a user