Jump to content
Asmusr

TI Scramble - Scramble clone

Recommended Posts

We should probably also mention the lack of a stack pointer and internal general purpose registers!

 

I did a little Z80 programming on the Amstrad CPC464. I remember it had a nice instruction called LDIR - a single instruction block copy.

Share this post


Link to post
Share on other sites

Yes, I remember that instruction. It's op-code is $EDB0 :woozy: How embarresing that I can still remember that (back from the day when I used to write machine code by writing it on paper, converting to HEX, then poking it into memory byte by byte!)

 

What I always found a pain in the 8 bit chips was the accumulator, and the concept that do any arithmetic you had to move your datum to the accumlator, do some work on it, then move it back. Of course, it was all to reduce cost and die size (thus cost).

 

The TMS9900 was a great departure from this restriction. I found it much easier to 'breathe' in the TMS99000 and 68000 worlds :)

Share this post


Link to post
Share on other sites

Having seen the demo of your game at the European TI Meeting 2013 last weekend I want to thank you for this wonderful game.
I will definately show this off at the local TI 99 meeting in Vienna tomorrow and at upcoming Events.

kl99

Share this post


Link to post
Share on other sites

 

I will definately show this off at the local TI 99 meeting in Vienna tomorrow and at upcoming Events.
 

 

A LOCAL TI-99/4A meeting, if only such were the case here.  It would be fun to have a user's group to attend, even if it were only twice a year.  I guess I'm just nostalgic for the old days.  Is this a sign of my impending decrepitude?  

Share this post


Link to post
Share on other sites

I solved the problem with MESS. Scramble was writing some bytes into the >8400 area. Perhaps MESS is responding to odd addresses in this area (it's only supposed to respond to even addresses according to http://nouspikel.group.shef.ac.uk/ti99/tms9919.htm)?

 

This bug also reduced the number of sprite explosions, so I'm really happy that this is fixed.

 

I fixed the looping of the demo, and also found a new character for the 'rounds completed' flag.

 

I have maintained the speech, but changed it to say some different words. If you really hate it you can turn it off by pressing S on the first screen (no key to turn it back on).

 

Enjoy!

 

 

Share this post


Link to post
Share on other sites

I tried it on my work laptop (classic99), and to be honest... I like the speech.

I've said it before and I'll say it again: nice work, this is really fun to play.

Share this post


Link to post
Share on other sites

Having seen the demo of your game at the European TI Meeting 2013 last weekend I want to thank you for this wonderful game.
I will definately show this off at the local TI 99 meeting in Vienna tomorrow and at upcoming Events.

kl99

 

I'm glad you like it. Make sure to download the latest version for the demo.

Share this post


Link to post
Share on other sites

During the day when I am working at a bench I get to interact with a bunch of fellow geeks.  They love when I bring in my old stuff and set it up, which I generally do every Friday.  (Well MOST do, some of them just roll their eyes.)  This week I will be setting up my F18A-equiped TI with "TI Scramble" to show off.  It is gonna blow their minds!

Share this post


Link to post
Share on other sites

I solved the problem with MESS. Scramble was writing some bytes into the >8400 area. Perhaps MESS is responding to odd addresses in this area


Very good, Rasmus. I'll check that more closely. According to my definition, the sound chip is reachable on 8400 with a mask of fc01, that is, when (address & fc01) == 8400. So it should ignore odd addresses, but it responds on all 84xy to 87xy with even y.

Share this post


Link to post
Share on other sites

Very good, Rasmus. I'll check that more closely. According to my definition, the sound chip is reachable on 8400 with a mask of fc01, that is, when (address & fc01) == 8400. So it should ignore odd addresses, but it responds on all 84xy to 87xy with even y.

 

You're right, that's not it.  I have debugged beta3 and found out that it's switching between writing >C0 to >8404 and >840C. That means setting the frequency of generator 3 outside the legal range, but apparently not a problem on a real TI. 

Share this post


Link to post
Share on other sites
Let's see ... if you load C0 into the sound chip, it waits for a second byte, so this could consume a following byte that should have set the attenuation. If you can find out the byte sequence written to the sound chip that causes the malfunction you'll get special credits in sn76496.c. :-)

Share this post


Link to post
Share on other sites

This is going great Rasmus and certainly beats the arcade conversions of back in the day, I have one minute gripe though - when shooting the rockets with the straight shot it does'nt always explode, sprite collision?

Share this post


Link to post
Share on other sites

Let's see ... if you load C0 into the sound chip, it waits for a second byte, so this could consume a following byte that should have set the attenuation. If you can find out the byte sequence written to the sound chip that causes the malfunction you'll get special credits in sn76496.c. :-)

 
That assertion should be incorrect -- the sound chip doesn't track whether a byte is "first" or "second". If the MSb is set, it latches the register (and loads the lower nibble into the appropriate location). Any write with the MSb /not/ set uses that latched register to store the data - in the case of the noise channel or a volume register, only the appropriate bits are taken. So if you write 0xC0, then the voice 3 frequency register is latched, and 0 is written into the least significant nibble. If you then write a volume command (say, >D5 for voice 3 volume), that volume command will go to the correct place, it will NOT be stored in the frequency register.
 
I'm headed home from work, but that's the code in Classic99, based partially on documentation but in a large part to hardware verification. I'll double check it in half an hour or so and either confirm or apologize. :)

EDIT: confirmed. Edited by Tursi

Share this post


Link to post
Share on other sites

