Jump to content

Photo

TI Invaders (hacked)

game cartridge hack

84 replies to this topic

#26 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Mon Jul 9, 2012 10:36 AM

Gun/Laser Cannon have patterns and colors changed.



#27 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Tue Jul 10, 2012 1:46 AM

Bottom frame and lift have patterns and colors changed.



Extract binaries for use with Classic99. Choose Cartridge menu, User, Open, - then just pick ti-invac.bin (ti-invag.bin will be included automatically).

Download and change filename extension from “zip” to “rpk” to use with MESS.

#28 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Wed Jul 11, 2012 12:15 AM

Color of destroyed guns changed (again). Colors of invaders changed. First sets of invaders (4 out of 10) have patterns changed.



#29 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,705 posts
  • Location:Germany

Posted Wed Jul 11, 2012 12:11 PM

Color of destroyed guns changed (again). Colors of invaders changed. First sets of invaders (4 out of 10) have patterns changed.



I like the patterns of the invaders. It's cool what you did to the "bottom frame". Never liked the shape of the original frame in TI Invaders anyway.
Personally I don't like the shape of the gun. It kinda reminds me of a chess piece, sorry.

Anyway nice job. I'm looking forward seeing how this further develops....
With the source code of the disk version out there, perhaps it could be turned into a 16K Jon Guidry cartridge image.












#30 OX. OFFLINE  

OX.

    Dragonstomper

  • 518 posts

Posted Wed Jul 11, 2012 1:34 PM

Any chance of a version to match the Taito original graphics?

#31 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,161 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Jul 11, 2012 3:37 PM

Any chance of a version to match the Taito original graphics?


Atari 2600 graphics are much cooler :)

#32 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,161 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Jul 11, 2012 3:56 PM

Found a couple of bugs. I earned an extra life without losing one. It's not possible to run out of lives, now. And after clearing all of your re-defined aliens the program crashes.

#33 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Wed Jul 11, 2012 10:50 PM

I like the patterns of the invaders.


They are in fact, as I think OLD CS1 has spotted, an Atari 2600 rip. Amazingly the 2600 has 6 different rows and animation in the invader destruction/explosion. The TI "only" has 5 rows and no animation in the explosion. The 2600 has 2 frames in the invader animation, and the TI has 4 frames available, but TI only use 2 distinct frames for the first many invaders, and then later on 4 more distinct frames with the “snake”, “turnover” and “pulsar”.

From all the invader clones I managed to go through, I thought the 2600 the most cool. There’s only 6 invader designs, so there’s 4 more to be designed and/or ripped. Also the 2600 is 8x10 pixels, and the TI allow for 10x8, so I cut some legs and tentacles, and they all went 8x8.

It's cool what you did to the "bottom frame". Never liked the shape of the original frame in TI Invaders anyway.


I tried a more “gothic” approach, but it didn’t fit the genre or overall picture. Since you like it, I might let it be. :)

Personally I don't like the shape of the gun. It kinda reminds me of a chess piece, sorry.


Again, it’s much the 2600 gun, and now that you say it, it is like a chess piece. Actually I have also begun to see a little witch in the design. I think the design is limited by 9x12 pixels. Any higher and there will be a few challenges with the vertical centering and frame. Any wider and there’s more than one collision detection issue.

With the source code of the disk version out there, perhaps it could be turned into a 16K Jon Guidry cartridge image.


I’ll tweak the disk version, then someone else might do the bank switching. :-D

#34 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Wed Jul 11, 2012 10:53 PM

Any chance of a version to match the Taito original graphics?


Since you ask - Yeah, why not !?

:jango:

#35 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Wed Jul 11, 2012 10:55 PM

Any chance of a version to match the Taito original graphics?


Atari 2600 graphics are much cooler :)


I'll do both. I'd be interested in which one will "play" the best (to me).

#36 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Wed Jul 11, 2012 11:06 PM

Found a couple of bugs. I earned an extra life without losing one. It's not possible to run out of lives, now. And after clearing all of your re-defined aliens the program crashes.


I did indeed notice, and it’s a bit of a bummer. There’s a notice in the disk version about the gun (quoting line 936: GUN COLOR - ALSO FIRE ENABLE/DISABLE), so maybe the guns (active, extra and destroyed ones) can’t be the same color.

