SB600 - CP1 Improvements                     (user friendly)

 

 

SB600/C1P/UK101 adding SD card option

Usually, a SB600 does not offer any mass storage option without a 610 floppy disk interface board together with external floppy disk drives. If you own a SB600/C1P or UK101 in a basic 4K or 8K RAM configuration, you are left with the build in 300 baud cassette/serial interface. Loading an 8k game can take easily 14 minutes to load.

The idea was to crate a easy plug and play module, that does not require any modification to the machine, can interface to a regular FAT formatted SD card and provides the same cassette/serial interface function as before.

As the serial communication is managed by an Motorola MC6850P ACIA chip, that is conveniently socketed in all the lower spec OSI boards. Why not replace the ACIA by a software defined MC6850P including a SD card interface ?

That said, here my plug and play module I came up with and its basic functionality:

 

Shown the board plugged into the ACIA socket and ribbon cable attached to a simple SD card interface

Main functions:

- board emulates 6850P ACIA functions for systems with up to 1Mhz clocked CPU
- board provides SD card interface that can be operated via ACIA commands for FAT16/32 cards up to 4GB
- serial data transfer can be routed to the board IC socket pins or external serial port with RTS/CTS functionality
- baud rate is software configurable or auto detected based on supplied mainboard clock
- board setup parameters can be stored in EEPROM and restored on power up
- supported baud rates are 150 up to 115200 baud. 38400 baud works reliable with RTS/CTS handshake
- automatic RTS/CTS handshake with 16 byte FIFO buffer supported and software configurable
- extra RS232 TTL serial port is provided to interface via RS232 TTL <-> USB converter to any PC
- RS232 TTL serial port also provides MIDI baud rates to connect to MIDI devices (needs MIDI optocouplers)
- auto BOOT feature for SB600/C1P or UK101 boards into a BOOT.SYS user interface by the machine "L" command
- 16 useful SD commands to communicate with the SD cards, like read, write, delete, directory and many others
- software definable interrupt controller on CTS or software timer from 128 usec up to 33 msec
- BOOT.SYS  provides a file selection menu to start Basic text files, Machine code text files and binary PRG files
- BASIC_PLUS was added to provide new BASIC commands to manage the SD card within BASIC programs

        - SDLIST (prints current folder content)
        - SDLOAD "FILENAME",[ADDRESS] (loads a basic or machine code program)
        - VAL=SDSAVE "FILENAME",[START ADDRESS, END ADDRESS] (saves a basic or machine code program)
        - SDRUN  "FILENAME",[ADDRESS] (loads and runs a basic or machine code program)
        - VAL=SDLEN  "FILENAME" (gets file size)
        - SDGOTO "PATH" (defines selected folder)
        - VAL=SDLOG (gets last SD error)
        - VAL=SDCLEAR "FILENAME" (deletes file)
        - VAL=SDFRE (initialize SD card and checks free space in Mbytes)

- BOOT.SYS can be replaced with any program file or operating system, for example by BASIC_PLUS to get the BASIC command extensions available at startup. BOOT.SYS can also be replaced by a BASIC AutoStart program to function similar to the OS65D BASIC operating system (up to future projects ...)

 For more details, check out the
SMD pre assembled or the DIP socket version.

 

 

 SMD version details

 

 DIP version details

 

     

 

THE SUPERBOARD LIMITATIONS

SB600/C1P adding graphic capabilities

Beside some graphic characters a SB600 does not offer any graphic mode beside the ordinary text screen.
The reason probably was the cost of memory chips in the late 70's. On the other side, the character ROM offered a lot of useful game characters, and several games made use of it.

The following “very light” modification will provide different graphic options, without modifying the video circuit logic nor by adding additional memory.

You can get up to 128x128 pixel for an updated C1P with 64x32 characters or 128x64 pixel on a standard SB600 that can be individually set or cleared, like in an additional graphic mode. The graphic section will be on top of the screen (Half screen) or can be set to Full screen. For gaming, the best option is to use the half screen mode, so you can display text at the bottom and do all graphic visualizations on the top.

