Jump to content
IGNORED

TI Invaders (hacked)


Recommended Posts

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.

 

 

 

 

 

 

 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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 !

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

 

  • Like 1
Link to comment
Share on other sites

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
  • Like 1
Link to comment
Share on other sites

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?

  • Like 1
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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.

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