Hey tech

hey tech,
so after having successfully built my first computer (z80 with a Yamaha V9938 VDP) (8 bit)
i'm trying to build a second, aiming for an intel 10188 (16 bit with an 8 bit data bus)
i have a problem finding a decent VDP for it.
the most powerful i could find was the Yamaha V9990. which can display [email protected]/* */ color.

those are mediocre performance compared to the cpu.
i'm looking for something that can pull SVGA (800x600) with 265 color if possible.

does anyone know a chip that can do it ?

thank you.

Other urls found in this thread:

s100computers.com/My System Pages/Lava-10 Board/LAVA-10 Board.htm

How much did it cost you OP to build your fist computer?

why not MC68008

FPGA SVGA controller
s100computers.com/My System Pages/Lava-10 Board/LAVA-10 Board.htm

about $100

need an x86 so i can run msdos, windows 3.0 and various msdos softwares.
absolutely heretical.
may as well get a raspberry, put an emulator on it an call it a day at this point.

how do you make these computers? Is there any guides or info?

Also isn't the z80 from the 80s? Do they still produce those or do you have to find old parts

what did you call it OP?


late early to mid 80s.
the z80 is the most successful cpu ever made, they still make it to this day and they're not anymore hard to find than a regular PIC.
however compatible ram and rom are slightly more difficult to find, but nothing bad.
what is really hard to find are the VDP chips, most of them were custom made for specific computers (CPC, MSX, etc...) they're pretty exotic and are considered obsolete hardware. (unlike the z80 which is still used as controller)

the most documented cpu you can find.
just a google search.

but i won't lie to you, its pretty rough.
you'll have to seriously do your homework.
consider +1000 page read to grasp the concept (not counting the datasheets of serious components).
i have a decent experience in electronic, done many analog builds in my day, i can read diagrams and had basic knowledge of logic gates and binary math, i still felt like a complete retard while reading about cpu's

like an engineer trying to do a theoretical physicist job, its a completely different field.

the good thing is, just like for aircraft aerodynamics, once you understand how it works, you can go for any CPU.
there are few differences but the basics and wiring are the same.

i was expecting it to be a small project to do during weekend, it actually took me 6 months to get it to work.

dunno what you're talking about


tbh i would rather have linux, but there is no support for 16 bit cpu as far as i know. at least not for the 10188.
its not about windows, more about softwares i can run.

with the z80 i was stuck with CP/M and basic, not much you can do with those two.

however, there is a decent software lib for msdos and windows 3.0


I've wanted to do something like this ever since I saw this guy's videos. But can't really justify the time it would take.


I think he's referring to the way you wired it. You didn't use soldering and you gave the name some few threads ago.
is probably thinking about wire wrapping.

not me.
first thread i make about this

calling this a computer is a quite a stretch.
i don't see any input, just fancy blinking lights.

me neither tbh, i don't really see the point of building something like this.
thats a pretty expensive and complicated way of making christmas tree lights.

however making your own computer is pretty damn cool, tbh i use mine daily.

The Motorola 68000 series were the first non x86 processors to get Linux support.

I didn't think a video controller would be that much trouble to make, from say an Atmel AVR.
How did your Z80 board handle storage though?

Fun fact: Motorola 68000's are still in use on nuclear submarines and aircraft carriers today.

contrary to the z80 and the 10188 the M68k had a 16bit data bus, making a board for it would be way more complex an require allot of ICs.
there is a version with an 8bit but (68008) but the performance are so mediocre that i would rather go for a 80188.

.>Atmel AVR
using a modern chip would ruin the whole point.

Meh, there's a huge difference between 8-bit AVR that you program for a very specific task and use as a component in larger system vs. a full-blown off-the-shelf RPI board that's just used to run emulator or even FPGA that has no original components whatsoever.


Include an ISA slot? ... This lets you cheat by using an existing VGA card for the short-term.. but then you can design a separate VGA card from scratch.

It may not be a personal computer for you to watch porn on, but it is most definitely a computer. It performs arbitrary mathematical and logical operations. Just because you don't know binary doesn't mean its the same as some retard blinking an led on his arduino. Just because you have to program it on such a low level doesn't make it any less of a computer.

all non-NT windows systems were glorified MSDOS window managers though

"Graphical MSDOS Shells" was what was said of them.

an AVR is advanced tech, it has cpu, rom, ram in a single chip. yes its a big deal.
i'm ok with using newer versions of old tech, like the Z84 for example, which is a cmos version of the Z80 and can run at up to 20Mhz.
its still a z80 and it is still a "basic" design despite the new manufacturing process.