I lost the opening music in beta4, so here's yet another version.

 

I installed my F18A today, that baby looks and works great!  Your Beta 5 version of Scramble was the first thing I played on it!  :)

Share this post


Link to post
Share on other sites

No critic, but only a sidenote:
Yesterday I tested beta1,beta2,beta3,beta4 on my F18A (was a beta tester for Matthew). I think I still have F18A V1.3 software or even older. It didn't look to well. Scrolling was not smooth (totally different than in the youtube clip). The Player Ship was incomplete (only the fuel appeared). Colors appeared like they were off.
I will update the F18A to the latest firmware V1.5 and will retry it.
If that doesn't help, the problem might be somewhere else.

Sorry that my testing is limited. The place I tested it didn't have a screwdriver, F18A programmer cable nor another console.

Maybe beta5 will work better but I doubt your code is the problem.

Will demonstrate Titanium, Mr. Chin on the real console tonight, and TI Scramble on the emulator.

Share this post


Link to post
Share on other sites

No critic, but only a sidenote:
Yesterday I tested beta1,beta2,beta3,beta4 on my F18A (was a beta tester for Matthew). I think I still have F18A V1.3 software or even older. It didn't look to well. Scrolling was not smooth (totally different than in the youtube clip). The Player Ship was incomplete (only the fuel appeared). Colors appeared like they were off.
I will update the F18A to the latest firmware V1.5 and will retry it.
If that doesn't help, the problem might be somewhere else.

Sorry that my testing is limited. The place I tested it didn't have a screwdriver, F18A programmer cable nor another console.

Maybe beta5 will work better but I doubt your code is the problem.

Will demonstrate Titanium, Mr. Chin on the real console tonight, and TI Scramble on the emulator.

 

It must be another problem. I also have the V1.3 firmware and it works perfectly.

Share this post


Link to post
Share on other sites

Yesterday I tested beta1,beta2,beta3,beta4 on my F18A (was a beta tester for Matthew). I think I still have F18A V1.3 software or even older. It didn't look to well. Scrolling was not smooth (totally different than in the youtube clip). The Player Ship was incomplete (only the fuel appeared). Colors appeared like they were off.


If you never upgraded from the firmware that was in your beta-F18A when you got it at the Faire, then you are not even running V1.3. I made a lot of changes right up to the release last July. Near the end I was changing things fast and furious, and among the changes was a reversal of the palette bits and a lot of changes and rearrangements to the VDP registers.

I will update the F18A to the latest firmware V1.5 and will retry it.


I have been lazy and have not posted V1.5 yet. I will try to get to that today. V1.4 should take care of any issues though.

Share this post


Link to post
Share on other sites

Just downloaded v5.  First one I grabbed.  Playing in Classic99.

 

A few things to note (all critical since this is otherwise amazing work):

1. Collision detection is a bit iffy - I crashed into a mountain and I wasn't touching it.  Similar happens early with ground objects)

2. The game freaked out and slowed down for a while.  It seemed to self correct after a while

3. Pretty sure it's way faster than real scramble.

4. Pretty sure you fire way more bullets at a time than real scramble.  I remember 2 bullets out and 1 bomb at a time.  

5. Bullets should probably be 2x2px.  They're too small.

6. I do not like the "Ready To Start" speech.     

7. Would be nice if the fire out of the back of the ship was red / yellow flickery.  Like the explosions.  

8. When firing bullets during "ready to start" a few went right through the mountain.

9. Range of vertical motion of the UFOs is a little bit tight. 

10. When bullets hit the ground, they take over the character - perhaps they should not do that.

Share this post


Link to post
Share on other sites

Just downloaded v5.  First one I grabbed.  Playing in Classic99.

 

A few things to note (all critical since this is otherwise amazing work):

1. Collision detection is a bit iffy - I crashed into a mountain and I wasn't touching it.  Similar happens early with ground objects)

2. The game freaked out and slowed down for a while.  It seemed to self correct after a while

3. Pretty sure it's way faster than real scramble.

4. Pretty sure you fire way more bullets at a time than real scramble.  I remember 2 bullets out and 1 bomb at a time.  

5. Bullets should probably be 2x2px.  They're too small.

6. I do not like the "Ready To Start" speech.     

7. Would be nice if the fire out of the back of the ship was red / yellow flickery.  Like the explosions.  

8. When firing bullets during "ready to start" a few went right through the mountain.

9. Range of vertical motion of the UFOs is a little bit tight. 

10. When bullets hit the ground, they take over the character - perhaps they should not do that.

 

You can try the original in MAME - better than trusting your memory  :)

Share this post


Link to post
Share on other sites
Just run down to your local arcade and drop a few quarters into a real machine then... ;-) Ironically I had a chance a few weeks ago to pick up a real arcade Scramble for $70. I still can't figure out why. I guess I was too intent on the Centipede machine.

Share this post


Link to post
Share on other sites
MAME has a decent debugger, so it is possible to just single step the code (or reverse engineer the code) to find out how many pixels the bullets are.

Humans have had more time to perfect CRTs vs LCDs, and I personally still like the look of a CRT. I think CRTs are still better for animation than an LCD. Animated objects on and LCD tend to fade or get smaller, especially when they are a primary color since the pixel will be physically smaller.

Share this post


Link to post
Share on other sites

The bullets do look bigger on the videos, but I'm using the same characters for the bullets and the stars, so they have to be the same size.

 

.  

Share this post


Link to post
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.

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