Z80 Retro #1 - Board Project Introduction

Ғылым және технология

A trip down memory (no pun intended) lane. I describe some S100 boards I designed & built 40 years ago and how rediscovering them (and an NS32016 project board) lead me to build a new small Z80 board that you can make yourself to experience what things were like before turn-key systems like the IBM PC came along.
This project features an all-through-hole design (with an option to add a surface-mount SD socket), no PALs, no GALs, no embedded processors...
You can now support this channel on Patreon! / johnsbasement
This is part of a KZread playlist/series: • Z80 Retro
The KiCad files for this board are here: github.com/johnwinans/2063-Z80
Hackaday project blog: hackaday.io/project/182190-z8...
Music used in this video (Vibe Tracks, Alternate) was downloaded from the KZread Audio Library: kzread.info_...
#Z80
#CPM
#homebrew
#retrocomputer

Пікірлер: 79

  • @ChrisSavageEngineer
    @ChrisSavageEngineer Жыл бұрын

    I used to have that EXACT wire-wrap tool from Radio Shack. Nice!

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    It was my first (from circa 1979), I still have it, and I prefer it over the others I have tried. The main thing is the stripper. It can strip a section in the middle of a wire by sliding it in and pushing it back & forth to open a gap without removing the insulation. That is handy when using wire wrap wire in a daisy chain when soldering in the wire. When wrapping, i could easily strip an end from the spool, wrap it, route the wire, cut it to proper length, and THEN get in there with the stripper to make a custom length connection... even on a short hop. I was always very happy with it. 👍

  • @melkiorwiseman5234
    @melkiorwiseman523411 ай бұрын

    This brings back memories of putting together a simple 8080A based system, many long years ago. It was "programmed" by binary switches and gave its results on LEDs by reading the results directly from the memory (only 1K). More recently, I had an idea that it would be possible to build a multi-tasking (and probably also multi-user) Z80 based system with memory protection and pre-emptive multi-tasking built-in. The major idea behind the memory protection would be to use bank switching with bank zero being the "system" bank containing the system ROM and RAM. The bank-switching would be limited to banks "assigned to" the currently running program. Access to the system ROM would be controlled by hardware catching the RST (restart) command and having the hardware switch to bank 0 at the appropriate time. The system programming in bank 0 would then interpret the registers to find what command the program was attempting to send. Putting it simply, direct access to much of the hardware would be disabled unless bank 0 was selected, or a hardware event occurred to force a bank change. That would be the heart of the security.

  • @JohnsBasement

    @JohnsBasement

    11 ай бұрын

    That would be an impressive bit of kit with an original Z80!

  • @melkiorwiseman5234

    @melkiorwiseman5234

    11 ай бұрын

    @@JohnsBasement I'll probably never build it, but it's fun to plan it in my head. I'm sure it would work, and the method could probably be adapted to any CPU to provide "protected" memory, although the Z80 would work better than something like (for example) a 6502, just because the Z80 has I/O ports as well as memory, so there would be no need to waste memory space on memory-mapped I/O.

  • @JohnsBasement

    @JohnsBasement

    11 ай бұрын

    @@melkiorwiseman5234 🤔..although with banking, memory mapped I/O is just another of N banks anyway?

  • @melkiorwiseman5234

    @melkiorwiseman5234

    11 ай бұрын

    @@JohnsBasement But it's easier to control which bank is switched in, to where, using I/O ports than it is to have to dedicate an area of memory to I/O and then figure out a hardware configuration which will prevent any running program apart from the OS from accessing that area of memory and switching banks to one which the program is not allowed to access. While it definitely could be done, I'd prefer to bypass the hassle by using actual I/O ports for that, which the Z80 excels at.

  • @JohnsBasement

    @JohnsBasement

    11 ай бұрын

    @@melkiorwiseman5234 🤣... I missed your point. Yes, i see now.

  • @ricande
    @ricande2 жыл бұрын

    Wow... Just wow. This is almost better than Ben Eater's channel. How could i have missed this channel for so long?? KZread is not doing its job of recommending me channels correctly. @Bob Perrin recommended this channel on a video from "Adrian's Digital Basement][" (It's the "I need help finding information on this mysterious computer"-video on his second channel) Exceptional content my dear sir. Exceptional. You have a new subscriber and soon to be patreon.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Thank you. I really appreciate the interest in my channel Almost better??? 😂... Yeah, I like Ben's work too. Note to self, send Bob Perrin a fruit basket!

  • @videolabguy
    @videolabguy Жыл бұрын

    Loved this video! I just found one of my Z80 controller boards I built in the late 80s. It was a controller for an 8x8 video/audio switcher matrix for my home video system. This board only had four push buttons and a 2 line x8 LCD. In the end, an old S100 Z80 CPU card and a 80x25 column S100 video card were used. This topic makes me nostalgic. As for "cross talk" issues. I suffered from a phobia of cross talk fear. I had hand wired an 8080 board just like you did (phone wire YUK!). Once I powered it up, it worked like a champ. Like Elon Musk, I now: design, build, test, debug, rinse and repeat. Gets to the finish line the fasted that way. At least for me.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    I miss the days when we could build what we needed for video and audio systems Yours sounds awesome! These days it is too complicated. Things like switchers are less expensive, but they are built for simpletons, thus lack any flexibility, and are sloooooowww .. So awful.

  • @jimtekkit
    @jimtekkit Жыл бұрын

    Well I've found my new favourite binge-watching channel! My career is mechanical engineering but unlike my colleagues I have a real fascination with computers. The problem with modern computers is that I've become very bored with working on them and want to take on a much more ambitious learning project. 8-bit machines are perfect for that. Already I've soldered together my first Z80 computer (a Southern Cross Z80 V3.0) and am starting to design my own from scratch. Turns out it's a great challenge and it's achievable even for those who don't know much about electronics. Overall I'd say that your Z80 Retro is the closest I've seen to my own design goals so I'll certainly use it as a source of ideas. I like the use of discrete chips instead of condensing everything down into a single Atmel microcontroller (e.g. Z80-MBC2). The old Z80 machine you built is particularly interesting because it proves that you ultimately don't even need custom PCBs or expensive/rare components to build a working computer. It mainly comes down to what the purpose of the machine is and what the design goals are. It might be too difficult to get the original one running again but it's certainly an interesting design. It proved to work and that's what really matters. Side note, I definitely agree with the notion of using a microSD card for storage. Trying to source outdated storage devices is more of a headache than it's worth.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    Thanks!! Enjoy. Let me know what you end up building. I'm always excited to see what others come up with.

  • @Xperimenter

    @Xperimenter

    Жыл бұрын

    haha, I was just about to comment the same thing, gonna be here for a while!

  • @peterwilson69
    @peterwilson692 жыл бұрын

    Awesome video - thanks for the inspiration. I started a z80 project in the ‘80’s but never finished it - I’ve decided it’s time to finally finish it - haha.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Why not? Go for it! If you want to tinker with CP/M apps, there are quite a few resources today that never existed before!

  • @peterwilson69

    @peterwilson69

    2 жыл бұрын

    @@JohnsBasement I played with CP/M back in the 80’s but I really had no idea what it was about until your video (I was only 16yo at the time).

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    @@peterwilson69 I did the whole BIOS from scratch thing back in the day. But as I redo it for this series I am noticing all sorts of little things that I either forgot or never noticed in the first place. I think we're both learning something here! :-D

  • @stevensexton5801
    @stevensexton58012 жыл бұрын

    Looking forward to addition videos demoing this board.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    They are on the way!

  • @allenlorenz
    @allenlorenz2 жыл бұрын

    nice video, I believe series would be good,.... 1 ) datasheet / links to chips. Assembly / debug points ( how do you know it right ). 2) the eprom /eeprom / sd cpm. (os) 3) compiling and running colossal cave.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Hey! The datasheet links are a good idea. I'll include them in the githiub README.md file once I finish updating the finalized BOM in the KiCad files to reflect my as-built board with all Digikey order numbers for the parts. Last weekend I verified that my in-circuit/in-application FLASH programmer works great. It is only an additional $2 if you are ordering the boards from jlcpcb [no sponsorship, just disclosing where I ordered mine.] I've never tried to share a Digikey cart before. I will figure that out and try to make that happen as well. Hmmm... Say do you think it would be work me trying to put together a kit for this thing at some point? Colossal Cave will be one of the first apps to run! It turns out to be good for multiple reasons... not the least of which is to test our ability to create a filesystem with files large enough to exceed one extent!

  • @allenlorenz

    @allenlorenz

    2 жыл бұрын

    @@JohnsBasement Hmm.... let me think for a couple of days .....

  • @carneeki
    @carneeki2 жыл бұрын

    Thanks John, this is touching on a net if different topics that came up in conversion over the last week for me :)

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Something good I hope.

  • @carneeki

    @carneeki

    2 жыл бұрын

    @@JohnsBasement plenty of good. Thanks again, have a great day!

  • @savagecircuits
    @savagecircuits Жыл бұрын

    Lover the "memory" pun. I am currently in the process of restoring my website after 4 years of it being defunct. That said, I do have a couple of photos of my early Z80 control boards, which were wire-wrapped using perf boards, wire-wrap sockets and that fancy wire-wrap tool from Radio Shack. I don't know if you might recall a novelty for wire-wrappers called, "Wrap-ID". It was a cool little plastic overlay for the pins that showed the pin numbers, which are in reverse while you're trying to wire-wrap. So they saved me many times from making the mistake of wiring things backward.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    (a memory pun?.. now were testing mine... I gotta rewatch this one.) I have a few perf boards around that fit that description! Yes, indeed, I do recall the Radio Shack wire wrap tool. Mine is STILL out on the bench with my solder, favorite wire cutters, and tiny screwdriver. It has never had any other place in my shop. I ran out and bought two spare WW tools when Radio Shack was shutting down. The wire stripper part alone is worth the money! All the other ones I have ever seen had the stripper MOUNTED in the handle. I thought they were useless unless you were miraculously prepared to pre-cut your wire to the proper length. I never tried the pre-cut & stripped wire either. Same problem. I do remember jonesing for those wrap-ID cards too. But since I was on a lawn-mowing-fueled budget, I had to cope without that luxury. My technique was to carefully put a Sharpie dot on the pin 1 backside and count out every pin, every time. It wasn't without incident. 🙄 Mist of the time, the higher-priced WW sockets combined with the bountiful free-time familiar to a penniless kid kept me in the business of improving the efficiency of my point-point soldering. After a while I think I was doing OK. If only there were today's PCB proto service prices available in 1979!!!

  • @savagecircuits

    @savagecircuits

    Жыл бұрын

    @@JohnsBasement The "memory" pun was from the description for your video. =) I don't know if I still have my WW tool. I hope I do. But when I moved back to NY from CA I lost everything. I've essentially been starting over since 2016. As for those Wrap-ID inserts, I think someone gave me a couple and I used them as a template to make my own from paper, which was not easy. It was convoluted using a piece of perf board as a template to cut holes out using a Dremel and then trying to write those tiny numbers on there. I too was poor and scavenged most of my ICs from old arcade boards and other misc PCB from old equipment. People today don't realize how good they have it. You can get cheap and/or free PCB software and cheap PCBs made. I used to use the Radio Shack kit with the Sharpie and the etchant. No plated-through holes, no solder-mask and certainly no silk-screen.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    @@savagecircuits facepalm.. Ofcourse 🙄 Home made labels? Great idea! Seems one could xerox one (or render a set easily enough these days.). It might be viable to sandwich a label between a pair of aligned perf boards and push it down in a set of pins to perforate it. Then remove it and transfer it to a target socket. To bad it did not occur to me 40 years ago. 🤔

  • @7alken
    @7alken Жыл бұрын

    BTW, my single biggest construction was CD4046 based FSK interface for regular cassete recorder for Atari800XL, as floppy was too expensive here back in 1986...I squeezed THT parts vertically on tiny manually drawn PCB ... in early nineties, I sold my Atari with this, God knows where it ended :-(

  • @user-oc7ky3sd6z
    @user-oc7ky3sd6z Жыл бұрын

    Very good!

  • @emolatur
    @emolatur Жыл бұрын

    re text overlay at 38:56 ... some are. there's two pinouts in common use for those. a certain arcade manufacturer sent us a new board for one of their games, then wanted to charge us another $60 for the new "serial adapter." lol

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    It is beyond me why anyone would use a header pin-out that doesn't match an IDC D-sub connector... when a D-sub is THE intended target!! $60?? That is pretty bad!

  • @emolatur

    @emolatur

    Жыл бұрын

    @@JohnsBasement One of the pinouts is "numerically straight" -- ie pin 1 on the idc header is pin 1 on the de9, pin 2 on idc is pin 2 on de9, 3=3, 4=4, etc. The other is "physically straight" -- the ribbon is punched down straight on the idc end and just "fans out" on the de9 end (pin 1 goes to the top row, pin 2 to the bottom, 3 to the top, 4 to the bottom) ... both pinouts make sense in their own ways.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    @@emolatur The ones I had did not make sense to me (IDC on both ends like I did it.) Do either of the ones you are aware of match what I did? It would be nice to be able to add a link to a known supplier of viable cables.

  • @emolatur

    @emolatur

    Жыл бұрын

    ​@@JohnsBasementThe more common standard (which does NOT match your board) is referred to as "AT/EVEREX" whereas the pinout you used (most common on Supermicro and older Intel-manufactured server boards) is "DTK/INTEL." We didn't buy the new "adapter," I just took the old one apart and rearranged the wires. However, Supermicro's part number for the correct cable is CBL-0010L.

  • @MarkOfBitcoin
    @MarkOfBitcoin Жыл бұрын

    Great intro that I'll follow up the rest of your videos. The two section I'm particularly interested in is your video (already watched the first when where I think you cooked your DRAM) and the other part is using the SD as a disk drive. On the latter, it seems like a super simple connection using just bitbanging which is fine. But obviously there is a lot of software behind that to make it all work. Do you have a video that focuses on that part or is there some documentation around I could read?

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    Thanks! Yeah, there are SPI and SD card command libraries Look at the retro playlist (link in vid description) for the parts that discuss the SD card.

  • @didgeridooblue
    @didgeridooblue Жыл бұрын

    You could have ran twisted pair wires with one wire tacked to a local ground to reduce the crosstalk. It wouldn't have been fun or pretty, but it would have helped.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    Not a bad idea. But it worked without incident every day for 5 years until it was retired and replaced by a 4mhz system.

  • @didgeridooblue

    @didgeridooblue

    Жыл бұрын

    @@JohnsBasement If it works, it's good enough!

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    @@didgeridooblue 😂👍

  • @Dr.Logistik
    @Dr.LogistikАй бұрын

    @JohnsBasement Which clock speed Z80 should I get to follow along and make this project. Given the end of life announcement I figure I should jump. I dont know if I should get the 6 / 8 / 10 MHz Z80 chip. Will you assist me in figuring this out :)

  • @JohnsBasement

    @JohnsBasement

    Ай бұрын

    I used 10MHZ parts for mine. You might also be interested in grabbing a z8s180 too if you want to follow the next z80 project that I called Z80 Nouveau. You can find it in my video playlists on youtube.

  • @JohnsBasement

    @JohnsBasement

    Ай бұрын

    There is a bill of materials of the exact part numbers on github for the retro project.

  • @michaelbrooks533
    @michaelbrooks5336 күн бұрын

    Hi John, i have built a Z80-Retro and Programmer. i have been working through board tests. Reached spi_test this works. Tried sd_test result (cmd0 command status not idle) Have programmed 16gb card according to directions, and tried different sd cards same result i am using sparkfun sd card module could this be part of the problem? Michael

  • @JohnsBasement

    @JohnsBasement

    6 күн бұрын

    Hop on the discord (invite in video description.) Much easier for a back & forth and there are a handful of folks that will only be too happy for us to reason this out. (I use it in my web browser. No need to install anything.)

  • @EdwinNoorlander
    @EdwinNoorlander2 жыл бұрын

    Can I order a pcb? And do you share the KiCat files via git? I like to make a SMD board.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Sure! I am cleaning up the github repo right now to reflect the as-built decisions I made while assembling the Revision 3 board that I will be discussing in my Retro series. I purposely made this as much of a thru-hole project as I could so that it is within reach of beginners. So, if you want to go with the newer surface-mount parts, you'd need to change the footprints and re-route it. But the good thing will be that you'll at least know you are starting with a known-viable design and the software will have been already tested. So... The gerbers posted on my gihub page are the ones that I used to order the board from JLCPCB that I know it works. I'll be updating the github repo in the next week or so with more tweaks on the exact part order numbers that I used so none has to guess anything if they want to build one. When that is done, I'll update the README with a BOM that is readable without KiCad and add any other notes about the status of the project and where to find the software etc. Ugh.. I forgot to put the github URL in the video description!??! :-( Here it is: github.com/johnwinans/2063-Z80

  • @duke_of_oz
    @duke_of_oz18 күн бұрын

    So how does this computer work without video output? Do you hook it to a serial terminal? Great work by the way!

  • @JohnsBasement

    @JohnsBasement

    17 күн бұрын

    Thanks!! Yes. It was designed specifically to run CP/M... which uses a serial terminal.

  • @duke_of_oz

    @duke_of_oz

    17 күн бұрын

    @JohnsBasement I've been thinking to do something similar but based on z80180 cpu, which retains compatibility to z80 but can address up to 1Mb space and embeds a sio in the same package - this should reduce space on the board further. I got my hands on some obsolete dil 64pin through-hole units running at 6MHz, you got me inspired so I might give it a go 😉

  • @JohnsBasement

    @JohnsBasement

    17 күн бұрын

    @@duke_of_oz I'm just getting started on a 180 project myself. I decided to call it the Nouveau (sort of rhymes with Retro.). I hope to implement peripherals with an FPGA including video. Some folks have been doing some brainstorming in the Z80 Retro discord channel.

  • @duke_of_oz

    @duke_of_oz

    17 күн бұрын

    @JohnsBasement Thanks for the discord tip, I plan to start my 180 project by the end of the year. Was thinking of implementing the video generation function with a micro controller to simplify design iterations as mcus can be easily reprogrammed in-circuit. I guess fpga keeps up with the real timeline!

  • @airix10
    @airix102 жыл бұрын

    You never got into video games? So you missed the glory of spending hours typing a game in BASIC out of the back of a magazine only to find out it doesn't even work 😭

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    😜😂 Oh no! I definitely had that experience!! And I'm sure I invested a few-hundred hours in Adventure (SPOILER ALERT... and am embarrassed to admit that someone had to TELL me that I had to drop the rod to catch the bird.) But I went a year or longer with only TRS-80s at school & in the local Radio Shack before I saw color computer game graphics and games that used them. By then I had already moved on to discovering programming writing my own in BASIC & Z80 assembler. So playing games was time I couldn't put into programming!! And when it DID come to games, personal computers had HORRIBLE graphics in contrast to arcade games. Even pac-man and Tempest were infinitely higher quality than the home computer game graphics... So... I just never had an opportunity to care for them. Ofcourse, that DOESN'T mean I'm not gonna try to figure out how to put a graphic display on my Retro Z80 board!!

  • @airix10

    @airix10

    2 жыл бұрын

    @@JohnsBasement Tempest is one of my absolute favorites. And without the spinner, beautiful cabinet, and glowing vector display. It sucks playing it in MAME.

  • @jyvben1520

    @jyvben1520

    2 жыл бұрын

    @@JohnsBasement add rpi pico with a dvi board, modern hdmi compatible output

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    @@jyvben1520 I've been thinking about it. But I'm more inclined toward an old school(ish) approach with counters & RAM. If I cheat, it is more likely to be by using an FPGA for the counters.

  • @mmaldonadojr
    @mmaldonadojr Жыл бұрын

    In all honesty, I'm too lazy to actually build such a complex hardware, but I'm more than eager to write a software simulator for it, to run the CP/M system and apps on Linux!

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    There are some Z80 simulation projects going on out there. I suspect a hardware project is easier. 😉 What do you have in mind?

  • @mmaldonadojr

    @mmaldonadojr

    Жыл бұрын

    @@JohnsBasement I'm building a Z80 simulator from scratch, already knowing that there are working projects available for download since eons ago. Well, this is a hobby, isn't it? The very most of instructions are functional, of course there are the I/Os and the interrupts that will depend on the surrounding hardware to be simulated... In the end, the idea is to tailor the CP/M BIOS to run on an abstract hardware I can define at will in the simulation. This is quite a low-priority project, that I'm dedicating a fraction of my already low spare time. The development environment is GCC under Linux that in time will use the NCurses library to implement the video terminal functions.

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    @@mmaldonadojr 🤔 Well, I'd strongly recommend that you provide a clean API for add-on modules that can appear mapped into your memory and/or I/O spaces so that contributions can continue to be added over time. That is what hobbies are for. For me, it has never been about having a thing. It is about creating it!

  • @scharkalvin
    @scharkalvin2 жыл бұрын

    I never liked wire wrap. It was a slow tedious process, especially if you didn't buy precut wire and had to strip each piece, cut to the correct length. Not to mention the expensive sockets. I did wire wrap simple circuits such as a seven segment display which requires busing the data lines from one chip to the next. Laying out a PCB is a better way, but by the time you've done the CAD work, etched and drilled the board (or sent the gerbers out to have boards made and waited for them to come back from China) you could have done the wiring by hand and tested the circuit! But I never had the patience to do anything more complicated than maybe 8 chips. Point to point soldering wires isn't any easier, in fact the odds of unsoldering an adjacent connection already made while soldering a new one is a problem on closely spaced boards. Not to mention melting the insulation on the wires and causing shorts. My hats off to the Ben Hecks of this world that have the patience to hand wire these complex circuits. Once I get much better with KiCad, I'd rather just make a PCB over sitting cross eyed trying to find the mistakes in my prototype rats nest! A friend of mine from HS, Leon Zetekoff, had a closet full of surplus spools of that 'telephone' wire. literally a life time supply of the stuff. He gave quite a few spools of it to me, and some other ham friends. We ended up calling the stuff 'Zetekoff wire', after Leon. I have a half box full of CAT-3 wire that I'll never need for its original purpose, I have been stripping it down and using the strands for hookup wire, and I still sometimes refer to the stuff as Zetekoff wire! When I was working at Gould CSD (later part of Encore computer), I was working on a communications control board for their super mini computers that had the NS32016 CPU on it. Gould was one of NSC's first customers for this part, and we were working with the DMA controller chip that was part of the 32000 family. This chip had a bug where it would not issue the 'end of block' signal correctly. National had given up trying to repair the design of the part after the head engineer for that circuit died after being run over by a bus. Eventually, we designed a work around in hardware, by using an external data transfer counter to generate the missing signal. AMD made a multi channel counter chip that could generate the required end of block signal for all the channels of the DMA controller. It made the programming of the DMA channel a bit more complex, but it worked! The NS32016 was a cross between the 68000 and a VAX11 in concept, the only other major user for it was HP in some of their laser printer engines. The 28 pin memory sockets were for 8-64k eproms, or 8-32K rams. I have some 32 pin byte wide rams that are 128K, and that pinout also housed 512K chips! (or up to 1mb in eproms). Then there were 40 pin memories with the same capacity, but 16 bits wide.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    Ahhh...more memories! -- Sounds like you and I ma have grown in in the same neighborhood! I did not show an all wire-wrap version of another Z80 board I made circa 1990 with a similar design as my Retro board. It was one of my first WW projects (because I could finally afford the sockets.) A number of the pins bent inward due to tension on the wires created when I wrapped 'the other end' to where it was going. I had to figure out a technique where I put back-tension on the wire so that they would not pull when wrapped. I eventually got it figured out. But... Meh... I have never run out of my beloved 'Bell-Tel' wire as I always find sections of it around various buildings from time to time and always pick it up. Of course that is getting rare these days with modern phone systems and cell-phones. Even so, I just recently found a yard of 24-pair laying on a sidewalk on the NIU campus one day. Mine!!! :-D Doing a board in KiCad and paying the 7-10 day turn around time from a proto board house for less than the cost of the WW sockets these days is definitely the way to go! Plus I have a proper schematic /and/ can share the board files so that others can benefit from my hobby too! (Not to mention the fact that most of the things I make these days are loaded with surface-mount parts... so...) For anything more than the most trivial projects it is also probably faster... although I admit that I RARELY get it right on the first time... and I *do* tend to spin a second or third rev when I share my stuff in order to rid the jumper wire corrections that often crop up ;-) I think the NS32016 is a GREAT chip for learning the basics of multiprocessing and virtual memory! (The IBM 360 ain't bad ether, but they are not as easy for to build at home!) I have a pile of notes taking shape for a KZread series on RISC-V sv32 virtual memory that I have been working on. I really like it... but... it is just not as simple to dive into as the 32k MMU. (Of course, there are good reasons for that.) For a newbie, the NS32k is a wonderful starting point... Hmmm... maybe I should do a piece on that some day? If only it weren't a dead architecture. Maybe I'll do a 68K? I've done some VM tinkering with it too. I should give it another eyeball. I have forgotten its details. ...Anything is nicer than booting up an x86 processor and making the jump to light speed from "Real Mode." For my Retro board I went with one of these newer "colossal" $6.50 32-pin 512K SRAM chips so that I could include some bank-select logic and maybe try CP/M 3 some day too. The only loss of "experience" is soldering in only one chip instead of 32... and saving a bunch of $$ on the smaller board and all those chips. Meanwhile, I plan to use the extra 14, 32K RAM banks to hold a mess of extra BIOS code and a buffer cache for the SD card... that currently runs at about 150Kbits/sec in the basic bit-bang design I shoehorned onto the 100mm square PCB for my Retro series. IIRC, SD 5 1/4 is 125Kbits/sec. But an SD card has zero rotational delay. So it feels even faster... maybe more like an 8" SD floppy system (250Kbits/sec.) At some point, I aughtta see how a big pip filecopy race goes against my Altos ACS 8000 that still works.. with double-density 8" floppies (500Kbits/sec.) I may regret opting to forego the hardware flow-control on the console port... I've been running it at 115200. Pasting text into a terminal emulator on my Linux desktop is a bit of a problem. I hope to address that with IRQ-driven receiver logic and a nice big buffer. That 'll be a good piece for the channel some day too.

  • @scharkalvin

    @scharkalvin

    2 жыл бұрын

    @@JohnsBasement I have lots of those 32 pin 128kbyte rams salvaged during a dumpster dive where I used to work. Most are 100ns, but also have at least a half dozen at 70ns. Not to mention lots of fast 32pin eproms. (I need to build myself an eprom burner). Also have some Z80H chips (6mhz IIRC). About as fast as a z80 ought to go. One of these days I'd like to try building a retro machine with the WD65C816 (16 bit 6502). The idea of using an SD card in the Z80 sounds like a good idea, except for having to 'bit bang' the SPI interface. I suspect that there may be some serial chips that support a synchronous mode which could support the SPI protocol. Maybe the 6522 VIA chip with it's shift register mode might do this, otherwise just lash up a 74HC595 and a 74HC165 to a Z80PIO. (I'm weird, I prefer doing stuff in HW rather than software, when it only involves a few chips. Bit Banging just doesn't feel right.) OTOH, I have often changed some code around rather than rewire something when I got the bit order wrong. (Like the 14 segment LED display fonts, I got two segments interchanged in HW, but I fixed it in software. Too lazy to pick up the soldering iron!)

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    @@scharkalvin I really /wanted/ hardware SPI assist for this... but there just wasn't any room for it on the board. I suppose I could have traded something else for it. But I REALLY wanted to be able to run my old RX-80... so... I have been mulling over doing a daughter card with a cheap ICE40HX4K-TQ144 (FPGA) so it can run serial ports with hardware flow control, VGA, PS/2 keyboard, and hardware SPI SD card port(s) etc. I have zero experience with the Beehive or any of the other popular Z80 systems with "fancy" displays. So who knows if/how tough it would be to emulate one of them. What I have in mind, is that it might be fun to develop a version of BASIC with some graphic commands to go with the as-yet-to-be-invented display card. Honestly, I think that a language like BASIC is a better first experience than things like Python. Sure you'll outgrow it in little time, but... It is just about as easy as can be. Whaddaya think?

  • @scharkalvin

    @scharkalvin

    2 жыл бұрын

    @@JohnsBasement A good place to start with Basic would be to find a copy of Processor Technology's 5K basic for the 8080. A LOOOONNNG time ago, I bought the source code listing from them, and then during several lunch hours I typed it into the Intel Mcs80 dev system we had were I was working at the time. I hacked the original version to add "IN" and "OUT" operations to basic. Since the 8080 doesn't have in or out instructions that can accept an indirect destination/source (like in the "C" register for the Z80), I pulled off a neat hack. I pushed an In or out opcode onto the stack, followed by a destination/source port address, and a ret instruction, and then called a subroutine that jumped to the address of the function I pushed onto the stack. I had planed to 'z80ize' the basic code, but never got around to that project. I did map out how I could have added disk i/o to the basic for CP/M. I also figured out a hack to add multi-dimensioned arrays to the basic via pointer math, that was actually done in basic itself.

  • @JohnsBasement

    @JohnsBasement

    2 жыл бұрын

    @@scharkalvin I like this! As for a starting point, I was wondering if I could do it from scratch in C and compile it with the BDS compiler... I could do most of the design & testing on a laptop and make it portable enough to run on other systems too... like a Pico.

  • @microhobbyist
    @microhobbyist Жыл бұрын

    Where did you find the through-hole CF card socket? You said you found one.... hahahaha

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    Did I? Then I was mistaken. The through-hole SD option is to use the SD adapter board from Sparkfun that is noted in the schematic.

  • @inerlogic
    @inerlogic Жыл бұрын

    Ye gods..... i've got the cpu-ville Z80 machine, the N8VEM SBC 2 Z80, Lee Hart's Z80MC and his Altaid 8080, RC2014.... i've got the Briel altair 8800 micro and the Imsai 8080 from The High Nibble..... Do i NEED another retro computer to run CP/M and play Leather Goddesses of Phobos? No..... Do i want to buy one of these and put it together? Yes..... Lol

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    🤣.... It's just fun.. If you do make one, I'd be interested in hearing a review/compare/contrast of them all!

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    Hmmm... Of course this begs the question: "would anybody want to buy a kit?" I have wondered about offering one. Maybe i should post a poll?

  • @inerlogic

    @inerlogic

    Жыл бұрын

    @@JohnsBasement i mean.... i don't need 5 boards... lol..... If there's enough interest, it might be cheaper for everyone if you bought the stuff in bulk and put kits together, put me down for one....

  • @JohnsBasement

    @JohnsBasement

    Жыл бұрын

    @@inerlogic yeah. That's what I was thinking. 🤔 At 1/5 the price of buying 5 and using 1, maybe the savings will cover the secondary shipping and some of the parts. I wonder if I could rearrange the board to get the regulator off the back. Then I might be able to offer them with the surface mount bits already soldered down. That'd eliminate the need for the thru-hole SD adapter board option & the space it requires.

Келесі