Jump to content
IGNORED

Impossible Mission: Successful recompile of source code


krewat

Recommended Posts

Just an update on this, came up with a quick solution, and am going to test it over the Thanksgiving weekend.

 

My daughter googled my name, and came up with this: http://www.gamedev.net/community/forums/topic.asp?topic_id=552830

 

Last paragraph ;)

 

Funny. It's only been about 21 years. Wonder how gamedev.net heard about this? Come on, someone has to 'fess up!

 

Awesome award. :D :thumbsup: :thumbsup:

 

I wasn't the one however.

 

 

Oh and looking forward to hearing the results of your testing.

 

Mitch

Link to comment
Share on other sites

You know what's worse? Only 35 pieces are scattered around.

 

Not 36.

 

God, what a brain fart.

 

This is what the puzzle piece scattering code looks like:

 

;Puzlscat - Scatter puzzle pieces around.

Puzlscat:

Ldx #35 ;35 puzzle pieces to scatter.

Psctlp: Call Randobj ;Get a random prop code.

Txa ;Puzzle piece #

Sta Objtable,Y ;And store #.

Dex

Bne Psctlp ;More to go!

Ret

 

 

If you notice, that loop only does 35 pieces. The Bne at the end of the loop needs to be a Bpl.

 

What sucks is that to make this work, it's easiest to make a table like Atari did, a list of objects with a flag if it's a terminal or not. Rooting through the room description tables, to find whether or not an object is a terminal or not, is pretty funky. There is no direct correlation between objects, and what type they are, until you enter the room.

 

Crap, no easy way to make this "elegant" from a coding standpoint.

 

What really kills me about all of this is... how did it work EVER?

Link to comment
Share on other sites

Here's an odd idea-- from a gameplay perspective, could you consider changing it so that you can search terminals?

Maybe that's a potential workaround.

 

Here's some pseudocode:

 

If (player is in front of terminal) && (up pressed)

{

If (search already complete), run search algorithm

else, search();

}

 

-John

Link to comment
Share on other sites

John, I thought of exactly that. Just enable searching terminals up-front, and then log-in after the search is complete.

 

But, what does that do to the game-play? Robots are setup in certain locations just so they can "screw" with you while searching, or logging into a terminal. Doing a search at a terminal changes that. How much? Dunno.

 

There might be a simpler thing, in terms of static ram storage versus ROM. I don't want to increase the amount of static RAM required, so I wouldn't want to "build" a description of the objects in RAM at game initialization, but would want to make something easy to do from info stored in the ROM.

 

Gotta think a WHOLE lot more about this. I have the C64 MESS emulator running, with Impossible Mission started, just to have a basis to start from. I did have this as a start when doing the 7800 conversion.

Link to comment
Share on other sites

carmel, I used an IBM-XT and later an IBM-AT to do the dev work on the 7800. We were given the Atari 800 dev system by Atari, but that was a long time after I already had a custom boot rom for the 7800, and a download program for the IBM to download through the parallel port in 8-bit parallel (quick!).

 

I also created my own static RAM cards for the 7800.

Link to comment
Share on other sites

  • 3 weeks later...

Some status, or actually, lack thereof.

 

Nothing has been accomplished since my last posts, but with Christmas and the break aftewards, I always get nostalgic and try to drag out a 20 or 30 year old computer and do something with it.

 

Perhaps, this year, I will get IM working right and compiled.

  • Like 4
Link to comment
Share on other sites

Nothing has been accomplished since my last posts, but with Christmas and the break aftewards, I always get nostalgic and try to drag out a 20 or 30 year old computer and do something with it.

 

Heres a mad plan for ya... How about a completely new game for the 7800 instead? With all the new homebrews for the 7800 this year it'd be good to see what an old hand on the system could do.

Link to comment
Share on other sites

Nothing has been accomplished since my last posts, but with Christmas and the break aftewards, I always get nostalgic and try to drag out a 20 or 30 year old computer and do something with it.

 

Heres a mad plan for ya... How about a completely new game for the 7800 instead? With all the new homebrews for the 7800 this year it'd be good to see what an old hand on the system could do.

As much as I'd like to see a new game, I'd really love to see this version of Impossible Mission completed first.

 

