(Topic ID: 323915)

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

By idealjoker

1 year ago


Topic Heartbeat

Topic Stats

  • 397 posts
  • 48 Pinsiders participating
  • Latest reply 10 days ago by hawkmoon
  • Topic is favorited by 47 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

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
LED Lamp (resized).jpg
Whats up (resized).png

Topic index (key posts)

12 key posts have been marked in this topic, showing the first 10 items.

Display key post list sorted by: Post date | Keypost summary | User name

Post #1 PROJECT ANNOUNCEMENT Posted by idealjoker (1 year ago)

Post #139 GAMEPLAY VIDEO -- Rules Selection at Game Start Posted by idealjoker (1 year ago)

Post #143 [obsolete manual section --- please ignore] Posted by idealjoker (1 year ago)

Post #164 GAMEPLAY VIDEO: Easy rules Posted by idealjoker (10 months ago)

Post #189 GAMEPLAY VIDEO: Hard Rules Posted by idealjoker (7 months ago)

Post #199 GAMEPLAY VIDEO: Lighting the doghouse Posted by idealjoker (7 months ago)

Post #264 RELEASE ANNOUNCEMENT (JP-1.0) Posted by idealjoker (4 months ago)

Post #267 COMPETITION: Find the Easter Egg Posted by idealjoker (4 months ago)

Post #287 JP-1.0 GAME MANUAL -- Start Button Menu, Game Rules and Cat Nap Posted by idealjoker (4 months ago)

Post #291 JP-1.0 GAME MANUAL - Game Adjustment Procedure Posted by idealjoker (4 months ago)


Topic indices are generated from key posts and maintained by Pinside Editors. For more information, or to become an editor yourself read this post!

You're currently viewing posts by Pinsider slochar.
Click here to go back to viewing the entire thread.

12
#3 1 year ago

If you run out of space completely I have lots of tricks to optimize 68xx code. Just from flight 2000 having five bytes free in the original and my rewritten code with lots of additions actually has fourteen bytes free now with many changes added.

#7 1 year ago
Quoted from idealjoker:

My compiler automatically optimizes short jumps and some sleep calls that use the "wrong" routine. I manually optimize other things; in BadCats so far I have found quite a few unnecessary statements, including zero-length branches, duplicate code, as well as superfluous instructions that look like they were probably generated by assembler macros.

Yeah, once you have everything 100% stable where you can move stuff around at will you can go heavy on the optimizations if you need to. You have a relative large amount of free space in the romspace right now, you probably won't use it all up unless you plan on really going heavy with more text and stuff like that.

#17 1 year ago
Quoted from idealjoker:

I am not sure that this is physically possible.

You'd have to change to a multiball trough.

Everyone always asks for multiball on games and I've done a few; here is a good way to tell if the layout is even a good multiball shooter.... just start a game and toss another ball in there and play it a bit and see if it makes 'sense'. Some do, some don't. I don't think Alien Poker makes sense as a multiball game that Oliver Kaegi did decades ago because the main goal in AP is to shoot the center bank in order, precision shooting isn't something multiballs are necessarily known for. Now, if there was a different goal during that, like lock 2 balls in saucers and THEN have a timeout while you shoot down the center bank, maybe. Kind of like Mousin' Around.

Quoted from Blackbeard:

Another one due for code is police force.

The 'take the high score' already has a tournament rom to eliminate or did you mean something else in there? I guess there's a lot of mystery shots on system 11 that might need equalization, and a lot of sys11 don't have a lot of 'depth'.... but that's kind of what I like about them. No modes per se. Although I did have a marathon game on f-14 yesterday after doing a mini rebuild on the upper left flipper that did end up like chopping wood, I didn't get 'bored', but it was a LLLLOONG game. I missed the hstd of 12.7 million by 500k (yes, my f-14 has dual 16 digit AN displays in it, with corresponding changes to the software).

#22 1 year ago
Quoted from SantaEatsCheese:

Run a wire down and mount a second switch in the trough to count a second ball.

Yes, this would close the switch every time a ball drained when only one ball was present, and kicking the ball into the shooter lane would open it again. However, you could set it up so that a switch trigger of less than 1/2 a second (like hitting the ramp) registeed as a ramp shot and anything longer than .5 seconds was considered a ball drain.

Logically this would work in all situations I can think of, excepting draining of the 1st ball in a multiball. You'd have to build in logic that if an outlane switch was hit within 3 seconds of that tripping it was a ball drain but there is nothing I have for SDTM that would prevent it from being registered as a jackpot... which in and of itself might be a pretty neat risk/reward decision. Drain your multiball on purpose and get a jackpot.