#37 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,161 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Jul 11, 2012 11:56 PM

I did indeed notice, and it’s a bit of a bummer. There’s a notice in the disk version about the gun (quoting line 936: GUN COLOR - ALSO FIRE ENABLE/DISABLE), so maybe the guns (active, extra and destroyed ones) can’t be the same color.


That is interesting. Now I need to read the source for myself just to see what that means.

#38 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Thu Jul 12, 2012 12:04 AM

I did indeed notice, and it’s a bit of a bummer. There’s a notice in the disk version about the gun (quoting line 936: GUN COLOR - ALSO FIRE ENABLE/DISABLE), so maybe the guns (active, extra and destroyed ones) can’t be the same color.


That is interesting. Now I need to read the source for myself just to see what that means.


I changed the color of the destroyed guns, and it seems to fix the problem - at least with the extra gun awarded, didn't get one repaired though, smacked meself when I died ...

:mad:

#39 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,705 posts
  • Location:Germany

Posted Thu Jul 12, 2012 1:51 AM

Any chance of a version to match the Taito original graphics?


Atari 2600 graphics are much cooler :)


I'll do both. I'd be interested in which one will "play" the best (to me).


Oh yeah, I see a new game cartridge here. The "Invaders collection". It contains the original TI Invaders, Taito Invaders and K's Invaders.
It has a nice animated game selection screen and perhaps a tweaked sound effect here and there. :-)

#40 rocky007 OFFLINE  

rocky007

    Moonsweeper

  • 395 posts
  • Location:Belgium

Posted Thu Jul 12, 2012 1:57 AM

Oh yeah, I see a new game cartridge here. The "Invaders collection". It contains the original TI Invaders, Taito Invaders and K's Invaders.
It has a nice animated game selection screen and perhaps a tweaked sound effect here and there. :-)


oh yeah !!! it could be so great !

#41 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,161 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Thu Jul 12, 2012 7:55 AM

It has a nice animated game selection screen and perhaps a tweaked sound effect here and there. :-)


I pondered last night how difficult it would be to mimic the firing sound from the Atari 2600 version.

#42 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Fri Jul 13, 2012 2:24 AM

Oh yeah, I see a new game cartridge here. The "Invaders collection". It contains the original TI Invaders, Taito Invaders and K's Invaders.
It has a nice animated game selection screen and perhaps a tweaked sound effect here and there. :-)


That would be nice. K’s Invaders should be 2600 Invaders though. ;)

#43 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Fri Jul 13, 2012 2:27 AM

I pondered last night how difficult it would be to mimic the firing sound from the Atari 2600 version.


I’ll look into it. It was the plan to change soundeffects anyway.

#44 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Fri Jul 13, 2012 2:56 AM

This one fixes the bug which appears after the extra life (gun or missile base) is awarded (at 3000 points). Still has to check out the repair base at 10000 points for possible much the same bug. All invaders from the 2600 have been added (so 6 out of the possible 10 invaders have been updated). Finally the invader explosion is updated (simply tried and make it less symmetric).



#45 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,705 posts
  • Location:Germany

Posted Fri Jul 13, 2012 1:38 PM

This evening I tried working on a 16K bank-switched version, based on the disk source.

Basically I ripped everything related to the title screen, cheat/options screen and sound lists out of the source file and created that as a separate source file.
The next step was then to assemble this separate file and with trial-and-error keep reassembling while adding any missing parts (mostly constants and a few subroutines).
I'm now at the point that this separate file (let's call it bank 2) assembles with 2 remaining errors. Which is ok, because that is where the code jumping back into bank1 will have to go.
The good thing about this is that bank1 is now smaller than 8K so this leaves room for the cartridge header and code for jumping into bank2.

The bad thing is that this is the disk version. There are multiple BSS statements not using scratchpad memory:


  D:\Projekte\TI invaders\inv_bank1.a99 (16 hits)