i found a chip that could do the trick, its an Epson s1d13505, can handle [email protected]/* */
looks good so far i hope its still available, if not i'm gonna have to go for the ISA bus option

8051/8052 are hella powerful these days too. I've got a 60MHz part here somewhere.

impressive chip indeed, considering its 30 years old

I don't know how to computer

Would it be possible to replace the z80 on something like a trs-80 with one of these and run old programs at sanic speed?

Almost. The newer models can still run the exact same machine code as the old ones, but there are still a lot o components in old computers that can not run at the high frequencies used by the new processors.
Back in the days people would use turbo-cards, little add on boards hosting a processors and faster RAM that fit into the cpu socket or an expansion slot, with some glue logic to translate between the old system and the new processor.

no, the Z80 is a cpu, AVR are micro controllers.
you could replace the old z80 with a new z84 but you'll need to change the freq generator, ram, rom, and probably a whole bunch of different thing (i don't know what the TRS-80 has in)
contrary to modern CPUs, old CPUs had the same internal and bus frequency.

the other solution, if you're a code wizard would be to replace the original cpu with an fpga working at high frequencies while having the same bus speed.

I've just remembered this guy's work: fleasystems.com/fleatiny.html ... A 8086 (and other) emulator on a 8051.

Z80A was clocked to 16 MHz on Amstrad PCW16. Maybe also other more obscure things, like specialized industrial systems.

The 65C02S in available in 14MHz, too..

So you want to couple tech from '82 with tech that came at least 5-7 years after that? Nah, man, take that looong board and start soldering lotsa chips to enjoy 4 color CGA glory.

Seriously, you are using technology from the '80s, and facing the same problem that existed in '80s. As we all know, graphics-oriented microcomputers (a.k.a. consoles) at the time used powerful/custom additional specialized processors that often outperformed the CPU, and it was like that because nothing cheap and general purpose existed.

Wikipedia article for Tandy 2000 (186-based system) mentions custom MS-DOS build and only Windows 1.0 support, are you really sure you'll get a wide range of software to run on your system without problems?

I'd like to see someone make a little dual core computer like this. Alas, I know jack shit about computer architechture. It might be more trouble than its worth.

The T2000 went off-spec from the PC BIOS.

A proper Clone does enough to get Flight Simulator II running. FS2 was literally The Standard Compatibility test back in the XT era.

Go for a 386 or 486. You'll have to keep the clock speed slow, but you could still do it point to point. You'd be able to run a 32 bit OS then.

32bit data bus,196 pin......
i'll pass

it's possible but i can't do it.
its more of a software problem than hardware, must be a nightmare to build a kernel for that.

Nvidia 1080 gtx is pretty good.

would be interesting to try, sadly the bus speed (pci-e) is faster than my CPU. also it uses a 32bit bus wich would be hard to feed.
i'm stuck with ISA 8 and maybe ISA 16 with few additional chips

I understood some of those words