With that said I am not a programmer and have no idea how easy or hard any of this is. Just thinking out loud.

Bad Cats doesn't have that type of trough though. It's the older traditional one where the outhole switch IS the trough switch, without a holding area that multiball games have (along with the extra solenoid for the launch).

As for the smoothing of inputs, williams' games already do that for certain switches, so that part would be easy. Every williams multiball game with a multiball trough has coding to ignore short hits. Some of them also have coding to not count balls that miss the outhole switch; they will relaunch the ball. (All the way back to firepower, their first).

Now the way the flash multiball was done is that the switches were allowed to 'pile up' in the arpon area, with a switch added there; this isn't ideal, as you'd have to add a shield to the apron entry on Badcats to take care of this.

The only way to do it right would be to change the game to a multiball trough..... but that involves cutting the playfield open, or frankensteining a bally (think xenon) style setup in there.

Three ball diner is more doable since the parts are already present and it's just software (and deciding where the second ball should lock).

Changing the voices though unless the sound bite is already there for other food items.... just not gonna work.

1 week later
#33 1 year ago
Quoted from idealjoker:

In principle that's easy, too, but the lamp is also used for other things (solid: EB waiting; blinking: EB being served; also various lamp effects) that you have to work around.

You are using the SFX lamp matrix to do this right, not the main lamps? If you let the main lamp matrix handle the state of 'extra ball is earned', then you set the mask to use the sfx lamp, then blink just the sfx lamp for the ball saver. Very nice for pinbol to have this in there to allow this, it's a nightmare to do effects on Stern mpu200 games for instance since it's just a lamp matrix, and a blink matrix. Status in the lamp matrix (but also adds the blink matrix in, because the lamps are refreshed only from the main matrix.... so the blink matrix will actually turn off the main lamp...).

(mask +$10 from main, sfx +18 from main)

#36 1 year ago

Some of the other system 11 games have something similar. It likely makes it a lot easier to address groups of lamps I'd think.... some of the wipe patterns are a pain to encode manually (I'm thinking of the attract modes I added to early stern games, here.... my own fault, really, since I wrote the engine.... thought it would be simple to encode the bytes, nope.... if I was doing that one over I'd make a bunch of marcos instead to make my life easier.)

So the IRQ isn't handling the SFX lamps directly from $28? Where does the lamp engine get called, in the IRQ hook somewhere, and it's using the $Ex-$ff area instead? That's probably nice since the existing pinbol routines all look at the 'known' locations, so you can still use those for game state with the existing interpreter functions, then have your lamp effects do whatever you want without touching that. I assume there's functions to sync them up occasionally if needed?

How deep can the lamp thread effects go, one level, two, etc.? From what I've read on WPC stuff there's more lamp matrixes but they all do different things (mask to show, mask to block, etc.). It probably makes perfect sense if we had the design documentation in front of us.

Pfutz did the same thing in system 7 in one of his games, I forget which; and all the stuff he wrote at stern (seawitch and f2k particularly) he did some off-the-beaten-path stuff there too. The sound engines in his stern games were especially difficult to decipher vs. the normal stuff.

#41 1 year ago

Just make game start specifically check for those threads and kill them before starting the game.

#47 1 year ago
Quoted from rotordave:

Just a note re Diner - as it was mentioned - the only major thing I’d like to see is the Cup spin scoring made linear. As it is now (from memory) it goes like 250k, 500k, 750k, 1m then leaps up to 2.5m, 2.75m, 3m (something like that)
It would be much better if it didn’t jump up .. and just added 250k per spin all the way.

* CUP VALUES
; 0025
; 0050
; 0075
; 0100
; 0250
; 0260
; 0270
; 0280
; 0290
; 0300
; 0310
; 0320
; 0330
; 0340
; 0350

Looks like it tops out at 3.5 million. Jumps from 1m as you said to 2.5, then 2.6, 2.7, etc.
I'd think 3.5 would be one helluva spin, that's 15 go rounds. What happens if you take the glass off and artificially do this?

BTW you could make it top out anywhere along the way you'd want, just by changing the number to a max # - so if you wanted it to top out at 1 million, you just change all the values after that to 0100.

PM for details if you want to try it.

#50 1 year ago
Quoted from idealjoker:

Should there be an option in the adjustment to disable the 20M shot altogether? Should there be an option to award a score instead of an EB when the extra balls are disabled? I believe that some tournament ROMs have that.

I'm a firm believer in the 'put as many options as fit' in there for sure. Let the tournament director decide how they want to set up the game. Of course it's up to the programmer to text all possible configurations of this, and to make good documentation explaining exactly what the ramifications are if they aren't obvious. (Sometimes best to explain the obvious ones, as well.)

The old papa tournament rom just removed the curiosity spins altogether, along with the 20m shot on last ball being replaced with whatever it does on the earlier balls (5m I think?)

Pinbot stock I think does the sound delay thing, which is sometimes confusing when the effects are running long after you got the award. Noticeable on the extra ball when you rollover the lane and there's a pause while other things finish and then you get the extra ball fanfare after the ball is somewhere else on the playfield. There should be a cutoff for how long to wait, and certain effects should have way higher priority than they do.

Possibly replacing the current setup of (IIRC) the priority decaying naturally as the sound plays, which the new sound checks against, until the new sound can override it, replace it with a 'kill current sound, and play THIS one NOW, because it's the highest priority). Or if you do the queue, decide where in the queue to insert things, maybe sort them by priority before you run the effects, and limit the queue to 3 or 4 at most. The effects might run different on BC though if it's not keying off the sound timer.

3 weeks later
#73 1 year ago

How about making the skill shot random, but in a 3 ball game, you get all 3 of them? Same for all players to make coding easier.

Tournament players will always go for the 'safe' one shot type strategy on a game. It's a shame when they don't use the whole playfield and just a small part of it.

#77 1 year ago
Quoted from idealjoker:

Does anybody know if this drop target rule been used in a pinball game before?

Single drop in order on centaur but not really the same.
Alien poker as well but I'm sure you knew that one....

#79 1 year ago

I'm unluckier than you then when I had those games it wasn't a given when hitting both.

#84 1 year ago
Quoted from idealjoker:

Assuming it is not a software version issue, it seems that Alien Poker can be inconsistent. This is a bug IMO --- if I ever get around working on the Alien Poker code, I will look into this.

System 6/6a employs a switch queue of 3 switches, so I'm not sure how common it is/was. I don't think I would have gotten down 4 targets at once, but certainly 3.... and the lane change switch gets put in the queue every time you flip the right flippers. I'd think you'd have to make the switch queue longer, and add some code to check the order. The switch queue is probably populated in reverse order of the switches or something for this to happen (been a long time since I was in a sys6 game).

Quoted from idealjoker:

More to my original point, all three games reported so far have the rule that you have to drop the targets in order. That's not the same rule that I implemented for TCM, so for the moment I can still claim innovation

True, but make sure you call it out somehow so people know there's something different. This would be for casuals that aren't aware of the nuances of the romswap and might just be playing.

#91 1 year ago
Quoted from idealjoker:

To start a Cat Nap you press and hold one of the flipper buttons while pressing and releasing the other. This mutes the game and shows CAT NAP in the display. To end the Cat Nap (restart the music and game timers) you can either serve the ball (when the ball is in the shooter lane) or you can start a Cat Scan by raising both flippers for a couple of seconds.

This is a good idea to implement, however I don't think you should exclusively use the flipper buttons to start and stop this. I know without multiball people probably won't hold a flipper up while pressing the other in the way you describe, but some people do play that way (where you're holding the flipper depending on what you're doing). You could probably have it hold a flipper up, and press of the start button instead to start. The double flip or launch to get out of it is fine of course, and you'd have to trap the credit button routine to check for the flipper being held up but that's a scenario that's much less likely (unless you are only running your cat nap when the shooter lane switch is active?)

#93 1 year ago
Quoted from shimoda:

Really wish I understood the programming language behind this.

http://gamearchive.askey.org/Pinball/Manufacturers/Williams/PinBuilder/text/williams_lvl7_programming.html

System 11 is a superset of system seven. It's just 6800 assembly with an interpreter on top.

2 weeks later
#110 1 year ago

Make sure some of the options don't auto-install 5 ball options... some of the later system 11 games assume certain things depending on the preset, and will install the unique stuff for that preset, AND some of the other options. IIRC the 5 ball options get installed automatically if you set the balls 5 or above, and there is a 3 ball option as well for when you set it under 5.

So if you hijack the install 5 ball preset data, it might auto install if someone sets the game to 5 balls. It kind of "makes sense" that it was setup this way, but I don't like a singular option like balls per game implying the other options - I'd assume that "install 5 ball" did just that, not that the balls per game function also installed those presets.

#113 1 year ago
Quoted from dboeren:

