One of the CPU accelerators for the Apple II series is the RocketChip, which came in 5MHz and 10MHz versions. It came with a floppy disk that contained a number of utilities for manipulating the behavior of the chip, including CPU speed, slot caching, acceleration of the monitor WAIT routine and so forth.

One of the features of the chip was to automatically slow down the CPU whenever the speaker was accessed at location $C030. When the chip was running at full 5MHz speed, this would cause tight operations like the system beep to sound normal while the rest of the machine ran fast. This default behavior was settable by one of the included utilities called AUDIO.NORMAL. If you wanted to disable this setting and instead have the system run full speed when clicking the speaker, another utility was included called AUDIO.DISTORTED.

That being said, there were three other audio-related utilities included: AUDIO.SILENT, AUDIO.HIFI, and AUDIO.MUSIC. While the first one really speaks for itself (it simply ignores access to the speaker's $C030 location), the other two have always been a bit of a mystery to their actual function. The manual - in all its 14 pages of glory - only briefly acknowledges the HIFI and MUSIC tools saying that those modes will slow down the Apple during game play. Helpful, for sure.

So my question is, has anyone ever figured out what exactly the HIFI and MUSIC settings actually did?

  • 1
    Is the disk image available online? It should be easy to examine those individual files. I could only find these ProDOS disk images in which the utilities have been combined. – Nick Westgate Oct 2 at 1:15
  • 1
    archive.org/details/mb_Rocket_Chip_Disk_Side_1 seems to have the various AUDIO.x files on it, but probably they just write the configuration option somewhere to the RocketChip hardware, leaving the question open? – Tommy Oct 2 at 1:58
  • 1
    @NickWestgate never saw that disk; must have been a later release than the one I have. Mine is more like the one Tommy referenced. Regardless, both images have the same option available. Code is a bit of "magic patterns" to set config of the chip, so hard to tell from the code thus the question is really more what is the BEHAVIOR OF THE CHIP in these modes. – bjb Oct 2 at 12:42
  • One vague idea is that it might interact with the caching strategy. For "music" you only need to change the speed for the instructions in the general vicinity of the speaker click, while for a game the clicks tend to be more distributed. However, very few programs played music while simultaneously doing other things, so I don't know what the value would be. Another guess would music software designed to run at high speed, allowing more complex sound output; this would require a constant speed (no caching). A disassembly would tell you if it's just manipulating standard options. – fadden Oct 2 at 15:33
  • @fadden I suspect it has something to do with caching strategy, but given the lack of documentation that I've been able to find on the chip its hard to tell. Disassembly of the tools isn't very revealing since it appears to be 2-4 tweaked values in comparison to the other audio snippets. – bjb Oct 2 at 17:37

Here's a partial answer to be finished by someone who has a RocketChip.

RocketChip $C035 bits:
....1... - APPLESPEED.WAIT - Slow firmware wait routine
....0... - ROCKET.WAIT     - Fast firmware wait routine
..0..... - AUDIO.SILENT    - Mute speaker
001..... - AUDIO.DISTORTED - Fast game play
011..... - AUDIO.NORMAL    - Fast game play
101..... - AUDIO.MUSIC     - Slow game play
111..... - AUDIO.HIFI      - Slow game play

The difference between AUDIO.MUSIC and AUDIO.HIFI is bit 6, and so presumably the same as the difference between AUDIO.DISTORTED and AUDIO.NORMAL. Could it be just a longer slowdown period, or something more subtle?

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.