Jump to content

Impossible Mission: Successful recompile of source code


52 replies to this topic

#26  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Wed Nov 25, 2009 9:31 PM

View Postkrewat, on Wed Nov 25, 2009 9:07 PM, said:

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

#27  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Sat Nov 28, 2009 10:21 AM

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?

#28  

    Stargunner

  • 1,322 posts
  • Joined: 24-May 01
  • Location:Philly

Posted Sat Nov 28, 2009 7:28 PM

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

#29  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Sat Nov 28, 2009 9:28 PM

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.

#30  

    Quadrunner

  • 12,240 posts
  • Joined: 29-July 04
  • Location:from somewhere, anywhere and no where

Posted Sun Nov 29, 2009 8:59 AM

Just out of interest krewat, you mentioned something about an A8 (a800) dev system, does that mean you eventually went over to doing 7800 coding on an a800 instead of the c64

Also are there any differences betw. the A8 and 7800 versions of summer games

#31  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Sun Nov 29, 2009 11:02 AM

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.

#32  

    River Patroller

  • 3,921 posts
  • Joined: 18-February 02
  • Location:Toronto, Canada

Posted Sun Nov 29, 2009 11:47 AM

View Postcarmel_andrews, on Sun Nov 29, 2009 8:59 AM, said:

Also are there any differences betw. the A8 and 7800 versions of summer games

The A8 version has extra events that the 7800 does not.

#33  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Tue Dec 15, 2009 6:54 PM

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.

#34  

    Stargunner

  • 1,322 posts
  • Joined: 24-May 01
  • Location:Philly

Posted Tue Dec 15, 2009 7:18 PM

That would be a pretty cool accomplishment!

-John

#35  

    7800 Developer

  • 5,462 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Tue Dec 15, 2009 7:47 PM

View Postkrewat, on Tue Dec 15, 2009 6:54 PM, said:

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.

#36 ONLINE  

    Quadrunner

  • 5,023 posts
  • Joined: 24-July 03
  • Location:Northeast Alabama

Posted Tue Dec 15, 2009 8:50 PM

View PostGroovyBee, on Tue Dec 15, 2009 7:47 PM, said:

View Postkrewat, on Tue Dec 15, 2009 6:54 PM, said:

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.

#37  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Tue Dec 15, 2009 9:33 PM

View PostGroovyBee, on Tue Dec 15, 2009 7:47 PM, said:

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.

View Postjaybird3rd, on Tue Dec 15, 2009 8:50 PM, said:

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.

#38  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 9:39 PM

View Postkrewat, on Tue Dec 15, 2009 9:33 PM, said:

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

#39 ONLINE  

    Quadrunner

  • 5,023 posts
  • Joined: 24-July 03
  • Location:Northeast Alabama

Posted Tue Dec 15, 2009 9:50 PM

View PostMitch, on Tue Dec 15, 2009 9:39 PM, said:

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.

#40  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 9:58 PM

View Postjaybird3rd, on Tue Dec 15, 2009 9:50 PM, said:

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

#41  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Tue Dec 15, 2009 10:02 PM

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.

#42  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Tue Dec 15, 2009 10:06 PM

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, Tue Dec 15, 2009 10:08 PM.


#43  

    Chopper Commander

  • 158 posts
  • Joined: 08-July 05

Posted Tue Dec 15, 2009 10:07 PM

The cart boards that I have are C026423 REV B.

#44 ONLINE  

    Quadrunner

  • 5,023 posts
  • Joined: 24-July 03
  • Location:Northeast Alabama

Posted Tue Dec 15, 2009 10:08 PM

View PostMitch, on Tue Dec 15, 2009 9:58 PM, said:

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

#45  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 10:16 PM

View Postkrewat, on Tue Dec 15, 2009 10:06 PM, said:

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.


View Postkrewat, on Tue Dec 15, 2009 10:07 PM, said:

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

#46 ONLINE  

    Quadrunner

  • 5,023 posts
  • Joined: 24-July 03
  • Location:Northeast Alabama

Posted Tue Dec 15, 2009 10:17 PM

View Postkrewat, on Tue Dec 15, 2009 10:07 PM, said:

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.

#47  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 10:24 PM

View Postjaybird3rd, on Tue Dec 15, 2009 10:08 PM, said:

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

#48  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 10:32 PM

View PostMitch, on Tue Dec 15, 2009 10:16 PM, said:

View Postkrewat, on Tue Dec 15, 2009 10:06 PM, said:

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.


View Postkrewat, on Tue Dec 15, 2009 10:07 PM, said:

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

#49 ONLINE  

    Quadrunner

  • 5,023 posts
  • Joined: 24-July 03
  • Location:Northeast Alabama

Posted Tue Dec 15, 2009 10:33 PM

View PostMitch, on Tue Dec 15, 2009 10:24 PM, said:

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.

#50  

    Quadrunner

  • 5,695 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Tue Dec 15, 2009 11:17 PM

View Postkrewat, on Tue Dec 15, 2009 9:33 PM, said:

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





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users