No video

Z80 Homebrew Computer with VGA and AY-3-8912 sound

  Рет қаралды 70,871

MrCiernioo

MrCiernioo

Күн бұрын

This is a demo video of my homebrew Z80 microprocessor based computer. The project is still under construction, but some functionality can be allready seen on the video. If you have any comments or questions - please leave a comment below !
Check my blog for some additional information an schematics:
ciernioo.wordpr...
There ia also a thread on elektroda.pl forum (in polish language):
www.elektroda.p...
ROM Monitor sources in Z80 assembler, VGA AVR sources in AVR assembler and VHDL sources of XC9536XL are all available upon request.

Пікірлер: 110
@upmperthay
@upmperthay 8 жыл бұрын
After we finished learning electronics, logic circuits, boolean algebra, etc.... (at the cramming 2-year vocational class I took), they gave us each a simple z-80 system with ram, rom & a hexadecimal keyboard to learn how processors, registries, rom & ram worked, then had us work in competition to write the shortest hexadecimal program to control a 4-way traffic light. It was a little tough but fun. It took allot of work,on your part, planning & building all that, I'm sure. Great job! :-)
@antonnym214
@antonnym214 8 жыл бұрын
Well done! I used to program in Z-80 assembler on the TRS-80 back around 1980. Mostly i used it for writing z-80 modules to be called as subroutines from BASIC where speed was needed. This is nicely done.
@fs406
@fs406 Жыл бұрын
Awesome work and great video! Very entertaining and educational. Whish i would have take it this far...
@MrElectrosock
@MrElectrosock 9 жыл бұрын
I have old Z80 microprocessors and 8085 and 80086 and many times I have been tempted to mount a test board. Seeing your blog and your video I'm encouraging. I can not understand everything you say that I am from Spain even if your English is very good. What I like microprocessors unlike microcontroladore is that you can load the program into RAM memory and run and modify the program constantly. I know this can be done also in some microcontrollers but I prefer in this sense the microprocessor. Several times I was tempted to ride something like Spectrum could even run programs Spectrum, but do not have the knowledge to do so. But thinking well today microontroladores with very many more power would give much better performance. For this indeterminacy. I thought also mount a video card that has video output to television. Very nice all your project and I am glad to find people to do stuff. A greeting My Blog misterelectronicoes.wordpress.com/trainer-board-homemade/
@MrCiernioo
@MrCiernioo 9 жыл бұрын
Hi Angel, I agree with our opinion on microprocessors vs microcontrollers! The latter are more useful, but the first are much much more fun ;). I suggest you go try with the Z80 - it is really easy to start, and after that you upgrade the project step by step with no problem. After some time you realize that your system is so huge :D
@MrElectrosock
@MrElectrosock 9 жыл бұрын
MrCiernioo It's really more fun and more control over the systems, there SDCC C8 CCS etc .. but the ending that I stay with assembler is that I have thus control. I like your channel and I've subscribed to the'll try to mount your plate when you can and be aware of your project. Thanks for all greeting.
@user-yw8sr3uj1w
@user-yw8sr3uj1w 6 жыл бұрын
Cant sneak that Arduino Uno chip past me. I know that VGA would be extremely slow at 4MHz though so good idea using it
@vanhetgoor
@vanhetgoor 6 ай бұрын
Yeah, that AY-3-8912 sounds good.
@electronman32k
@electronman32k 8 жыл бұрын
very nice thinking of adding vga to the next homebrew computer I build once ive completed the one im currently working on.
@TachoTron
@TachoTron 10 жыл бұрын
Respekt !!!!!!!!!!!!!!!!!!!!!
@l3p3
@l3p3 8 жыл бұрын
I zapped through the video an then I was surprised by XP screen. I was thinking you ran Windows XP on your computer. xD
@jankowalski861
@jankowalski861 7 жыл бұрын
Niesamowite. Życzę udanych dalszych prac :)
@steves.6649
@steves.6649 7 жыл бұрын
great job, especially video adapter and bios monitor require most work. congrats
@MrCiernioo
@MrCiernioo 7 жыл бұрын
Thanks Steve. Video adapter was really a big hardware/software challenge. But most work was put into FAT16 read/write subroutines in Z80 assembler that I implemented later. Other BIOS monitor functions were a lot easier compared to those.
@adrianomoraes7738
@adrianomoraes7738 4 жыл бұрын
Nice project! How does it generate vga video?
@gettingpast4391
@gettingpast4391 5 жыл бұрын
nice work. I am also building a z80 computer. I am at the peripheral stage and trying to decide on an output device. probably serial first and then crt display. trying not to use fpga so may build a simple monochrome ntsc video card.
@satan2k
@satan2k 8 жыл бұрын
I'm rather impressed but it's quite unfortunate to use so atmega + xilinx chip for the VGA. I mean it's impressive but it feels alittle too overpowered compared to the sole 4Mhz Z80 :) And, by example the atmega is a really complete chip, but i think it embeds too much things that weren't available at the time (late 70/80). I was curious about a more creative solution to output on the screen ("a la wozniak") :-) Great job btw!
@MrCiernioo
@MrCiernioo 8 жыл бұрын
+Satan 2k Hi, thanks for your comment! you`e absolutely right, and I fully agree with your point - It would be more creative to use just basic parts, common for the era. My first attempt on the display board for this project was just like that, but I had to abandon it after encountering a problem I couldn`t solve. The card was disassembled then, parts reused. Later, I found the mistake, but it was too late - I went for a simplier solution with the Atmega just to get things working, and I see it as my personal failure to use modern microcontroller here. Today the project is much advaned, and is running CP/M. New display is being tested, and this time will be more era-correct: Mda/Hercules/CGA 8-bit ISA combo card from PC/XT. I still have plans to make a "proper" VGA or at least composite display from basic logic ICs. However I consider CPLD as a good help here, as it`s a solution simmilar to custom logic arrays chips from that time (Spectrum`s ULA) and can be seen as a larger logic circuit in a smaller package :)
@LazoeJSCREI
@LazoeJSCREI 8 жыл бұрын
1:43 WOOOW!
@ohmygod1550
@ohmygod1550 8 жыл бұрын
+skil3z ...
@madskillz7287
@madskillz7287 6 жыл бұрын
haha =)
@edgeeffect
@edgeeffect 6 жыл бұрын
Ace music! But a tad on the deafening side. Great build! Is that a hand-drawn PCB?
@SciDOCMBC
@SciDOCMBC 4 жыл бұрын
you did a really good job, thx for sharing with us 👍👍👍
@halamkajohn
@halamkajohn 8 жыл бұрын
what happens if a voltage is applied to the color pins?
@MrCiernioo
@MrCiernioo 8 жыл бұрын
Hi! At this moment only green VGA signal is connected, red and blue are grounded. If you apply voltage to R or/and B pin, the display colour will change. But it`s still fixed to one color, of course.
@bob23182
@bob23182 9 жыл бұрын
You the real MVP!
@julienmorris7051
@julienmorris7051 6 жыл бұрын
Fair play - that's insane. Respect to you fella.
@AiOinc1
@AiOinc1 9 жыл бұрын
I was building my own version of this, but I ran into a lot of issues, including not having a BIOS or any software, no way of drawing anything to a display, besides maybe some LEDs or a serial terminal.
@AiOinc1
@AiOinc1 9 жыл бұрын
AIO inc. Then RadioShack closed down, giving me no parts to actually work with.
@protoCall7
@protoCall7 9 жыл бұрын
AIO inc. What CPU are you using? I'd recommend checking out jameco.com and mouser.com for components. They'll beat RS's prices by a long way anyhow.
@AiOinc1
@AiOinc1 9 жыл бұрын
The ZiLOG Z80A CPU. DIP40 package, because I already have the socket for that one.
@protoCall7
@protoCall7 9 жыл бұрын
I'm working with the same CPU right now, fun little chip to play with. Check out jameco for your components like I said above. I've really liked their full can oscillators for Z80 clocks
@AiOinc1
@AiOinc1 9 жыл бұрын
I have a switch for Manual / Automatic clock signals. I'll probably have a video on my channel about the protoboard soon.
@pikachupl8803
@pikachupl8803 7 жыл бұрын
Could you provide eagle layout designs for this?
@MrCiernioo
@MrCiernioo 6 жыл бұрын
Hi, check the blog ciernioo.wordpress.com/ ,and post me a message there, I`ll find them.
@zetaconvex1987
@zetaconvex1987 3 жыл бұрын
Sweet.
@halamkajohn
@halamkajohn 8 жыл бұрын
make a loop that stores program lines when enter is pressed. line up the scientific notation and subtract in a loop to divide. the atc 24 chips might help train to use the larger memories in the usb memory chips. seagate has so far offered no simple instructions on how to access disc drives. The larger ram chips such as patriot need to be figured into a z80 computer. A 32 bit counter can be rigged to
@russellchido
@russellchido 7 жыл бұрын
PC Master Race
@slap_my_hand
@slap_my_hand 7 жыл бұрын
Z80 Master Race
@douro20
@douro20 7 жыл бұрын
Implementing the video with a microcontroller is cheating!
@MrCiernioo
@MrCiernioo 6 жыл бұрын
Yes, I fully agree. This is where I failed with this project. However, now the computer runs CP/M and is using standard MDA compatible PC Card for ISA slot, looks great and feels better, see ciernioo.wordpress.com/ :) microcontroller based display still sits there and is used for debugging.
@alexanderstroustrup4427
@alexanderstroustrup4427 4 жыл бұрын
I agree
@scotts-tech
@scotts-tech 4 жыл бұрын
I know. This guy didn't even go out and mine his own copper and silicon, make each transistor via wafer etching and fabricate each microcontroller himself. I think he's even using a monitor he *bought*. What kind of diy video even is this?
@easyerthanyouthink
@easyerthanyouthink 3 жыл бұрын
@@scotts-tech lol shame him, very funny
@trollsthatlol1
@trollsthatlol1 4 жыл бұрын
You're a smart dude!
@willashland
@willashland 8 жыл бұрын
Awesome job man, are you thinking of writing an OS for it?
@MrCiernioo
@MrCiernioo 7 жыл бұрын
Hi! Actually, , the computer happily runs CP/M 2.2 now :) Check my blog at ciernioo.wordpress.com
@robertoler3795
@robertoler3795 5 жыл бұрын
nice job
@UK_Bollington
@UK_Bollington 8 жыл бұрын
great work
@benharyo
@benharyo 8 жыл бұрын
This is fantastic! Nice work. So, when will you plan to connect an USB port? :D
@allisonwallswells7327
@allisonwallswells7327 9 жыл бұрын
that's pretty cool
@renemarten2829
@renemarten2829 6 жыл бұрын
Respect, very nice !!!!
@FernandoBS.
@FernandoBS. 7 жыл бұрын
Great job! !!
@PauloConstantino167
@PauloConstantino167 3 жыл бұрын
Whats the name of this song please friend? And is the AY playing it ?
@MrCiernioo
@MrCiernioo 3 жыл бұрын
Hi, sorry unfortunatelly I don't remember, it was one of stock tunes available from youtube film editor.
@someguy3032
@someguy3032 9 жыл бұрын
VERY GOOD JOB!!!!!!!!!!!!
@vmgpofc
@vmgpofc 6 жыл бұрын
Amazing!!!! How do you program the Z80?
@someoneyoudontknow106
@someoneyoudontknow106 9 жыл бұрын
awesome work!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@AiOinc1
@AiOinc1 7 жыл бұрын
It's been a while. Any chance of a sound demo?
@MrCiernioo
@MrCiernioo 6 жыл бұрын
Hi! I wish I could find some will to do it, laziness still wins here :)
@MegaPCraft
@MegaPCraft 9 жыл бұрын
could you make a expantion card that will work with a floppy drive to read/write data?
@MrCiernioo
@MrCiernioo 9 жыл бұрын
Hi George! In theory it wouldn`t be a big problem - there are dedicated FDD controller chips that would do all the necessary logic, and give a simple interface to uP. However there is a practical problem - it is a real problem nowadays to find a working floppy disk, they are dissapearing rapidly. A much more practical approach is to use IDE interface and Compact Flash cards - easy to use and commonly available. a simple IDE interface could also drive a classic IDE hard drive and connect it to 8-bit micro!
@SimmeringPotpourri
@SimmeringPotpourri 8 жыл бұрын
Love it!
@SteveRaynerMakes
@SteveRaynerMakes 6 жыл бұрын
I'm interested in how you implemented the keyboard. Can you tell us a little more about that?
@MrCiernioo
@MrCiernioo 6 жыл бұрын
Hi Steve! Keyboard interface to CPU is implemented with 3 chips: 74574 latch, 74245 buffer and 7407 open collector buffers. CPU sends a a byte with only one bit set to 74574, then reads the 74245 buffer to see which collumn and row is shorten (key pressed). 7407 open collector buffers are to protect 74574 outputs from frying because of possible short circuit. It`s kinda classic implementation. Needs a "scanning" procedure to check all collumns and rows for a keypress. Please check my blog ciernioo.wordpress.com/ , section downloads. There is a PDF manual with schematics and listings. Cheers !
@SteveRaynerMakes
@SteveRaynerMakes 6 жыл бұрын
Thanks. I took a look at your manual. This provides an excellent overview of the hardware implementation. This leads us on to software. I assume the scanning routine is implement on the Z80. Does the Z80 use some type of internal interrupt mechanism to trigger the scanning code? Or do we have to trigger the scanning routine manually? I really need to read the Z80 manual :-)
@MrCiernioo
@MrCiernioo 6 жыл бұрын
I don`t use any interrupt system in my project (except from some demo program for CTC chip). I do scanning manually when I need it - when monitor program expects some user input. Reading a key consist of three stages: We wait in a loop to see if anything shows up on keyboard input port (something different from FFh). If this happens, we do a keyboard scan, to see which line and row of the keyboard is shorten. Then, we decode this information using lookup tables, which gives us ASCII char or control key code. Of course you can use interrupts for some of the work, but it only depends on your system design.
@ZXSpectrum128K
@ZXSpectrum128K 6 жыл бұрын
ez80190 next?
@jetraid
@jetraid 7 жыл бұрын
Excelent JOB. I see a display connector, ¿What is used for?
@MrCiernioo
@MrCiernioo 7 жыл бұрын
Hi Javier, Thanks! Display connector is for VGA monitor. The project moved a lot forward since I upload this video. Now I`m using real MDA/CGA ISA graphics card instead of a custom AVR-based display board.
@jetraid
@jetraid 7 жыл бұрын
Thanks for the answer, I belive to be a 2x16 display connector for debbuging
@sayedmohamedali5376
@sayedmohamedali5376 8 жыл бұрын
itis very good, i want buy this projct
@mr.nobody6829
@mr.nobody6829 7 жыл бұрын
BGM is interesting...
@oo8dev
@oo8dev 8 жыл бұрын
Świetne!
@issyvarsano5622
@issyvarsano5622 7 жыл бұрын
yea, thats right,
@samcoupe4608KB
@samcoupe4608KB 7 жыл бұрын
what graphics capabilities does she boast please?
@Pieh0
@Pieh0 7 жыл бұрын
But can it play crysis? And will it blend?
@RobertMOdell
@RobertMOdell 8 жыл бұрын
why not build the system up using bread boards?
@CARLOSINTERSIOASOCIA
@CARLOSINTERSIOASOCIA 8 жыл бұрын
Because there tend to be less space efficient and also look ugly, a final project could not be called Final if it is on a breadboard :P
@user-gr5do8nk7e
@user-gr5do8nk7e 7 жыл бұрын
also, connections can get loose and cause the system to not work properly
@Paberu85
@Paberu85 4 жыл бұрын
will it run crysis? =p
@dandearman2871
@dandearman2871 5 жыл бұрын
Where did you get your monitor program?
@MrCiernioo
@MrCiernioo 5 жыл бұрын
Hi, I wrote it myself, it was great fun actually!
@RetroCoderTV
@RetroCoderTV 3 жыл бұрын
Just wondering, do you remember how much did this computer cost you to make ?
@MrCiernioo
@MrCiernioo 3 жыл бұрын
Hi! I have no idea actually, development span for nearly 2 years. My friend made the case for free, some parts were pulled from scrap boards, etc. If I needed something to buy, I just bought it, without looking at costs.
@RetroCoderTV
@RetroCoderTV 3 жыл бұрын
@@MrCiernioo did it run to hundreds or was it not bad?
@MrCiernioo
@MrCiernioo 3 жыл бұрын
@@RetroCoderTV It was not that bad actually. The majority of the cost was the PCB boards I think, other components are small and cheap (standard 74LS /HCT series , buttons, goldpin connectors, cables) or not hard to value - used C64 keyboard, old parts like Z80, 8255, 16450, AY, etc - depends where you buy, and if it`s NOS or used. You can always cut some costs on such project, select different parts or look for scrap parts. There were no really hard to get or particulary expensive components.
@mult1vac
@mult1vac 5 жыл бұрын
kudo's .... but the music made me hit the mute button
@AnnatarTheMaia
@AnnatarTheMaia 4 жыл бұрын
"10. Rule of Least Surprise: In interface design, always do the least surprising thing." www.catb.org/~esr/writings/taoup/html/ch01s06.html why didn't you design the monitor to use common commands like a, d, f, h, i, m?
@talideon
@talideon 2 жыл бұрын
You realise this is for personal use, right? Also, what monitor do you consider standard, and why? I can't recall any standardisation amongst any of the 8- or 16-bit monitors I every used.
@AndreyUgolnik
@AndreyUgolnik 8 жыл бұрын
Radio-86RK style.
@halamkajohn
@halamkajohn 8 жыл бұрын
so get some more people and finish off microsoft.
@roddepixanything2616
@roddepixanything2616 4 жыл бұрын
Nice done, Can you make one and sell me one, regards from sweden
@zxspectrum16KB
@zxspectrum16KB 3 жыл бұрын
zx prism 56mhz.....
@garydunken7934
@garydunken7934 7 жыл бұрын
Just mute and watch.
@ericmin6055
@ericmin6055 6 жыл бұрын
pressed F!
@lucianmaximus4741
@lucianmaximus4741 3 жыл бұрын
UKODUS
@issyvarsano5622
@issyvarsano5622 7 жыл бұрын
Hi , I am saing that is a waste of time , because I made some years ago fully functional PDP4 in a xilinx fpga. and after spending 6 months in doing it once it was finish I ask myself. What was the purpose to spend all this time in something with no application?
@MrCiernioo
@MrCiernioo 7 жыл бұрын
Don`t forget about fun and satisfaction :) People do many things just for fun :D
@BlensonPaul
@BlensonPaul 8 жыл бұрын
horrible music
@issyvarsano5622
@issyvarsano5622 7 жыл бұрын
What a waste of time and eforts. 4 Mhz 35years old cpu and modern fast atmega as video. and what is the purpose of all that?
@MrCiernioo
@MrCiernioo 7 жыл бұрын
Hi Issy! Thanks for interest in my project :) You are right: It`s not elegant to use modern MCU in a design like that. For high pixel clock frequency of VGA display that I wanted,( which is allready from different era of 4Mhz Z80 :) ) I had to use something modern that could be able to do the job. It was a hard choice and I`m not particulary happy with it. However, check out my blog - now the computer is mainly running CP/M 2.2 and uses a vintage 8-bit ISA MDA/CGA card from old PC, so it`s more era-accurate now :)
@line10cls
@line10cls 7 жыл бұрын
with out 8080 z80 68000 you would not have you're atmega , Knowledge is power.
@zilog1
@zilog1 6 жыл бұрын
so, no talking, no viewer interaction, no nothing, just music and some text, This was a bad video, If you really want to go somewhere with you skills in the future, you cant be socially dis-functional like this, do it right or stay off of KZfaq.
@zilog1
@zilog1 6 жыл бұрын
Or in other words, really lame. however the computer was cool.
A software defined VGA and Z80 card for your Apple II (V2 Analog)
33:23
Adrian's Digital Basement
Рет қаралды 77 М.
The world's worst video card?
32:47
Ben Eater
Рет қаралды 6 МЛН
Unveiling my winning secret to defeating Maxim!😎| Free Fire Official
00:14
Garena Free Fire Global
Рет қаралды 9 МЛН
这三姐弟太会藏了!#小丑#天使#路飞#家庭#搞笑
00:24
家庭搞笑日记
Рет қаралды 56 МЛН
Kids' Guide to Fire Safety: Essential Lessons #shorts
00:34
Fabiosa Animated
Рет қаралды 16 МЛН
Is this the FASTEST and CHEAPEST 8-Bit Computer Ever?
28:43
Noel's Retro Lab
Рет қаралды 167 М.
Zilog Z80 Deep Dive - How does it work?
15:05
NCOT Technology
Рет қаралды 24 М.
I built my own 16-Bit CPU in Excel
16:28
Inkbox
Рет қаралды 1,4 МЛН
Z80 retrocomputing part 1 - RC2014 Z80 retro computer kit build
19:19
I designed my own 8-bit computer just to play PONG
17:19
These Keys Shouldn't Exist | Nostalgia Nerd
19:32
Nostalgia Nerd
Рет қаралды 657 М.
Hand-Wired Z80 Basic Computer
21:24
element14 presents
Рет қаралды 63 М.
Top Fifteen Mistakes People Make When Designing Prototype PCBs
12:26
Cosplay Light and Sound
Рет қаралды 147 М.