I have two questions for the programmer. The first is really a request: would it be possible to make a simple change to the title screen to visually differentiate this final version of Impossible Mission from the original? You could put your name on the screen (I'd say you deserve the honor for revisiting the project after all these years!), or call it "Impossible Mission: Developer's Cut", or anything else you like.

 

A second question: have you considered the possibility of doing a limited cartridge release? I'm sure a lot of collectors would love to have this game on cartridge for play on a real 7800. I would be happy to help with the production, if needed: I recently acquired several hundred brand new 7800 Jinks cartridges, which have the necessary 8K of onboard RAM and can easily be retrofitted with Impossible Mission ROMs.

Link to comment
Share on other sites

Heres a mad plan for ya... How about a completely new game for the 7800 instead? With all the new homebrews for the 7800 this year it'd be good to see what an old hand on the system could do.

 

I have actually been thinking about that as well. California Games comes to mind, since I do actually have source code for what I started doing, but never completed. I've been thinking of other ones as well, my son is 15, an avid "retro gamer", and would love to get his feet wet making a 7800 game. With a helping hand, some code cobbled together from IM or SG/WG, it would be rather easy to do.

 

As much as I'd like to see a new game, I'd really love to see this version of Impossible Mission completed first.

 

I have two questions for the programmer. The first is really a request: would it be possible to make a simple change to the title screen to visually differentiate this final version of Impossible Mission from the original? You could put your name on the screen (I'd say you deserve the honor for revisiting the project after all these years!), or call it "Impossible Mission: Developer's Cut", or anything else you like.

 

A second question: have you considered the possibility of doing a limited cartridge release? I'm sure a lot of collectors would love to have this game on cartridge for play on a real 7800. I would be happy to help with the production, if needed: I recently acquired several hundred brand new 7800 Jinks cartridges, which have the necessary 8K of onboard RAM and can easily be retrofitted with Impossible Mission ROMs.

 

1) Great idea. The version I am testing to fix the puzzle-piece bug already has my name in the opening screen, as well as Brian Richter who did start the initial conversion from C64 code to the 7800. If I recall correctly, I did have to do major work to everything to get it to work, especially with the limited time left after the Maria steals a lot of it, but he did start the project.

 

2) Yes, actually, I have considered that. I want to, and will definitely get "around" to it sooner rather than later. I'm thinking an initial bug fix and testing, the opening screen credits, and it should be good to go. I need an EPROM burner, which I can purchase from eBay for like $30 (a Christmas present from the wife, perhaps) and some EPROMs which I can grab from some boards I have laying around.

Link to comment
Share on other sites

2) Yes, actually, I have considered that. I want to, and will definitely get "around" to it sooner rather than later. I'm thinking an initial bug fix and testing, the opening screen credits, and it should be good to go. I need an EPROM burner, which I can purchase from eBay for like $30 (a Christmas present from the wife, perhaps) and some EPROMs which I can grab from some boards I have laying around.

 

Depending on which EPROM you are looking for it could be somewhat difficult. The 27C100 is slightly easier to use but the 27C010 is a lot easier to find. Shoehorning either of these 32 pin EPROMs into a board designed for a 28 pin ROM is a bit of a pain however.

 

Mitch

Link to comment
Share on other sites

Depending on which EPROM you are looking for it could be somewhat difficult. The 27C100 is slightly easier to use but the 27C010 is a lot easier to find. Shoehorning either of these 32 pin EPROMs into a board designed for a 28 pin ROM is a bit of a pain however.

Yes. This is mostly because there is one capacitor in the way of the larger EPROM, but I've found two ways around this. For my own cartridges, I install a low-profile socket, which lifts the EPROM just enough to clear the capacitor while still fitting into a cartridge shell. Or, for EPROMs that will be soldered in, I move the capacitor to the underside of the board.

 

I guess I should have mentioned earlier that I also have an EPROM programmer and eraser, and a bunch of extra 27C010 EPROMs, so I can handle burning the ROMs as well as making the cartridges. Like I said, anything I can do to help.

Link to comment
Share on other sites

Yes. This is mostly because there is one capacitor in the way of the larger EPROM, but I've found two ways around this. For my own cartridges, I install a low-profile socket, which lifts the EPROM just enough to clear the capacitor while still fitting into a cartridge shell. Or, for EPROMs that will be soldered in, I move the capacitor to the underside of the board.

 

Yes, if you are using a C100339 board you would need to move just the one cap. But since this is a RAM game you need to fudge the 74LS10 to make it work. If you use the C300565 board, then you need to move two resistors and at least one cap (though probably two caps). Definitely doable, just a bit of a pain.

Unfortunately, I don't think any of the new 7800 cart boards support RAM.

 

Mitch

Link to comment
Share on other sites