Line 177: INVADS BSS 6
Line 178: INVDIR BSS 6
Line 182: MAXPOS BSS 1
Line 183: STORAG BSS 5				  - JEDI -
Line 184: CHEAT  BSS 1				  - JEDI -
Line 185: CHEATS BSS 1				  - JEDI -
Line 186: SCRNUM BSS 1				  - JEDI -
Line 187: SAVR11 BSS 1				  - JEDI -
Line 188: SAVREG BSS 1				  - JEDI -
Line 189: INDEX3 BSS 2				  - JEDI -
Line 190: TITLFG BSS 1				  - JEDI -  
Line 192: CHAR   BSS 512	  ****BIG PROBLEM****
Line 193: COPYRT BSS 8		****SMALL PROBLEM****
Line 194: PSCORE BSS 5		****SMALL PROBLEM****
Line 195: HSCORE BSS 5		****SMALL PROBLEM****
Line 1188: *** CHANGED HISC TO BSS 5 HSCORE TO HOLD HI-SCORE

The CHAR "problem" is probably not that big, I could copy the font from the console ROM in smal steps, thus not needing a 512 bytes RAM buffer.

I presume that with TI Invaders they did what I did with Pitfall; they started working on a disk version that they later shoe-horned into a cartridge.
With todays' emulation possibilities its easier & better to just start working on the cartridge version.

Edited by retroclouds, Fri Jul 13, 2012 1:41 PM.


#46 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,161 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Fri Jul 13, 2012 11:58 PM

This one fixes the bug which appears after the extra life (gun or missile base) is awarded (at 3000 points). Still has to check out the repair base at 10000 points for possible much the same bug. All invaders from the 2600 have been added (so 6 out of the possible 10 invaders have been updated). Finally the invader explosion is updated (simply tried and make it less symmetric).



While you work on the 2600 edition, I have a couple of things. First, the left-most shield is one pixel too far to the left. The right-most allows a single shot up the side from the most extreme position for the canon. On the left, the canon has to shoot through the shield. Second, I recall the 2600 version having an option for invisible shields -- that might be neat for "DOWNRIGHT NASTY" mode.

And, has anyone ever noticed that the red saucer can go higher than you can shoot in later stages? I found this in the hack version, but I cannot recall ever seeing it in the original. Maybe I missed it?

#47 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Sat Jul 14, 2012 1:02 AM

The CHAR "problem" is probably not that big, I could copy the font from the console ROM in smal steps, thus not needing a 512 bytes RAM buffer.


Assuming this and that, then copying from ROM directly to VDP can of course be done without any buffer at all (RAM) - guess 3 registers should do it. Surely the TI Invaders Cart hasn’t got a 512 byte buffer. It might be that the disk version is simply “securing” a copy of the font the EA Cart puts in place (line 1042-44). But that should be medium and lower uppercase, not large and medium. Hmmm ...

Edit: The console fonts (large, medium and small uppercase) are in GROM, but we'll think of something (using the relevant GPL routines or copying directly through the GROM port).

Edited by sometimes99er, Sat Jul 14, 2012 4:19 AM.


#48 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Sat Jul 14, 2012 4:15 AM

While you work on the 2600 edition, I have a couple of things. First, the left-most shield is one pixel too far to the left. The right-most allows a single shot up the side from the most extreme position for the canon. On the left, the canon has to shoot through the shield.


Exactly. That’s a bit inconsistent. Playing the game, one will surely notice the difference. I’ll make the shield a bit wider, so you have to shoot through the shields at both ends.

Second, I recall the 2600 version having an option for invisible shields -- that might be neat for "DOWNRIGHT NASTY" mode.


That’s a great idea. I’m pretty sure it’s not something I can easily do with this first cartridge version, but it should certainly be possible with the following disk version, which I hope retroclouds will be able to convert to a 16K ROM cartridge.

And, has anyone ever noticed that the red saucer can go higher than you can shoot in later stages? I found this in the hack version, but I cannot recall ever seeing it in the original. Maybe I missed it?


Interesting. I’ll try and notice when playing the two versions (original and hacked). I never really found the red saucer interlude interesting. Want to remove it for the hacked versions actually.

#49 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,666 posts
  • HarmlessLion
  • Location:BUR

Posted Sat Jul 14, 2012 2:44 PM

Edit: The console fonts (large, medium and small uppercase) are in GROM, but we'll think of something (using the relevant GPL routines or copying directly through the GROM port).


I have a piece of code that copies the fonts directly that I wrote for the multicart menu, you can see if it's useful to you. Just BL @GOGO, but note it eats most of the registers. ;) It auto-detects 99/4 and loads two copies of the uppercase characters on that machine, or loads upper and 'lower' on the 4A.

