userid_44 Posted October 18, 2019 Share Posted October 18, 2019 Hi, I've been trying to run this game called Morloc's Tower (v2.0) that I downloaded from willus.com/trs80 (it's file # 125814). When I run the program, I get this message: "You can't run unless you protect memory." I tried changing memory when I boot in (using trs80gp emulator), and that makes the error go away, but it still throws some other error about breaking at certain line #. Any help with getting this game running, please? I can run the other versions of Morloc's Tower on that page just fine. Just v2.0 is being a pain. (obviously, as you can tell I'm completely new to the world of TRS-80) Thanks for any assistance. [just an fyi: I asked this question in another trs-80 forum, but haven't had a response yet. So I'm trying my luck here] Quote Link to comment Share on other sites More sharing options...
userid_44 Posted October 18, 2019 Author Share Posted October 18, 2019 (edited) Just a follow-up to this issue. I received help from gp2000 (at the TRS-80 discord server). He sent me a dmk disk with the fixed version of MORLOC.BAS. You can download it here: https://gofile.io/?c=VProRD His modifications to the program: Quote I changed line 16 to have KA=-20480 instead of KA=&H0B000 His reasoning for that: Quote The earlier version in the willus.com list still seems to POKE stuff in high memory for some reason. You can get away with doing that but the proper thing to do is ensure BASIC doesn't conflict. So my guess is that the other version added the check to ensure there wasn't a problem. Still doesn't explain everything, though. ... KA is a memory address. &HB000 means the address in hexadecimal which is 45056 in decimal. However, BASIC requires addressing memory from 32768 to 65535 using the negative numbers -32768 .. -1. In that scheme -20480 is equivalent to &B000. To get it running (in case you're using trs80gp as the emulator): trs80gp -m3 morlock2.dmk 01/01/80 BASIC <enter> 45000 RUN"MORLOC Thanks again, gp2000! Edited October 19, 2019 by userid_44 Quote Link to comment Share on other sites More sharing options...
userid_44 Posted October 19, 2019 Author Share Posted October 19, 2019 (edited) Some further debugging from gp2000: Quote I reduced the mystery of the Morloc fix. It turns out that simply changing KA=&H0B000 to KA=&HB000 is sufficient. It appears that having 5 digits in a hexadecimal constant generates an overflow error even if the actual value does not overflow. For example, ?&H0000 works but use 5 zeros like so: ?&H00000 and you get an overflow error. I attribute this to a shortcoming in BASIC's parsing of hexadecimal numbers. I'd file a bug report but it would be 40 years too late. Edited October 19, 2019 by userid_44 Quote Link to comment Share on other sites More sharing options...
willus Posted June 12, 2020 Share Posted June 12, 2020 (edited) A fixed version of Morloc v2.0, per gp2000's edits, is now available to be run in the javascript emulator at willus.com/trs80/?q=morloc.dmk. Edited June 12, 2020 by willus Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.