Jump to content
IGNORED

Programs with Mockingboard Support


Tempest

Recommended Posts

I've finished cracking the Ultima Trilogy disks that Tempest sent me. I want to test them over the next day or so and I'll upload them as a zip to Asimov and include the scans of the disk labels and some notes on the crack and a minor patch needed to use .dsk images in an emulator (original protection on Exodus 3 uses Volume IDs).

 

I ran into something interesting with Mockingboard support on the updated Ultima 3:Exodus in the Ultima Trilogy. With an 8mhz Zip Chip on my IIe, I found that when I configured the mocking board's type and slot on the initial text screen at boot up the intro music would play fine. However, once you hit a key to proceed to the actual game, the disk drive would grind over and over and never load the game. If I rebooted and selected None for mocking board, it would then load fine and I could play the game (albeit, without mocking board sound). It did this with both mocking boards that I own. I pulled out every card that wasn't needed with the same results. Finally, I pulled another IIe off the shelf with a standard 65c02 1mhz cpu and it worked fine with either mocking board I tried. I think Zip claimed 99% compatibility with software... Figures that I would hit the 1% corner case 30 years later... :)

 

Rich

  • Like 2
  • Haha 1
Link to comment
Share on other sites

I've finished cracking the Ultima Trilogy disks that Tempest sent me. I want to test them over the next day or so and I'll upload them as a zip to Asimov and include the scans of the disk labels and some notes on the crack and a minor patch needed to use .dsk images in an emulator (original protection on Exodus 3 uses Volume IDs).

 

I ran into something interesting with Mockingboard support on the updated Ultima 3:Exodus in the Ultima Trilogy. With an 8mhz Zip Chip on my IIe, I found that when I configured the mocking board's type and slot on the initial text screen at boot up the intro music would play fine. However, once you hit a key to proceed to the actual game, the disk drive would grind over and over and never load the game. If I rebooted and selected None for mocking board, it would then load fine and I could play the game (albeit, without mocking board sound). It did this with both mocking boards that I own. I pulled out every card that wasn't needed with the same results. Finally, I pulled another IIe off the shelf with a standard 65c02 1mhz cpu and it worked fine with either mocking board I tried. I think Zip claimed 99% compatibility with software... Figures that I would hit the 1% corner case 30 years later... :)

 

Rich

The Zip Chip is basically a 6502 with a faster clock, cache and a control circuit so the comparability issue is obviously related to timing in the Mockingboard specific section of code.

I'm guessing the clock select circuit of the Zip Chip slightly skews the clock and with the Mockingboard enabled the CPU isn't responding fast enough to read the start of a block of data.

The difference has to be small so it should be fixable.

Link to comment
Share on other sites

The Zip Chip is basically a 6502 with a faster clock, cache and a control circuit so the comparability issue is obviously related to timing in the Mockingboard specific section of code.

I'm guessing the clock select circuit of the Zip Chip slightly skews the clock and with the Mockingboard enabled the CPU isn't responding fast enough to read the start of a block of data.

The difference has to be small so it should be fixable.

 

True, but what's strange is that it's impacting the game's disk read code for some reason. It grinds and grinds, like it's stuck in a loop in the read code, and keeps recalibrating the head. Since it's on hardware and I don't have a clean way to break into the monitor, I haven't been able to inspect where it's getting looped at or trace back the reason why. Maybe I should dig out the Wildcard I picked up years ago and see if I can figure out how to use it to break into the monitor and find the PC and SP values and go from there...

Link to comment
Share on other sites

The Zip Chip is basically a 6502 with a faster clock, cache and a control circuit so the comparability issue is obviously related to timing in the Mockingboard specific section of code.

I'm guessing the clock select circuit of the Zip Chip slightly skews the clock and with the Mockingboard enabled the CPU isn't responding fast enough to read the start of a block of data.

The difference has to be small so it should be fixable.

Compatibility. I must have used the spell checker to fix a typo.

 

 

