Table of Contents
BB68008, Barebones 68008 SBC
Introduction
Features
- 8MHz MC68008
- 128K/512K RAM
- 57600 N82 bit-bang serial port
- Serial bootstrap
- ATF22V10 as glue logic and bootstrap ROM
- 64-byte ROM in ATF22V10
Theory of Operation
Refer to here for a short explaination for embedding ROM in 22V10
At power up, 22V10-based ROM provides the program for 68008 until location $40 is access which will switch out the ROM and replaced with RAM. While ROM is enabled, the RAM is enabled and writable so the role of ROM bootstrap is to decode incoming serial data and write to itself starting from location $0. When location $40 is written, the ROM is replaced with RAM but the bootstrap program remained the same. When 512 bytes of serial data are received, the program starts at location $40.
SerRx equ $fffffff4 page equ $fffffffe org $0 ;serial bootstrap with 22V10 ;serial receive is hooked up to D[7] ;CPU clock is 8MHz dc.l $8000 dc.l start org $14 start: lea $0,a0 ;start serial load from $0 move.w #$200,d3 ;write 512 bytes into RAM setup: moveq #7,d1 ;8 bits in serial receive startBit: move.b SerRx,d2 bmi startBit movem d0-d7/a0-a3,(a7) ;wait 1.5 bit time getSer: asl SerRx ; shift into extend bit roxr.b #1,d2 ; D2 holds the received value movem d0-d7,(a7) ;wait 1 bit time dbra d1,getSer move.b d2,(a0)+ dbra d3,setup bra.s bootend ;prefetch this instruction nop bootend: ;this is location $40 ;loaded program resume execution here.
Design Files
Software
Serial bootstrap algorithm embedded in ATF22V10 ROM
S-record loader. Send BB68K8Load.bin as binary file first, then send S record file to be loaded and execute at $400
Hello world demonstration software