I'm a programmer and while it's been a long time since I did any assembly code I'm sure I could pick it up.

Here's some straight 6800 code (for stern dracula/wild fyre) so you can see what's involved.
http://tsqmadness.com/slochar/SOURCE/DRAC_WF.ASM

In that same directory http://tsqmadness.com/slochar/SOURCE/ is some stern mpu200 games, which incorporate a similar setup to system 11's coding in that you've got an interpreter operating as well that's pinball specific.

The stern version of this is called "pigs".

The williams version of this is called "pinbol".

Some of pinbol is documented at: http://gamearchive.askey.org/Pinball/Manufacturers/Williams/PinBuilder/text/williams_lvl7_programming.html#compatibility which is system 7 specific, but it transfers over into system 11.

So the first thing you'd want to do is get some kind of disassembly going so that you can get some kind of source that will assemble true.... while you can do lots of successful mods with patching, IMO this gets sloppy *QUICKLY* and really hard to maintain.

I'm not a professionally trained programmer at all, just high school level courses, so probably most of what I put in the source pro assembler programmers could look at and cringe. (Some have).... but it works for me.

Due to copyright of course we can't distribute our recreated source code for anything else although I've often thought that I could just post the COMMENTS I've added to each line, and post that. The copyright to the comments would be the comment creator. You paste the comments next to your disassembly

#115 1 year ago
Quoted from interconnect:

I REALLY like that idea. I'd love to be able to easily go back and forth between TCM and the original rules. Would make it much easier than having to remove and reinstall the ROMs whenever you want to do that.

If there was enough memory available you could store the presets and switch back and forth with the flipper buttons before game start (assuming that the flipper switches on bad cats are read at the flipper button and not at the flipper like some are.... I remember putting in a bunch of stuff in a system 11 game assuming that the flippers could be read in game over, nope, only when flipping).

It wouldn't be as straightforward to modify for idealjoker but it could be done with some planning (assuming memory to hold all the settings in duplicate were available).

I have ZIF sockets in all my machines so rom swap isn't too bad, but I tend to pick a version and stay with it.... I'm probably biased since 90% of them I modded myself though.

#126 1 year ago

Does the stock ROM do that as well?

3 months later
#147 1 year ago
Quoted from idealjoker:

However, the original U26 ROM used by Williams is another 32KB 27256 chip, which means that you could not patch the unmodified L5 U26 ROM image with my patch.

This is likely an error by williams as the rom address space is still $4000-$FFFF on all system 11 boards. I've noticed that with some other system 11 dumps, not sure if they were right from WMS or not, where they doubled up the roms. Of course it's very possible they did this because stocking one type of eprom the 256 makes more sense than stocking 2 types the 128 and 256.

How we both wish that we had the full $0000-$FFFF space for roms code!

#154 1 year ago

TL866 should handle most of this era.

A better one that can handle more voltages:

https://www.mcumall.com/comersus/store/comersus_viewItem.asp?idProduct=4282

The 866 is the cheapest.

#156 1 year ago

eBay and jameco sometimes digikey.

8 months later
#278 4 months ago

Store the bu hstd as hex and convert when needed.

#299 4 months ago
Quoted from Tuukka:

OT, but I have always wondered why the tournament people want to cripple the games. If the rules allow extra balls, then why would they need to be disabled?
No need to start flame war on this

Time constraints mostly. I like the early SS games that I've modded to only give 1 EB per 'real' ball in play (so max 3) - especially on games like Stars where it's not lasting long anyway.

2 weeks later
#332 3 months ago

https://nintenscorner.wordpress.com/2020/02/16/how-to-create-and-use-xdelta-patches/

lots of videos and stuff as well if you want to watch on youtube

3 weeks later
#349 86 days ago

That bug is a Williams quirk it works that way in wpc as well.

#353 85 days ago
Quoted from LynnInDenver:

I think at the time, it was intended for exactly the idea of "limit the extra balls per ball" instead of "limit the extra balls per game"... a lot of early solid state games limited to a single extra ball per ball, and that likely would have still been the philosophy around the setting even by the time Bad Cats came out,

At least it was an option on Bally games to do this (no stacking of extra balls). The williams way was to allow it but limit it to "maximum number of extra balls at any one time". Early stern games experimented with add a ball stacking, but often the playfield doesn't lend itself to it.

I know people complained about it in tournament forums where they want to have one extra ball per game but Williams settings don't work that way, it's the at one time thing instead of an absolute limit. I think it's fun in a casual competitive situation to be able to win at least one extra ball. Most of the classic stern games I've modded I add a setting to do one extra ball available per 'real' ball in play - so max balls in a 3 ball game is 6 total.

