(Topic ID: 323915)

The Cat's Meow -- a new home ROM for Bad Cats

By idealjoker

1 year ago


Topic Heartbeat

Topic Stats

  • 461 posts
  • 50 Pinsiders participating
  • Latest reply 7 hours ago by idealjoker
  • Topic is favorited by 53 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

w7 (resized).jpg
Screenshot_2024-06-25-20-49-57-903 (1).jpeg
Warm (resized).jpg
Ghosting (resized).jpg
Screenshot 2024-01-31 at 5.41.51?PM (resized).png
Loterie.gif
SeaFood 4.gif
PK Meow.gif
20240107_192349 (resized).jpg
New location (resized).jpg
IMG_20231223_143302.jpg
QR-code (resized).png
TCM_JP1.0_GameDifficultySettingTable_20231214.pdf (PDF preview)
Paws_BadCats (resized).jpg
Picky Kitty.gif
Picky_Kitty (resized).png

Topic index (key posts)

13 key posts have been marked in this topic, showing the first 10 items. (Show topic index)

There are 461 posts in this topic. You are on page 9 of 10.
#401 42 days ago

Thanks for all the beers!

Quoted from Tuukka:

spent hours after hours

You are correct of course. But I do this mostly for my own benefits. To make my games play better, for sure. The technical side of it is great fun -- one small puzzle after another -- but that's not what rocks my boat. I am completely fascinated by the question what makes a game a good game. Stuff like risk-reward, score balance, game progression, multiplayer fairness, varied game play, etc. Maybe one day I will try to design a game from scratch. In the mean time I find that testing different ideas in existing games is a total blast. If you look at the progression of my patches --- Jungle Lord (new tricks), Pembot and TCM --- the changes have become more and more complex. I am looking forward to my next project, which will probably be a WPC.

Therefore, while I really appreciate your tips they are not necessary to keep me motivated. More important has been the input that you provided in this thread. The ideas, and also the feedback on mine, especially from the beta testers. The TCM patch would not be what it is without you!

#402 42 days ago

Occasionally I get asked for the checksums of the patched ROM images for verification that the patching worked correctly. This is not necessary with the xdelta patch format, which uses internal checksum verification. However, since there are other uses for the checksums, here are the MD5 hashes for version JP-1.0:

daf15a5f960368d7ad7e917c124179fd TCM_U26.bin
208f879db303fad4367f2f85a1a7620d TCM_U27.bin

#403 42 days ago

I fully understand your motive to find out how the game software works, what bugs does it have and how to correct them, and even add new features. But you have also taken time to thoroughly test, and let users beta test the new features. That is the key to good quality software.

With the updated SW, users dont have to fear it locks some coil on and burns it, or otherwise get into a situation that breaks the current high scoring game. And while of course the software can be downloaded absolutely free of charge, that is why I recommend users of your ROMs to buy you a virtual beer.

#404 41 days ago

Any plans on releasing a v1.1 with some of the new bug fixes?

#405 41 days ago
Quoted from interconnect:

Any plans on releasing a v1.1

I have implemented most of the changes I want to make but there are a few things on my list left to-do. At the moment, I cannot play my game because the negative side of my high-voltage supply is still bad. Should not be very difficult to fix but I will have to order parts. So this will take a couple of weeks at least, probably longer because work is busy. Since some of the code changes are quite low level, another round of testing will be required. My goal is to send out the test version sometime in June. If all goes well and there are no serious bugs an update sometime in August looks reasonable.

#406 41 days ago
Quoted from idealjoker:

I have implemented most of the changes I want to make but there are a few things on my list left to-do. At the moment, I cannot play my game because the negative side of my high-voltage supply is still bad. Should not be very difficult to fix but I will have to order parts. So this will take a couple of weeks at least, probably longer because work is busy. Since some of the code changes are quite low level, another round of testing will be required. My goal is to send out the test version sometime in June. If all goes well and there are no serious bugs an update sometime in August looks reasonable.

What parts in your high voltage are bad? I probably have them on hand and could send you some if it will help get your game going.

#407 41 days ago

I appreciate the offer! This thread describes the initial symptom and underlying problem (wrongly installed capacitor), as well as the secondary problem I am left with (insufficient voltage in the negative high-voltage side). Let's continue our discussion there.

#408 36 days ago

TCM In The Wild

I'd like to share the following feedback I got as a PM for operators considering the patch:

