While testing on a breadboard is fast, I still want my 68000 on PCBs.
Breadboards are nice for testing, and I use them in the design stage. But they will fail in the end. Loose wires, oxidated contacts and alike.
So when I was testing using breadboard, I drew the schematics in KiCad.
I wanted to use Eurocards for this one. If I divide the whole system in system blocks, I can exchange and experiment parts. (My 6502 uses another method to connect different cards)
CPU and Clock (Plus power-on reset and step mode)
Memory and ROM
Storage
Address decoding
Sound
IRQ Handlers
Led Blinkenlights 🙂
…
I wrote about Eurocards in the past.
So I’m using the VMEbus standard for my new design. (Using the recently bought book I mentioned)
Backplane design is done. And currently being autorouted.
PowerLeds for 5 and 12V. On/Off switch and MOLEX power connector.
Kicad sources will be uploaded
In the past, I dumped my old eurocards and even a nice case I had.
GameA masm setupExample asm program to see gfx capabilities
68000 Progress
My address decoder seems to work (using an ATF22v10C) See previous posts.
Also new Rom and Ram chips. These are 8 bits, but the 68000’s data bus we need two (Odd and Even Addresses)
C64 Hacks
I made a proof of concept for a Rom switcher. 8 Different Roms can be selected using the dip switches. (Dipswitches are being replaces bij something smarter in the future, like an Arduino Nano (like Adrian Black’s solution)
While busy fixing my business site, and working for a customer, I build a testing rig for the 68000.
I first made a power-on reset schematic. The timing is different from the 6502 power-on reset, and the 68k needs HALT and RESET being pulled low.
Inverted reset signal (before the 74ls06 invertor)
Pulse from A17
Schematic with poweron reset, some leds and 8mhz crystal Lines pulled to GND or VCC are at least needed to get a running CPU. Data bus resistors are needed because data is r/w
All Data lines are pulled low, emulating opcode 00 00 https://68k.hax.com/ORI%20to%20CCR This will do nothing weird, and will increment the address and try to read the next opcode. Resulting in an endless incrementing address bus, I’ve put a Led (Red)on Address A17.
Made a clock circuit and busy designing a power-on-reset schematic. I’ve made one before, but this circuit needs RESET and HALT being pulled low.
8mhz 5V
The 68000 being 24 bit address and 16 bit data needs 2x 8-bit roms and 2x 8 bit ram, but i didn’t have the components yet in this picture.
Address decoder using ATF22V10C is also halfway. Schematics online soon.
Started a protected Git repo for C64 demo and proof of concepts for our old ICECREW group.
Installed Gitea, behind a reverse proxy. Part of reverse proxy
ProxyRequests Off
ProxyPreserveHost On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
<Location />
ProxyPass http://10.x.y.z:3000/
ProxyPassReverse http://10.x.y.z:3000/
Require ip 213.10.144.27
Require ip a.b.c.d
Require ip e.f.g.h
</Location>
Gitea config with token login over https
Generate token
Login https://icecrew.henriaanstoot.nl/
Select your profile (upper right)
And select Settings > Applications
Select a name for your token. And press generate
Top screen shows a token, copy this!
Create new project
Press explore (upper left)
Select organisation and icecrew
Press New Repository, give a name and create
(press https when not defaulted, there is NO ssh to this server)
The example is wrong! (Use below changing TOKENHERE and PROJECTNAME
touch README.md
git init -b master
git add README.md
git commit -m "first commit"
git remote add origin https://TOKENHERE@icecrew.henriaanstoot.nl/icecrew/PROJECTNAME.git
git push -u origin master
Clone a project
Goto a project
press HTTPS when not defaulted to this.
git clone https://icecrew.henriaanstoot.nl/icecrew/borderflag.git
edit .git/config and add your token to the url ! to push
My Sidplayer as an option to select own collection. And I’ve made a top list
# Best composers (no order)
Ouwehand_Reyn
Tel_Jeroen
Huelsbeck_Chris
Rowlands_Steve
Hubbard_Rob
Daglish_Ben
Follin_Tim
Gray_Matt
Tjelta_Geir
Mibri (from get in the Van)
# Best tunes (no order)
R-Type.sid
Arkanoid.sid
Bottom.sid
Turbo_Outrun.sid
A_Tune_for_Unity.sid
Ohne_Dich_Rammstein.sid
# Start of own collection (not in above collection)
Abyssus_Ignis_[8580].sid
Catastrophe_[8580].sid
Dumb_Terminal_[8580].sid
Get_in_the_Van_[8580].sid
Getting_in_the_Van_[8580].sid
Supercharger_[8580].sid
Tuna_Guitar_[8580].sid
Investigating syncing effect to Sid music.
I got a great tip from Youth who made the Freakandel demo presented at X2024.
> Setup the loop to play the music
> Copy part of the memory to the screen ($0400) in the same loop to look for memory locations that are used as variables for the music. > Looking at
> Memory where the music is stored
> Zeropage ($00-$ff)
> See if there's some useful changes that coincide with for example drums
> For my own tunes, I use a music routine where I can put event markers in the music itself and react to those from the code. That's >how I synced https://www.micheldebree.nl/posts/big_angry_sprite/
> You could also try reading the SID registers for voice 3 (waveform and ADSR), those are the only ones that are not write-only. > Obviously you can then only react to those changes in voice 3.
I used retrodebugger to see which bytes are changing. Then I wrote a program which changes the background colour to this value. I also made a program to use a joystick to see which address have the most interesting effect. (use up)
Test picture of a multiprocessor computer setup. Using buttons on the right, I want the possibility to change between systems and keyboard settings. Also, multiple software/OS slots for SDCards will be on the right.
Mockup using a laptop display (eeepc) a bought display controller and a pi2 with Faux86
The lid containing the keyboard has a handle!
After laser cutting a nice front, it could become a nice road warrior hacking station.
I’m going to replace the wireless keyboard, probably with a touch display and a programmable layout for keyboards. Something like below
Some layouts:
8088650268000
I’ll probably buy this one from waveshare
Info about Faux86
8086/8088, V20, 80186 and limited 286 instruction set.
Configurable CPU speeds from 5Mhz up to 100Mhz.
Custom Hardware BIOS’s supported.
Supports bootable disk images in .img and .raw file format.
CGA / EGA / VGA Colour Video emulation, with most modes supported.
PC Speaker, Adlib, Soundblaster and Disney SoundSource.
UART Com Ports.
Standard PC XT Keyboard.
Serial Port 2-Button mouse.
"If something is worth doing, it's worth overdoing."