Jump to content
IGNORED

Some assistance in running this game (in protected memory), please ?


userid_44

Recommended Posts

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]

Link to comment
Share on other sites

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 by userid_44
Link to comment
Share on other sites

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 by userid_44
Link to comment
Share on other sites

  • 7 months later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...