(Topic ID: 257420)

Opening Flight 2000 new software up to the community

By slochar

4 years ago


Topic Heartbeat

Topic Stats

  • 520 posts
  • 59 Pinsiders participating
  • Latest reply 11 months ago by slochar
  • Topic is favorited by 38 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

FF27EE49-26E0-41C9-9452-14C4E5105476 (resized).jpeg
8E3D5028-6D0D-456F-9C25-B864D7D4F3B4 (resized).jpeg
4CF83F1D-26CD-4B83-8AA5-2D495EB58DE2 (resized).jpeg
540379D2-560E-461B-B037-0E51B7E052A6 (resized).jpeg
57E0FB14-BDC7-46BD-A508-A26244FE2476 (resized).jpeg
IMG_2459 (resized).JPG
IMG_2460 (resized).JPG
IMG_2458 (resized).JPG
pasted_image (resized).png
Roms_Photo (resized).JPG
2732_Remark.jpg
IMG_5443 (resized).JPG
20200918_091216 (resized).jpg
20200918_091101 (resized).jpg
walker decision tree.png
flight 2000-speech board modification.png
There are 520 posts in this topic. You are on page 6 of 11.
#251 3 years ago

YES! That is a great sound to use from Big Game.
Also the Max out the bonus celebratory sound just before it counts up the bonus at end of ball on QS.
And the sound of the bonus count down has great sounds. Pops sounds on that game too are uniquely wonderful sound.
And of course the left saucer kickout sound on QS.
On Star Gazer, the sounds of hitting the standups particularity when you have gotten a few racks of Zodiacs down.

Quoted from slochar:

What sounds, specifically, would be a good lift from those games into flight? The sound I always try and poach is the 25k sound from Big Game - I love that mmmmvvoooott sound.

#252 3 years ago
Quoted from zacaj:

I'm talking about the part where the pops don't fire. Seems like a noticeable issue with how much pulsing is needed during the walk.

Yes, that is what I'm working on by changing the continuous solenoid to act as a momentary, because it can be active while other solenoids are active. That's going into the machine to test now.

Quoted from DRDAVE:

YES! That is a great sound to use from Big Game.
Also the Max out the bonus celebratory sound just before it counts up the bonus at end of ball on QS.
And the sound of the bonus count down has great sounds. Pops sounds on that game too are uniquely wonderful sound.
And of course the left saucer kickout sound on QS.
On Star Gazer, the sounds of hitting the standups particularity when you have gotten a few racks of Zodiacs down.

But where would you use these sounds? Flight 2000 overuses the "kapow" sound for sure (due to space no doubt in the original code).

Maybe during multiball the sounds change? I'll have to see how much space the sounds take up - with the swap of the walker solenoid there's going to be significantly less space, again. I don't think there's anything wrong with most of the f2k sounds as they are. I was intending the big game sound for the sweep award.

EDIT:

Just checked, back to 2 bytes free in upper rom, and about 14 in lower rom - so no space. The sounds take up a relatively large amount of space.

That's not to say that a special edition weebly board couldn't be used for its extra capabilities for a special edition of the modified software.

#253 3 years ago

I am in the testing phase of swapping the walker from a momentary to a continuous with timer solenoid - making the knocker a proper momentary, and more importantly, enabling the walker to move independently from the pops and slings.

So far, so good, multiball started, I shoot one ball up into the walker, other 2 balls in play while walking, no issues with solenoids firing properly.

I'll have to double check that the connectors aren't going to be an issue, it's one wire removed from j2 and put into j5, and the corresponding wire in j5 moved back to j2 (if you add a knocker, otherwise, you can just leave it taped off as its the coin lockout wire.) I think this is better than fooling around with a pop bumper driver board's timing resistor and cap - the timing is exactly the same as the stock timing for the walker to walk.

Because the timing of the walker solenoid no longer impacts switch response, I might remove the 'wait' from the left spinner shot, during multiball only, so you can get some quicker action there. That would also help if you happen to shoot 2 balls into the walker at the same time; with the previous wait for the spinner version, I've done that once or twice and while it did recover nicely, it's possible that it wouldn't since it seems the correct operation of the switch is to not be closed while sitting in the top slot on the walker - that's probably why they call for a switch cap on that switch. I don't recall if I put once on there when I did my PF swap like 15 years ago or whenever CPR released the PF.

I will post the updated file at the usual location once I playtest it a bit more - there's going to be a *HUGE* warning attached to the file because it is possible depending on the setting of DIP14 where the solenoid signals go to, and for how long. If you don't install the knocker at all, nothing would happen except that it wouldn't walk.