Semi1.gif
Modification to the left, result to the right

The idea is to replace the socketed Character ROM by an 4k (2732) Eprom with a bitmap scheme in the second half of the Memory. It is possible to enable or disable the bitmap section by Software, when connected to the RTS line of the ACIA6850. Two versions of Character ROMS a available (4x2 type and 2x4 type) with different characteristics concerning horizontal and vertical resolution. See the following options:

Unmodified SB600 with 32x32 screen (1k video memory)

Half screen: 128x32 with  CHARGEN_LRES4x2.ROM

Full screen:  128x64

 

Unmodified UK101 with 64x16 screen (1k video memory)

Half screen: 256x16 with  CHARGEN_LRES4x2.ROM

Full screen:  256x32

 

Modified SB600/C1P with 64x32 screen (2k video memory)

Half screen: 256x32 with  CHARGEN_LRES4x2.ROM

Full screen: 256x64

 

Unmodified SB600 with 32x32 screen (1k video memory)

Half screen: 64x64 with  CHARGEN_LRES2x4.ROM

Full screen: 64x128

 

Unmodified UK101 with 64x16 screen (1k video memory)

Half screen: 128x32 with  CHARGEN_LRES2x4.ROM

Full screen:  128x64

 

Modified SB600/C1P with 64x32 screen (2k video memory)

Half screen: 128x64 with  CHARGEN_LRES2x4.ROM

Full screen: 128x128

The shown 2732 EPROM is connected to a small prototype PCB. Connector pins have to be connected to:
- GND
- RTS Pin 5 of ACIA 6850
-and CLOCK IC U61 Pin 11 or Ground for Full-Screen

Semi2.gif

See attached PDF guide for reference.

 

 

Semi3.gif

Graphic Mode guide

 

IC.gif

ROMS

 

     

 

SB600 Revision B flicker fix

When using a SB600 connected to a monochrome monitor, the first thing you may notice are white artifacts on the screen when scrolling or printing characters. This is one of the limitations that was improved in later Revisions of the board.

During access to the Video memory (VA), a display blank (DB) signal is generated. This blanks out the video pixel stream from the U42 shift register (see U70 pin 1). For example, during text scrolling, you may have observed that characters are partially blanked and the whole screen seems annoyingly to flicker. The more access the video memory gets, the more flicker is visible.

flicker.gif

The following “light” modification will almost eliminate this kind of flicker. It works on 32x32 or 64x16 video memory configurations.

Reason for this behavior is the fact, that the VA encoder uses only address lines, so that VA is active over more that 2/3 of the CPU clock cycle. Also the CPU clock signal (Q0 and Q2) are synchro to the C0 counter and therefore the Latch signal generated by U19 (see above)

The modification will invert Q0/Q2 to C0 and eliminate the blacking signal DB going to U70.

 

Starting with U69 (placed nearby the video connector). I most cases, this IC is socketed on most boards.

In case U69 is in a socked, lift the IC carefully out and bend pin 4 slightly to the outside. When placing the IC back, make sure the pin stays outside the socket connector. In case U69 is soldered to the board, you have to cut the trace coming out of pin 4.

In the next step, we have to modify VA, so that is only valid during the active Q2 clock phase. VA is driven by V and several address lines.
V is encoded by U23 by address lines A13..A15. Here we have to modify pin 4 (U23) by disconnecting from ground (just cut the small trace between pin 4 & 5 on the bottom side) and connecting afterwards to pin 5 of the nearby U22.

This will gate V by the active Q2 clock phase
 

Finally, we have to inverse the Q0 input of the CPU compared to C0. To do this, we have to use an unused 7404 inverter on the board located in U18. Pin 9 is input and pin 8 output of the inverter.

The CPU Q0 clock signal is coming form pin 14 of U30 nearby.
NOTE: before doing the last step, you may test the computer for proper completion of Step1 & 2. The video output should work normaly and during scrolling, white artifacts are visible on the screen. They will disappear, when last step is completed 
See attached PDF guide for reference.

 

 

 

610_MOD.gif

Flicker fixer guide

 

 

Last Update: May 2025