True, but what's strange is that it's impacting the game's disk read code for some reason. It grinds and grinds, like it's stuck in a loop in the read code, and keeps recalibrating the head. Since it's on hardware and I don't have a clean way to break into the monitor, I haven't been able to inspect where it's getting looped at or trace back the reason why. Maybe I should dig out the Wildcard I picked up years ago and see if I can figure out how to use it to break into the monitor and find the PC and SP values and go from there...

*IF* it throws off the start of the read by even a clock cycle, then it may miss the start of the track or sector if the developers tried to push the timing too close.

Something like this almost needs an in circuit emulator to track down.

 

Since it has to be an interaction thing and the only thing I can think of that might cause this is an issue with an interrupt.

Perhaps the interrupt is delayed to the CPU by the Zip Chip circuit and the read is supposed to be timed off of the interrupt.

Someone with an a nice logic analyzer might be able to see if that is what is happening.

The code may use different interrupt handlers for with or without the music player. At the very least, it may spend more time doing something when supporting the Mockingboard.

You might be able to tell if there are multiple interrupt handlers or at least have a look at how it treats the Mockingboard differently.

If you could look for SEI and RTI instructions, changes to $03FE or even what is at $03FE, you might find the interrupt handler(s) or routines that set up the interrupt handler.

 

Link to comment
Share on other sites

As for Ultima III, it would be great to have a pristine, fully working Mockingboard version. I believe there are pristine disks of the original, non-Mockingboard version.

 

Does anyone know why the program always thinks the Mocking Board is in Slot #0? Did Origin begin to implement a test, then abandon it prior to shipping the new version but fail to remove the text indicating a board had been detected?

Link to comment
Share on other sites

 

Thank you! It's amazing that so few people were aware of its availability.

 

I think you're also right on the Mockingboard incompatibility. I wonder if this switch was made due to availability issues or there was some special technical reason for the switch?

 

Probably, the SC-02/SSI-263 is a substantially more advanced chip than the SC-01, and due to the packaging size, neither is a drop-in replacement for the other.

 

http://www.redcedar.com/sc01.htm

Link to comment
Share on other sites

As for Ultima III, it would be great to have a pristine, fully working Mockingboard version. I believe there are pristine disks of the original, non-Mockingboard version.

 

Does anyone know why the program always thinks the Mocking Board is in Slot #0? Did Origin begin to implement a test, then abandon it prior to shipping the new version but fail to remove the text indicating a board had been detected?

 

I thought that it always assumed a Mockingboard was installed also, until I realized that once I cracked the disk, converted it to a disk image and ran it under Virtual ][, it went straight to the game and bypassed the Mockingboard set up screen, even though I had a Mockingboard emulated in slot 4 and it works with other games with Mockingboard support. So I dug into the code a little deeper and found that there is a Mockingboard detection routine in the code.
After the first/second stage boot code is executed and their DOS is loaded, code resumes at $8000.
Before the mockingboard detect code is run, there's a check for a keypress. If any of the following keys are held down,
it forces the mockingboard setup text screen to appear:
#$9D - Control-]
#$8D - Control-M (Return/Enter)
#$CD - M
#$DD - ]
Otherwise, it continues with the detection phase, which is located at $81c5. The interrupt handler is set to $8220, then it tries to configure the MB card starting with slot 1 and moving up. If a MB at that slot is initialized successfully, it will jump to the interrupt handler and store the slot number in $06, then return. If $06 is still zero, then no MB was detected otherwise it will contain the slot number of the detected MB.
It's interesting that they put in a force keypress to configure a MB card. This code is somewhat different from other MB detection code that I've seen in other games, which leads me to believe that there's really no reliable, standard way of detecting a MB, even within the same line of cards from the same manufacturer...
If the MB setup code continually pops up at boot, even though a MB isn't installed-- I guess it's possible that some other card is generating an interrupt and somehow the same memory locations are changed to appear as if a MB is installed. Really haven't looked at that too closely, but it does appear that the programmers were concerned with a real mocking board not being detected correctly. I wonder if the force key presses are described in the manuals.
RIch
Link to comment
Share on other sites

  • 5 months later...
  • 1 year later...

 

1. It would be cool to see a matrix with stuff that (tested) works with the Phasor in Mockingboard mode as well as the other modes. Of course that would probably only be worth something to me and the 2 other people on the planet with Phasors. :)

 

