Jump to content
IGNORED

Apple II games from Compute Magazine.


bradhig1

Recommended Posts

Compute had its own machine language entry program written in basic. It was published in every issue. Usually near the back of the issue if memory serves me. You need to type that in first, and then you use that to type in the machine language program.

 

As I recall, some ML programs in Compute had a companion basic program as well you also had to type in.

 

Compute also published a basic program to assist in typing in other basic programs that would give you a checksum after entering each line that you could compare to the listing. That should have been published in most issues near the back as well. 

Link to comment
Share on other sites

Here's the magazines:

commodore.bombjack.org/generic/magazines/compute/compute.htm

 

He has a link to some of the disks but it looks like they're all Commodore. I tried searching archive.org, but got an error message. Maybe by the time you read this it will be working again.

Link to comment
Share on other sites

MLX is the machine language entry program from Compute! Looks like it didn't come into play until around issue 61. Did a quick copy and paste and threw it on a disk image - UTILITY.DSK. There are a few typos on the site below and I think I got them all corrected. Also included are a few other handy programs on the disk.

 

Here's a site that discusses MLX:

Apple MLX (atarimagazines.com)

 

The other attached disk image - Key_Perfect_v5.0_1985_Microsparc.do, I believe is the checksum program for Nibble Magazine programs.

Key_Perfect_v5.0_1985_Microsparc.do UTILITY.DSK

Link to comment
Share on other sites

Huh, I didn't start getting Compute magazines till late 85, early 86.  So I didn't realize they published ones where MLX wasn't used.  Unfortunately you can't use MLX with these older programs, as MLX expects 9 bytes to be entered per line.  Where the first 8 are the program, and the 9th is a checksum that MLX uses to make sure you didn't make a typo.  I guess MLX could be modified to only accept 8 bytes and not process the checksum if you wanted to use it instead of the monitor directly.

 

My understanding of how to enter these without MLX is to enter monitor with call -151.  Then type in each line as listed and hit return.  So as an example:

 

0800: a1 a2 a3 a4 a5 a6 a7 a8

0808: b1 b2 b3 b4 b5 b6 b7 b8

etc.

 

Once done, hit Ctrl-C and enter to return to basic.  Then you have to issue a bsave command, which requires a name, starting address, and length. So something like BSAVE SAMPLE.ML,A$0800,L$0016 if I were saving the above.

 

I could be off slightly.  But for the most part this should be the process.

Link to comment
Share on other sites

While in monitor, you can check each line by typing in <address1>.<address2> and hit return.  If you do a range of 8 addresses, it will display them it in a line just like in the magazine.  So in my example above, to check the first line, you would type:

 

0800.0807<return>

 

Then it will print out:

 

0800- A1 A2 A3 A4 A5 A6 A7 A8

 

Then if you just hit return at the * prompt, it will display the next 8 values.  Check those, press return again and it will display the next 8, etc.

 

You can also do a vertical list of 20 values at a time by typing an address followed by L.  So in my example, 8000L<return>.  But that may be harder to check against the magazine rather then just hitting enter to step through each line.  Depends on how you prefer to view the info.

Link to comment
Share on other sites

I can't get it to work.  I have gone over the machine language program again and again and removed most bugs but it says error in machine language when I run the loader program and there are purple lines on the screen and the copter is uncontrollable.  Could someone look at it for me?   It is from Compute issue 53

compute!.dsk

Link to comment
Share on other sites

I usually find that the zero with a slash (0), the 8 and the B are very hard to differentiate in the listings with some fonts and cause 99.9% of the errors.  Doubly worse is that $8B and 88 are very popular instructions and can be used quite a bit throughout a listing.

 

If we help you then you will never know the pain and suffering some of us went through to type these listings in or the joy in getting it working. :0)

 

What is the game called?  It may have already been corrected and working and the listing online.

 

Link to comment
Share on other sites

2 hours ago, Iamgroot said:

If we help you then you will never know the pain and suffering some of us went through to type these listings in or the joy in getting it working. :0)

I agree with @Iamgroot however I think we did have it a tiny bit easier. Don't get me wrong, it was still a nightmare just not as bad as it is today. We had the original magazines which may have been clearer than a scan. Plus I always used a ruler or some other straight-edge to keep focus on what line I was typing in. But the ultimate for me was to have a friend reading the lines and switch back and forth who was typing to make it more fun.

 

In reference to what @bradhig1 is trying to get running, Canyon Runner, I can't find it in the usual archives (only found the Atari and Commodore versions). Since I'm recovering from surgery and I'm bored out of my skull, I did a quick pass through the code and found the following lines that need corrected:

 

BLOAD CANYON.ML

CALL -151

6030: A0 A0 C1 CC D4 A0 A0 A0
6150: 21 65 20 24 66 20 0A 67
62F8: 8D 0E 60 20 28 63 EE 0D
6508: 8D E3 64 CA D0 E3 A9 7F
65F0: F6 A2 00 88 D0 BB E8 E0
66B0: 6D 0B 60 8D 0B 60 AD 0C
6810: A8 28 28 28 28 28 28 28
6888: 3A 3E 22 26 2A 2E 32 36
68D0: 3A 3E 23 27 2B 2F 33 37

3D0G

BSAVE CANYON.ML,A$6000,L$923

 

Unfortunately, I still missed something because it's still throwing up an error. To save yourself some headaches, modify the basic program while you're debugging so it doesn't try to start every time if there is an error.

 

120 IF CK<>265976 THEN PRINT"ERROR IN MACHINE LANGUAGE":END

Link to comment
Share on other sites

Yes, you can use Cider Press to open the disk image and double click on the ML program you want to debug.  It defaults to the //e monitor view, which provides a mostly vertical listing (the same view as in the monitor if you typed something like 6000L<return>).  The data will be listed vertically like this (the number of bytes listed in each row depends on the command of those bytes):

 

A1

A2 A3 A4

A5 A6

A7 A8

B1

B2 B3

 

Or you can choose Hex Dump view, which gives you a horizontal layout with 16 bytes on each line.  That is basically putting two lines together from the way the magazine prints it.

 

From Cider Press, you can copy and paste the data to any other program, or print it our from there as well.

Edited by nick3092
  • Like 1
Link to comment
Share on other sites

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...