15 ms·
ZedRipper: A 16-core Z80 laptop
- DonHopkins 7y agoSounds like 1/16th of a ZMOB! ("The computer of the future, using the processor of the past.") https://www.ijcai.org/Proceedings/81-2/Papers/071.pdf https://www.ijcai.org/Proceedings/81-2/Papers/071.pdf >ZMOB: A NEW COMPUTING ENGINE FOR AI. Chuck Rieger, Randy Trigg, Bob Bane >ABSTRACT: A new research multiprocessor named ZMOB is described, and its significance to AI research is surveyed and characterized. ZMOB, under current construction and scheduled for completion late Fall 1981, is a 256 processor machine with a high speed, interprocessor communications system called the "conveyor belt", a non-blocking, 20 megabyte/second message switcher. Because of its large number of processors, high computational throughput (100 million instructions/sec), large cumulative high speed memory (16 megabytes), high interprocessor communications bandwidth, and external communications and sensing channels, ZMOB opens some new areas of exploration in object-oriented modeling, knowledge-based and domain expert systems, intelligent sensing and robotics, and distributed perceptual and cognitive modeling. The paper attempts to blend a description of ZMOB's hardware with ideas about where and how it fits into various types of AI research. https://retrocomputing.stackexchange.com/questions/5080/fastest-cp-m-z80-based-computer-ever-built https://retrocomputing.stackexchange.com/questions/5080/fast... >The fastest Z80 computer ever designed and built was almost certainly ZMOB, a 256 node Z80A cluster designed and built at University of Maryland as part of NASA NSG-7253. That's a total of 1GHz of Z80 power.
- fentonc 7y agoI had never heard of that machine until I posted this and someone sent me a link to it. The architecture of the ZedRipper is actually incredibly similar - each CPU has its own dedicated 64KB of memory and then an I/O mapped high-speed synchronous ring bus connects them all. On a MHz * CPUs basis, mine should actually be slightly faster =)
- DonHopkins 7y agoBob Bane hangs out here regularly! By far the most important feature of ZMOB was that each board had four differently colored software blinkable LEDs, all arrayed behind the smoked plexiglass cover of the rack they were all plugged into. It looked really cool and was great for hypnotizing and mesmerizing people, which was how we got a big NFS grant (which we spent on Vaxen and Suns and Xerox workstations). https://news.ycombinator.com/user?id=bane https://news.ycombinator.com/user?id=bane Here's a photo of some UMD people in front of ZMOB in the Department of Research Simulation, with some white Xerox file servers and black Sun server in the background: https://i.imgur.com/zLjYTS3.jpg https://i.imgur.com/zLjYTS3.jpg
- rootbear 7y agoThat was probably me, I posted a link in the Hackaday comment section. Don, I forgot about the colored LEDs. I need to find a picture!
- DonHopkins 7y agoSorry, the only photo I have is monochrome (linked above). Maybe Bob Bane has some color photos! It ran a "Dining Philosophers" simulation that did a lot of cool blinking, and I ported FIG-FORTH to it, which was great for writing LED blinking programs. https://www.cs.umd.edu/sites/default/files/zelkowitz-report.pdf https://www.cs.umd.edu/sites/default/files/zelkowitz-report.... Laboratory for Parallel Computation and Z-MOB Around 1980, Dr. Charles (Chuck) Rieger (Figure 3.12) designed a computing system to run as a network of processors. The initial design consisted of 256 Z80A processors. Each contained 64K memory, linked together on a “conveyor belt” (a 48-bit wide slotted ring architecture), as packets of information were passed from one processor (or “moblet”) to another. This “mob of Z80s” soon became known as Zmob. The system was programmed and controlled by a host VAX 11/780 computer. An Air Force Office of Scientific Research grant was obtained for building the basic Zmob hardware. It was apparent to both Minker and Basili (after addressing the crush of student majors) that to be a top department, we needed more equipment. Minker was behind the acquisition of the VAX 11/780 (Mimsy) in 1980, which was a good start, but was insufficient. We needed terminals on every desk, additional machines like Mimsy, and a laboratory under our own control. Computers were our technology and if we couldn’t have and control our own machines, our research in this area would always be hampered. In 1982 Basili organized a proposal team, consisting of Agrawala, Minker, Rosenfeld, Stewart, and Weiser. They met and came up with the idea of a parallel computation laboratory, using some of the ideas in Zmob as a starting point. A Coordinated Experimental Research (CER) proposal was written to NSF, and in 1983 it was funded as a 5-year $4.3M grant. This grant greatly expanded the departmental laboratory, purchasing machines tove, gyre and gymble, as discussed earlier. PRISM, under the direction of Minker, was the core of the CER project. It was conceived as the software system designed to run on Zmob, and was run as a simulator on the VAX. It used Horn clause logic (similar to the design of Prolog) to implement AND/OR parallelism. Users could specify the number of problem solving machines (i.e., moblets) to use, the number of database machines to use, and the number of machines to handle executable procedures. Statistics were collected to determine how effective the search strategy was. Users could also run PRISM in a sequential Prolog-like manner. Continued Zmob research was funded by this grant and a version consisting of 128 moblets was built and installed in the Department laboratory (Figure 3.13). Moblets were accessed by physical address or by pattern matching. Programming in Prolog like languages was seen as the mechanism for using Zmob. Mobix was the operating system designed to run on Zmob, which would hide many of the complexities of the Zmob hardware. Due to inexperience in hardware design, Zmob ran, but not as reliably as desired. The Z80s were 8-bit processors and became obsolete too soon. 16 bit and 32 bit versions of Zmob were designed, and a 16 node ring of 16-bit processors using the Motorola 68010 processor, called McMob, was built and used for several years. Initial design work for a further advancement, called Chessie, was started, but a prototype Chessie was never built. Work continued for several years, but after the NSF grant that suppported most of the development ended, work slowly stopped on that activity. Mark Weiser’s foot “mole” of 1986 was another interesting idea that grew out of the CER grant. Instead of using a mouse controlled by the hand, a foot pedal was developed, eliminating the need to move the hands off the keyboard in order to control the screen. Several variations were built and tested on Sun workstations, but the concept never became fully operational. Unfortunately for the Department, Weiser soon left for a research position at Xerox Palo Alto Research Center and this activity also ended. https://en.wikipedia.org/wiki/Mark_Weiser https://en.wikipedia.org/wiki/Mark_Weiser
- eismcc 7y agoI’ve recently been working on an ESP32 variant of something similar [0]. ZMOB-like designs are so much fun to think about. [0] https://twitter.com/eismcc/status/1201310140416217089?s=20 https://twitter.com/eismcc/status/1201310140416217089?s=20
- fentonc 7y agoThat's great! The idea of a cluster with a wireless interconnect is hilarious to me for some reason.
- stevekemp 7y agoMy own experiment has recently been a Z80 hooked up to an Arduino - which fakes I/O and RAM accesses to/from the chip. I got as far as getting BASIC to run, but struggled porting FORTH to z80. Existing Z80 forth interpreters I found need almost 64k but wiring up some static-RAM hasn't yet given me a functional system so I'm hazy on what is wrong; either my real-RAM or the interpreter itself.
- swiley 7y agoMy issue when I build my homebrew computer in college was that I didn’t think to put biasing resistors between the z80 and SRAM, since it’s TTL. You probably didn’t do something that silly though.
- protomikron 7y ago> [...], interprocessor communications system called the "conveyor belt" Is that where the Mill architecture has the belt concept from? I think i heard some belt concept in the Mill's architecture's context.
- monocasa 7y agoNah, looks more like an NoC fabric. The belt is more a temporal view of the bypass network instead of a register file.
- userbinator 7y agoThat is not a cheap FPGA --- I couldn't find the exact model but other Stratix IV GX are in the $10k range.
- arcticbull 7y agoDefinitely, although they're using basically none of the logic resources. You could probably get the bulk of the result with an Artix 7 and a memory controller (instead of using all those large BRAMs). Or just an Artix 7 and not allocating 64kB of BRAM for each core. $129 for an Artix 7 development board is a steal [1]. [1] https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/ https://store.digilentinc.com/arty-a7-artix-7-fpga-developme...
- fentonc 7y agoYeah, if you just replaced the 64KB of RAM with a 4KB cache backed by DRAM, you could probably fit 64 cores in one of those no problem, but 1) the performance wouldn't be quite as good, and 2) this project was mostly an exercise in excess since I was trying to find something to do with my giant FPGA board.
- arcticbull 7y agoSorry, to be clear, that was by no means a criticism of what you did. I was just pointing out that this kind of thing is more accessible to people than they may think when they get sticker shock re: the cost of that particular FPGA you built on.
- jandrese 7y agoI'm guessing that simple one-way ring IPC mechanism is going to be a bottleneck in a hurry as you add more processors.
- fentonc 7y agoIt's current manifestation is very much a 'good enough' solution. I just wanted a scheme for simple all-to-all connectivity to map the serial ports to, and the only traffic it carries at the moment is either terminal traffic or disk data from the SD card, so it's not even close to being taxed. The obvious improvements are to add deep buffers to hide the latency of credit return, crank up the clock and to make the bus wider. This board could probably handle a 200-bit wide bus at 100 MHz+ speeds with no problems. Computer architecture is a fun hobby =)
- mysterydip 7y agoAs a lover of the Z80 and "what if" scenarios, I think this project is fantastic. Hacking in the purest form, for no other reason than you could. Someday I'd like to do something similar, but until then I'm just happy to know it's possible and live vicariously through updates.
- mirekrusin 7y ago"Future Plans (...) Joystick-like pointing device" - oh man, laptop with joystick instead of trackpad would be so weirdly cool - like a gadget from Kung Fury, awesome.
- microcolonel 7y agoTrackPoint is basically a joystick.
- DonHopkins 7y agoTed Selker, who developed the Trackpoint at IBM Almaden Research Lab, always calls it the "Joy Button", but IBM just wouldn't go with that. But at least they made it red (thanks to industrial designer Richard Sapper)! TrackPoint (2011) (microsoft.com) [Buxton Collection]: https://news.ycombinator.com/item?id=9437780 https://news.ycombinator.com/item?id=9437780 https://www.microsoft.com/buxtoncollection/detail.aspx?id=60 https://www.microsoft.com/buxtoncollection/detail.aspx?id=60 Some stuff I wrote about the Trackpoint and relative input devices in general: https://news.ycombinator.com/item?id=18340403 https://news.ycombinator.com/item?id=18340403 >Input devices should allow users to configure a velocity mapping curve (which could be negative to reverse the motion). X-Widows had a crude threshold-based mouse acceleration scheme, but it's better to have an arbitrary curve, like the TrackPoint uses, that can be optimized for the particular user, input device, screen size, and scrolling or pointing task at hand. >https://wiki.archlinux.org/index.php/Mouse_acceleration https://wiki.archlinux.org/index.php/Mouse_acceleration >One of the patented (but probably expired by now) aspects of the Trackpoint is that it has a very highly refined pressure=>cursor speed transfer function, that has a couple of plateaus in it that map a wide range of pressures to one slow or fast but constant speed. The slow speed notch is good for precise predictable fine positioning, and the fast speed notch is tuned to be just below eye tracking speed, so you don't lose sight of the cursor. But you can push even harder than the fast plateau to go above the eye tracking plateau and flick the cursor really fast if you want, or push even lighter than the slow plateau, for super fine positioning. (The TrackPoint sensor is outrageously more sensitive than it needs to be, so it can sense very soft touches, or even your breath blowing on it.) Ted Selker demonstrated an early version of the "pointing stick" in 1991: https://www.youtube.com/watch?v=6hhnlaUxsL8 https://www.youtube.com/watch?v=6hhnlaUxsL8 Ted always reminds me of another distinguished "Button Man": Mr. Lossoff from Nero Wolfe's "Mother Hunt". Those Button Men can be pretty intense! https://youtu.be/UBOG5556_0g?t=12m5s https://youtu.be/UBOG5556_0g?t=12m5s
- jbverschoor 7y agoSupercool.. I like how basic the setup is for multiple cores, and how it can show you how accessing shared memory can work. It's very concrete, and visible.
- ilaksh 7y agoOnly slightly related but I did a test of my emulator front end awhile ago running several hundred ZX Spectrums https://youtu.be/BjeVzEQW4C8 https://youtu.be/BjeVzEQW4C8
- jng 7y agoThat's brilliant! I could recognize Abu Simbel Profanation, and maybe Elite? My first steps learning programming were Basic and then Z80 assembly language on a ZX Spectrum...
- nsxwolf 7y agoAny plans for VR support?
- ilaksh 7y agoOriginally VR was the whole idea, but for now I am focused on finishing up the Windows desktop alpha version and getting some kind of interest from other programmers or users. Going to do another release within a few weeks. If I can see any evidence of maybe 1-5 people out of the billions on the planet playing around with it, that may be enough encouragement to get into the VR stuff. So far there is no certain evidence that anyone other than my brother launched the program.
- nineteen999 7y agoThat is pretty amazing! I managed to get four emulator instances running CP/M inside of Unreal Engine. Could have added more but I'd have needed to build a bigger spaceship. https://imgur.com/Cv8HGIz https://imgur.com/Cv8HGIz Close up of disk drives and an instance running Wordstar: https://i.imgur.com/rIY1he8.png https://i.imgur.com/rIY1he8.png
- doctor_eval 7y agoI’m just amazed at how many people dig the Z80 as much as I do. It’s so cool seeing all these projects on my favourite CPU. I mean this stuff would have seemed absolutely incredible to my 18 year old self. And so very cool to see a reference to MP/M. Though I seem to recall needing to use 8080 mnemonics to work on MP/M?
- mywittyname 7y agoI bet a lot of us got our start doing low-level programming for the Z80. I remember learning to program assembly from the manual for a TI calculator. I'm pretty sure those things are still ubiquitous. It's probably the easiest way to learn assembly programming on real hardware anymore.
- downerending 7y agoHaving no other resources, as a kid I sent Zilog a letter asking for a copy of their Z80 docs. Probably wrote it in crayon. Bless them, they sent it, and that's how I got started learning microprocessor architecture.
- tstout 7y agoThis makes me smile!
- downerending 7y agoMe too. It was essentially this, albeit a very early version: http://www.z80.info/zip/z80cpu_um.pdf http://www.z80.info/zip/z80cpu_um.pdf May the gods help any kid that tries to learn Intel CPU architecture that way these days. :-)
- mysterydip 7y ago"Well Johnny, the first thing to understand is how time travel works. You see, our CPUs guess at what you wanted to do next and start executing the pipeline before they know for sure, and sometimes it's wrong, and..."
- andrewstuart 7y agoNice - I've always wanted to run all Scott Adams adventure games at exactly the same time.
- anonymousiam 7y agoI think you meant Douglas Adams. Also, AFAIK he never released any for CP/M. Those began in the PC era.
- chipotle_coyote 7y agoNo, he meant Scott Adams. Not the Dilbert guy. https://en.wikipedia.org/wiki/Scott_Adams_(game_designer) https://en.wikipedia.org/wiki/Scott_Adams_(game_designer) The Scott Adams adventure game series was published around 1978-83, and started on the TRS-80 Model I. I don't know if there were ever official CP/M ports, but they were certainly of that era.
- anonymousiam 7y agoThanks for the clarification! I hacked TRS-80 Model I hardware (for a friend), but I never cared much for TRSDOS or Lifeboat so I have missed out on that software experience. I guess this was a port of the classic Adventure game to Tandy. I had the CP/M version (550 point Colossal Cave Adventure). I had played it even earlier on RT-11 where it took about half an hour to load from two 8" floppies.
- aasasd 7y agoThe HHGttG game was directly released for CP/M: https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy_(video_game) https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_th... ‘Bureacracy’ seemingly wasn't: https://en.wikipedia.org/wiki/Bureaucracy_(video_game) https://en.wikipedia.org/wiki/Bureaucracy_(video_game) ...but like HHGttG it targets the Z-Machine, and third-party interpreters for Z-Machine files have been written for probably every platform under the sun. It's also possible that executables from HHGttG can be repurposed. This post seems to support the latter approach: https://retrocosm.net/2011/01/03/z-machine-interpreter-for-cpm/ https://retrocosm.net/2011/01/03/z-machine-interpreter-for-c... Both games are maddeningly hard, btw. I don't think I finished either of them.
- DonHopkins 7y agoThe lovely plywood case reminds me of the luxurious Z80 based NorthStar Horizon! (Nee "Kentucky Fried Computers".) https://en.wikipedia.org/wiki/North_Star_Horizon https://en.wikipedia.org/wiki/North_Star_Horizon https://en.wikipedia.org/wiki/North_Star_Computers https://en.wikipedia.org/wiki/North_Star_Computers
- smacktoward 7y agoNothing says “the 1970s” quite like wood paneling :-D
- donaldcuckman 7y agoI despise large laptops. Anything thicker than my 2015 mbp blows
- tr352 7y agoThis is a new art form. I love it.
- HocusLocus 7y agoI love the Z80 too, and Turbo Pascal! In 1980 I was writing custom comm software for TRS-80 then Kaypro and Vector Graphic model 3. I wrote in assembly a CP/M TSR that loaded, hooked BDOS and allowed any existing program to transparently "encrypt" to and from disk by opening files matching a selectable mask (like !???????.???) so you could save "encrypted" docs from any app like WordStar. I use "encrypt" in scare quotes because it was only a snake oil XOR proof of concept... I had DES flowcharted out but saw right away that proper implementation would murder the TSR's size and throughput with 4MHz Z80 would be dismal. Too bad, lost interest. Only a few years later with 16bit and MSDOS and faster CPU it became practical and I could have been the first such product to market but I was stupid. I also had written a Turbo Pascal TSR program (using a 3rd party TSR toolkit) that was like strace on linux, writing system calls to disk in the background. I used it to troubleshoot many application program mysteries.
- ngcc_hk 7y agoTurbo pascal and bridge got good memory. Hunt down a version that can run.
- fit2rule 7y agoGet an Amstrad CPC6128, rig it out with an SD card, and experience the joy of 2019's releases for what is, arguably, one of the greater Z80 systems of the era.
- Starwatcher2001 7y agoBack in the 80s I had a TRS80 with 5 inch floppy drive, and an Amstrad CPC464 with built in cassette tape. Having no patience to wait for games to load, I linked the two together via the parallel printer interfaces and wrote some Z80 code on either end to allow the TRS80 to store CPC464 programs. I seem to remember only being able to use 6 of the bits for data, and using a couple of the others to signal as "clear to send" between them. The transfer was very quick, much faster than tape, but wasn't very reliable due to the dodgy connectors on the TRS80. Using an SD card with the old micros would be miles better.
- FeepingCreature 7y agoHow does the speed measure up to theoretically emulating 16 Z80 cores on a Raspberry Pi?
- randomidiot666 7y agoPi 4 is quad core 1.5 GHz. One core could probably emulate at least 400 MHz of Z80. Four cores should handle the full load.
- randomidiot666 7y agohttps://floooh.github.io/2017/12/10/z80-emu-evolution.html https://floooh.github.io/2017/12/10/z80-emu-evolution.html Based on this article I think RPi will not handle cycle accurate emulation at this level of performance, but it could easily do instruction level emulation.
- jstanley 7y agoA small part of me was hoping this would contain 16x physical through-hole Z80 chips. Alas, 'tis FPGA.
- HocusLocus 7y agoOr if it was "discovered" that bending the Z80 pins inward a bit and stacking them 16 high over each other actually works, and would have worked even back in the 70s. That would be surreal.
- jacquesm 7y agoI did that with memory on more than one occasion. Stacking them more than 4 high they'd tend to overheat.
- anonymousiam 7y agoAs far as I know, the fastest production Z-80 chip (the Z-80H) ran at 8MHz. This one runs at 84MHz per CPU! I switched from 8-bit (Z-80B) hardware to 16-bit (i386) hardware once the 16-bit PC could emulate the Z-80 faster than any physical Z-80 processor could run. I feel fortunate to have skipped the 8088 and 80286 PCs which all ran slower than my Z-80B for most things. I kept one of my old CP/M machines in my parent's garage for 10 years, and then tried to resurrect it. It was an IMSAI 8080 with CompuPro hardware that I had modified to allow the front panel to work while allowing the system to run at 4MHz. I had also implemented software configurable baud rate and start/stop/parity selection by hacking the hardware and customizing the BIOS. Unfortunately when I resurrected it, it booted and ran for only a short time before the ST851 hard drives scraped the oxide coating from the system disks. (I destroyed all of the backups while troubleshooting.) I gave the whole system away before I discovered that they are actually still quite valuable, but I have no regrets. I much prefer a more modern computer.
- archi42 7y agoWould be nice on the Pano G2 (100k/150k Spartan 6), which is a lot more affordable than this board ;-) Mentally adds the ZedRipper right after Leon and RiscV
- DonCarlitos 7y agoDisclaimer: Not a hardware engineer, nor a CP/M aficionado (though I definitely remember Gary Kildall), but a former AST Research (later AST Computer) employee. AST was an "expansion board" manufacturer turned systems OEM. During the transition from memory and connectivity boards to desktops, the company's top hardware engineers explored an architecture they based on an "intelligent, arbitrated, multi-master bus." The notion was to speed up operations and increase power by designing a bus that accommodated multiple processors (on boards, of course) operating independently - arbitrated by a central CPU. It never flew - but I always thought it an elegant model. This was in the 1986 timeframe, long before GPU's became popular.
- jbellis 7y agoWow, I haven't seen that name in a while. I had a SixPakPlus back in the day. (I couldn't remember what the sixth function was, turns out it's "new compact size." http://chiclassiccomp.org/docs/content/computing/AST/000490-001A_SixPakPlusUsersManual_Apr87.pdf http://chiclassiccomp.org/docs/content/computing/AST/000490-...)
- Bluecobra 7y agoFunnily enough, I just saw an old Computer Chronicles episode the other day which talked about how slow the bus was and they had Dell showing off a 486 + graphics board blowing away the same 486 and an ISA? graphics card. If you haven’t seen it already, the 8 Bit Guy has a fun video about working in AST’s tech support in the 90’s: https://youtu.be/2hdazA-VUf0 https://youtu.be/2hdazA-VUf0
- that_jojo 7y agoDavid Murray? Or did you work with him? Probably not, but I figured it's a shot in the dark.
- ChuckMcM 7y agowell that sounds like tons of fun. The ring bus sounds a bit like the communication channel in some disk channel controllers where each disk would get the instruction and pass it on to the next one on the chain if it wasn't for it. I definitely want to see if I can bring something like this up on one of the many FPGA boards I have in my junk drawer!
- jacquesm 7y agoThere is a Smalltalk derived machine by one Jecel Assumpcao that uses this architecture as well. https://www.researchgate.net/publication/309254446_Adaptive_compilation_for_an_object-oriented_and_reconfigurable_architecture https://www.researchgate.net/publication/309254446_Adaptive_...
- jacquesm 7y agoThis thread should be summarized and reposted as an article by itself. So much interesting stuff here.
- desireco42 7y agoI would love to have a computer based on Z80. One of my happiest times were with ZX Spectrum. If I had a laptop with reasonable screen and keyboard, and text mode, some kind of linux Arch or something. It would be perfect. I would not pay $1000 for experience, but some more reasonable amount, totally.
- rataata_jr 7y agoITT, some Atrix7 is available for sub 200$.
- bloat 7y agoThis is kind of what you are after... But it is 6502 not Z80. https://www.c64-wiki.com/wiki/Commander_X16 https://www.c64-wiki.com/wiki/Commander_X16
- k_sze 7y agoTangentially related question: how does one learn "computer architecture" or "computer engineering" as a hobbyist? I'm actually not even sure what those terms really mean. I'm amazed that people can build homebrew computers using Z80, MOS 6502/6510, or Motorola 68k series microprocessors. I could buy one of those homebrew Z80 kits and assemble it, but I don't think I'll gain much real understanding just from the act of assembling the kit. I have long wondered how things work down to the bare-metal level. What does it take to be able to design (and program?) a homebrew computer? Let's say I leave out the FPGA route and only focus on using real, off-the-shelf ICs. I'm mostly just a software guy (I write Python, I've learned automata theory at University) but I haven't learned any real electronics beyond things like Ohm's law, KCL, KVL, capacitance, impedance as a complex number. I don't even know my transistors or diodes.
- the_pwner224 7y agoThis book starts you off with NAND gates and then has you build an ALU, CPU, assembler, and finally a Java-like-language compiler. The Elements of Computing Systems / From NAND to Tetris https://www.nand2tetris.org/ https://www.nand2tetris.org/ The first six textbook chapters (all the hardware stuff) are available on the website in the 'Projects' tab, you should buy the book for the other six. All 12 chapter assignments are available on the website. The Software section has a hardware simulator to test your designs.
- jlevers 7y agoI'd like to second this -- I'm slowly making my way through Nand2Tetris (currently building a VM -> assembly transpiler, and if you'd asked me to do that a few months ago, I'd have had no idea what you were talking about), and it's been really fun, taught me a lot about low-level computing, and given me the opportunity to learn a new language (I'm building everything in C). I highly recommend it!
- cmrdporcupine 7y agoI think you'd find that once you dig into those old machines it's a lot simpler than you think. The 6502 for example is pretty easy to interface. Electronics knowledge isn't much needed at first, as it's mostly just logic. You can make a simple "computer" on a breadboard that just cycles a no-op through all of memory: https://coronax.wordpress.com/2012/11/11/running-in-circles/ https://coronax.wordpress.com/2012/11/11/running-in-circles/ From there it's not a tall order to start interfacing SRAMs and some EPROMs and a UART chip and you can get a machine you can connect to over serial. Just try! It's worth it!
- duelingjello 7y agoInteresting. The original Intel 8086/8088 (iAPX 86) manuals discussed multiple processors too. Can't wait for a Concurrent CP/M-86 "NET" version done with 74ALS/ALVT/LVT/LVX glue. ;) Or get really fancy by shoving all the glue into an FPGA. https://archive.org/details/bitsavers_inteldataBrsManual_57011881 https://archive.org/details/bitsavers_inteldataBrsManual_570... Awesome 74xx/40xx series logic quick reference https://www.mouser.com/catalog/supplier/library/pdf/STLogic.pdf https://www.mouser.com/catalog/supplier/library/pdf/STLogic....
- cmrdporcupine 7y agoI'm pretty sure you don't need that beefy of an FPGA board to accomplish this; there are cheap chinese Artix A7 100T boards with 100,000LUTs, almost 512k of block RAM, and 256MB of DDR3 RAM available for under $100 USD; I doubt a Z80 core would take more than a couple thousand LUTs. For my own project I have a PicoRV32 RISC-V core running at 150mhz, with HDMI output, character set generator, sprite graphics generator, bitmap graphics output, and a UART all in under 8000 LUTs...
- eequah9L 7y agoFrom the article: > As I’ve mentioned before, all of the logic so far is > pretty lightweight, occupying a mere 7% of on-chip > logic resources The author is well aware the board is overkill. He also mentions elsewhere he used it because he happened to have it on hand, not because it's a particularly good fit.
- rasz 7y agoyou can score comparable Kintex 7 chinese dev boards for under $200 https://www.eevblog.com/forum/fpga/a-xilinx-kintex-7-board-on-aliexpress/ https://www.eevblog.com/forum/fpga/a-xilinx-kintex-7-board-o...
- _Codemonkeyism 7y agoA. Wow B. I don't want to put the creator in any way down, but always feel a little bit cheated by FPGA use.
- Tepix 7y agoThis really reminds me of TIS-100 which is a game by Zachtronics where you inherit a weird computer with a bunch of minimalistic cores that you have to program in assembly language. I really enjoyed playing it for a while until it started feeling too much like real work.
- jsjohnst 7y agoWish I had US$5000 FPGAs to just have fun with like this!
- rasz 7y agoyou can have one by buying Chinese dev boards from aliexpres https://www.eevblog.com/forum/fpga/a-xilinx-kintex-7-board-on-aliexpress/ https://www.eevblog.com/forum/fpga/a-xilinx-kintex-7-board-o...
- siffland 7y agoSomeone needs to recompile zork to make use of this, just image the time assisted speed run you could get ;) Zork TAS https://www.youtube.com/watch?v=cIXUSyC9dpM https://www.youtube.com/watch?v=cIXUSyC9dpM
- beders 7y agoLoved the Z80 on my Amstrad CPC 464! I used an assembler typed in by hand from a magazine. Geekiest accomplishment: A disk loader for Spindizzy. The game was too large for the main memory with the disk driver loaded. Had to use the video buffer to load the game in two parts and splice them together (overwriting the disk driver). Fun times!
- miesman 7y agoLike. Want.