TCM is working great! I've had it my arcade (along with 43 other pinballs) for the past 4 months. I haven't had any issues.

We added the game back in to our weekly tournament and nobody has complained. Our top tournament players know the differences and think it's fair.

Bad Cats is consistently one of our top played games at $0.50c per game, xxx-xxx plays per month.

I did disable the start-button menu.

If there are other operators running the code, please let me know. I'd like to make a post listing TCM on location.

#409 36 days ago
Quoted from idealjoker:

TCM In The Wild
I'd like to share the following feedback I got as a PM for operators considering the patch:

If there are other operators running the code, please let me know. I'd like to make a post listing TCM on location.

On a slightly related note... I went to an restaurant/arcade here in GA with my brother recently and saw PEMBOT in the wild. Was pretty cool to see that. It was called Melt Yard in Marietta, GA.

#410 36 days ago
Quoted from interconnect:

saw PEMBOT in the wild.

Awesome! Thank you for letting me know.

#411 36 days ago
Quoted from idealjoker:

Finally, here's the link. Your support is highly appreciated.

I tried to buy beers, but it only seems possible with either credit card or Stripe.
I don't have either. Can I PayPal you?

#412 36 days ago
Quoted from Numiah:

Can I PayPal you?

Sure thing! Here's the link. Thank you!

#413 33 days ago
Quoted from idealjoker:

Sure thing! Here's the link. Thank you!

Done. Enjoy your very well earned beers (not enough to get drunk though, just a buzz hehe)
Thank you so much for all your efforts.

3 weeks later
#414 11 days ago

When not buzzing I have been preparing a release candidate for version 1.1. One of the features I have not received any feedback on is they way TCM deals with "phantom" fish target hits. That's when the opto wheel of the fish target stops in a position where even the slightest vibration causes the opto to close. With the current code (which is almost completely identical to release version 1.0) I very rarely get any phantom closures any more, which means that the filtering works quite well on my game. Not that I think that I can do very much about this for the next release, but I still would like to know how this filtering has been working on other games.

This is something affecting mainly those who ran the LA-2 ROM before switching to TCM.

#415 11 days ago

As for phantom fish target hits, here's what mine is doing:

Most of the time, it behaved the way I would expect: slight hit = one closure; hard hit = two or three closures...and every once in a great while, when the wheel was in just the right (wrong) position, it would register several (as many as 6 or 7) phantom hits over the course of a ball, then stop. This doesn't happen often, but when it does, it goes crazy for a minute.

But then just lately, it kind of stopped registering any hits at all, which I'm assuming is a mechanical slippage issue (obnoxious).
Lately, I've also been experiencing phantom drop target hits on both banks whenever at least one drop is down (SUPER obnoxious).
So it's on my agenda to spend some 'quantity time' under the playfield this weekend.

I will report in afterward, if I have any more nuanced observations.
Thanks for all you do!

#416 10 days ago

I have completely rebuilt my machine earlier this year including the linear target which wasn't working when I bought it.
She's up and running for a few months now.
My Fish-bone-us works some sort of predictable.
For a few games I get hardly no hits at all. (when half of the wheel is opposite to the opto I guess?)
Then I get a few games with normal behavior and after that there are a few games with phantom hits.
Those phantom hits usually mean 5.000.000 points with the lit multiplier. Fun, but not quite.

Checking for slippage is unpleasant to do since the mechanism is very well hidden under the tiger ramp.
Although I am willing to investigate further and remove the ramp to see the exact behavior if needed.

#417 10 days ago
Quoted from andylama:

Most of the time, it behaved the way I would expect: slight hit = one closure; hard hit = two or three closures...and every once in a great while, when the wheel was in just the right (wrong) position, it would register several (as many as 6 or 7) phantom hits over the course of a ball, then stop. This doesn't happen often, but when it does, it goes crazy for a minute.

I think that this is consistent with my game: 6-7 phantom hits on a ball when the target is in the "phantom position". I consider this acceptable. With LA-2 stock ROM (or TCM AD52 set to WMS LA-2) I would get dozens and dozens of phantom hits on a single ball. If you do not like any phantom switch closures, you can set AD52 to WMS LA-5, which is what is used when you play ME-OW (hard) rules. The downside is that the fish target will be less responsive.

Quoted from Numiah:

Then I get a few games with normal behavior and after that there are a few games with phantom hits.

This does not sound normal to me. On my game the wheel gets stuck in the "bad position" maybe once every 30-50 games, not "every few games". If you get phantom hits every few games there is something else that's wrong with it, I think. (See also my next post.)

If you want to test the fish target with the glass off, you must first set AD52 to WMS LA-2 so that you actually see all the switch hits. Then you need to remove the ball from the shooter lane, because all fish switch hits are suppressed until the ball has been launched. You can now move the target and you should get a switch closure for every half rotation of the opto wheel but none otherwise. Perhaps I should make a youtube video that demonstrates how the target should react.

There is another test you can do when you think you are getting phantom hits: stop playing the game, remove the glass. Usually (but not always) you can cause additional phantom hits by bumping the playfield with your fist (not very hard). More importantly, if you move the fish target every so slightly, the phantom hits must disappear. If they don't you have a different problem.

#418 10 days ago
Quoted from andylama:

Lately, I've also been experiencing phantom drop target hits on both banks whenever at least one drop is down (SUPER obnoxious).

My game used to have the same problem. Drove me nuts. For several months I "solved" the problem by trying to block LED light from interfering with the drop-target optos with cardboard "light guards" and electrical tape. These fixes always worked for a short while (a few hours to a couple of weeks). After several months of this I finally had the great idea of trying to re-seat the target-bank connectors. This solved the problem completely. My light-guard "solution" worked temporarily most likely because every time I fitted a "light guard" I touched the cables and connectors.

If this can happen to the drop target optos, it probably can happen to the fish target, too. So if you have trouble, you should try to reseat that connector as well.

#419 10 days ago

I very rarely get phantom fish bonus hits. If I do, it’s an extra one or two it seems like.

#420 10 days ago

Same here. Maybe every 30 games. And I very much like it how responsive the target is now, compared to LA-5.

The drop target connector pins may crack their soldering because of vibration. When there are problems, resoldering could help.

#421 10 days ago

That's how it's supposed to work, one or two is great.

Thanks for the tip about cracked pins --- I'll check that later today.

#422 10 days ago
Quoted from idealjoker:

My game used to have the same problem. Drove me nuts...

Ah! Thanks for the insight!

#423 9 days ago
Quoted from idealjoker:

I think that this is consistent with my game: 6-7 phantom hits on a ball when the target is in the "phantom position". I consider this acceptable. With LA-2 stock ROM (or TCM AD52 set to WMS LA-2) I would get dozens and dozens of phantom hits on a single ball. If you do not like any phantom switch closures, you can set AD52 to WMS LA-5, which is what is used when you play ME-OW (hard) rules. The downside is that the fish target will be less responsive.

This does not sound normal to me. On my game the wheel gets stuck in the "bad position" maybe once every 30-50 games, not "every few games". If you get phantom hits every few games there is something else that's wrong with it, I think. (See also my next post.)
If you want to test the fish target with the glass off, you must first set AD52 to WMS LA-2 so that you actually see all the switch hits. Then you need to remove the ball from the shooter lane, because all fish switch hits are suppressed until the ball has been launched. You can now move the target and you should get a switch closure for every half rotation of the opto wheel but none otherwise. Perhaps I should make a youtube video that demonstrates how the target should react.
There is another test you can do when you think you are getting phantom hits: stop playing the game, remove the glass. Usually (but not always) you can cause additional phantom hits by bumping the playfield with your fist (not very hard). More importantly, if you move the fish target every so slightly, the phantom hits must disappear. If they don't you have a different problem.

Aha! I am on to something. I always thought this was the odd behavior of a linear target.
In this clip you can clearly see the wheel turning through the plastic cover. So it's not slipping.
Tested with LA-2.
Nothing registers and all of a sudden I get hit after hit.

I replaced headers and connectors and reflowed every solder joint while she was apart for the playfield swap.
Also replaced the two rubbers, nyliners and cleaned the opto.
However, I didn't replace the opto. Silly, since its so hard to reach.
This will be my next step. I have some new spares from restoring target banks.

#424 9 days ago

While we're on this subject of the linear target we had the boards for these recreated and can supply them, however we have not recreated the entire target assembly yet...although it's in the works.

#425 9 days ago
Quoted from Numiah:

Tested with LA-2.
Nothing registers and all of a sudden I get hit after hit.

