Color Computer CoCo SDC User Manual

CoCo SDC
About the cover image:
Darren Atkinson designed the CoCo SDC hardware and soware. http://cocosdc.blogspot.com
Printed circuit board manufactured by Ed Snider. https://sites.google.com/site/thezippsterzone/
is manual takes inspiration from Brian Blake’s original.
COCO SDC | iii
Table of Contents
1. What is the CoCo SDC? ................................................................................... 1
Features and Specications ...........................................................................................2
Hardware Guide ................................................................................................................. 2
Jumper Settings ................................................................................................................. 3
DIP Switch Settings ........................................................................................................... 3
How is the SDC dierent from competing products? .......................................... 4
2. Getting Ready For Fun ................................................................................... 5
The Basics ............................................................................................................................. 5
D & E Compatibility Issues .............................................................................................. 5
Identifying the problem boards ................................................................................... 6
Motherboard Modication ............................................................................................. 6
Finding a Suitable Enclosure ......................................................................................... 7
Updating SDC-DOS ........................................................................................................... 7
Rescuing After a Failed Update ..................................................................................... 8
Recovery Steps.................................................................................................................... 9
3. Using the SDC ............................................................................................... 11
DRIVE – Mounting SD Based Images ........................................................................12
Multiple Disks .................................................................................................................... 12
DRIVE – With Wildcards .................................................................................................. 13
DIR .........................................................................................................................................14
Setting Current Directory..............................................................................................15
Explaining DIR ................................................................................................................... 15
Locking Disk Images ....................................................................................................... 16
Creating New Disk Images............................................................................................16
Ejecting a Disk Image ..................................................................................................... 16
iv | Table of Contents
Using the CoCo SDC with Drivewire .........................................................................16
Connecting via the Color Computer .........................................................................17
Accessing Real Floppy Disks ........................................................................................18
Automatic Program Execution .................................................................................... 18
EXP ........................................................................................................................................19
DEF DW = n ........................................................................................................................19
4. Using the Flash ............................................................................................. 21
Running a Cartridge Image .......................................................................................... 21
Erasing Banks and Sectors ............................................................................................ 22
Writing to the Flash .........................................................................................................22
Copying a Block of Memory ......................................................................................... 23
5. About File Formats ....................................................................................... 25
DSK Images ........................................................................................................................25
Disk Geometry Table for DSK Images .......................................................................26
JVC Images .........................................................................................................................26
VDK Images ........................................................................................................................ 26
SDF Images ........................................................................................................................27
SDF File Format ................................................................................................................. 28
Contents of the SDF 512 byte File Header .............................................................. 28
Contents of the SDF 256 byte Track Header ...........................................................29
COCO SDC | 1
1
What is the CoCo SDC?
e CoCo SDC is a home-brew project for the TRS-80 Color Computer (CoCo). It has been in various stages of development since 2009. e original plan was to provide oppy controller emulation which worked in conjunction with the Drivewire server. at idea was eventually scrapped in favor of a self-contained system using an SD card.
CoCo SDC Prototyping.
A number of high capacity storage solutions have previously been developed for the CoCo, including a MicroSD card interface, a handful of IDE and SCSI interfaces and the very popular Drivewire server.
One drawback of these oerings has been that they aren’t compatible with soware that was written to interact directly with a oppy disk controller. is isn’t so much a problem if you are primarily using the CoCo for BASIC programming or running OS9 soware. ere are however a number of titles (mostly commercial games) that fail to work with those other systems.
e CoCo SDC aims to solve the compatibility problem by combining the traditional “soware hook” approach with a robust emulation of the oppy controller in hardware. is dual mode implementation provides excellent performance for the majority of soware which “plays by the rules” while adding a high degree of compatibility with those titles that employ oppy-based copy protection schemes or simply choose to roll their own oppy drivers.
An enhanced LBA access mode has also been incorporated into the rmware, allowing the CoCo SDC to go beyond simply emulating oppy disks and interface with virtual hard disk images as large as 2 gigabytes. Two separate disk images (oppy or hard disk) contained on the same SD card may be “connected” simultaneously.
2 | Chapter 1
CoCo SDC Revision 3 Board.
Also on board is 128K of Flash memory which is divided into 8 banks of 16K. ese 16K banks are both hardware and soware selectable and occupy the cartridge ROM space from $C000 to $FEFF.
One bank of the Flash memory is used to hold the SDC-DOS code which is yet another patched version of Microso’s Disk Extended Color BASIC 1.1. Included in SDC-DOS are additional commands to mount disk image les on the SD card, program the Flash and execute ROM images contained in the Flash. Drivewire disk support is also included in SDC-DOS.
Features and Specications
• Atmega 328P AVR micro controller @ 10Mhz
• Custom 512 byte boot-loader allows rmware to be updated by the CoCo
• 128K In-System-Programmable Flash
• Accepts SD/SDHC cards formatted with FAT16 or FAT32 le system
• Emulates a Tandy Floppy Disk Controller
• Emulate Dragon DOS oppy controllers
• LBA access mode for virtual hard disk support
• Extensions to Disk BASIC in SDC-DOS for disk image manipulation
• Drivewire disk protocol with auto-speed conguration for CoCo 1, 2 or 3
• “Disk Switch” button to support multi-disk programs
• PCB can be mounted in a Tandy FD-502 enclosure
Hardware Guide
SD Card Direction.
e SD card socket is a Push-Push type. When removing the card, always push in to release the latching mechanism before sliding the card out. Never use force to pull the card out of the socket. e card must be inserted into the socket upside-down (label facing down, contacts facing up). Use only SD or SDHC cards with the CoCo SDC.
COCO SDC | 3
Insert the card into the socket before applying power to the CoCo or Mult-Pak Interface. When power is applied, the LED on the CoCo SDC board should light up momentarily. If the LED does not turn o aer a few seconds then this is an indication that the card was not recognized by the hardware. is can happen if the card has not been formatted with a FAT16 or FAT32 le system. It could also indicate that the card was not inserted properly or that there is a problem with the CoCo SDC itself.
Although SD cards are hot-swappable, the CoCo SDC rmware does not handle that situation very well. It’s recommended that you completely shutdown the CoCo and MPI before swapping cards.
Jumper Settings
e three-pin jumper strip provides two mutually exclusive options for board conguration; Cartridge Auto-Start and Dragon DRQ Mode. e default setting has neither option enabled (no jumper installed).
Installing a jumper between the center pin and the AUTO pin connects the Q clock to the CART interrupt pin. is causes the computer to automatically start executing the program in the selected Flash bank at power-up. Do NOT use this option to auto-start SDC-DOS or other Disk BASIC ROMs.
Installing a jumper between the center pin and the DRQ pin is required to support emulation of a Dragon DOS oppy controller. Do NOT install a jumper in this position when using the board with a CoCo.
Jumper & DIP Switches.
DIP Switch Settings
e board includes a 4-position DIP switch that is used to congure which bank of Flash is active at power-up or reset and which addressing scheme is used to communicate with the controller.
CAUTION: Make sure the computer’s power is o before making any changes to the DIP switch settings!
4 | Chapter 1
ree of the switches specify the Flash bank to activate upon power-up or system reset. e switches are labeled on the board as 4, 2 and
1. e eight Flash banks are numbered 0 to 7. Place only those switches whose sum equals the desired bank number into the ON position. For example, to select bank 5, place the switches labeled 4 and 1 into the ON position and leave the switch labeled 2 in the OFF position. e board is provided with SDC-DOS in bank 0 of the Flash and all three switches in the OFF position.
e DRGN switch selects the address scheme for the controller. In the OFF position the controller will use the CoCo address scheme. In the ON position, the controller will use the Dragon DOS address scheme. e dierent schemes are summarized in the following table.
Usage CoCo Address Dragon Address
Drive Control Latch FF40 FF48
Flash Data Register FF42 FF4A
Flash Control Register
FF43 FF4B
Command/Status FF48 FF40
FDC Track Register I/O Register 1
FF49 FF41
FDC Sector Register I/O Register 2
FF4A FF42
FDC Data Register I/O Register 3
FF4B FF43
CoCo & Dragon Address Schemes.
How is the SDC dierent from competing products?
• No reliance on expensive third-party modules like the 4D systems uDrive.
• Does not use a slow serial interface based on an obsolete part (6551 ACIA).
• True emulation of the oppy controller hardware for maximum compatibility.
• Supports the popular Drivewire protocol for PC-based disk images.
• Eight banks of in-system-programmable Flash instead of an EPROM.
• Ability to “switch disks” for multi-disk programs via a button on the controller.
• SD cards are FAT-formatted and require no special imaging utility for a PC/Mac.
Probably the only drawback of the device is the fact that the SDC does not come with an enclosure.
John Strong has been known to make 3D printed cases available. Here is his website: http://strongware.net/author/johnstrong/
COCO SDC | 5
2
Getting Ready For Fun
The Basics
ere are a few very important things that must be touched upon before we get into the actual operation of the CoCo SDC:
1. NEVER insert or remove the CoCo SDC into a CoCo that is turned on! Just like any other device that uses a Color Computer cartridge port, inserting the CoCo SDC into your Color Computer can damage the Color Computer, CoCo SDC, or both.
2. Although SD cards are hot-swappable, the CoCo SDC rmware does not handle that situation very well. It’s recommended that you completely shutdown the CoCo and MPI before swapping cards.
3. e rmware in the CoCo SDC does not currently support long le names. You must ensure that the names of all les and directories which are to be accessible by the CoCo conform to the older 8.3 naming conventions.
D & E Compatibility Issues
e CoCo SDC is compatible with all versions of the Color Computer and Dragon Computer lines. However, aer getting the CoCo SDC into the hands of some users, it was discovered that Flash programming does not work correctly on certain CoCo 1 motherboards. e two earliest CoCo 1 boards known as the ‘D’ and ‘E’ boards are the culprits.
Board Identiers.
6 | Chapter 2
e Cartridge Select Signal (CTS) on these boards exhibits too slow of a rise-time which causes problems for the high-speed Flash chip. is does not aect normal operation of the CoCo SDC in terms of being able to read data or execute code from the Flash. When writing to the Flash however, the slow rise time oen results in incorrect data being stored in the chip.
ere are a few options to deal with this problem:
1. Do not use a CoCo 1 with one of the aforementioned motherboards to program the Flash. is option is not ideal, especially if you don’t have another suitable CoCo in your possession.
2. Use a Multi-Pak Interface when programming the Flash. e signal buering in the MPI acts as a kind of lter for the CTS line, producing a nice clean transition. is is a good option if you do not wish to modify your CoCo and you happen to own an MPI.
3. Perform a simple modication to the CoCo 1 motherboard to x the problem (see details below).
Identifying the problem boards
To determine if your CoCo 1 has one of the problematic motherboards you will need to open the case and look inside. e boards in question have a large metal shielded area that encloses all of the main logic chips including the RAM, CPU, SAM, VDG and PIAs. ere should be a number printed on the board just below the cartridge port which ends with “-D” or “-E” as seen in the photos below.
If your board has a smaller RF shield which only covers the SAM and RAM chips, or has a number printed on the board (near the front­le corner) that ends in ‘285’ then this is what is oen referred to as the ‘F’ board. e ‘F’ board does not exhibit the problem and needs no modication.
Motherboard Modication
Please note that any modication to the CoCo is performed at your own risk. Although it is highly unlikely that this modication will cause any problems with other hardware, I can’t be held responsible for any damage or loss of functionality that may occur should you choose to go through with it.
COCO SDC | 7
e modication is rather simple and involves cutting just one leg of a capacitor. Be sure to disconnect power to the CoCo and discharge any static electricity from your body before touching any of the components inside the CoCo. e aected capacitor is located within the shielded area so you will need to remove the metal cover to gain access. Find the capacitor labeled C85 which is located next to the cartridge port (see photo).
Using an appropriate tool, cut the front leg (the one nearer the keyboard) of the capacitor to sever the connection. at’s it! Replace the metal cover, close up the case and you are good to go.
CoCo 1 D & E board mod.
1 Available from: http://cocosdc.blogspot.com
Finding a Suitable Enclosure
Before you plug in the CoCo SDC, you should consider an enclosure for the device. Ideally, an FD-502 enclosure is preferred, as the FD­501 enclosure is slightly dierent and requires some modications to work properly. Both enclosures need to be modied to provide easier access to the DIP Switches, while the FD­502 already provides easy access to the SD card slot and the push button by the SD card slot.
e SD card slot and push button ARE accessible, with the FD-501, however, it’s advisable to trim some excess material from the housing in order to make it easier to access these features of the CoCo SDC.
Updating SDC-DOS
e SDCSETUP.DSK
1
image contains a utility program that can be used to install the rmware for a CoCo SDC controller. Both the micro controller code and the SDC-DOS (Disk BASIC) ROM image can be installed using this utility. When using a CoCo 1 or 2 a minimum of 32K RAM is required to perform an installation of SDC-DOS and 64K RAM is required to install the MCU rmware.
e disk image may be copied to an SD card or accessed via DriveWire. With the disk image mounted, run the utility by entering:
RUN "SETUP"
8 | Chapter 2
You will be presented with the following menu options:
V DISPLAY INSTALLED VERSIONS F INSTALL MCU FIRMWARE D INSTALL SDC-DOS Q QUIT
Press the V key to display the version information of the soware currently installed in the CoCo SDC controller. is will display both the MCU rmware version and the SDC­DOS version.
If your rmware is older, press the F key to begin the process of installing the ATmega MCU rmware. is will rst load the rmware into memory and perform a checksum validation. e version number of the rmware to be installed is also displayed. Before installation begins you will be asked for conrmation by pressing the Y key. Aer installation is complete the CoCo will re-boot.
Press the D key to perform an installation of SDC-DOS. is will rst load the ROM image into memory and ask which of the 8 Flash banks should be used as the destination. You may install over the version of SDC-DOS that is currently running if so desired. When installation is complete the CoCo will re-boot using the newly installed version (switching banks if necessary).
Boot screen for SDC-DOS.
Rescuing After a Failed Update
is is mostly for folks who have attempted an update on a D or E board CoCo 1, and ended up with a CoCo SDC that will only boot to DECB. e recovery steps should be performed on either a modied D or E board CoCo 1, a CoCo 2, or a CoCo3 – as long as the DIR command hasn’t been issued with any arguments prior to attempting the update.
Loading...
+ 28 hidden pages