7bbc96924b
This is an alternate approach proposed by Sean Nolan in 1987 which allows placing the driver files in a subdirectory of the root volume to avoid clutter and file ordering issues. Only a SETUP.SYSTEM file is needed at the top level, and the drivers go into a SETUPS/ directory. All drivers here (except QUIT.SYSTEM and SETUP.SYSTEM itself) have alternate forms built into the /DRIVERS/SETUPS/ directory as XYZ.SETUP instead of XYZ.SYSTEM. If you choose to use SETUP.SYSTEM, place these .SETUP files in your SETUPS/ directory. The naming doesn't matter - any SYS or BIN file can be used - but this convention makes distribution easier. These .SETUP files do **NOT** chain to the next file - that's handled by SETUP.SYSTEM itself. Resolves #16 |
||
---|---|---|
.. | ||
cricket.system.s | ||
Makefile | ||
prodos.mod.s | ||
README.md | ||
set.date.s | ||
set.datetime.s | ||
set.time.s | ||
test.s |
The Cricket! — ProDOS Clock Driver
I acquired a Cricket sound/clock peripheral on eBay. Therefore it is now critical that we have a conforming ProDOS clock driver for it.
STATUS: Works on my machine!
Background
"The Cricket!" by Street Electronics Corporation, released in 1984, is a hardware peripheral for the Apple //c computer. It plugs into the serial port and offers a multi-voice sound synthesizer, a speech synthesizer, and a real-time clock.
The disks supplied with the device include:
/CRICKET/PRODOS.MOD
which can be BRUN to patch ProDOS in memory with a clock driver.- A modified version of ProDOS
- A utility to patch ProDOS on disk
CRICKET.SYSTEM
Like the NS.CLOCK.SYSTEM
(by "CAP"), CRICKET.SYSTEM
has these features:
- A ProDOS
.SYSTEM
file - Detects the presence of a Cricket
- Installs a driver in memory following the ProDOS clock driver protocol
- Chains to the next
.SYSTEM
file (e.g.BASIC.SYSTEM
)
Successfully tested on real hardware. (Laser 128EX, an Apple //c clone — including at 3x speed!)
Build
Requires cc65. The included Makefile
is very specific to my machine - sorry about that.
CRICKET.SYSTEM is the result of the build.
Notes
I ended up disassembling both NS.CLOCK.SYSTEM (to understand the SYSTEM chaining - what a pain!) and The Cricket!'s PRODOS.MOD and melding them together, adding in the detection routine following the protocol in the manual.
Other Utilities
These BRUN
able files are also built:
- TEST attempts to identify an SSC in Slot 2 and the Cricket via the ID sequence, to test routines.
- SET.DATETIME sets the Cricket's current date and time.
- SET.DATE sets the Cricket's current date.
- SET.TIME sets the Cricket's current time.
CRICKET.SETUP
is for use with SETUP.SYSTEM
Resources
Cricket disks on Asimov:
- ftp://ftp.apple.asimov.net/pub/apple_II/images/hardware/sound/cricket_disk1.po
- ftp://ftp.apple.asimov.net/pub/apple_II/images/hardware/sound/cricket_disk2.po
Cricket Manual on Asimov:
- ftp://ftp.apple.asimov.net/pub/apple_II/documentation/hardware/sound/Street%20Electronics%20The%20Cricket.pdf
FYI...
In the Cricket manual there is a short sample BASIC program to set the clock without the use of any assembly routines, using PR#2
to talk to the serial card followed by PRINT
statements. This does not appear to work from ProDOS with the clock driver in place - the time ends up temporarily scrambled until the clock sorts itself out again. Assembly language routines do work, however. I believe ProDOS attempts to read the clock during the execution of the basic program, which interferes the device.