Still going to work on a startup delay on the trough switches as well, similar to the original startup but without the very long series of code.

As for romspace savings, high rom is now full again, and low rom has about 16 bytes free. Oh, and if I didn't mention it previously today, I have the right spinner quickshot will blink all of the already lit spinner lamps when active to cue you to shoot it.

Going to play with the 2x/3x timing again tomorrow.

#254 3 years ago

This is awesome, I haven't read through the entire thread yet but I've got my 2 cents to throw in real quick....F2K will never leave my lineup first of all and the one thing that I think should change would be when you rip the left spinner the points stop soon as the ball hits the locking mechanism and my spinners rip forever so I don't like part of the game.

The only other thing I don't like(on mine at least) is sometimes when the ball travels across the downed drop targets it sometimes gets stuck on them, so a target reset would be cool, like a ball search but im not sure that could happen.

#255 3 years ago
Quoted from Brazy:

This is awesome, I haven't read through the entire thread yet but I've got my 2 cents to throw in real quick....F2K will never leave my lineup first of all and the one thing that I think should change would be when you rip the left spinner the points stop soon as the ball hits the locking mechanism and my spinners rip forever so I don't like part of the game.
The only other thing I don't like(on mine at least) is sometimes when the ball travels across the downed drop targets it sometimes gets stuck on them, so a target reset would be cool, like a ball search but im not sure that could happen.

The new code not only waits for the spinner to stop, it counts the spinner ripps for you!

#256 3 years ago

Can someone check the lock lanes switch wireform and confirm that it's a 'cut' one?

I.e. like this \ viewed from the side and not /\ like most switch wire forms are.

Does the ball sit in front of the \ like this: o\ or does it sit ON the switch like this: o_ (holding it down)

I think the ball on mine sits too far forward, or that I possibly need to add/replace the needed switch cap on there as with a fast ball lock, the game says lock one, but the walker doesn't move - trying to determine if this is a software fault in the newly modified code, or if I've got a recurring physical issue.

#257 3 years ago
Quoted from Brazy:

This is awesome, I haven't read through the entire thread yet but I've got my 2 cents to throw in real quick....F2K will never leave my lineup first of all and the one thing that I think should change would be when you rip the left spinner the points stop soon as the ball hits the locking mechanism and my spinners rip forever so I don't like part of the game.

Stern actually has a specific flag in their code to *PREVENT* spinner scoring when a ball is walking and launching. Boo!! This is already fixed.

Quoted from Brazy:

The only other thing I don't like(on mine at least) is sometimes when the ball travels across the downed drop targets it sometimes gets stuck on them, so a target reset would be cool, like a ball search but im not sure that could happen.

This isn't a software issue. If you mean the 3 bank drops, there's a bit of a 'lip' on the metal ball guide that the ball can get stuck on - you need to mount something in there to give it a little slope so this doesn't happen. (Moving the guide over isn't ideal because it will hit the first drop too hard and prevent any hope of sweeping them, not that that happens too often anyway.)

I need to add something to my game as well because I have a pretty wide gap there. You wouldn't want the ball to be sitting there and have the drop bank reset as it would shoot the ball directly up into the glass. On the 5 bank when this happens because of the lip on the plastic above the drops I'm always thinking it's going to break the plastic, but I also hold my plastics on with rubber nuts instead of the metal ones so that the plastic just pops off instead of cracking.

#258 3 years ago

Just took some pics of the ball walk area / lock lanes on my F2K to compare yours to.

F2KLOCK1 (resized).jpgF2KLOCK1 (resized).jpgF2KLOCK2 (resized).jpgF2KLOCK2 (resized).jpgF2KLOCK3 (resized).jpgF2KLOCK3 (resized).jpgF2KLOCK4 (resized).jpgF2KLOCK4 (resized).jpg
#259 3 years ago

Yeah, I definitely broke something in the software. One of the things I forgot about was I put a large "CAUTION" in there concerning a jump table that if it bled over a page boundry, to correct it. Completely forgot about it and it was causing more crunching efforts to go astray but when I woke up this morning I realized I completely forgot about that section.... consequently I was able to use a different crunch technique this morning and I now have about 80 bytes free again to play with adding stuff.

The walker stopped walking when it should once I changed the solenoid from a momentary to a continuous.... going to check this out in a couple minutes. Assuming it works in the machine I'll tackle other things. It is a shame because the first test with the walker during multiball was a big success - no sling/pop THUD.

For the extra bytes I hope I can find a sound effect or 2 to transplant.

#260 3 years ago

Following to get this burned when all your improvements are done. Definitely a great game choice to upgrade!