***********************
* Load character sets *
***********************
* Note, if you still need space, you can remove support for the
* 99/4 by deleting the code marked between * +++ 99/4 support +++ begin/end blocks

GOGO
 MOV R11,R9   * Save our return spot

* +++ 99/4 support begin +++

* load R3 with 6 for 99/4, or 7 for 99/4A
 CLR R0
 BL @GPLSET
 BL @GETGPL   * read GROM >0000
 LI R3,7
 CI R0,>AA01  * 99/4 is AA01, all versions of 99/4A seem to be AA02 (even 2.2!)
 JNE IS4A     * note we also assume unknown is 99/4A just to be safe
 DEC R3

* make a copy of the capitals for the 99/4 to 'support' lowercase
* this will be partially overwritten by the main set, but it works!

 LI R0,>0018  * GPL vector address
 LI R1,>4A00  * dest in VDP - must OR with >4000 for write
 LI R2,>0040  * how many chars
 BL @GPLVDP   * this function goes somewhere later in your ROM
 JMP MNSET

* +++ 99/4 support end +++
* If you delete the above block, replace with
* LI R3,7
* so that the character size counter is still valid

IS4A
* 'lowercase' letters
 LI R0,>004A  * GPL vector address (not available for 99/4)
 LI R1,>4B00  * dest in VDP - must OR with >4000 for write
 LI R2,>001F  * how many chars
 BL @GPLVDP   * this function goes somewhere later in your ROM

* main set
MNSET
 LI R0,>0018  * GPL vector address
 LI R1,>4900  * dest in VDP - must OR with >4000 for write
 LI R2,>0040  * how many chars
 BL @GPLVDP   * this function goes somewhere later in your ROM
 B *R9        * RETURN TO CALLER

*****************
* GROM routines *
*****************

* Set GROM address
GPLSET
 MOVB R0,@>9C02
 SWPB R0
 MOVB R0,@>9C02
 B *R11

* Get a word from GPL
GETGPL
 MOVB @>9800,R0
 SWPB R0
 MOVB @>9800,R0
 SWPB R0
 B *R11

* Copy R2 characters from a GPL copy function vectored at
* R0 to VDP R1. GPL vector must be a B or BR and
* the first actual instruction must be a DEST with an
* immediate operand. Set R3 to 6 for 99/4 (6 byte characters)
* or 7 for a 99/4A (7 byte characters)
GPLVDP
 MOV R11,R10    * save return address
 BL @GPLSET     * set GROM address
 BL @GETGPL     * Get branch instruction (not verified!)
 ANDI R0,>1FFF  * mask out instruction part
 AI R0,3        * skip instruction and destination
 BL @GPLSET     * set new GROM address
 BL @GETGPL     * get actual address of the table
 BL @GPLSET     * and set that GROM address - GROM is now ready!

 SWPB R1        * assume VDP is already prepared for write to save space
 MOVB R1,@>8C02
 SWPB R1
 MOVB R1,@>8C02 * VDP is now ready!

 CLR R0
LP8
 MOVB R0,@>8C00 * pad the top of the char with a space
 MOV R3,R0      * then copy 7 (or 6) bytes

* +++ 99/4 support begin +++

 CI R3,6        * check for 99/4
 JNE LP9
 MOVB R0,@>8C00 * extra blank line for 99/4

* +++ 99/4 support end +++
* no changes needed if this block removed

LP9
 MOVB @>9800,@>8C00  * copy a byte (both sides autoincrement)
 DEC R0
 JNE LP9

 DEC R2         * next character
 JNE LP8

 B *R10


#50 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 4,230 posts
  • Location:Denmark

Posted Mon Jul 16, 2012 9:15 AM

Thanks Tursi. Made shields wider. Updated saucer (patterns and colors). Managed to crash the thing again. Both saucer and gun seems to depend on their color for different actions to take place. Beside lockups I got a few interesting but unwanted sideeffects – intermission kicked in and invaders all went berserk. Made it impossible to clear a wave, but great fun. Have to make some better workarounds for some of the color choices.





Also tagged with one or more of these keywords: game, cartridge, hack

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users