Refer to how the Apple][ Z80 cards did it?

Bumping because I like these kind of threads

What books/websites do you recommend for someone looking to get into this? I'm currently working my way through A Practical Introduction to Computer Architecture. My roommate was a CS major in college, and I remember thumbing through a few architecture books and finding this one interesting because it was bottom up instead of top down.

I've always just headed for the 'design a computer from scratch' section of the College library, and browsed whatever I could find. Magazines from the 80s too (Circuit Cellar, BYTE when CC was a part of it, etc.)

It's not like you'll be permanently crippled if you.. like... accidentally... check a book from the shelf that isn't The Best[tm].

I already graduated from college. There aren't really any college libraries near where I live. I'll have to stick with the interwebs.

Just trying to not waste my time. I'll check out those mags

glad you like.

apparently they used a hybrid z80/6502, no idea how they pulled that off or how it works.

depends on your level of electronic knowledge. you maybe 10 or 30 books away from doing it.

like i said, i had a pretty solid electronic background and still felt like a newbie.

i would say designing a computer from scratch is 10% electronic, 90% logic design.

i would advise you to start building simple calculators using TTL logic (7400) to get familiar with the concept.

once you get familiar with it, you can go for simple CPUs, Z80, 6502,...and other 8 bits, you can start with a 4 (4004) bit, but its no more complex than a TTL calculator.

once you're good with the Z80, 6502, you can go for bigger ones like the Motorola 68k series.

if you manage to pull that one off, you're good to gor for an i386 (basically a "modern" cpu) can run windows, linux, android ....

good luck

I was worried you were gonna say that. I'm an amateur radio operator. I've been building electronic projects all my life. I haven't done digital stuff before though. I guess I'll keep working through my architecture book until I can get the cash to start experimenting.

I'm working on getting my HAM license now.

Also playing with circuits.io

I wonder if we could make a gameboy homebrew. The CPU is pretty much a middle point between a Z80 and a 8080, plus some specific instructions.
Making the video controller is going to be very intense though. I don't know if there is enough documentation to get at least one game running without sound.

The OSdev wiki has one example of code for accessing video memory.
I don't know about sound, though.

Yeah but that's easy to find out.
Like, it's not that hard to make a NES emulator, but actually physically making the PPU? Good fucking luck with that.
I said the gameboy because it seems much simpler, better designed and more modern. The video controller doesn't quite look as complicated as the NES PPU, because it doesn't need to handle NTSC/PAL scanlines or any of that shit.

Nothing like that. As I recall (I'd expect there's a circuit on Asimov or the like) they gave a regular Z80 the means to halt the main 6502, and accessed the memory bus through tri-state buffers. The Commodore 128 was another dual-cpu Z80+6502 box.

in numerical build most of the work happen inside chips its pure logic, the 10% analog work is intrachip connections, basically make sure that the signal doesn't get lost or corrupted between the chips. its get more and more complicated as the frequencies go higher.

but you already know how to work with radio signal, so you're good to go.

i would recommend you to start building a small calculator out of 7400 logic.
its pretty fun.

i always tough the gameboy had a regular z80

thanks for the info, i didn't know about that

For starting out. I recommend Getting Started In Electronics by Forrest M. Mimms III. It only covers DC circuitry, but its a great start. For getting into AC circuitry, I recommend google.

There is a project to implement a x86 processor in a fpga.

They have it running windows 3.0, and some dos stuff.


I remember seeing a website somewhere that had VDP boards just for these kinds of projects. I'll see if I can find it.

isn't that illegal ? x86 architecture is closed source how did they find it ?

would be nice, thanks.

I got all the Mimms books, just need to work thru them. Its my goal for this winter, and to get the HAM level 1 license. Its a lot of work but I hope I can do it if I read and process 20 pages a day.

Have you seen circuits.io

It only works if you accept all cookies, but it seems promising for quick and zero cost basic electronics experimenting.

Instruction sets aren't copyrightable. The implementations of features can be patented, however.

ARM are the Nazis when it comes to IP rights-- as it's their entire bread&butter.

i'm pretty sure intel would sue the living crap out of you if you market an x86 cpu


What country are you getting your license in? I'm only familiar with American licensing. I'll check out circuits.io

interesting read

Which just goes to show how long Intel has been purposely holding back CPU technology if Cryix was able to make superior CPUs.

Cyrix was awesome back in the day. I had a Cryix II processor in my second machine. I wish I still had it.

I still have mine. Suck it.

they weren't really all that superior, their advancements allowed them to do a lot more work per clock tick than an equivalently clocked Intel design but Intel chips still clocked faster and Cyrix FPUs were slower than fucking balls (not that it really mattered for the integer-heavy jobs they were designed for and did well)

also, the MII branded chips were ancient, dated shit, at least bring up the golden age of the 6x86 if you're going to have a nostalgia trip

Cyrix Instead

i disagree, you can say that intel are a bunch of greedy kikes, which is true but they were always at the leading edge of of CPU market since day one.
as a company they try to fuck the competition over, but they never cut on R&D

Why not a more modern chip? There are shitloads of video encoders on digikey.

maybe for x86, but especially in the past they were never really at the forefront of computing advancement

even now the likes of POWER and SPARC still have a few tricks up their sleeves for some jobs that Intel hasn't really caught up to yet mostly in virtualization and "security" enhancements


DEC Alpha totally blew away Intel back then.
Even Motorolla 68040 was faster than Intel 486, particularly in floating point math.
No, Intel was never the best.

Intel only got popular because they sealed the deal with the IBM PC. The 8088 was a piece of shit, and the company itself was irrelevant.

Where's your sense of adventure? It'd be just like the z80, only bigger.

What about something like this?

geo ffg.net/terminal.html

thats almost 5 times as much pins.
keep in mind that i'll have to solder atleast the same amount of pins on the ram, rom, vdp/gpu and some on the UART.
i didn't do the math but it would between 1000 and 2000 solder joint and a nightmare of wiring.

it can only be done with CAD

Intel ripped the lungs out of everybody when they released the PentiumPro

200MHz, integrated L2 cache (256K up to 1M I think), superscaler, OoO, branch prediction, etc. Everything modern, tacked on behind an x86 decoder.

I owned a dual processor PPro back then. It was amazing, if you ran 32 bit code.

Alpha had a chance for a little bit to beat Intel, but they needed to sustain > 2x performance for the same price and they could not do that.

Intel's dealings within the x86 market may have been murky, but they beat the RISC vendors in the 90's fair and square. Intel killed them with performace/price, and has slowly built better RAS features into their platforms.

The 386sx platform had a 16bit bus IIRC. It was available until at least just a few years ago as an embedded platform.

I remember it being a cute little qfp chip.

I don't want to trash talk your work or your cool hobby, but you can 'easily' build 32 bit cpus within an FPGA. At this moment I am working on an independent RISC-V implementation in VHDL. I have instruction & data caches, and a 4 stage integer pipeline. I have it synthesizing at 150MHz, but I should be able to get it back up to 200MHz. It runs real code - I have it up on Ethernet using uip.

you don't even need to limit yourself to an existing architecture. You would be then also building fpga skills that are valuable.

The PP 200 MHz with 1 MB cache was the only decent chip they made, but then they cucked it up.

Evidence of what they did in the past doesn't equate evidence of what they're doing/will do in the future.

DEC demoed a 1GHz (1.2GHz?) Alpha in 1993-- there was some serious cooling on it, though.

thats not even comparable !
making a 3D model of an arecraft isn't like making an actual real aircraft.

FPGA are software emulations, you don't have to deal with hardware crap,
you want more RAM ? just change a number in your verilog or VHDL code.
want more cores ? same thing.
want higher frequencies ? just chose a number.

you can't do that in reality.

its like comparing a guy who play rally on his PS4 and an actual rally driver.

not to be rude or anything.

not sure if i'm interested in that.
it would be like getting a Raspberry and emulating CP/m or Basic on it and pretend its an original primitive computer.
thats just not right imo

Pentium Pro is one of the CPU i'm dying to work with, sadly it has too much pins, and its not worth it pin soldering/performance.
i will go for a Soket 7 AMD K-6 II @ 500Mhz !.
in fact i have it right here waiting to be used.

i'll do it once i get some experience with Motorola 68030

nostalgia trip

I built my first computer with this processor

i though RISC-V were just a bunch of incomplete instructions, not enough to make a CPU out of. am i missing something ?
from what i'v read there isn't much advantage over the regular openRISC

That's why wire wrapping was invented

On another note, we were talking about multi-processor z80's earlier. I found a site where some guy has posted some old articles of his about making a computer with multiple 6809's.
Its the 'Multiprocessing for the impoverished' series.

that page looks interesting as shit, you made my night

Dude, please help me understand how the memory shit works. I sat and read it over and over. I googled shit on memory mapping. I seriously spent most of the night reading up on it, and I still have no idea how you can map 2^16 addresses onto 2^20 bytes of memory.

same here, i don't understand how verious components (ram, rom, etc..) are addressed.

i understand that each component have their own addresses but i don't know how

not that guy. Basically you can 'address' a larger address space than the size of your pointers or processor address bus by adding some base value to every attempted read/write.

so if you have say 16 bit pointers (in hex) of and you have a 4 bit base address of , you hook up your larger 20 bit (1MB) address space addresses as . All you need to do is figure out how to modify the base address to read the full 1MB address space in 16bit pages.

This base register would normally be accessed by having a special address window in each 16bit page look that looks though to the base address and other configuration registers. This lets you modify the base address regardless of the current base address setting. So for example writing to address would always hit the base address register. X is of course don't care.

The guy describes his slightly more complex scheme on this page:

in the section Memory Mapping

oh shit. that should be "for example writing to address would always hit the base address register"

NO. Absolutely not true. When you synthesize your design for a FPGA you get say a 30MB long string of 0's and 1's. That gets pushed into the chip and configures its fabric to be the mix of sync and async logic you have described.

If you describe a multiplexer in your RTL, you are actually going to get a multiplexer. Describe a flip-flop, and you actually get a flip-flop allocated and wired the way you describe.

FPGA's are typically slower than a custom chip because their fabric is general purpose and you are using only a subset of each slice's capabilities. This means your circuit implementation is more spread out over a given piece of silicon than in a custom ASIC built in a given node.

Yes, and that is great when it works, but it does not work the way you describe 'in reality'.

As you make your design bigger, it gets slower, the same as it would in a custom ASIC. As you tick up the complexity you will start to get timing errors, and you will have to dig back into your design to pipeline it or have multiple clock domains, etc. All the complex nasty stuff that reality requires.

Chips today are mostly designed using Verilog, SystemC, and VHDL, using the exact same techniques as working with a FPGA. Any big digital chip is not designed using a schematic editor.

When you create a design using a RTL, you at all times must have an awareness of the logic that you are creating.

I realize that most people don't think about the assembly language that the compiler is going to emit when writing 'c' code.

But you can't successfully do any kind of digital design divorcing yourself from thinking about the registers/gates that are being synthesized by each line of your RTL code.

But most of all a programmed FPGA is not an emulation of a circuit. It IS the circuit.

That was the exact 'memory shit' I was referring to. I don't get it. Where is the extra information coming from?

You are mostly right. I don't like the branch delay slot that OpenRISC still has; I think that was a mistake.

RISCV started with the standard documents, and those are what I am working from. Yes, the docs are a list of the opcodes and what they should do. That alone is huge, but there is a lot more to the overall project too.

They have ported gcc and llvm to riscv, and having that toolchain already done is fantastic. They have linux ported as well. They have several instuction emulators that I have used to debug my design by running traces in both their emulator and in my RTL. Divergence = my bug.

There are also some auto design tools that I have not really looked at - IIRC they have a new meta HDL language called chisel that generates entire cpu designs from a configuration file. I have never really looked at that stuff, as the last I checked it output verilog, and my language of choice is VHDL. (I also heard that their auto-generated designes were not very fast in a FPGA). My knowledge in this area is likely outdated though.

All I can say is the dudes that are working on RISCV are very, very good. They are also thinking very hard about the specs as they create them. There are comments in the docs that only make sense as you try to implement it. One example is encoding instructions in such a way that you can decode the instruction and sign extend a literal within the instruction in parallel.

he is holding the "extra information" or extra address bits in 'mapping RAM (U2 and U3)'.

He writes his desired address mapping into those rams, and then he can access 4k windows into the full 1 megabyte memory space.

the cpus A(11 downto 0) are wired to all memory chips. A15 is apparently always low. That leaves him A(14 downto 12) or 3 bits. Those 3 bits are wired to the addresses of U2 and U3. The 8 bits of output from these chips are wired to his global memory bus' address lines A(19 downto 12).

Like I said, if you can modify the contents of U2 and U3, you select which pages of ram you are going access by a subsequent memory cycle - you are modifying the memory map, with no awareness of this by the processor itself.

I think you are partly confused because he is using RAM - U2 and U3 as logic. Basically it is a software re-configurable truth table wired straight into the processor address bus (that is also writable at magic address on that same address bus).

Again in this RAM there is only 8 actual addresses, each with 8 bit contents. It is not much RAM at all.

OOOOOOH. I think I get it now. The running program has to select which page, then the address within that page. I didn't get that the processor has to choose a page first. It just seemed like some kind of voodoo where the processor asked for an address that corresponded to multiple bytes, and the memory magically knew which of several bytes to read or write to. That's why I was so confused.

Different strokes for different folks I guess.


i'm interested in that.
do you think global foundries will accept to build some random guy's cpu ?

yeah, if you have $1M they would love to talk to you.

Never done this:

I've read there are groups/companies that pool silicon designs together for a group buy. They pool all the different designs on a single wafer and periodically send them off for fabrication together.

when the wafers come back they dice them and divvy up the different parts to the proper people.

That is of course much cheaper than getting your own wafer with only your design on it.

Re Chisel, I don't know much about it. It is apparently just another HDL.

Berkeley is working on a bunch of designs for processors based around RISCV - even OoO superscaler stuff. Their designs are claimed to be much better (more power efficient, higher frequency, and higher perf per clock) than similar arm designs in the same semiconductor process.

I think this stuff is going to get a whole lot more popular over the next 10 years.

blocks of memory

my dick


"Kongfeng" managed to make a Gameboy Color clone. The most info I can find about the hardware is this video: youtube.com/watch?v=wfaehijVodQ I guess you'd have to try to dump the chips yourself to find out how they did it, but it looks like they did clone the CPU.

There's also this SoC based GBA clone, though it sounds a little less faithful to the original hardware: k1gbasp.com/index.php

they say that the GBC cpu is a hybrid between Z80 and 8080
which is weird because the z80 in an upgrade from the 8080

It has the instruction set of a Z80 but the registers of an 8080. It also has a built-in audio controller.