In for modifying walker solenoid too.

#261 3 years ago

Any thought given to expanding the speech vocabulary?

Being the first Stern game with speech, F2K is a little limited in respect to the other 5 games which use the VSU, and only occupies one of the two 2716 proms. There's plenty of free space to add extra words if the game rom were configured to play them.

#262 3 years ago

Yes, there was some thought to that. It might end up being a little tricky as I don't know anything about how the speech roms work 100% yet.

I did slice and dice some of the existing speech to add new phrases. I asked in a previous message what other games might be good to grab speech off of - orbitor 1's "tilt" is an obvious one.

I wouldn't mind swiping the "coin detected in pocket" from berzerk as well. The current speech rom is full right now. Apparently, there is something quirky about the speech cpu in that it requires a certain type of eprom to work.

Right now I'm at an impasse going to versions higher than v35 (the current version posted at allentown pinball) - I've had to rollback the changes from 35-43 as I broke something really badly in the ball walker code when I changed the code from momentary to continuous, and I can't fathom what changed; I do know that a lot of other stuff started to break as well. I'm wondering if I'm dipping too low into the stack sometimes - lots of the crunching techniques depend upon reusing other subroutines.

I'm going to fall back on the expanded memory of barakandl 's weebly board to get the ball walking solenoid swap sorted before I try to do the crunching again.

#263 3 years ago

ok, I'm narrowing this down...

The stack isn't dipping too low, I wrote some code to display at all times when the stack falls into $240, $230, $220, and $210. I have yet to see it at $230 it dips into (below) $240 as soon as you start a game - so the stack bottom is between $230 and $240. That's really good, because it means that I'm not clobbering the virtual ball registers, and that there might be some room to use the lower part of the stack if needed (stock, the game uses $200-$20f already).

I'm adding back in crunch code that I added between 36-43, and I think I've found where I've gone wrong - on the first try. (well, maybe 2 things). One of the most commonly used pigs functions is "checklampvalue" - 131 times in the code. Uses 2 bytes, one for the function and one for the parameter. So I had written some code to do this on compilation:

If function is checklampvalue, $parameter AND parameter is >7f, create byte code: $21 $parameter. This is the original way the function always worked.

If function is checklampvalue, $parameter AND parameter is <$80, create byte code: $parameter+$80. This is a new way to do this, and saves one byte per function $21 where the parameter is <$80.

Then, in the pigs engine, when you load the function from a pigs script, if the sign bit is set, transfer the byte to B, clear the sign bit, and set the command to $20, check lampvalueinB.

A couple things went very south here:

First, some lamps were not turning off when collected, notable when the BLAST or OFF is completed - it would turn it on the left lane, say "BLAST" or "OFF", but leave the last letter lit... unless you collected it from the spot letter quickshot.

Then, the walker would have errors again. This was the second bug, when I added attract mode speech code, it didn't take into account that I was using the locations that were for the currently up player and the current ball in play - normally not an issue, since the attract mode is only running at game over. BUT, the attract light show is ALSO used at multiball start! So through an unfortunate series of tragic events, the attract mode speech timers were blanking the ball in play. Oops.

I've added a check for the attract situation to see if it makes a difference in the older 43 branch before (finally) abandoning that one. I had that source 1/2 commented up all nice and pretty too, with lots of explanations in the text so people could follow along if interested. Temporarily, I'm taking off the check lamp crunch to see if it makes a difference.... if it does, I'll try and debug that, because it's really needed to crunch into the original rom footprint - for about 9 bytes of check code, you can save about 100 bytes.

#264 3 years ago
Quoted from slochar:

I'm going to fall back on the expanded memory of barakandl 's weebly board to get the ball walking solenoid swap sorted before I try to do the crunching again.

Understood - thanks for your efforts!

Quoted from slochar:

Apparently, there is something quirky about the speech cpu in that it requires a certain type of eprom to work.
again.

If anyone had details on that, I'd love to know more

I've spent the past week or so tinkering with the speech roms, and I've got no reservations moving the phonemes and words from other games to make a new rom set.

#265 3 years ago
Quoted from pure_penalty:

I've spent the past week or so tinkering with the speech roms, and I've got no reservations moving the phonemes and words from other games to make a new rom set.

I'd be interested in anything you come up with from that - Quench gave me the info on the eprom. I'll possibly try a 2732 in the speech board this weekend to see what goes on there.

I'll look in the pinmame source to see what the vsu1000 driver does that will probably give a clue to what's involved. It would be nice if someone could engineer new speech for the original hardware.

#266 3 years ago

This looks like a pretty good place to start for new speech!

https://ia802708.us.archive.org/7/items/pdfy-QPCSwTWiFz1u9WU_/david.pdf

Edit: and this one gives more detail about some of the phoneme format: http://www.vintagecalculators.com/html/development_of_the_tsi_speech-.html

#267 3 years ago

Is there a way of playing the voices in PinMame using the Sound Command mode?

#268 3 years ago
Quoted from slochar:

I'd be interested in anything you come up with from that - quench gave me the info on the eprom. I'll possibly try a 2732 in the speech board this weekend to see what goes on there.

The speech processor has 12 address lines (A11-A0) so supports up to 4kB external ROM. Flight 2000 has a 2kB Speech ROM so you have the capability to double it. The VSU100 U9 socket is wired directly to support a 2716 or a 2532. Installing a 2732 will require mods, alternatively you can add a 2716 in U10.

Quoted from Zzap:

Is there a way of playing the voices in PinMame using the Sound Command mode?

I don't think the hooks are in place for the speech board emulation.

#269 3 years ago
Quoted from slochar:

I'll look in the pinmame source to see what the vsu1000 driver does that will probably give a clue to what's involved. It would be nice if someone could engineer new speech for the original hardware.

I think creating new sound samples for this part would be a challenge. However given the variety of words used across all games gives a solid foundation from which to create new speech without too many issues. The additional benefit that everything should sound fairly consistent.

I have not looked in pinmame. I wrote a tool to extract the full word table - here is speech from the original rom: http://ef9a.com/f2k/flight2k-words.wav

I'll see if I can create a new rom today with the added words from orbitor 1 and berzerk: TILT, COINS, DETECTED, IN, POCKET

#270 3 years ago
Quoted from Zzap:

This looks like a pretty good place to start for new speech!
https://ia802708.us.archive.org/7/items/pdfy-QPCSwTWiFz1u9WU_/david.pdf
Edit: and this one gives more detail about some of the phoneme format: http://www.vintagecalculators.com/html/development_of_the_tsi_speech-.html

Thanks for the links - that's new info for sure for me the pdf.

I wonder if you could add the 'L' sound from "like" to "fight" to make "FLIGHT" then take data from the calculator too couple the existing "2" with "thousand" to have the game say its own name?

It seems like new words could be created with the data chopped up?

Quoted from Quench:

The VSU100 U9 socket is wired directly to support a 2716 or a 2532

I'll just burn it on a 2532 then. No sense in reinventing the wheel, right??

I'm now spoiled in that after playing with the quickshot lighting the right spinner lamps I really miss it. Going to do some more investigation as to what I've broken - it's so bizarre that an encoding change of the pigs byte could break so much stuff.

#271 3 years ago
Quoted from slochar:

I'll just burn it on a 2532 then. No sense in reinventing the wheel, right??

Actually it'll make life easier for yourself during testing to use two 28C16 EEROMs (electrically erasable) - presuming you have them. No board mods required.

#272 3 years ago
Quoted from Quench:

Actually it'll make life easier for yourself during testing to use two 28C16 EEROMs (electrically erasable) - presuming you have them. No board mods required.

Nope.... should probably get some. I read your original response as a 2532 would just pop into U9 and work but I guess not.

Do they work on the Minipro? I don't see an erase function for that definition.

#273 3 years ago
Quoted from slochar:

I read your original response as a 2532 would just pop into U9 and work but I guess not.

A 2532 in the U9 socket will directly work with no mods needed. Was just suggesting two 28C16 during testing phase for quicker rewrites

I've only used SEEQ branded 2816A (hard to get now) and used the XICOR manufacturer in the Minipro software which worked fine. But MiniPro directly supports Atmel and Catalyst 28C16 which should be easy to obtain.

#274 3 years ago
Quoted from slochar:

Nope.... should probably get some. I read your original response as a 2532 would just pop into U9 and work but I guess not.
Do they work on the Minipro? I don't see an erase function for that definition.

I've been using AT28c16 and AT28c16b for all my 2716 needs with my MiniPro

#275 3 years ago
Quoted from Quench:

A 2532 in the U9 socket will directly work with no mods needed. Was just suggesting two 28C16 for quicker rewrites while testing
I've only used SEEQ branded 2816A (hard to get now) and used the XICOR manufacturer in the Minipro software which worked fine. But MiniPro directly supports Atmel and Catalyst 28C16 which should be easy to obtain.

I see some of the definitions have 'erase before' and some have it greyed out (without it being checked). I'm sure something can program as it like you said.

