Thanks to visit codestin.com
Credit goes to github.com

Skip to content

codesmythe/BITSY_MK_I

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BITSY

This board is designed to run the EmuTOS operating system. EmuTOS is an open-source variant of the Atari ST TOS operating system.

BITSY Mark I is part of system containing this board, a XOSERA_RCBUS board for VGA output, a KEMOJO board for PS/2 keyboard and mouse input, and an RCBus backplane board such as an SC147. Together, this system can run full GUI EmuTOS with 640x240 graphics in 16 colors.

This SBC can also be used by itself, in EmuTOS command-line mode, using the on-board UART for serial input and output at 57600 baud.

But please do note that it is early days for this system, so there are undiscovered bugs looming. In particular, you may see occasional graphical artifacts in EmuTOS as the driver is debugged.

BITSY System
Full BITSY system running Teradesk with color icons on EmuTOS. Free memory shows 16 MB SRAM SIMM in use.

Table of Contents

Hardware Documentation

Schematics

This four layer, 102mm x 102mm board was created using Kicad version 8.0. The KiCad files are available in this repository.

The image below shows the top level schematic page. Click on it to download the full eight page schematic in PDF format.

Schematic

Connectors

Reference Description
J1 Barrel jack connection for a 2A, 5V, 2mm power supply.
J2 Six pin male header for connection to a USB-to-serial adapters. Uses the FTDI Friend pinout.
J3 Five pin male header for connection to a DS3231 Real Time Clock module.
J5 40-pin connection to an RCBus 40-pin or 80-pin backplane.

Jumpers

Refence Picture Description Comment
JP1 Connects RCBus /INT (pin 22) to 68K interrupt level 4 (1-2) or level 2 (2-3) When using BITSY Mark I with the XOSERA_RCBUS board, jumper pins 1-2 to use 68K /INT4.
JP2 When closed, connects RCBus USER1/INT1 (pin 37) to MFP GPIO4. When open, RCBus pin 37 is unconnected. Close this jumper when using the KEMOJO board for PS/2 keyboard, PS/2 mouse and joystick support.

SRAM Choice

Memory for this board is hosted on a custom 72-pin "SRAM SIMM" board. Though SIMMs are conventionally associated with DRAMs, these custom modules present a static RAM (SRAM) interface to the motherboard. Thus they have a demultiplexed address bus and use SRAM control signals such as chip enable, output enable and write enables.

Warning

BITSY_MK_I is completely incompatible with conventional DRAM SIMMs.

1 MB SRAM SIMM

The 1 MB through hole version is a good choice to start with, as it is inexpensive and easy to solder. Gerbers for the boards are available in this repository. So if you are ordering a BITSY board from a PCB maker, also order one of these memory modules.

16 MB SRAM SIMM

If you end up using the system regularly, I'd suggest upgrading to a 16 MB "SRAM SIMM" I have created. If interested, please contact me about purchasing a 16 MB module, which run about USD $36 each. Alternatively, you can have JLCPCB assemble them yourself using the design files in this repository.

Bill of Materials

Text file parts list for pasting into the Mouser BOM tool (login required).

To obtain a BITSY Mark I PCB, download these Gerbers for use at your preferred PCB manufacturer. I use JLCPCB.

