DerTrueForce wrote:
If you're on linux, srec_cat can turn transfer between any number of formats, including srec and binary.
Ah, this helped.
Turns out, I write Intel hex, not S Records. Doh! No matter, that utility helped.
Ok, I managed to get it to work.
Attached is a zip file with the FIG source I used, tweaked to work with py65. It also includes the assembler listing (with addresses and such), as well as the binary. I could not figure out how to check for a key to be hit (vs read), so ?TERMINAL likely does not work.
But, you can define words, and VLIST works. It expects DEL for back space, and ^M ($0D) for end of line. This is what worked on my mac shell, I hope that works for you.
But at a minimum, here you have one that works (with "works" meaning I typed 3 lines in to the prompt, and they worked). So, if nothing else, maybe you can contrast what you have to what I have.
Example session:
Code:
$ py65mon
Py65 Monitor
PC AC XR YR SP NV-BDIZC
6502: 0000 00 00 00 ff 00110000
.load /tmp/forth.bin
Wrote +7063 bytes from $0000 to $1b96
PC AC XR YR SP NV-BDIZC
6502: 0000 00 00 00 ff 00110000
.g 0200
fig-FORTH 1.0
10 10 + OK
. 20 OK
: hello ." Hello!" CR ; OK
hello Hello!
OK
vlist
HELLO MON J* .S VLIST TRIAD INDEX LIST ? . .R
D. D.R #S # SIGN #> <# SPACES WHILE ELSE IF
REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF
BEGIN BACK FORGET ' R/W -BCD -DISC --> LOAD MESSAGE
.LINE (LINE) BLOCK BUFFER DR1 DR0 EMPTY-BUFFERS FLUSH
UPDATE +BUF PREV USE M/MOD */ */MOD MOD / /MOD
* M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT
QUIT ( DEFINITIONS FORTH VOCABULARY IMMEDIATE INTERPRET
?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR
(ABORT) -FIND NUMBER (NUMBER) UPPER WORD PAD HOLD
BLANKS ERASE FILL QUERY EXPECT ." (.") -TRAILING
TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX
SMUDGE ] [ COMPILE ?LOADING ?CSP ?PAIRS ?EXEC ?COMP
?ERROR !CSP PFA NFA CFA LFA LATEST TRAVERSE -DUP
SPACE ROT > < U< = - C, , ALLOT HERE 2+ 1+
TRFLAG HLD R# CSP FLD DPL BASE STATE CURRENT CONTEXT
OFFSET SCR OUT IN BLK VOC-LINK DP FENCE WARNING
WIDTH TIB +ORIGIN B/SCR B/BUF LIMIT FIRST C/L BL
3 2 1 0 USER VARIABLE CONSTANT ; : C! ! C@
@ T +! DUP SWAP DROP OVER DMINUS MINUS D+ +
0< 0= R R> >R LEAVE ;S RP! SP! SP@ XOR OR
AND U/ U* CMOVE CR ?TERMINAL KEY EMIT ENCLOSE (FIND)
DIGIT I (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE
CLIT LIT OK
Interrupt
PC AC XR YR SP NV-BDIZC
6502: 0310 00 9c 00 f5 00110010
.^D
$