I don't plan on delving too deeply into rearranging speech at this point - mainly to see what pure_penalty comes up with. My hands are full fixing whatever I broke between v35 and later ones, then attempting to re-crunch it down again to fit in the original footprint. I'm sure it's something dumb, like forgetting that I put a big "CAUTION" in the code to re-enable MSB incrementing on a pointer that crosses a page boundry, which of course I completely forgot about. It's in a section of code I rarely look at (the sound engine) since I'm not doing any mods there.

Quoted from zacaj:

I've been using AT28c16 and AT28c16b for all my 2716 needs with my MiniPro

Thanks zac I'll see if I can get some of those eventually.... shipping will be sometime in June at this point.

Do they make an EE version of the 2532? That might be handy to have around.

#276 3 years ago
Quoted from slochar:

I see some of the definitions have 'erase before' and some have it greyed out (without it being checked). I'm sure something can program as it like you said.

You don't need to erase 2816 from what I remember, just write your new data to the chip and it overwrites the old info.

Quoted from slochar:

Do they make an EE version of the 2532? That might be handy to have around.

I wish... Searched high and low and couldn't find any.

BTW I don't know if you noticed, the MiniPro guys released a new programmer about 2 months ago apparently with 25V programming support.
http://forums.xgecu.com/redirect.php?tid=19&goto=lastpost
The software is still bare and in development so I don't know if they've added proper 2716 support, but they mention future support for "<User-added chip> Function" which might be interesting. But it's not cheap. Still to early too consider - maybe down the track when the software matures.

#277 3 years ago
Quoted from slochar:

Do they make an EE version of the 2532? That might be handy to have around.

I wish... Have only found the 16s and 64s.

Quoted from Quench:

You don't need to erase 2816 from what I remember, just write your new data to the chip and it overwrites the old info.

When you do a burn, it first has a quick progress bar for 'erasing', and then it does the write and verify stages. Just happens automatically

#278 3 years ago
Quoted from Quench:

You don't need to erase 2816 from what I remember, just write your new data to the chip and it overwrites the old info.

I wish... Searched high and low and couldn't find one.
BTW I don't know if you noticed, the MiniPro guys released a new programmer about 2 months ago apparently with 25V programming support.
http://forums.xgecu.com/redirect.php?tid=19&goto=lastpost
The software is still bare and in development so I don't know if they've added proper 2716 support, but they mention future support for "<User-added chip> Function" which might be interesting. But it's not cheap. Still to early too consider - maybe down the track when the software matures.

Nope, I had not - that's interesting since they said they were removing the 21v for the II version (not sure if they ever did.... I should probably pick up a II and just try it out.)

Off to order some 28c16!

#279 3 years ago
Quoted from slochar:

I wonder if you could add the 'L' sound from "like" to "fight" to make "FLIGHT" then take data from the calculator too couple the existing "2" with "thousand" to have the game say its own name?
It seems like new words could be created with the data chopped up?

Absolutely. I like that idea - I think "thousand" can be pulled from the freefall rom.

Anyway, first crack at what I mentioned above - extra words tacked on to the end of the rom. Plenty of room for more too...
U9 + U10 for download: https://ef9a.com/f2k/F2KSNDv1.zip
WAV demonstration: https://ef9a.com/f2k/flight2k-v1.wav

I added more padding than is typically used in the syllables table when making extra space for new words, though I don't think it will cause any problems when decoded by the "CRC"

Extra word addresses:
0x15 TILT
0x16 COINS
0x17 DETECTED
0x18 IN
0x19 POCKET

#280 3 years ago

Awesome! Added this into the code and am now using the freefall definition in pinmame to test - I'll have to get it into the machine and test as well. Still working on bugs and crunching. It now tilts and says TILT before the sound effect, and currently the game start speech is changed to coins detected in pocket, but just for testing. I'll add that to the game over routine if you have no credits.

#281 3 years ago

Combined the u9 + u10 images using copy /B u9+u10 and burned onto a 2532. The 'tilt' speech works, but the coins detected do not - I get silence. I figured the board was expecting u10 to be populated as well as if it were a 2716 in each slot, so I burned another 2532 and stuck it in u10 - which got me no speech at all. Swapped one 532 for the other as well, both work when the single chip in u9, other than the missing speech, but both in and no speech at all.

I'm going to assume that I need to change something as highlighted in the schematic piece here (or that something is blown in that section) in order to just have one 2532 installed, since it looks like u10 is expecting to be active based on status of A11 ($800 range) being low, when there are 2x2716's installed (which I currently do not have any good chips for, nor a way to program them unless I get my ancient data i/o fired up again).

Maybe just clipping R46 out of the circuit would do it?

flight 2000-speech board modification.pngflight 2000-speech board modification.png
#282 3 years ago
Quoted from slochar:

Combined the u9 + u10 images using copy /B u9+u10 and burned onto a 2532. The 'tilt' speech works, but the coins detected do not - I get silence. I figured the board was expecting u10 to be populated as well as if it were a 2716 in each slot, so I burned another 2532 and stuck it in u10 - which got me no speech at all. S[quoted image]

I think it make sense you hear nothing with both chips in since pin 18 (EP functioning as A11) won't disable the 2532 as it would on the 2716 and therefore both chips are probably trying to send data at the same time.

It looks like the single 2532 should work in U9 with nothing in U10. What seems odd about the behavior you noticed is that the data for "TILT" is located past the 0x800 boundary in that rom image, which makes it seem like it is working:
word 0x126 (TILT)
phone address: 0x860 flags: 0x1f ['LEN: 14', 'REP: 6']
phone address: 0x860 flags: 0x1f ['LEN: 14', 'REP: 6']
phone address: 0x860 flags: 0x7e ['P_MIRROR', 'P_SILENT', 'LEN: 14', 'REP: 4']
phone address: 0x880 flags: 0x48 ['P_MIRROR', 'LEN: 4', 'REP: 0']
phone address: 0x880 flags: 0x75 ['P_MIRROR', 'P_SILENT', 'LEN: 10', 'REP: 2']
phone address: 0x860 flags: 0x9f ['P_LAST', 'LEN: 14', 'REP: 6']

Just an extra thought. Are the VSU volume and clock speed commands sent before playing the "coins" phrase?

#283 3 years ago

Assuming that's the command it seems precedes all speech of $1a, $42 - yes.

But I also added what works in pinmame as a modify to raise the pitch - $7e after $1a,$42. I'll remove that and see what goes on with it.

I managed to crunch down the code again after making a boneheaded error to fit within the mpu200 u2/u6 again, but I need to add some more code.... and a very strange bug is now occurring - the ball in play display counts up really slowly as if you are hitting the spinners and just keeps counting up. It's really weird - it doesn't happen in pinmame testing. (Groan!!)

The hardest things to find and fix.....

#284 3 years ago

I think that might be the culprit.
The first three bits of the command set the decoder clock speed through the mux connected to the 555, the second three bits set input attenuation through the mux on the volume op-amp. '111' would effectively be off!

Would not be surprised if this does not simulate correctly!

#285 3 years ago

Brilliant work @pure_penalty, after I read the docs yesterday I started some work on a decoder, but you are light years ahead

#286 3 years ago
Quoted from slochar:

I'm going to assume that I need to change something as highlighted in the schematic piece here

Pin 18 on a 2532 is address line A11.
Pin 18 on a 2716 is /CE (active low Chip Enable).

At the U9 socket, when address line A11 is low at pin 18, it enables access to a the 2716.
The Q1 transistor in that diagram above is basically an inverter for the A11 address line going to the U10 socket.
So when A11 is low, it reads the 2716 at U9. When A11 is high, it reads the 2716 at U10.

Now when you have a 2532 in the U9 socket, it is responding with both halves of the data you need.

Quoted from slochar:

But I also added what works in pinmame as a modify to raise the pitch - $7e after $1a,$42.

Quoted from pure_penalty:

The first three bits of the command set the decoder clock speed through the mux connected to the 555, the second three bits set input attenuation through the mux on the volume op-amp. '111' would effectively be off!

When I was helping a guy with his Flight 2000 speech board in the tech threads a few months ago, I noticed that the volume attenuation bits sent to the speech board emulation in PinMAME didn't seem to make any difference in volume, so it might not be emulated properly but I didn't investigate it further.
So @slochar, sending '111' as the volume attenuation might work in PinMAME but effectively turns the volume off on the real board as pure_penalty mentioned. Look at U1 on the VSU-100 schematics.

BTW, from memory there's an error on the VSU-100 schematic (top left corner) relating to the lamp board bits used for the sound command/control. Bits PD2 and PD3 are reversed. i.e. connector J1-5 is really PD2 and J1-4 is PD3

#287 3 years ago

I need to read that documentation more closely so I can perhaps slice and dice some stuff myself. I wouldn't mind having a "TWO EXCS" and "THREE EXCS" to call out when the playfield multiplier goes up/down. Heck, even have it say "2x playfield" and "3x playfield" - there's not a lot of sound effects in the maze area during multiball anyway to get stomped on.

At any rate, thanks to me making a classic typo in the macro file (which is why it was so hard to find....), I now have a semi-stable codebase working in the original footprint with a couple of bugs to iron out.