I have a small hand-full (five, maybe) of boards that I got from Atari that have the cartridge edge - they have a spot for four 27256 EPROMS, a 74LS374 to decode the upper 2 bits, and a place for a 128kbit STATIC ram. I also have a handful (again, about 4 or 5) of 128Kbit static rams. I also do have another 3 or 4 boards that just have four EPROM spots but use a DIP header to connect to something else.

 

Not enough to do a decent run, but enough to prototype the thing.

Link to comment
Share on other sites

Actually, I am totally incorrect. I have a few (four or five) of each type of board, one a 1Mbit ROM/128Kbit RAM board with the cart edge connector, and one a "1 MB ROM EMULATOR" from Atari that holds four 256Kbit ROMs (27256) and a 74LS139. The latter being hand-wired to the former.

Edited by krewat
Link to comment
Share on other sites

Yes, if you are using a C100339 board you would need to move just the one cap. But since this is a RAM game you need to fudge the 74LS10 to make it work. If you use the C300565 board, then you need to move two resistors and at least one cap (though probably two caps). Definitely doable, just a bit of a pain.

Unfortunately, I don't think any of the new 7800 cart boards support RAM.

I was thinking of the '565. It's a bit easier if you're willing to "roll" the resistors away from the EPROM ever so slightly to free up that bit of extra space. Worse comes to worse, I'll just clip them off the board and install new ones on the other side; I've got plenty of 100nF capacitors and zero-ohm/3.3K-ohm resistors.

 

The RAM issue was the very reason I suggested using the old boards (well, that and I have a bunch of them on hand with RAM already).

Link to comment
Share on other sites

Actually, I am totally incorrect. I have a few (four or five) of each type of board, one a 1Mbit ROM/128Kbit RAM board with the cart edge connector, and one a "1 MB ROM EMULATOR" from Atari that holds four 256Kbit ROMs (27256) and a 74LS139. The latter being hand-wired to the former.

 

 

The cart boards that I have are C026423 REV B.

 

So the one look like this?

 

The CO26423 board doesn't sound familiar. It's not this one is it?

 

Mitch

Link to comment
Share on other sites

The cart boards that I have are C026423 REV B.

That's interesting; I'm not familiar with that part number. Your description definitely sounds like a development board of some kind. Dan Boris has a picture of the C300358 (another dev board) on his web site, but your description of the C026423 sounds different.

Link to comment
Share on other sites

I was thinking of the '565. It's a bit easier if you're willing to "roll" the resistors away from the EPROM ever so slightly to free up that bit of extra space. Worse comes to worse, I'll just clip them off the board and install new ones on the other side; I've got plenty of 100nF capacitors and zero-ohm resistors.

 

The RAM issue was the very reason I suggested using the old boards (well, that and I have a bunch of them on hand with RAM already).

 

Rolling the resistors may work, I haven't attempted it myself. I may try that the next time I need to build one. Were you able to successfully build one?

 

It also depends if Art keeps this an 8KB RAM game or goes back to 16KB of RAM.

 

Mitch

Link to comment
Share on other sites

Actually, I am totally incorrect. I have a few (four or five) of each type of board, one a 1Mbit ROM/128Kbit RAM board with the cart edge connector, and one a "1 MB ROM EMULATOR" from Atari that holds four 256Kbit ROMs (27256) and a 74LS139. The latter being hand-wired to the former.

 

 

The cart boards that I have are C026423 REV B.

 

So the one look like this?

 

The CO26423 board doesn't sound familiar. It's not this one is it?

 

Mitch

 

Did some more digging around and I do have a CO26423 board. It's this one.

 

Mitch

Link to comment
Share on other sites

Rolling the resistors may work, I haven't attempted it myself. I may try that the next time I need to build one. Were you able to successfully build one?

 

It also depends if Art keeps this an 8KB RAM game or goes back to 16KB of RAM.

It was a bit of a tight squeeze, but I got it to work; I've actually built several this way. Some EPROM brands seem to be slightly longer than others (the TI chips I've tried are about a millimeter shorter than Intel chips, for example), so rolling might not be enough for all of them.

Link to comment
Share on other sites

I have actually been thinking about that as well. California Games comes to mind, since I do actually have source code for what I started doing, but never completed. I've been thinking of other ones as well, my son is 15, an avid "retro gamer", and would love to get his feet wet making a 7800 game. With a helping hand, some code cobbled together from IM or SG/WG, it would be rather easy to do.

 

I would love to see California Games for the 7800. I wouldn't even mind seeing the beta version if you can get it to compile. :lust:

 

Other stuff like Summer Games 2 or World Games may be able to reuse some of the old code.

 

Mitch

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