SuperCPU
Compatibility Information
While CMD has designed the SuperCPU to be as compatible as possible with
all forms of software, there are programs which will not operate properly
at high speed. Some common reasons for these compatibility problems:
- Disk routines that bypass the Kernal ROM and attempt to perform custom
high-speed drive access routines
- Other timing related issues such as unique advanced graphics routines
that are tuned to the 1 MHz timing normally used by the C-64
- Previously unimplemented opcodes are being used (the new high-speed
processor used in the SuperCPU has an extended instruction set and will
produce unexpected results when unimplemented 6502 opcodes are used)
- A certain hardware characteristic of the Commodore 64 that is not
fully emulated by the SuperCPU (we're not aware of any yet, but we won't
discount the possibility)
In addition, there could be any of several reasons why programs may exhibit
annoying side-effects, or may not work in a desirable fashion with the SuperCPU
in Turbo mode. Most commonly, programs may use software timing loops which
assume that the processor is running at 1 MHz to determine when specific
functions should occur. This can cause any number of problems: annoyingly
fast cursor blinking, screens that clear before you can read what's on them,
input routines that run so fast that a single input is mistaken for multiple
inputs, modem routines that don't time correctly due to custom RS-232 timing,
and programs that appear to lock up (usually they're just waiting too short
of a period of time for something to occur). The only thing you can do about
these programs is modify them yourself to correct the problems (if it's
possible to do so), or switch the SuperCPU down into Normal (1 MHz) operating
mode.
WHAT WORKS?
The following paragraphs key in on both general and specific examples of
what does and does not work, and why.
- GAME PROGRAMS
- Games are probably the least compatible category of programs to use
on an accelerated system. Despite this, we've found that a lot of games
are indeed compatible with the SuperCPU's Turbo mode. Many games use 'raster
interrupt' programming to time events, and since the VIC chip runs at the
same speed it always has, this method works well.
- We've also found a few games that aren't compatible with Turbo mode.
Generally, games that use custom fastloader routines that bypass the Kernal
will fail to load correctly. With respect to these particular types of games,
you may be able to switch down to 1 MHz while loading, then switch back
to Turbo mode once the game has started running. If the game goes back to
disk for additional modules, though, there's a good chance of failure. Flight
Simulator II is a prime example of this. You can load it at 1 MHz, then
switch to Turbo mode and start flying. But once you crossover into a new
area where the program requires data to be loaded in from the disk-crash!
(The program, not the plane!)
- Many games may run too fast to be playable in Turbo mode, too (Frogger
illustrates this). Speed kills. On the other hand, we tried quite a few
old BASIC game programs that used to be boringly slow, and suddenly they
were kind of fun to play.
- You might also find an occasional game that won't work at all with
the SuperCPU enabled. These games may use previously undefined opcodes,
jump directly into ROM routines that have been altered, or are using timing
tricks that are beyond the ability of the SuperCPU to emulate (the latter
should be extremely rare). While we haven't found any games that fall into
these categories yet, almost certainly they do exist.
- PRODUCTIVITY PROGRAMS
- Nearly all productivity software should work with the SuperCPU. You
may find some that have initial fastloaders that bypass the Kernal routines,
but this is pretty uncommon in this type of program. Even so, these programs
usually allow you to disable the fastload feature, or you can switch the
SuperCPU to 1 MHz for loading and switch back once it's done loading.
- BASIC PROGRAMS
- BASIC programs generally work quite well with the SuperCPU, but you
should expect to run into routines where input is too fast, or screens don't
display long enough. If you write you own BASIC programs, you can easily
make sure that these problems are avoided by writing routines that work
well at any speed, or by checking for the presence and speed of a SuperCPU
and adjusting the timed routines accordingly (see 'Programming Information').
- DISK UTILITIES & COPY PROGRAMS
- This category covers a wide range of programs, but those which are
of most concern from a compatibility standpoint are disk copiers and archivers,
such as Maverick or Fast Hack'em. Programs of this type will generally at
least require setting the SPEED switch to NORMAL (1 MHz) mode, and some
may require disabling the SuperCPU altogether. Generic file copiers (like
CMD's FCOPY or Jim Butterfield's COPYALL) should operate in TURBO mode.
However, the more efficient the copier, the less likely you are to see any
real performance increases (since disk access is all at 1 MHz).
- TERMINAL/BBS PROGRAMS
- Relatively few programs in this category have been tested directly
by CMD. One area of concern would be custom RS-232 routines, which might
be created in a manner that would cause them to be dependent upon the timing
of a 1 MHz processor. If so, these could fail at high speed. On the other
hand, programs that use SwiftLink need not perform any RS-232 timing, and
are more likely to operate. Tests were performed on Novaterm 9.6 using a
SwiftLink, and this software appeared to work flawlessly in Turbo mode.
HARDWARE COMPATIBILITY
The SuperCPU will work with a wide variety of hardware add-ons including
many of the cartridges intended for use in the Cartridge/Expansion (game)
port. One important note: due to a drawback in Commodore's design, the
SuperCPU 64 does not support using the 80-column VDC screen on Commodore
128 computers operating in 64 mode. The SuperCPU 128, however, will
be able to perform this function. The following paragraphs outline what
you should expect when it comes to hardware compatibility.
- I/O CARTRIDGES
- Most cartridges that do not contain ROM should work correctly. Some
common examples of this would be the SID Symphony Stereo cartridge and the
SwiftLink RS-232 cartridge.
- ROM CARTRIDGES
- Some ROM cartridges will work with the SuperCPU, including many game
and some utility cartridges. When these are detected, the SuperCPU automatically
slows down to read from the cartridge's memory (the chips used in these
cartridges are much too slow to keep up with the SuperCPU).
- Cartridges that use the 'Ultimax' memory map will not work with the
SuperCPU. This mode is selected when a cartridge pulls the GAME line low
with the EXROM line set high on the cartridge port. Cartridges that use
this mode include Action/Replay, Super Snapshot, Partner 64, most IEEE interface
cartridges, the Lt. Kernal hard drive host adapter, and some game cartridges.
Due to the way these cartridges replace the Kernal, they would render the
SuperCPU inoperable. To use these cartridges, you'll most likely need to
disable the SuperCPU.
- RAM EXPANDERS
- The SuperCPU is fully compatible with several different RAM expansion
devices. RAM devices can provide you with the ability for the fastest possible
operation when used with the SuperCPU and compatible software. The following
breakdown indicates which devices work with the SuperCPU:
RAMLink - You'll find that the SuperCPU enhances the performance
of RAMLink itself, including hard drive access provided through the RAMLink's
parallel port. In addition, all of the RAMLink switches still operate just
as they normally would without a SuperCPU. RAMLink and a CMD HD combined
with a SuperCPU give you the most powerful Commodore system possible.
Commodore REU's & the 1750 Clone - These DMA devices are fully
compatible with the SuperCPU. Programs do not need to slow the SuperCPU
down to 1 MHz for REU access, as the SuperCPU itself automatically detects
DMA transfers and controls the speed as needed.
GeoRAM & BBGRAM - These devices are compatible with the SuperCPU,
and will operate just as they normally do.
RAMDrive - This device is not compatible with the SuperCPU, as it
would require rewriting the RD-DOS and incorporating that directly into
the SuperCPU.
Quick Brown Boxes - We had reported doubts earlier about using the
QBB RAM devices with the SuperCPU. However, we tracked ours down and found
that it did indeed operate. JiffyDOS generally needs to be disabled, though
we understand that there is a version of the QBB OS that is compatible with
JiffyDOS, and that version should work with JiffyDOS enabled.
- USER PORT & SERIAL BUS DEVICES
- Typically, all devices that attach to the User Port or Serial Bus
should continue to be compatible when using the SuperCPU, provided they
are used with compatible software. This includes such devices as Commodore-compatible
modems, RS-232 interfaces and geoCable for the User Port, and disk drives,
printers and parallel printer interfaces for the serial port.
Copyright © 1996 by Creative Micro Designs,
Inc.