2. Bill, I didn't realize you had Apple ][ chops as well as Intellivision. Very cool!

 

 

If you're going to also add in the notes, you should also indicate that Ultima V supports two (dual) Mockingboards.

 

It will be quite the effort, but it would be great if eventually we also confirm the working versions of each of these, i.e., these actually do support the Mockingboard, and have links to the known good versions. These types of lists have been going around for some time now and there are still some questionable (not confirmed) entries.

Link to comment
Share on other sites

  • 10 months later...

I have spent the past two days cataloging the available software online for the Mockingboard and the attached spreadsheet is the result of my efforts. It should give you a fair idea of what is available, what could be made available and what remains to be found and dumped.

Mockingboard Software Audit 07-29-17.zip

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

Here are my current Mockingboard results, including with dual Mockingboards: http://armchairarcade.com/perspectives/2018/02/05/apple-ii-mockingboard-promise-unfulfilled/

 

And yes, I totally forgot about this thread. The spreadsheet will be a big help to me in tracking down some possible additional support.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

This pales in comparison to what is coming... but if you are interested in a Modern Mockingboard game demo, here is VECAVES II. This was an old demo of mine I upgraded for mockingboard music. This game is only a concept, the real game which will be slated to be worked on in the 2nd half of 2018 will be double lores and a lot more advanced. Use the spacebar to ascend, let go to descend .

 

Vecaves II -very early demo with Mockingboard Added

https://www.dropbox.com/s/ardrd6rafkcduqz/Vecave%20mock%20demo.dsk?dl=0

 

If you have a Phasor and 128kb, I would love feedback on audio quality on real hardware.

This is a demo disk for Reactive Micro's new Phasor Remake, there will be a series of 4 disks. Prototype of course.

https://www.dropbox.com/s/jnxosl8vipl1g36/PHASOR%20DEMO%20NO1%20beta.dsk?dl=0

PHASOR DEMO NO1_000000000.bmp

Vecave mock dem_000000000.bmp

Edited by Tommyptr
  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Midi2Mock software now has an interrupt driver that allows MIDI music converted mockingboard music in any 'new' homebrew. It has 100 samples to try out... as of 8.10.18 it only works with the card in Slot4... there are modifications that will be uploaded by 08.15.18 that will have a driver that can play music installed in ANY slot... and will also have Echo+ support... the same link will apply now, or in the future. https://www.dropbox.com/s/z0ldxehkebwbfeg/MIDI%20TO%20MOCK%20VER1.zip?dl=0 -Over at AppleII gamezone we have converted a couple minor homebrew games... and even Charles Mangin's Jumpy Guy game. https://www.dropbox.com/s/wkxs5wm9zlmts7z/JUMPY%20GUY-%20MOCKINGBOARD%21.dsk?dl=0 We plan to have many more soon.

 

For those with PHASOR... here is a Midi2Phasor translation that can do upto-12 voices... its set for Slot#4 for now... not designed for games at the moment but has many songs (20-30), even the Diddy Kong Racing theme... https://www.dropbox.com/s/jz6emstwvouan2z/MIDI%20To%20PHASOR.zip?dl=0

 

*Side note, the latest version of AppleWin has a problem with timing, also other emulators may exhibit problems, which all should be corrected with out new update to Midi2Mock next week.

Link to comment
Share on other sites

  • 3 months later...

What a difference a year makes. In addition to new games, I have managed to find images or methods to get all the games claimed to work with a Mockingboard to work with the exception of Broadsides and G.I. Joe. Please see the notes in the attached spreadsheet for more information.

 

I don't see an attached spreadsheet, but I'd love to see your findings!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...