A 16/32 bit, MC68000, 256KB RAM homebrew computer.
Not a member? You should
Already have an account?
To make the experience fit your profile, pick a username and tell us what interests you.
based on your interests.
Choose more interests.
Going to use a MC68000, a YM2413 and 256KB RAM
13.79 kB -
07/19/2016 at 22:53
View all 6 components
Create an account to leave a comment.
Already have an account?
Help for wiring?
Are you sure? yes | no
Sorry there's a typo in my application it is supposed to say hmu not hmm
I posted a file with some of the basic parts.
Oh by the way, you should probably have your project in the Homebrew Computers list, also it seems high time that someone made a 68k list since that one comes around a lot. ^^
As someone who's done this recently, and still working on it. (https://hackaday.io/project/6186-mc68000-breadboard-computer) I've got some recommendations.
For SRAM I'd recommend two of these http://www.digikey.com/scripts/DkSearch/dksus.dll?Detail&itemSeq=201861130&uq=636044562649815786 which would give you 1MB of RAM for not that much. And pair that up with some matching eeproms http://www.digikey.com/scripts/DkSearch/dksus.dll?Detail&itemSeq=201861129&uq=636044562649815786 which would give you 1MB of ROM (excessive yes, but they're only $2 parts)
For memory decoding a 74138 should suffice for most of the work, plus some OR gates (7432) and probably an inverter (7404).
For serial the 68681 DUART interfaces nicely with a 68000 though I don't believe it's manufactured anymore (and has the benefit of having an integrated timer). Something like the 16550 UART used in PCs would be a good option as I believe it's still possible to buy it, or at least clones, new.
The video chip you picked is kind of a pain as it's in a shink-DIP package, such that it won't fit in breadboards or standard protoboards. Plus it requires it's own dedicated video ram (DRAM normally but you could build a circuit to use SRAM). For a start I'd just get serial working with your computer. Another option might be the V9918 which is in a standard DIP (though much less capable, and has the same ram requirements).
To hook up the ROM and RAM you simply wire up their address lines to the CPUs, their databuses to the appropriate halves of the databus. Then you use your address decoding to control chipselect and output enable lines. The UART would be basically the same, just only put on one half of the bus.
Just remember that the address bus on the 68000 starts at A1, since it uses /UDS and /LDS to do byte sized operations. On the peripherals and memory you'll want to connect the CPUs A1 to their A0, A2 to A1 and so on.
Thx! I'm a beginner, but I kind of understand what you're saying. The links are leading to the main eletronics page. I can make a fritzing sketch and upload it.
P.S. Can you give pinouts for the V9918, the memory, the UART and/or tell me what I should wire? Also, I'm not famliar with those types of acronyms or what they mean.
Well if you want to go about it like I did. I basically just got a few breadboards and went around it incrementally from datasheets and other peoples projects.
What I'd do to start is grab the datasheet or even just a pinout of the 68k and get it 'freerunning', which is where you have all the inputs in a normal state (see http://hackaday.com/2014/03/05/hackaday-68k-blinking-a-led/ which tells you which pins you should ignore and which you should tie to either ground or +5v) and have all the data inputs tied to ground.
When the 68k first starts it reads four words from the databus, the start address in the first two, and the supervisor stack pointer in the next two. By setting all the inputs to ground you tell it to start executing at address 0 with a ssp of 0. This is a valid state and it will then start reading instructions off the databus. Since it's still 0 it reads ORI.B #0, d0 which is a two word instruction. Since it's a normal instruction the program counter will just keep incrementing, and thus is you look at the address bus it will be acting as a binary counter. Stick an LED with a resistor on one of the high address pins and you should see it blinking.
As for finding datasheets they can be easily found by googling the part name and datasheet. That's how I built my computer, by taking the parts I have, looking up the datasheet (which will have the pinout) and hooking them up as I went. Since the links didn't work the RAM chip I linked is a AS6C4008-55PCN and the ROM a SST39SF040-70 but really any 8-bit parallel SRAM in a DIP package will work. Just remember if you're using a 68000 you'll need two of each since it's 16-bit and the chips are 8-bit.
Since this is your first computer (like mine) I wouldn't dead-set yourself on component choices before you started. Things like the video chip and such might be better to get after you have a minimal system that you know works before. It'd be good to do the freerun test to make sure your 68k works, then add your ROM and RAM. Then a serial port.
I thought you asked this is a previous version but you'll need both flash/eeprom as well as sram (static ram) for your computer. The flash is used as a "read-only" storage that you can store your program in, but can't use for storing temporary values. Think of it like kind of like a CD-RW, you only write to it if you're changing the entire thing (and even then you use an external programmer to do it, something like a TL866 off ebay). Whereas your SRAM is the actual memory of the computer, where you can read and write any byte of it all you want.
You probably want to see the other MC68000 projects on HaD.io
Just want you to be aware that the graphic chip is a 64-pin package in 0.07" pitch... which pretty much mean you have to at least make a breakout board for that part or make a full PCB.
Your part list of memory look funny. They are I2C and not really the typical SRAM or DRAM for these chips. SRAM sizes usually increment in factor of 4 (doubling in X, Y dimension of the memory array). so 2KiB, 8KiB, 32KiB, 128KiB. 68000 need memory 16-bit wide, so you would use two 32Kx8 (32 kilobits x 8-bit wide bus) chips.
That's how the notation means. What you written down is not right. Also small b means bits. Spell it out if you can't keep track of proper capitalization because this is the time where bits vs Bytes matters.
Thx! This really helps.
I'm fairly new to making homebrew computers myself and am looking at parts myself, so I'll just say my thoughts on the part list, the graphics and sound chip, are they still available or do you intend to tear down old hardware for them (in the long run the second might be more expensive), also something to control communication might be good, if the only way you can interact with it is through a programmer it might lose its novelty earlier than you intend.
Is the memory ram or eeprom btw, I've only found eeprom with a matching partcode, both might be useful however. ;)
I can't find memory ICs that easily, the only site I know of is Digi-Key and I can't find RAM that's 8KB or more.
FYI: Memory chips in DIP packages on digikey.
There are a lot more with SMT.
Become a member to follow this project and never miss any updates
© 2020 Hackaday
Yes, delete it
You are about to report the project "First Homebrew Computer( Need Help/Advice", please tell us the reason.
Your application has been submitted.
Are you sure you want to remove yourself as
a member for this project?
Project owner will be notified upon removal.