FORTH for the SHARP PC-E500 (S)
|
09-16-2021, 05:06 PM
Post: #7
|
|||
|
|||
RE: FORTH for the SHARP PC-E500 (S)
(09-16-2021 12:47 PM)Helix Wrote: I've managed to build a serial cable, and I can transfer BASIC programs between my PC and the Sharp PC-E500S, so it works Congrats on the cable! I'll work on one when I get back. Your first URL http://www.andrewwoods3d.com/pce500 has HeavyMetalMini (an arcade game). The 12K game is loaded via serial with the following HMMLOAD.BAS bootloader (I've removed some irrelevant parts): 2 REM "HMMLOAD.BAS"22/5/91 3 REM HEAVY METAL MINI LOADER 4 REM &HBB000 - &HBE118 5 REM ALLOCATE RAM WITH: "POKE&BFE03,&1A,&FD,&B,0,&4C,0:CALL&FFFD8" 6 REM TO START: "CALL&BB000" ... 20 *P:OPEN "1200"AS #1:A=&BB000 21 A$="":INPUT #1,A$:PRINT HEX$ A;":";A$:A$=MID$ (A$,7,23) 22 B$=LEFT$ (A$,2): IF LEN B$<2 GOTO 21 23 POKE A,VAL ("&"+B$) :A=A+1 24 A$=MID$ (A$,4,254):GOTO 22 The only difference is that Forth500 unexpanded starts at &B9000 and expanded starts at &B0000. RAM should be reserved with the POKE+CALL as suggested by the REM comments (see Forth500 for the specific POKE). This loader assumes that the uuencoded binary HMMHEX.TXT is sent over serial, see http://www.andrewwoods3d.com/pce500/hmm-uue.html It looks like the bootloader just quits when serial closes? That's not 100% safe, but should work I suppose. There is also no CLOSE#1. Close first before rerunning. If you have a 32K RAM card or expanded E500 then saving Forth500 as a RAM file can be handy in case the Forth dictionary gets damaged and you need to reload Forth500 with LOADM. I added more checks to prevent dictionary and stack overflows, but that does not make Forth500 entirely safe against mistakes (like most Forth's). For example, the wrong ! (store) address can damage the dictionary and code base. Hope this helps. - Rob "I count on old friends" -- HP 71B,Prime|Ti VOY200,Nspire CXII CAS|Casio fx-CG50...|Sharp PC-G850,E500,2500,1500,14xx,13xx,12xx... |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)