continue fixing inputs

This commit is contained in:
Luxferre
2022-07-29 12:55:53 +03:00
parent 6cd8c459bb
commit 66e23c966d
3 changed files with 19 additions and 6 deletions
+8 -1
View File
@@ -7,6 +7,7 @@
%SETSCRVEC { .Control/framevec DEO2 }
%INKEY { .Control/io DEI2 }
%PXL { .Control/io DEO2 }
%PXLk { .Control/io DEO2k }
%RND { .Control/random DEI }
%STACKTRACE { #ff .Control/random DEO }
%DEVSTAT { .Control/status DEI }
@@ -16,8 +17,11 @@
( some syscall macros )
%HLT { #1f SYS }
( val -- )
%DBG { #20 SYS SYS }
( val -- val )
%DBGBYTE { DUP DBG }
( val* -- val* )
%DBGSHORT { DUP2 SWP DBG DBG }
( input helper macros )
@@ -41,7 +45,7 @@
( jump to label or subroutine if a particular key is pressed )
( label* keymask* -- )
%JMPKEY { INKEY AND2 SWP2 JCN2 }
%JMPKEY { INKEY AND2 ORA DBGBYTE ROT ROT JCN2 }
%JSRKEY { INKEY AND2 SWP2 JSR2 }
( misc macros )
@@ -49,3 +53,6 @@
( byte to short )
%BTS { #00 SWP }
( decrement )
%DEC { #01 SUB }
+9 -3
View File
@@ -9,12 +9,18 @@
BRK
@on-frame
DUP2 PXL
,&adv KP-A JMPKEY
PXLk
;&adv KP-A JMPKEY
;&back KP-B JMPKEY
BRK
&adv
#fa DBG
INC
BRK
BRK
&back
#fb DBG
DEC
BRK
@putc
+2 -2
View File
@@ -120,7 +120,7 @@ function ESOPExtensions() {
var k = e.key
if(k in livemap) {
var keyval = livemap[k],
portnum = keyval>7 ? 3 : 2,
portnum = keyval>7 ? 2 : 3,
bitmask = (~(1<<(keyval&7)))&255
vm.setdev(portnum, vm.getdev(portnum) & bitmask)
}
@@ -175,7 +175,7 @@ function ESOPExtensions() {
function runSyscall(vm, buf) {
var call = buf[0]
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
//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)}),