Jump to content
IGNORED

Mark Reid's Getaway! design documents and APX correspondence


Savetz

Recommended Posts

Newly available — an incredible trove of material from Mark Reid, creator of the award-winning computer game Getaway!, which was published by Atari Program Exchange in 1982. An interview with Mark was published in episode 19 of the Player/Missile podcast.

 

it's at https://archive.org/details/MarkReidGetawayArchives

 

ALL kudos for this project go to Mark Reid — for saving this information in the first place, then sharing it with the Atari community — and to Rob McMullen (@playermissile here on AtariAge; @atari8bitgames on twitter) for cultivating the relationship with Mark.

 

Mark wrote the following in an email to Rob and me:

"The first section is my written notes when developing Getaway from initial ideas to programming to debugging. I don’t think this is all my notes, but I I kept a lot of them. I didn’t include a printout of the program listing because it is very long and I’m not sure the printout I have is even the final version. Hopefully you can recover it from the disks I’ll send. It is interesting to me to see how the concept evolved and some of the things that I changed or didn’t include, but also how much stayed intact. The first draft of the playfield I did on graph paper (which wouldn’t quite fit on my scanner) is not too different from the final one as far as the roads are concerned. The dead end was one thing I added after play testing. The scenery details however were very sketchy until I wrote a playfield editor to work it out on-screen.
The second section is correspondence from APX related to the first three programs I submitted and then later about Getaway! This section also includes letters about the quarterly prizes. That first acceptance letter was incredibly exciting; they all were! The rejection letter was for Munchies, a Pac Man clone, which deserved to be rejected.
The third section is about debugging and compatibility issues. Rob, you asked during our interview about the product improvement and debugging process with APX which I recalled was mostly by phone, but I did find a few documents related to that. One letter I sent to APX also included the list of Atari products I wanted to get with the $1000 dollar merchandise prize that Downhill won in a quarterly contest. You can see that the first thing on my list was a disk drive. Hallelujah! No more listening to the sound of the cassette tape machine for hours on end!
The fourth section contains the (mostly) quarterly “state of the APX” letters from marketing. The progression of APX can be traced in these letters and in hindsight the final one hinted at the beginning of decline, but certainly didn’t foreshadow the sudden demise to come. I’ve included the 1983 Christmas card from APX. Those folks had no clue they’d be out of a job in six months.
The fifth section marks the acme for Getaway! at the Atari Star Awards in January 1984. My favorite section of course.
The last section covers things from after APX folded. There is a letter from Antic when they started their software catalog and wanted to include some previous APX titles. I wanted them to sell Getaway!, but was concerned with agreeing because I had signed the exclusive agreement with Atari (see Getaway Submission PDF.) The letter has my hand written notes on it about what I needed to do. Then there are letters I wrote to Atari’s legal department which went unanswered. In hindsight I shouldn’t have worried and just gone ahead and agreed to let Antic sell it. There is also a letter from Paul Cubbage that I had forgotten about. Some of the previous APX employees started up a new company, Main Street Publishing, to pick up where APX left off. I don’t think anything ever really came of it though.
I’ve also included a photo taken in the APX parking lot with Paul Cubbage (then director of APX) in September 1982. As I mentioned in the interview our family took a vaction to California and drove up the coast from LA to Petaluma where my relatives lived. We made many wonderful stops along the way, but for me the highlight was talking my folks into finding APX headquarters. This was after Solitaire and Downhill were already in the APX catalog, but before I had submitted Getaway! I had a copy of the Getaway! program listing in my suitcase so I could work on it in my spare time, but I don’t recall doing much of that. I got to meet the whole staff because they happened to be in a staff meeting at the time and everyone there was so nice to me and gave me a tour of the facilities. I remember mentioning the new program I was working on, but they didn’t seem too enthused about the concept. Paul Cubbage was a genuinely nice guy. My dad worked for Eastman Kodak and I remember Paul saying what a great company it was and how he hoped Atari could be like them and last as long as they had. Well, Kodak sure lasted longer than Atari, but they ultimately had their reckoning too (after my Dad retired.)
I hope you guys enjoy browsing this material half as much as I did. I really appreciate your interest. It brings fond memories to an old guy (just turned 60) and makes me feel young again. ... Best regards and have a great 2017!"
A couple of low-res images are attached to whet your appetite.
post-803-0-84221100-1484268966_thumb.png
post-803-0-60345500-1484268979_thumb.png
post-803-0-96208600-1484268989_thumb.png
  • Like 16
Link to comment
Share on other sites