If you installed the original Williams LA-2 ROMs for the test, you are fine. If you did the test with the TCM patch installed but with the BAD FISH handler set to WMS LA-2, on the other hand, then your test did not do what you thought it did, because even with this setting the software suppresses some switch hits it knows to be bad. For example when the skill shot is active. If you want to really test the hardware and nothing but the hardware, you should first use the switch test from the diagnostics. If that works and you still have doubts, you can install the original LA-2 ROM, which does not filter the switch target at all. For every full rotation of the opto wheel you should get exactly 4 fish target hits, two for the switch closures and two for the switch openings.

#426 7 days ago

Ah I see.
Ran into small issue scavenging for L2's.
Found the Mame versions of course, but I think the padding with 00's makes them unusable?
I get ROM 26 failure when using the mame version.

#427 7 days ago
Quoted from Numiah:

I get ROM 26 failure when using the mame version.

I suspect that you probably burned the PinMAME ROM image, which is 16KB, into a 27256 EPROM, which is a 32KB chip. This won't work. There are two different solutions:

  1. Double up your PinMAME U26 ROM image to create a 32KB file that contains the L2 code twice and burn this file on a 27256 EPROM chip.
  2. Use a 27128 instead of a 27256 EPROM instead. (Williams used two 27256 EPROM chips for Bad Cats, likely because of cost reasons.)
#428 6 days ago

UPDATE -- Change Log for Release JP1.1

No more known bugs to fix and I have implemented the last of my planned improvements. I am planning to do some more testing this week and, hopefully, send a version out to the testers next week. This post describes the changes since the initial release version (JP1.0).

Game Rules Changes