Component Type Reference Qty Description Part
CF Adapter none 1 Compact Flash Male IDE 44pin adapter eBay or Amazon: search for "Compact Flash Male IDE 44pin adapter"
RTC none 1 (optional) DS3231 I2C Real Time Clock module Amazon: search for "DS3231 rtc module". Get a black one with 5-pin female connector and yellow battery.
Capacitor C1-C4,C7-C12,C14,C15 12 0.1 uF, MLCC, 5 mm Pitch Mouser 594-K104K15X7RF5TH5
Capacitor C92,C93 2 Electrolytic Capacitor, Radial, 6.3V 470uF, 6.3D, 2.5P Mouser 80-ESK477M6R3AE3AA
Capacitor C94 1 MLCC, Leaded 100pF 50V 5% C0G 5mm Mouser 594-K101J15C0GF5TH5
Capacitor C97,C98 2 Electrolytic Capacitor, Radial, 16V, 100uF, 5D, 2.5P Mouser 667-ECA-1CM101I
Capacitor CON1 1 Audio Jack, 3 Poles, Switched TR Poles Mouser 490-SJ1-3535NG
Diode D1 1 Green LED, through hole, 5 mm pitch Mouser 859-LTL-307GLC
Jumper J1 1 DC Barrel Jack Mouser 490-PJ-002A
Jumper J2 1 1x6 right angle pin header Mouser 737-PH1RB-06-UA
Jumper J3 1 1x5 right angle pin header Mouser 737-PH1RB-05-UA
Jumper J5 1 1x40 right angle pin header Mouser 710-61304011021
Jumper JP1 1 1x3 straight pin header Mouser 200-TSW10307TS
Jumper JP2 1 1x2 straight pin header Mouser 200-TSW10207TS
Transistor Q1 1 2N7000 MOSFET in TO92 Mouser 512-2N7000
Resistor R2 1 470 ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FTE52-470R
Resistor R3 1 10K ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FTE52-10K
Resistor R84,R85 2 1K ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FTE52-1K
Resistor R86,R87 2 1600 ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FTE52-1K6
Resistor R88-R90 3 3K ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FTE52-3K
Resistor R97 1 100 ohm, axial, 1% tolerance, 1/4 W Mouser 603-MFR-25FBF52-100R
Resistor RN1,RN2 2 4.7K ohm bussed network, 6 resistors, 7 pins, SIP Mouser 652-4607X-1LF-4.7K
Switch SW1 1 Push button switch Mouser 179-TS026655BK160LCR
Integrated Circuit U1 1 MC68HC000 CPU in PLCC-68, 20 MHz Ebay: search for "MC68HC000FN20"
Integrated Circuit U2 1 TS68HC901 Multi Function Peripheral (MFP) chip in PLCC-52 Ebay: search for "TS68HC901CFN8B"
Integrated Circuit U3,U4 2 512k x 8 Flash ROM in PLCC-32 Mouser 579-39SF040554CNHET
Integrated Circuit U7 1 MIC1232 CPU Supervisor in 8-pin DIP Mouser 998-MIC1232NY
Integrated Circuit U8-U11 4 ATF22V10C-15PU, Simple PLD, 24 I/O in 24-pin DIP Mouser 556-AF22V10C15PU
Integrated Circuit U12 1 AY-3-8913 Programmable Sound Generator (PSG) in 24-pin wide DIP Ebay: search for "AY-3-8913"
Integrated Circuit U14,U15 2 74HCT245 Octal Bus Transceivers in 20-pin DIP Mouser 595-SN74HCT245N
Oscillator X1 1 16 MHz can oscillator in 8-pin DIP Mouser 774-MXO45HST-3C-16.0
Oscillator X2 1 7.3278 MHz can oscillator in 8-pin DIP Mouser 774-MXO45HS-3C-7.3
Oscillator X3 1 2 MHz can oscillator in 8-pin DIP Mouser 774-MXO45HS2C2M0000
Socket Socket for U1 1 68-pin PLCC socket Mouser 575-682444
Socket Socket for U2 1 52-pin PLCC socket Mouser 575-945224
Socket Socket for U3,U4 2 32-pin PLCC socket Mouser 649-54020-32030LF
Socket Socket U5 1 SIMM Connectors 72 POS SIMM VERT TIN Mouser 571-5822021-4
Socket Socket for U7 1 8-pin DIP socket Mouser 737-ICM-308-1-GT-HT
Socket Socket for U8-U11 4 24-pin DIP socket Mouser 737-ICM-324-1-GT-HT
Socket Socket for U12 1 24-pin wide DIP socket Mouser 737-ICM-624-1-GT-HT
Socket Socket for U14,U15 2 20-pin DIP socket Mouser 737-ICM-320-1-GT-HT
Socket Socket for X1-X3 3 8-pin oscillator socket Mouser 535-1108800

Firmware Documentation

ROM: EmuTOS

As mentioned, this board is designed to run EmuTOS. The source code for my fork of EmuTOS to support various 68K single board computers, including this one, can be found here. The version of EmuTOS in the fork is based on EmuTOS version 1.4.