Thanks for sharing. I read all section and enjoyed reading it. It brought back good memories of old times past, when I ,as a teen made some programs on the Atari in BASIC and Assembly language (80s and early 90s). I filled lots of paper sheets with my code and ideas. When I did not have a printer, i had to write everything down on paper. Just as a sort of back-up.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
How about the source code and map development tools for Getaway?
How about Mark Reid's unreleased, possibly unfinished but playable, assembly language Solitaire game?
How about Escape!, the Spanish version of Getaway?
How about a bunch of Mark's little BASIC games and utilities?
How about Mark put this all in the public domain for us?
Atari computer software and source code created by Mark Reid, posted with his permission. Mark graciously put all of this data in the public domain.
This collection includes .ATR format disk images which are compatible with your favorite Atari computer emulator.
These disk images include:
- Source code and object code for Mark's award-winning game Getaway!
- Mark's development tools for creating and printing Getaway maps
- Escape!, a Spanish version of Getaway. Includes source code. Unclear if this was ever released.
- Solitaire 3, an unreleased, assembly language version of the game ("I was working on a new version of Solitaire in assembly language with animated graphics of the cards, but I don't think it was ever finished.")
- BASIC programs created by Mark, including Solitaire (which was released by Atari Program Exchange), and some games and utilities that were never released.
Kevin Savetz digitized Mark Reid's disks on January 21 and 22, 2017. It took three disk drives (a Kyroflux connected to a Mac, and two 1050s connected to an Atari 800XL) to read it all but the vast majority of the data came through.
Couldn't read:
M13 - Getaway Bootmaker - sector 705
M17 - Escape Assembling - sector 712

M18 - Escape Bootmaker - sectors 153, 458, 489, 502

post-803-0-09367400-1485203973_thumb.png
post-803-0-96405700-1485203966_thumb.png
post-803-0-77773400-1485203959_thumb.png
Finally, how about you give Mark and Rob (http://twitter.com/atari8bitgames) huuuuge thanks for making this possible.
  • Like 10
Link to comment
Share on other sites

Three obvious project ideas:

- figure out how to make new Getaway maps using Mark's tools and integrate them into the game

(hint: I noticed that the mapmaker tool requires 2 joysticks)

- figure out what is unfinished about the asm Solitaire 3 game, and finish it

- add features and new thrills to Getaway

Edited by Savetz
  • Like 6
Link to comment
Share on other sites

I've managed to get the sources to Getaway to build! :) The sources are apparently not the final version that was distributed; to get a precise match with the released binary I had to mix code from disks M11 and M14, as well as make some small changes based on the binaries. The binaries I based myself on were a pirated executable version that circulated in the early 80's, as well as the image 'M25 - Getaway 1.1' from this archive. They are nearly identical; the only difference between them is that the disk image loads data at $1000 so it would fit in a 32K machine, but an executable can't load to that address without overwriting critical DOS code; so the executable version loads at $2b00 then adds some code that copies everything to the right place before jumping to the start location.

 

The archive that builds to a file identical to the pirated executable is named "Getaway_20170128_pirate_executable.zip".

 

Once I got that working, I got rid of all the garbage that was needed for creating the 100% identical binary. With code locations taken from the M11 version the game now won't fit in 32K but the relocation nonsense is not needed anymore, making things a lot simpler. Also, some garbage data that was present in the original binaries (the boot sector, plus the padding between the game code and the playfield data) could be removed.

 

The result of this cleanup is named "Getaway_20170129.zip".

 

Both archives behave the same: Extract them wherever you like. On a Windows machine, download the ATasm assembler and copy its binary (atasm.exe) to the 'build' subdirectory and double click the file build.bat. The result will be generated in 'bin'. Non Windows users should build ATasm for their platform, and use the build command in the build.bat file.

 

Enjoy!

Getaway_20170128_pirate_executable.zip

Getaway_20170129.zip

Edited by itaych
  • Like 7
Link to comment
Share on other sites

Woops, there's a bug in my "clean" version (Getaway_20170129). The source contains a routine RNSPOT that picks an empty spot on the map on which to place a prize, roadblock etc. This routine is hard-coded to suit a fixed playfield address, regardless of the value of PLYFLD. It will only work correctly for PLYFLD=$3000, which is the case in the "pirate_executable" only. In the cleaned up version it's moved to $4000.

There are two ways to fix this:

Method one is to remove these two lines just under the RNSPOT label:

SEC
SBC #$10
This is actually what Mark's code in disk M11 (where PLYFLD=$4000) looks like. It will work, but personally I don't like it as it will still break if PLYFLD is moved again.
Method two is a patch. Replace this code:
RNSPOT LDA RANDOM ;pick spot
AND #~00111111
ORA #~01000000
SEC
SBC #$10
STA TEMP+1
with this:
RNSPOT LDA RANDOM ; pick spot
AND #~00111111 ; hi offset $00-3F
CLC
ADC #>PLYFLD ; add base of map address
STA TEMP+1

 

...and that should work for any PLYFLD location.

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

How about the method number 2 patch and a re-post or just replace the files posted... I am too out of it to muck about assembling/building anything today.... hey where's that ICE-T you've been brewing... I think someone got distracted or diverted :)

Edited by _The Doctor__
Link to comment
Share on other sites

Getaway was one of my favorite games back in the day - I spent hours traversing the city trying to get all the treasure icons. A Map editor would be great - you know Im in for that :)

 

 

There's really two map editors now: you can figure out how to use Reid's original one in BASIC (there's no documentation, but he managed to create Getaway) with it. Also, there's a Getaway map editor in Omnivore, which works on Mac/Windows/Linux. Wade used that for this: http://atariage.com/forums/topic/248591-new-maps-for-getaway/

 

Kevin

  • Like 2
Link to comment
Share on other sites

This one won't crash if a cop or van hits a dead end, allowing more flexibility in level design. Enjoy :)

 

Great! We didn't realize what was causing the crash for a while as Wade was designing his new map. And I'll have to update the map editor in Omnivore to allow changing the hideout if it detects your new version. Is there somewhere you can put some signature bytes that won't change with any future releases you make? Or I could check for the bytes that you changed for, say, the dead-end bug because I bet that's not likely to change.

 

Another interesting bug that Wade found: it crashes if people are too close to the road. He discovered you needed spacing:

 

 

People placement guidelines that work:

Must be placed at least 2 X positions from a road surface, in other words two spaces between person and road.
Must be placed at least 1 Y position from a road surface, in other words one space between person and road.
Link to comment
Share on other sites

Is there somewhere you can put some signature bytes that won't change with any future releases you make?

Or I could check for the bytes that you changed for, say, the dead-end bug because I bet that's not likely to change.

 

I think you're missing the point of what I'm doing here. I'm not releasing new binary versions of the game, why would I do that? These releases play exactly like the original. The idea is that you take my updated source code, replace the file getaway.plf with your own map, build, and release the xex file. Things like checking signature bytes are hacks intended for cases where the source is not available, that's no longer the case here. Also you'd need to change a couple of equates in the source code to move the hideout, there is no code that scans for the "H". (I added these equates, before them the hideout location was, well, hidden - in various "magic numbers".)

 

Another interesting bug that Wade found: it crashes if people are too close to the road. He discovered you needed spacing:

The characters used for people happen to be part of the set of characters that the cars are allowed to drive on. This is because the game allows driving on any character in the range $7x, which includes the blank road (1 char), the gas station, hideout, dollars, prizes, stoplights and roadblocks (2 chars each). However this leaves 3 additional unrelated characters, which happen to be the graphics for people. The hang (an endless loop, not a crash) occurred because, since that character is interpreted as a road, you created an invisible dead end when placing these characters adjacent to a real road.

 

The solution is to change the code to allow driving only on the correct characters. It's a little uglier and takes a few more cycles, but the game isn't exactly starved for CPU time. The fix is attached.

Getaway_20170204_itayc.zip

Edited by itaych
  • Like 2
Link to comment
Share on other sites

I think you're missing the point of what I'm doing here.

 

Indeed I was. Since you're so invested, how about doing the community a favor and put the original source up on github and add a commit for each change you described above? Mark gave us permission to place the code in the public domain, and I don't have time to be the maintainer. It would be a shame if your changes got lost after this initial excitement because they become buried 15 posts deep in an old forum post.

 

Nice job, BTW. I appreciate the time you've taken to fix these bugs.

Link to comment
Share on other sites

  • 9 months later...

and of course I'm gonna say what a nice job you're doing (as usual), and then quickly look sideways and whisper 'ICE T' in your ear :) and subliminally have items with that scrolled on them placed about your domicile, routes to the store, work, restaurants, maybe even have the screen running in online videos. Make it the suggested beverage wherever you go.. would you like a long island 'ICE T' with that, how would you like your 'ICE T' sweetened or unsweetened....

 

Still anticipating that release you were dabbling with

 

back to the getaway ! :)

Edited by _The Doctor__
Link to comment
Share on other sites

copying them across the network as we speak.... looks promising, I never give my full seal of approval until it hits a real machine... as that happens I'm going to take the time to get myself a nice cool refreshing ICE T!

Edited by _The Doctor__
Link to comment
Share on other sites

You must have written that before you tried playing these versions... :)

 

Errm well,

 

tried loading them a) with direct XEX load under Atari 800 Win (PAL, 1088k RAM, XL-OS, Altirra Palette, 100% speed, H-patch off, SIO-patch off, Basic off) and they did not load, b) put them on an ATR image with a bootloader and the emulator stated "The Atari has crashed..." when loading was finished.

 

Next test was done under Altirra 2.90 and they seem to work, really strange. Testing on the real A8 tomorrow...

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

tried loading them with direct XEX load under Atari 800 Win

You're right, I'd only tested under Altirra so I thought I was fine, but in other emulators (probably real hw too) the game will fail to boot in all the versions I've posted here except the first (the "pirated executable"). The fix is to remove the RTS at the end of the function STEAL (which steals the reset vector) and also write the reset address to DOSINI. Attached are fixed versions of my two pet abominations.

getaway_ruined.xex

getaway_diamonds_are_forever.xex

Edited by itaych
  • Like 2
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...