The coins detected in pocket speech works now as well, so that will be moved to the attract mode/at game over if there are zero credits. Game over sound effect, then about a ten second pause, then the phrase.

There are still occasional times where the ball walker should walk and it didn't. I have a spare flag to use for that. In testing, I managed to get the 3x going and then get TWO balls up in the walker, and it seemed to handle it ok, EXCEPT that the lamps went INSANE - but that turns out to have been me shaking a bit boisterously and since I'd had the vsu-100 in and out a couple times, the jumper from the lamp board to the speech board is a little flaky.

I'd really like to know why I can't crunch the checklampvalue command down though, I managed to use the lampbvalueoff into one byte, but the check lamp value just doesn't work. There are probably instances in the code where they check a lamp value, do something else that changes the condition register in assembly, and then the pigs code tests the previous condition register (pigs doesn't look at the condition register directly, it always looks at a saved copy of it after comparison commands).

I've got 3 bytes free in low rom and 12 in high rom to change that attract speech and fix some bugs. If I can get the checklamp crunch working instead, I'll have 36 in low rom and 26 in high rom. Although I think when I re-rolled it back in, I didn't put the dip test for the walker solenoid swap in there yet. I'll have to take care of that.

#288 3 years ago
Quoted from Zzap:

Brilliant work pure_penalty, after I read the docs yesterday I started some work on a decoder, but you are light years ahead

Thanks! I definitely had a little bit of a head start
I definitely don't envy whomever packed these roms in the first place.

Quoted from slochar:

I wouldn't mind having a "TWO EXCS" and "THREE EXCS" to call out when the playfield multiplier goes up/down. Heck, even have it say "2x playfield" and "3x playfield"

Getting an an appropriate "X" is no problem. Thoughts on "ENABLED" instead of "PLAYFIELD" ? maybe both? either of those will require more complicated splicing rather than just transplanting the word

#289 3 years ago
Quoted from pure_penalty:

Getting an an appropriate "X" is no problem. Thoughts on "ENABLED" instead of "PLAYFIELD" ? maybe both? either of those will require more complicated splicing rather than just transplanting the word

I'd assume creating a new entry instead of just copying and adding one? One might sound better than the other.

I went through the Gottlieb phonemes at one point and was creating new ones..... that never went into a game though. I still want to tackle that on Black Hole at some point, likely as part of my transplant of the weebly board into that platform.... that's a very long term project.....

#290 3 years ago
Quoted from slochar:

I'd assume creating a new entry instead of just copying and adding one? One might sound better than the other.
I went through the Gottlieb phonemes at one point and was creating new ones..... that never went into a game though. I still want to tackle that on Black Hole at some point, likely as part of my transplant of the weebly board into that platform.... that's a very long term project.....

The SC-01 used on the Gottlieb sound board is neat in the regard that it "just" needs a stream of phonemes to play. The S14001A knows nothing about sound, so they are all bespoke to the individual rom. Naturally, adding anything means readdressing all the existing data to make space in the words and syllable tables and then copying over any of the sample data needed from other images.
Creating new words from combinations of samples can range from very straightforward, to very guess and check! (I spent way too long making 'enabled' sound passable)

Here is an updated image which now contains "X" and "ENABLED"
0x1a: X
0x1b: ENABLED
0x1c: ENABLED (don't reference this one! its a placeholder for a future additional word

U9 + U10 images as one U9 file: https://ef9a.com/f2k/F2KSNDv2.zip
WAV example: https://ef9a.com/f2k/flight2k-v2.wav

#291 3 years ago

Awesome, thanks for adding these on! I'm guessing the sound rom might be getting kind of full now.

I've cataloged the routines that mess up when I'm using the crunched checklamp code to hopefully figure out why it's messed up. I'm reasonably sure it's because the B register is changed to something it shouldn't be. I found some more stuff to shave out as well..... we talking 2, 3 bytes, max.

The 'coins detected in pocket' soundbyte works at the end of the game, after the game over sound plays, if you have zero credits, it plays it. Cute

#292 3 years ago

No problem - it's a neat project.

Believe it or not, I think the speech rom still has about 1K free - if anyone has ideas!

#293 3 years ago

"wow" (I think this one is already in oribitor 1 IIRC, if you beat the hstd or the high time to date)
"lit"
"extra", "ball"
"special"
"shoot", "again" (shoot pinball again is in O1)
"spinner"
"Is"
"great score"
"skill", "shot".

#294 3 years ago

Are you doing a lot of manual hex editing to pack the rom pure_penalty ? I can envisage a type of assembler might be handy for this - especially creation of new words from phonemes etc...

#295 3 years ago
Quoted from Zzap:

Are you doing a lot of manual hex editing to pack the rom pure_penalty ? I can envisage a type of assembler might be handy for this - especially creation of new words from phonemes etc...

Aw, cmon there's nothing like hex editing code! It's fun

I did a major mod to F14 about 8 years ago all with hex editing and boy oh boy trying to figure it out later on.... forget about that..... what a mess. Ditto with Black Hole, that's a major mess (I haven't found a 6502 cross assembler for the PC that I like yet.... although the mac65-like one is ok, but it assembles into atari 8 bit .exe's which luckily I'm familiar with and can strip the headers and tail off of.)