Anything that gives flexibility in tuning a game to your liking I'm for, but at some point you run out of romspace, memory, or ability to adequately test every permutation of options.

#354 85 days ago
Quoted from Tuukka:

Ever since I owned a Bad Cats, I have been wondering how to get more than 1 EB per game, or am I just so lousy player I don't get it.

Set specials to extra balls or replays to extra balls. IIRC they all count as extra balls, replay/special routine checks the option and if it's extra ball, that routine runs. I don't even think they count the replay passage in audits in this situation, it all gets recorded as extra balls.

1 month later
#377 37 days ago

The schemes that williams used to generate randomness vary with game to game/system to system.... they're all pseudo random anyway since true randomness is difficult to acquire. The issue ends up being how they deal with the raw random number - they're usually manipulated in some way either using odd/even, truncating it at 16, or some other scheme, then comparing it to the list of valid values that you're looking to use. There's always a failsafe loaded so you get SOMETHING valid (or an error trap that uses some default) - and if they're really tricky they do an EOR on some value too (I'm looking at you, BSD....) to prevent a 'regular' result.

The way to fix it is to rewrite the random testing to do what YOU want it to do with the new results set, not what the original scheme with its weight is/was, or to intercept the results and again do it the way you want.

A test case I used is black knight's mystery score award on the gate. I ended up creating a table of random numbers I used google to generate and stuck it into a table. I made sure none of the generated table was too high or too low or too not-so-random, and I used the random seed in the game itself to pick a starting location in the table. Each player gets to start at the SAME starting location, so everyone gets "random" results, but they are "fair" random results because they always give the same score to each player.

That might not apply here in bad cats if the goal is to just manipulate the existing results, but you get the idea. For bad cats, there might be a hidden special percentage or jackpot award that's trying to goose it occasionally to reward the player - if so, just needs to be found and modified to not do this. Might be as simple as keeping track of whatever percentage is getting tested and changing it there.

#384 35 days ago

Usually the way they handle this weighting is they not only take into account the current awarded percentages, but also don't always give X as the award - there's a random flip on those as well. So perhaps idealjoker 's jackpot percentage was abnormally high, so the other percentages outweighed that one. On your machine, it's the other way around.

I'm sure he's combing through that area of the code now to get the formulae down so he can change it. I'd probably leave the existing and add a new one with the canned responses, that way when you select original rules it's all still there.

3 weeks later
#395 10 days ago
Quoted from Numiah:

When the replay award is set to extra ball, there's no knocker.
When set to credit award, there is.

Yeah, that's pretty much by design on all solid states (maybe not some gottliebs when set to add a ball or novelty, those knock 5 times). Most of the code for this looks like this pseudo code:

replay threshold passed - > check setting for payout - > if set to replay, go knock and award replay, if set otherwise, just go as if it were awarding that (extra ball or points).

Since the default behavior in other routines isn't to knock, that's why it doesn't - and the other thing it doesn't do is increase the replays awarded audit - it increases the threshold award audit and the extra ball one too. So you can't tell just from looking at 'extra balls awarded' how many of those extra balls are from replay crossing vs. actual eb awards without going to the other audit and subtracting.

It's nice that they put so many tracking options in games that 99% of operators ignored. I doubt there were operators that percentaged their games, as long as the cashbox was filling, it wasn't their way to question how.

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 15.00
Cabinet - Other
NO GOUGE PINBALL™
 
$ 19.99
$ 49.00
Playfields
NO GOUGE PINBALL™
 
$ 18.95
Eproms
Pinballrom
 
$ 12.50
Lighting - Led
RoyGBev Pinball
 
$ 44.99
Cabinet - Shooter Rods
Pinball Shark
 
$ 49.99
Eproms
Matt's Basement Arcade
 
$ 95.00
Cabinet - Sound/Speakers
Pinball Mod Co.
 
$ 11.95
Playfield - Toys/Add-ons
ULEKstore
 
$ 27.00
Electronics
Yorktown Arcade Supply
 
$ 54.99
Cabinet - Shooter Rods
Lighted Pinball Mods
 
$ 399.00
Cabinet - Decals
Mircoplayfields
 
$ 45.95
Eproms
Pinballrom
 
5,000
Machine - For Sale
San Jose, CA
Hey modders!
Your shop name here

You're currently viewing posts by Pinsider slochar.
Click here to go back to viewing the entire thread.

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?tu=slochar 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.