All game rules changes should be considered tentative. Feedback is particularly welcome on these!

  1. The Curiosity Spin is disabled (outlane lamps turned off) when an Extra Ball is awarded while Curiosity Spin is lit. The idea is that the CS should not be enabled for 2 balls, which it is with custom code and JP1.0 when you score an EB on ball 3 without cashing in the CS. (An alternative solution would be to keep the CS lit but do not light it when playing the EB. While writing this, I am beginning to wonder if this would be a fairer solution, because it enables the CS for exactly one ball.)
  2. When playing with TCM easy rules (SEAFOOD) and the 20M shot it lit, the unlimited 1M shot remains lit until the 20M shot is scored (no change from JP1.0). In version JP1.0 the Trashcan shot was disabled during this progression so that the player would remain focused on the 20M. In version 1.1 the Goldfish Ramp and Drop Targets are disabled as well, for the same reason. (I don't think that it is necessary to disable the inlanes or Fish Target, but I can be persuaded otherwise.)
  3. I have integrated the timer and singles-award rules for the drop targets. This change is particularly important when playing with hard (MEOW) or tournament rules. With JP1.0, drop target timers are always started when playing TCM with hard rules, or after the first Jackpot has been lit when playing normal or easy. With JP1.1 the timers are only started when more than one target is hit simultaneously. Essentially, this extends the TCM idea of the single targets as more valuable to the hard rules. The main side effect is that it has become somewhat easier to drop the 3 bank in hard mode, because accidentally dropping the three targets as singles only is not very rare. For me, the updated rules make the timed 5-bank (birds) much more interesting.
  4. I tried but will not include the idea to change the target banks to award a letter with the first drop when playing easy rules, instead of pre-lighting the B-A-D letters. Most importantly, this change unbalances the game quite badly: For all but the most novice players, it makes lighting the Jackpot super fast, as it essentially just adds another letter to each target bank award. As a result, the Jackpot becomes much easier than the Extra Ball and 5M shot, which means that the game becomes much more linear. For the novice, the change does not aid progress toward the Jackpot. All it does it give them two quick, easy and totally random letter awards early in the game, followed by no more awards, even though they hit the same shots again.

Cosmetic Improvements

  1. Bird-bank and 20M flasher threads react more quickly to outlane drains.
  2. Several cosmetic improvements to the Cat Nap, including turning off all flashers.
  3. Display FX no longer freeze during ball launch.
  4. With stock ROM and JP1.0 there sometimes is a long delay before Curiosity Spin is started. This always happens when the Unlimited Million mode is running but also occasionally at other times. Two separate fixes were implemented to address this issue. Testing will tell whether I nailed it or not.

Bug Fixes

  1. Typo in AD14 string.
  2. Incorrect display of 20M score in AD22.
  3. Blinking cat-eyes included Extra Ball lamp and had some other cosmetic problems.
  4. Starting new game while running the Seafood wheel no longer keeps wheel spinning indefinitely. (Bad Cats stock ROM bug.)
  5. When playing with the Fish Special (AD44 NORMAL and AD07 SCORE, or AD44 EASY), the probability of the Special award from the wheel in version JP1.0 continuously increases from game to game, thus awarding the Special more and more frequently until the game is reset to default adjustments (Factory Reset).
  6. In JP1.0 both the Jackpot and 5M values are sometimes displayed incorrectly (or not at all) during scoring, even though the correct score is awarded.
  7. Consistent with the game manual, AD15 now limits the maximum number of Extra Balls per game. (Bad Cats stock ROM bug.)
  8. In JP1.0 it was possible for the 20M FX thread to be killed, leaving the game completely muted until a new start was started.
  9. Playing easy rules in JP-1.0 causes a few thread-system overflows every game, when threads that should be started are not. Most of the threads that are not started are ball-search threads, which can be ignored safely since there is one started with every score event. Most of the non-ball saver threads affected are display FX threads, which also are not important for game play. Every once in a while, however, a Jackpot increase or a letter award can be missed. The fact that nobody noticed anything during testing suggests that these glitches only happen when there is a lot going on game-play wise, which makes sense. In have solved this problem by introducing killable "background threads" to the Sys 11 thread system. When a thread has to be spawned and the thread list is full, the system kills a background thread to make space. Later, when the thread system is no longer fulll, the background thread is restarted. I have not managed to force a thread-system overflow with the glass on or off since implementing this final change.

Other Improvements

  1. Ensure that game is always unmuted on a ball drain, in case there is another bug affecting the 20M Shot FX.
  2. Minor improvement to the bad fish handler.
  3. Added code to ensure integrity of Jackpot temporary storage. (Not related to a known bug.)
  4. Removed pointless call related to percentage Extra Ball award where the result is not used.
  5. Carry out a "blind wheel spin" at the end of every wheel-spin-less game in order to avoid stacking high-value awards after multiple games are played without a wheel spin.

#429 6 days ago

Sounds good! Nice work on the thread overflow problem.

Could you increase the maximum credit limit? 10 is a bit low when the machine is used as a piggy bank with 1 game/20c - 5 games/1€.

#430 6 days ago
Quoted from idealjoker:

I suspect that you probably burned the PinMAME ROM image, which is 16KB, into a 27256 EPROM, which is a 32KB chip. This won't work. There are two different solutions:

Double up your PinMAME U26 ROM image to create a 32KB file that contains the L2 code twice and burn this file on a 27256 EPROM chip.
Use a 27128 instead of a 27256 EPROM instead. (Williams used two 27256 EPROM chips for Bad Cats, likely because of cost reasons.)

You are once again spot on!
I completely didn't notice file size or knew how this worked. All is solved and L2 burnt.

I can confirm the target not registering, or working quite intermittent, is completely mechanical on my end.
Out she goes! Curious what I find.

#431 6 days ago
Quoted from Tuukka:

Could you increase the maximum credit limit?

You can increase that yourself with AD12.

Quoted from Numiah:

I can confirm the target not registering, or working quite intermittent, is completely mechanical on my end.

A bad solder joint like Tuukka suggested could explain that. I re-flowed my drop target connector joints yesterday, because I started getting the phantom switch hits back. I'll post here if the problems return.

#432 6 days ago
Quoted from idealjoker:

You can increase that yourself with AD12.

No, I can't. The range for AD12 is 5 to 10.

#433 6 days ago
Quoted from Tuukka:

The range for AD12 is 5 to 10.

My game cannot get above 10, either, but I thought that your game should be able to, because I assumed it was a European game. (According to the Bad Cats manual, both French and Western European games have AD12 defaults above 10.) Based on the code, if you have a "language" jumper installed at W7 the maximum limit is 99, otherwise it is 10. I have not seen this documented anywhere.

#434 6 days ago
Quoted from idealjoker:

You can increase that yourself with AD12.

A bad solder joint like Tuukka suggested could explain that. I re-flowed my drop target connector joints yesterday, because I started getting the phantom switch hits back. I'll post here if the problems return.

All boards have been reflowed and had their connectors replaced though.
Worth a look.
I have replaced so many parts on this machine I am starting to doubt if I didn't replace that opto already a few months back.
I'll keep you guys posted.

#435 6 days ago

Great work, IDJ!
Looking forward to trying this revision!

#436 6 days ago
Quoted from idealjoker:

UPDATE -- Change Log for Release JP1.1
No more known bugs to fix and I have implemented the last of my planned improvements. I am planning to do some more testing this week and, hopefully, send a version out to the testers next week. This post describes the changes since the initial release version (JP1.0).
Game Rules Changes
All game rules changes should be considered tentative. Feedback is particularly welcome on these!

The Curiosity Spin is disabled (outlane lamps turned off) when an Extra Ball is awarded while Curiosity Spin is lit. The idea is that the CS should not be enabled for 2 balls, which it is with custom code and JP1.0 when you score an EB on ball 3 without cashing in the CS. (An alternative solution would be to keep the CS lit but do not light it when playing the EB. While writing this, I am beginning to wonder if this would be a fairer solution, because it enables the CS for exactly one ball.)
When playing with TCM easy rules (SEAFOOD) and the 20M shot it lit, the unlimited 1M shot remains lit until the 20M shot is scored (no change from JP1.0). In version JP1.0 the Trashcan shot was disabled during this progression so that the player would remain focused on the 20M. In version 1.1 the Goldfish Ramp and Drop Targets are disabled as well, for the same reason. (I don't think that it is necessary to disable the inlanes or Fish Target, but I can be persuaded otherwise.)
I have integrated the timer and singles-award rules for the drop targets. This change is particularly important when playing with hard (MEOW) or tournament rules. With JP1.0, drop target timers are always started when playing TCM with hard rules, or after the first Jackpot has been lit when playing normal or easy. With JP1.1 the timers are only started when more than one target is hit simultaneously. Essentially, this extends the TCM idea of the single targets as more valuable to the hard rules. The main side effect is that it has become somewhat easier to drop the 3 bank in hard mode, because accidentally dropping the three targets as singles only is not very rare. For me, the updated rules make the timed 5-bank (birds) much more interesting.
I tried but will not include the idea to change the target banks to award a letter with the first drop when playing easy rules, instead of pre-lighting the B-A-D letters. Most importantly, this change unbalances the game quite badly: For all but the most novice players, it makes lighting the Jackpot super fast, as it essentially just adds another letter to each target bank award. As a result, the Jackpot becomes much easier than the Extra Ball and 5M shot, which means that the game becomes much more linear. For the novice, the change does not aid progress toward the Jackpot. All it does it give them two quick, easy and totally random letter awards early in the game, followed by no more awards, even though they hit the same shots again.
Cosmetic Improvements

Bird-bank and 20M flasher threads react more quickly to outlane drains.
Several cosmetic improvements to the Cat Nap, including turning off all flashers.
Display FX no longer freeze during ball launch.
With stock ROM and JP1.0 there sometimes is a long delay before Curiosity Spin is started. This always happens when the Unlimited Million mode is running but also occasionally at other times. Two separate fixes were implemented to address this issue. Testing will tell whether I nailed it or not.
Bug Fixes

Typo in AD14 string.
Incorrect display of 20M score in AD22.
Blinking cat-eyes included Extra Ball lamp and had some other cosmetic problems.
Starting new game while running the Seafood wheel no longer keeps wheel spinning indefinitely. (Bad Cats stock ROM bug.)
When playing with the Fish Special (AD44 NORMAL and AD07 SCORE, or AD44 EASY), the probability of the Special award from the wheel in version JP1.0 continuously increases from game to game, thus awarding the Special more and more frequently until the game is reset to default adjustments (Factory Reset).
In JP1.0 both the Jackpot and 5M values are sometimes displayed incorrectly (or not at all) during scoring, even though the correct score is awarded.
Consistent with the game manual, AD15 now limits the maximum number of Extra Balls per game. (Bad Cats stock ROM bug.)
In JP1.0 it was possible for the 20M FX thread to be killed, leaving the game completely muted until a new start was started.
Playing easy rules in JP-1.0 causes a few thread-system overflows every game, when threads that should be started are not. Most of the threads that are not started are ball-search threads, which can be ignored safely since there is one started with every score event. Most of the non-ball saver threads affected are display FX threads, which also are not important for game play. Every once in a while, however, a Jackpot increase or a letter award can be missed. The fact that nobody noticed anything during testing suggests that these glitches only happen when there is a lot going on game-play wise, which makes sense. In have solved this problem by introducing killable "background threads" to the Sys 11 thread system. When a thread has to be spawned and the thread list is full, the system kills a background thread to make space. Later, when the thread system is no longer fulll, the background thread is restarted. I have not managed to force a thread-system overflow with the glass on or off since implementing this final change.
Other Improvements

Ensure that game is always unmuted on a ball drain, in case there is another bug affecting the 20M Shot FX.
Minor improvement to the bad fish handler.
Added code to ensure integrity of Jackpot temporary storage. (Not related to a known bug.)
Removed pointless call related to percentage Extra Ball award where the result is not used.
Carry out a "blind wheel spin" at the end of every wheel-spin-less game in order to avoid stacking high-value awards after multiple games are played without a wheel spin.

You mentioned that there is a ball search thread opened at every scoring event... While I was working on my machine (game was on), I bumped one of the slingshots and then a short time later, the ball search went off. I thought that was strange since the ball was sitting in the shooter lane. I think a game was active, but I hadn't plunged the ball yet, so the ball wasn't qualified yet. Is that normal or expected behavior? I typically never do that type of thing with the game on, but was kind of an unplanned, quick thing.

#437 6 days ago

Yes, that is normal behavior. 20 seconds after any scoring event the ball search kicks in unless the game has the ball search disabled in the mean time. The shooter-lane switch disables the ball search when a ball is served. But when you touched the sling you caused a scoring event, and this first re-enables the ball search before sleeping for 20s and then firing the eject solenoids. The game will try three this times before giving up.

Since we're on the topic: in my game the ball search is 100% useless. There are a few ways the ball can get stuck but none of them in a way that it could be freed with any of the solenoids. I'll probably get rid of it on my own game and see if that changes anything, for better or for worse.

#438 6 days ago
Quoted from idealjoker:

Yes, that is normal behavior. 20 seconds after any scoring event the ball search kicks in unless the game has the ball search disabled in the mean time. The shooter-lane switch disables the ball search when a ball is served. But when you touched the sling you caused a scoring event, and this first re-enables the ball search before sleeping for 20s and then firing the eject solenoids. The game will try three this times before giving up.
Since we're on the topic: in my game the ball search is 100% useless. There are a few ways the ball can get stuck but none of them in a way that it could be freed with any of the solenoids. I'll probably get rid of it on my own game and see if that changes anything, for better or for worse.

Interesting. I thought ball search only went if no switch had been triggered. I guess in this case it’s a bit of a moot point since you normally couldn’t hit any switch if the glass was on anyways. It just kinda caught my eye; hasn’t ever noticed that before.

#439 5 days ago
Quoted from idealjoker:

There are a few ways the ball can get stuck but none of them in a way that it could be freed with any of the solenoids.

Except maybe broken switch in doghouse or trash can. But anyway the game will be quite boring without either of those.

Quoted from idealjoker:

Based on the code, if you have a "language" jumper installed at W7 the maximum limit is 99, otherwise it is 10. I have not seen this documented anywhere.

Thanks, I'll try that. Hopefully it doesn't change the language to French.

#440 5 days ago

Language jumper would only affect on factory resets.

The code for the max 10 credit thing is silly - and takes up some needed bytes. I remove it either by necessity for byte shaving or just 'because'. The code in system 11 that auto-populates many settings depending on region doesn't have much relevance today where people will go in an tweak the settings for their liking beyond the standard.

I do think it's amusing that European settings generally are one step up in difficulty vs. domestic US settings - and the reason given is that 'the higher skill of the European market dictates this' - not that we're just making your game experience harder.

Once of the first successful hacks I did was make all my games back in the 2008-2010 era allow 99 credits, so I can load up the credits for parties/shows. (Yes, I have freeplay settings in all of them, too, but I like having credits on the games so I know how much I've been playing them lately or how many plays it gets at a party/show without checking settings)

#441 5 days ago
Quoted from slochar:

Language jumper would only affect on factory resets.

In both Pin Bot and Bad Cats, reading the jumper is one of the first things that the reset handler does, so this is done on every game boot. The code is identical in both games:

LDAA    PIA_2800(diagnosticIO_data)
STAA W7_language_jumper

After this, the sign flag of _W7_language_jumper is set when a jumper is installed. In Pin Bot the jumper selects German Language. In Bad Cats, the only thing it does is increase the max credits limit. I do not know why this limit is there, but I'd like to keep it, because it is consistent with the manual and because in general I try to not change things that I do not have to change.

#442 5 days ago

Would be easy to replace the pia reading with ldaa #0 and nop, and then fix checksum -but I also like to keep the original functionality, and go with the jumper.

If only the sign bit matters, ldaa #37 could be used to set sign bit 0 and keep the checksum correct.

ldaa $2800 = 96 28 00

ldaa #$37 = 86 37
nop = 01

96+28+00=be
86+37+01=be

#443 5 days ago
Quoted from Tuukka:

If only the sign bit matters, ldaa #37 could be used to set sign bit 0 and keep the checksum correct.

Nice patch idea, but the opcode for LDAA with a 16-bit address is $B6, so you'll have to increase the operand of the patch LDAA to $57, I think. I never worry about the check sum, though, because 7eleven deals with that automatically:

checksum_block_B000: .DB @CHECKSUM_BYTE

#444 5 days ago

You are right. And my patch, even if working, would leave the sign bit clear instead of set, meaning jumper not installed.

Thanks for the info on 7-11 checksum byte. One less thing to worry about.

#445 4 days ago

My game had W7 installed.

Cutting it, resulted in no limits in AD.12, even without factory reset. All OK, but looks like it works just oppositely than you described.

#446 4 days ago

Pinwiki:

Screenshot_2024-06-25-20-49-57-903 (1).jpegScreenshot_2024-06-25-20-49-57-903 (1).jpeg
#447 4 days ago

Looks like it handles the sign just oppositely. Jumper removed means unlimited credits.

I cant believe both Pinwiki and game manual are wrong?

#448 4 days ago
Quoted from Tuukka:

My game had W7 installed.

Cutting it, resulted in no limits in AD.12, even without factory reset. All OK, but looks like it works just oppositely than you described.

Thank you for checking! I don't have my game at home, but now that I am here I verified I also have a jumper installed at W7. But doesn't this mean that your patch would have worked after all?

#449 3 days ago

My patch setting the sign bit to zero would not have worked, since the W7 jumper when present sets PIA PA7 to 0. With jumper cut, 4.7k resistor pulls PA7 up, setting the sign bit of $2800 to 1, and that disables the max credit limit.
w7 (resized).jpgw7 (resized).jpg

Correct patch would be something like

ldaa $2800 = b6 28 00
b6+28 = de

lda #$15 = 86 15 load a with positive number
coma = 43 complement a, resulting a=$ea (sign bit set)
86+15+43 = de

but of course this is not needed if W7 is cut.

#450 2 days ago
Quoted from Tuukka:

lda #$15 = 86 15 load a with positive number
coma = 43 complement a,

Clever trick for keeping the checksum constant!

I have added two more changes to the list for version 1.1:

  1. There is now a nice little acknowledgment FX during the bonus count when the bonus multiplier has been maxed out.

  2. Sometimes I like aborting a lousy game while the last ball is still draining. With TCM 1.0 I lose the ball saver on ball 1 of the new game when doing that. I have begun implementing a cleaner way to abort a running game so that the new game is only started once the ball from the aborted game has drained.
Promoted items from Pinside Marketplace and Pinside Shops!
$ 449.00
Cabinet - Decals
Mircoplayfields
 
4,700 (OBO)
Machine - For Sale
Minneapolis, MN
$ 449.00
Cabinet - Decals
Mircoplayfields
 
$ 49.00
Playfields
NO GOUGE PINBALL™
 
$ 399.00
Cabinet - Decals
Mircoplayfields
 
$ 45.95
Eproms
Pinballrom
 
$ 27.00
Electronics
Yorktown Arcade Supply
 
$ 11.95
Playfield - Toys/Add-ons
ULEKstore
 
$ 19.99
$ 49.99
Eproms
Matt's Basement Arcade
 
$ 18.95
Eproms
Pinballrom
 
$ 54.99
Cabinet - Shooter Rods
Lighted Pinball Mods
 
4,300
Machine - For Sale
Phoenixville, PA
Hey modders!
Your shop name here
There are 461 posts in this topic. You are on page 9 of 10.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/the-cat-s-meow-a-new-home-rom-for-bad-cats/page/9?kp=0 and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.