#296 3 years ago
Quoted from Zzap:

Are you doing a lot of manual hex editing to pack the rom pure_penalty ? I can envisage a type of assembler might be handy for this - especially creation of new words from phonemes etc...

I wrote some python to rearrange the rom and make space for new things. All the new stuff is hex'd in. At least the the samples are aligned so copy + paste ain't so bad.

I'm sure someone could make some great software to edit this stuff. The problem is that I see only one use case - this is the only pin which doesn't already use all 4K!

#297 3 years ago

Heh, yeah hex editing can be fun, but not when you've got too many dependencies to keep track of!

I've used the assembler in cc65 before for some NES projects with some good results, and dasm for a Atari 2600 project.

#298 3 years ago

Beta testing in my machine now latest version. One thing I do notice is that the "enable" speech is extremely hard to understand/weak - so I've excised that word and just left it as 2x/3x. As it moves from 3x to 2x it will say 2x as well.

It looks like the entire issue of moving from 35 to 36-43 was what happens to the B register as you go into/out of the pigs engine since the change to the compressed checklampvalue command. There are 3 locations that needed to be manually changed to a slightly different command - I thought about adding the packed B to the stack so it gets returned properly, but for 3 edge cases I'm not worried and I'll document it so I don't make a dumb move like that again.

On the plus side, I re-wrote several of the failed branch routines in a more efficient way, so there's that. I have about 12 bytes free in each rom right now - depending on what else the speech rom ends up with that might be a bear to cut even more out of the code, but I have some more ideas on that end as well.

Just a reminder that when I do post version 45 in the usual location, the position of dip 14 will become very important, especially if you've added the physical knocker - dip 14 on=ball walker and knocker are on the "normal" locations (knocker normal=coin lockout) - dip 14 off=ball walker is now the coin lockout circuit, and the knocker is the former ball walker. If you have the switch incorrect, you could blow the circuit. If you don't install a knocker no worries, the walker just won't walk

#299 3 years ago
Quoted from slochar:

Beta testing in my machine now latest version. One thing I do notice is that the "enable" speech is extremely hard to understand/weak - so I've excised that word and just left it as 2x/3x. As it moves from 3x to 2x it will say 2x as well.

Ok - latest changes. I've tweaked "enabled" a little to make it hopefully sound more intelligible. It's cobbled together from a few different pieces...

Also added:
0x1c: BALL
0x1d: SKILL
0x1e: EXTRA
0x1f: LIT
0x20: SHOOT
0x21: IS

WAV demo: https://ef9a.com/f2k/flight2k-v3.wav
U9: https://ef9a.com/f2k/F2KSNDv3.zip

#300 3 years ago

Excellent! File seems to be truncated at 3216 bytes though. I'm automating a way to generate a source file for this using some macros in notepad++.

I wonder if there would a way to do bank switching with a mod to the speech board to enable even more speech to be added, or is there a limit on the table sizes?

I'm going to have to have another hard pass through the f2k code to make room for more phrases - maybe I can generate speech scripts in the $210-$220 range in the stack since the game never seems to dip that low. I need another breakthrough to get 100 bytes or so back like the checklampvalue byte ended up being!

Promoted items from Pinside Marketplace and Pinside Shops!
From: $ 14.00
Electronics
Third Coast Pinball
 
$ 149.95
Boards
Allteksystems
 
From: $ 1.00
Playfield - Other
Rocket City Pinball
 
$ 12.00
Playfield - Toys/Add-ons
UpKick Pinball
 
Wanted
Machine - Wanted
Melbourne Beach, FL
$ 125.00
From: $ 115.00
Playfield - Protection
Beehive Pinball Co.
 
$ 20.00
Playfield - Protection
arcade-cabinets.com
 
Wanted
Machine - Wanted
Crown Point, IN
$ 3.00
From: $ 150.00
From: £ 110.00
Hey modders!
Your shop name here
There are 520 posts in this topic. You are on page 6 of 11.

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/opening-flight-2000-new-software-up-to-the-community/page/6 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.