continue fixing inputs
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
%SETSCRVEC { .Control/framevec DEO2 }
|
%SETSCRVEC { .Control/framevec DEO2 }
|
||||||
%INKEY { .Control/io DEI2 }
|
%INKEY { .Control/io DEI2 }
|
||||||
%PXL { .Control/io DEO2 }
|
%PXL { .Control/io DEO2 }
|
||||||
|
%PXLk { .Control/io DEO2k }
|
||||||
%RND { .Control/random DEI }
|
%RND { .Control/random DEI }
|
||||||
%STACKTRACE { #ff .Control/random DEO }
|
%STACKTRACE { #ff .Control/random DEO }
|
||||||
%DEVSTAT { .Control/status DEI }
|
%DEVSTAT { .Control/status DEI }
|
||||||
@@ -16,8 +17,11 @@
|
|||||||
( some syscall macros )
|
( some syscall macros )
|
||||||
|
|
||||||
%HLT { #1f SYS }
|
%HLT { #1f SYS }
|
||||||
|
( val -- )
|
||||||
%DBG { #20 SYS SYS }
|
%DBG { #20 SYS SYS }
|
||||||
|
( val -- val )
|
||||||
%DBGBYTE { DUP DBG }
|
%DBGBYTE { DUP DBG }
|
||||||
|
( val* -- val* )
|
||||||
%DBGSHORT { DUP2 SWP DBG DBG }
|
%DBGSHORT { DUP2 SWP DBG DBG }
|
||||||
|
|
||||||
( input helper macros )
|
( input helper macros )
|
||||||
@@ -41,7 +45,7 @@
|
|||||||
|
|
||||||
( jump to label or subroutine if a particular key is pressed )
|
( jump to label or subroutine if a particular key is pressed )
|
||||||
( label* keymask* -- )
|
( label* keymask* -- )
|
||||||
%JMPKEY { INKEY AND2 SWP2 JCN2 }
|
%JMPKEY { INKEY AND2 ORA DBGBYTE ROT ROT JCN2 }
|
||||||
%JSRKEY { INKEY AND2 SWP2 JSR2 }
|
%JSRKEY { INKEY AND2 SWP2 JSR2 }
|
||||||
|
|
||||||
( misc macros )
|
( misc macros )
|
||||||
@@ -49,3 +53,6 @@
|
|||||||
( byte to short )
|
( byte to short )
|
||||||
%BTS { #00 SWP }
|
%BTS { #00 SWP }
|
||||||
|
|
||||||
|
( decrement )
|
||||||
|
%DEC { #01 SUB }
|
||||||
|
|
||||||
|
|||||||
+9
-3
@@ -9,12 +9,18 @@
|
|||||||
BRK
|
BRK
|
||||||
|
|
||||||
@on-frame
|
@on-frame
|
||||||
DUP2 PXL
|
PXLk
|
||||||
,&adv KP-A JMPKEY
|
;&adv KP-A JMPKEY
|
||||||
|
;&back KP-B JMPKEY
|
||||||
BRK
|
BRK
|
||||||
&adv
|
&adv
|
||||||
|
#fa DBG
|
||||||
INC
|
INC
|
||||||
BRK
|
BRK
|
||||||
|
&back
|
||||||
|
#fb DBG
|
||||||
|
DEC
|
||||||
|
BRK
|
||||||
|
|
||||||
@putc
|
@putc
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -120,7 +120,7 @@ function ESOPExtensions() {
|
|||||||
var k = e.key
|
var k = e.key
|
||||||
if(k in livemap) {
|
if(k in livemap) {
|
||||||
var keyval = livemap[k],
|
var keyval = livemap[k],
|
||||||
portnum = keyval>7 ? 3 : 2,
|
portnum = keyval>7 ? 2 : 3,
|
||||||
bitmask = (~(1<<(keyval&7)))&255
|
bitmask = (~(1<<(keyval&7)))&255
|
||||||
vm.setdev(portnum, vm.getdev(portnum) & bitmask)
|
vm.setdev(portnum, vm.getdev(portnum) & bitmask)
|
||||||
}
|
}
|
||||||
@@ -175,7 +175,7 @@ function ESOPExtensions() {
|
|||||||
function runSyscall(vm, buf) {
|
function runSyscall(vm, buf) {
|
||||||
var call = buf[0]
|
var call = buf[0]
|
||||||
if(call === 0x00) //simulate writing a byte to the debug port
|
if(call === 0x00) //simulate writing a byte to the debug port
|
||||||
console.log(('[DBG] 00' + buf[1].toString(16)).slice(-2))
|
console.log('[DBG] ' + ('00' + buf[1].toString(16)).slice(-2))
|
||||||
else if(call === 0x06) { //read datetime info into 5 bytes starting from addr
|
else if(call === 0x06) { //read datetime info into 5 bytes starting from addr
|
||||||
//not very optimal but a future-proof approach for now
|
//not very optimal but a future-proof approach for now
|
||||||
var tm = ('00' + (0|(Date.now()/1000)).toString(16)).slice(-10).match(/.{2}/g).map(function(x){return parseInt(x, 16)}),
|
var tm = ('00' + (0|(Date.now()/1000)).toString(16)).slice(-10).match(/.{2}/g).map(function(x){return parseInt(x, 16)}),
|
||||||
|
|||||||
Reference in New Issue
Block a user