Two default configurations are provided by the ROM binaries in this repository. Other configurations are available by compiling EmuTOS from the source code linked above.

Configuration: Using serial port command line I/O interface

The first configuraiton uses the UART provided by the MC68901 and runs EmuTOS in "serial console" mode. In this configuration, 1 MB of SRAM is supported, which can be provided using two standard 512K 32-pin DIP SRAMs like the AS6C4008 mounted on an "SRAM SIMIM" adapter mentioned above. The "EmuCON" part of EmuTOS provides a command line interface. Here are the even and odd ROM binaries for this configuration:

ROM Size File
Even 512KB bitsy_v1_sercon_1mb_20251123.even.bin
Odd 512KB bitsy_v1_sercon_1mb_20251123.odd.bin

Configuration: Using VGA and PS/2 support to run EmuTOS GUI (GEM)

The second configuration runs EmuTOS in full GUI (GEM) mode and requires the use of the XOSERA_RCBUS and KEMOJO boards to provide VGA output and PS/2 keyboard and mouse input. In this configuration, at least 4MB is suggested so I recommend using the 16 MB "SRAM SIMM" module described above. It is possible to run GEM mode in 1 MB of RAM, but for you now you will have configure EmuTOS and compile it from source. Here are the even and odd ROM binaries for the 14 MB configuration:

ROM Size File
Even 512KB bitsy_v1_gem_14mb_20251123.even.bin
Odd 512KB bitsy_v1_gem_14mb_20251123.odd.bin

Memory Map

Address Range Use
00_0000 to (0F_FFFF or DF_FFFF) 1 MB or 14 MB RAM
E0_0000 to EF_FFFF 1 MB ROM
F0_0000 to F0_003F IDE (mirrored every 64 bytes in the 4K byte range from F0_0000 to F0_0FFF.)
FF_0000 to FF_FFFF 64K RC2014 IO (IOREQ). Includes the on-board PSG and MFP.

I/O Map

These addresses (and the IDE addresses above) are the same as the Atari ST for software compatibility.

Address Range Use
FF_FA01 to FF_FA2F MFP (odd byte lane) mirrored every 48 bytes in the 256 byte range from FF_FA00 to FA_FAFF.)
FF_8800 to FF_8803 PSG (even byte lane) mirrored every 4 bytes in the 256 byte range from FF_8800 to FF_88FF.)
FF_0191 to FF_01A1 TL16C550 UART on KEMOJO board (odd byte lane), if using default setting of 0xC8 on that board.
FF_81c1 to FF_81E1 Xosera registers, if using default setting of 0xE0 on that board.

SPLD Fuse Maps

BITSY Mark I uses four ATF22V10/GAL22V10 SPLDs (U8 - U11) for address decode and various other control logic. The SPLD fuse maps (JED files) can be downloaded via the links in the table below. The SPLDs are implemented using Flash/EEPROM technology and can be programmed by commonly available EPROM programmers, such as MiniPro TL866 II+ or newer. The source code (PLD) files are also provided in the repository. If needed, they can be modified. Use GALasm to compile PLD files to JED fuse maps.

Note that there are separate fuse files for U9/HIDECODE depending on whether you are using 1 MB or 14 MB SRAM.

Reference Source File JED File Functions
U8 MEMCTL.PLD MEMCTL.jed Interrupt control, RCBus interface
U9 (1 MB) HIDECODE.PLD HIDECODE.jed Decode high part of address bus for 1 MB SRAM
U9 (16 MB) HIDECODE_16MB.PLD HIDECODE_16MB.jed Decode high part of address bus for 14 MB SRAM
U10 CONTROL.PLD CONTROL.jed Wait states, DTACK generation, IDE interface
U11 DECODE.PLD DECODE.jed Decode low part of address bus

Acknowledgements

When I designed this board, I took ideas and inspiration from these projects:

The sound output circuit is borrowed from https://hw.speccy.cz/melodik2.html by way of https://github.com/electrified/rc2014-ym2149/blob/main/README.md

About

A Motorola 68000-based single board computer designed to run EmuTOS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages