News for hackers. Stuff that matters.
Re:FPGA Based IBM-PC-XT by haxxorfreak on Sunday November 16, 2025 @12:15PM (#45946655)
I love the hard drive sound emulation! I find that modern restorations of vintage hardware using SD cards to emulate drives are missing an important part of the nostalgic experience when they just start up completely silently.
Re:FPGA Based IBM-PC-XT by ForOldHack on Sunday November 16, 2025 @02:05PM (#45947504)
The floppy disk usually made this straight up honking noise . I had a V20, but at 10Mhz. Never had a problem, except for formatting floppies. The V20 has a few tricks up it's sleeve, with a few less clock cycles on some instructions, and a Z80 mode to run cpm.

But,the real trick was to put real IBM roms in a clone board and run Xenix. When the clone roms are back in it still booted. Helped a lot to have a 2:1 Rll controller. Xenix was just pollute and delute - system V with some BSD thrown in and a slightly altered portable C complier that was later admitted to be wrong endian.

Did this Board have a FPU socket? Made turbo pascal run much faster. ( The 8087 version we got from the physics lab...) Especially the Hilbert matrix. And FFTs.

Re:FPGA Based IBM-PC-XT by iberator on Sunday November 16, 2025 @03:41PM (#45948218)
Why original IBM BIOS was requried for Xenix?!
Re:FPGA Based IBM-PC-XT by ForOldHack on Sunday November 16, 2025 @07:14PM (#45949750)
We found out after the third try, that both the IBM and one of the clone BIOSes would run the install, and all of them would boot. ( And an OMTI Rll controller, supported... Dual hard disks too. ) I needed an assembly language program to much the speed up to 10mhz, and it still ran fine, right up to the 'make nethack' then 4 hours later...beeeep beeeep beep. OS not found. We never figured out weather it was a out of memory error or a temp file error ... But the OS was gone.
Re:FPGA Based IBM-PC-XT by ForOldHack on Sunday November 16, 2025 @07:26PM (#45949811)
The Roms it came with did not work, also the disks had to have perfect media. Everything bad to be formatted beforehand. So, I got IBM ROMS and it worked, then got some other roms so the keyboard speed switch would work, while the IBM ROMS were installed there was a simple program that would kick up the speed, and turn wait states off. It was slightly faster than a 6mhz AT for DOS and we did not have Xenix 286. Got me through K&R and passed the class, but do useful work? No.
Re:FPGA Based IBM-PC-XT by kjs3 on Monday November 17, 2025 @12:22PM (#45955740)
Z80 mode to run cpm

8080 mode, not Z80. Did run CP/M, and I used 22nice for probably longer than needed. Unfortunately over time lots of cool software assumed a Z80, sooo...

Xenix was just pollute and delute - system V with some BSD thrown in

Which Xenix? It was originally V7 based, and 'upgraded' to System III around version 3. I forget what it looked like between version 3 and version 5.x, where it became System V based (+ stuff).

Re:FPGA Based IBM-PC-XT by tverbeure on Sunday November 16, 2025 @03:15PM (#45948041)
I was about the comment the same. It adds a lot of authenticity to the whole game loading process!
Re:FPGA Based IBM-PC-XT by Natsu on Sunday November 16, 2025 @10:15PM (#45950572)
I actually still have an original 8088 sitting in a closet. I need to figure out something to do with it some day.
Re:FPGA Based IBM-PC-XT by Damogran6 on Monday November 17, 2025 @01:55PM (#45956706)
Pull the CMOS battery. Recap before you put power to it...make sure the power supply is healthy. Do those things and it'll run 40 years from now.
Re:FPGA Based IBM-PC-XT by drzaiusx11 on Monday November 17, 2025 @09:09AM (#45953676)
The attention the author paid to these little details really raises this project above the typical (XT) hardware clone. Put another way: I absolutely love this feature.
Re:FPGA Based IBM-PC-XT by bartread on Monday November 17, 2025 @10:01AM (#45954187)
Yeah, for me there's something about the sound of the power supply, CPU and (sometimes) graphics card fans, coupled with the ticking of an old school hard disk that takes me right back to the nineties.

I know spinning disks were a thing for a lot longer than that, and were still pretty commonly used up into the 2010s, but they were in general much quieter than hard drives from the 90s.

Re:FPGA Based IBM-PC-XT by dlcarrier on Sunday November 16, 2025 @11:52AM (#45946474)
The title is a bit misleading; it's running on an 8088-compatible CPU, and a 1 megabyte SRAM, with the FPGA containing the display adapter and drive controller, as well as the glue logic.
Re:FPGA Based IBM-PC-XT by II2II on Sunday November 16, 2025 @12:13PM (#45946645)
A bit misleading, albeit in an impressive way. I nearly skipped the article thinking that it would be an all FPGA solution. Instead, they interfaced somewhat period correct chips: the V20 was used in XT compatibles of the era, the DAC was authentic (even if it is only a small part of the sound card), and the 1 MB RAM chip is the sort of cost cutting measure they would have used back in the day if it was available (though it would likely have been DRAM rather than SRAM). The rest being on an FPGA is certainly understandable since it was listed as an FPGA based project!
Re:FPGA Based IBM-PC-XT by ssrc on Sunday November 16, 2025 @01:03PM (#45947038)
And the FPGA is a modern day equivalent to an ULA. If they could have put all of the chips in a single programmable one, they would.
Re:FPGA Based IBM-PC-XT by nsxwolf on Sunday November 16, 2025 @02:40PM (#45947773)
This build demonstrate what’s actually interesting about FPGA to me. A pure implementation might as well be a software emulator. Being able to interface real chips makes this really neat.
Re:FPGA Based IBM-PC-XT by gblargg on Monday November 17, 2025 @12:17AM (#45951013)
Good point. I was thinking why he didn't just do the V20 etc. on the FPGA, but then a software emulator would be more flexible. Having a real hardware interface that has the right timing is something software would have to work very hard to do. Using an FPGA also forces the designer to more or less really understand the original hardware design, not just the software-visible effects as an emulator author can get away with.
Re:FPGA Based IBM-PC-XT by drzaiusx11 on Monday November 17, 2025 @09:18AM (#45953747)
The author used the lattice fpga for exactly what it was designed for: glue logic. This fpga type isn't what you'd throw a couple of cpu cores on, it's more along the lines of replacing a few dozen 74xx series logic chips. I personally enjoyed the author using modern day chip equivalents instead of soft cores on an fpga. I find the latter to be much less interesting.
Re:FPGA Based IBM-PC-XT by userbinator on Sunday November 16, 2025 @04:27PM (#45948557)
Indeed, this should be more correctly described as an FPGA-Based IBM PC/XT Chipset.

In contrast, here's a whole 486-class PC compatible on an FPGA: https://github.com/alfikpl/ao486

Re:FPGA Based IBM-PC-XT by leeter on Monday November 17, 2025 @11:07AM (#45954857)
Honestly? I expected this to be talking about the MiSTer project FPGA core[1]. That has been tuned so it's capable of running the AREA5150 demo[2] which is an insane challenge (AFAIK the timings of the v20 break that demo). Not saying this isn't cool, but it's definitely not what I was expecting.

[1] https://github.com/MiSTer-devel/PCXT_MiSTer

[2] https://www.youtube.com/watch?v=tOmcgp99fEk

Re:FPGA Based IBM-PC-XT by inglor_cz on Sunday November 16, 2025 @11:36AM (#45946361)
Wow. A lot of memories unlocked instantly. My first PC in 1995 was a very old IBM PC XT.
Re:FPGA Based IBM-PC-XT by Lio on Sunday November 16, 2025 @11:46AM (#45946432)
Yeah I had a little Carry-I PC XT clone with CGA/Hercules graphics, V20 8088 and an amber screen that I really regret selling.

I guess it couldn’t really do that much at the time compared to Amigas, STs and Acorns but there was something magic about my experiences with the PC.

Re:FPGA Based IBM-PC-XT by hintbits on Sunday November 16, 2025 @02:02PM (#45947471)
Same. I had a used Amstrad PC 1640, which had V20 @ 8Mhz and EGA graphics. The author's desire really hit home here.
Re:FPGA Based IBM-PC-XT by hintbits on Sunday November 16, 2025 @02:04PM (#45947491)
correction: it had v30, which was 8086 rather than 8088 clone (16bit bus)
Re:FPGA Based IBM-PC-XT by keyle on Monday November 17, 2025 @12:47AM (#45951124)
I bought a brand new 386 dx 33 back in the day, I felt like a kid at the chocolate factory in that smokey computer shop; price lists everywhere, floppy drives and floppies stacked in a complete mad-scientist looking shop. It was a mess. I thought "these are my people".

One of the best days of my life.

Re:FPGA Based IBM-PC-XT by snvzz on Sunday November 16, 2025 @12:46PM (#45946904)
Looks nice, but there's no license. Can't do a thing with this.
Re:FPGA Based IBM-PC-XT by bit-hack on Sunday November 16, 2025 @03:55PM (#45948325)
Thats an oversight on my part, I should put a license on it. I would love for anyone to be able to build one or tinker with the code as they want to. After all I was only able to make this because others shared their projects that I could learn from.
Re:FPGA Based IBM-PC-XT by Brian_K_White on Monday November 17, 2025 @12:06AM (#45950971)
I would suggest CC-BY-SA

You can do this by doing as little as making a single file named LICENSE in the top level directory, with a single line:

    This work is licensed under CC BY-SA 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0
That's it.

It is the hardware/artwork spritual equivalent of GPL2. It means the user must not remove your name, must make source/plans available, and commercial activity is ok.

Just a suggestion if you don't know where to begin or what to do, hadn't really thought about it or read up on all the infinite options etc.

Re:FPGA Based IBM-PC-XT by bit-hack on Monday November 17, 2025 @04:02AM (#45951983)
Thanks for the suggestion, I've added this license to the project.
Re:FPGA Based IBM-PC-XT by snvzz on Monday November 17, 2025 @09:41PM (#45960814)
This license is, AIUI, OSH compliant.

Awesome. Thank you for releasing your work as open hardware.

Re:FPGA Based IBM-PC-XT by qingcharles on Monday November 17, 2025 @07:25PM (#45960037)
Thank you so much for this. The sheer amount of work, skills and knowledge you put into getting this to boot and operate is fantastic. And I think everyone here agrees that you did this in the best way: by using a real CPU. Really appreciate you sharing this with us.
Re:FPGA Based IBM-PC-XT by smokel on Sunday November 16, 2025 @12:53PM (#45946965)
Marvel and enjoy.
Re:FPGA Based IBM-PC-XT by fortyseven on Sunday November 16, 2025 @01:19PM (#45947169)
Jesus christ, must everything be transactional?
Re:FPGA Based IBM-PC-XT by Brian_K_White on Sunday November 16, 2025 @11:06PM (#45950769)
If you like this kind of thing and might ever possibly make something even remotely or partly similar of your own (because you like this kind of thing remember, meaning, a lot of the same people as the ones who would be interested in reading the blog in the first place, such as yourself and myself), technically you have to be careful that you never even looked at this without a license that declares explicitly what the terms are.

Without any declared license the default is full restrictive rights to the author/artist/creator.

That is how literally true it is to say "can't do anything with this" they can't even view it.

Let alone actually download a copy, let alone build it, let alone modify it, let alone redistribute their modified version...

I don't know what this "transactional" accusation is supposed to even mean, but the need for a license is completely reasonable and not asking for anything.

My own "jesus" question: Jesus do you do any sort of work in either software or hardware without knowing this?

Re:FPGA Based IBM-PC-XT by ForOldHack on Sunday November 16, 2025 @02:10PM (#45947543)
Well, we have a dos clone and FFTs I. The news... Can this run the DOS clone and do FFTs?
Re:FPGA Based IBM-PC-XT by kvemkon on Sunday November 16, 2025 @02:26PM (#45947677)
Dupe. Posted few days ago by author: https://news.ycombinator.com/item?id=45903083.
Re:FPGA Based IBM-PC-XT by plantinthebok on Sunday November 16, 2025 @02:47PM (#45947839)
What was the most surprising timing constraint you had to meet for the V20 bus controller? The 8088's multiclock cycles were always under specified in original datasheets and I'm curious what reality looked like.
Re:FPGA Based IBM-PC-XT by bit-hack on Sunday November 16, 2025 @03:54PM (#45948307)
The bus controller was fairly straight forward. I found the timing diagrams in the V20 datasheet to be pretty easy to follow. The clock for the CPU is generated by the FPGA which I derived from a clock running at twice the speed, that made it easy to pick which clock edges I wanted to sample from or assert data for the CPU on. I did have a bug or two in there early on which meant that memory writes would not store the data I was expecting as I sampled the data bus at the wrong time. That was a tricky one as the bug would only become visible when that location was loaded from again. The CPU i'm using is rated for 16Mhz, but i've only tried to push it up to 10Mhz so far so I have a bit of margin. Some more issues might pop up if I push the speed higher I suspect. Its very stable as it is now and i've not seen any issues I could attribute to the bus handling.
Re:FPGA Based IBM-PC-XT by rasz on Monday November 17, 2025 @06:59AM (#45952854)
>I derived from a clock running at twice the speed

aah, so CFG_ENABLE_20MHZ runs cpu at 10. I was surprised you could run the bus at 20MHz with this FPGA devboard, 10 makes more sense.

As I touched on that in HaD comment this is not a good devboard :( It has terrible pinout https://github.com/wuxx/icesugar-pro/tree/master/schematic all 100 signals huddling together in the middle with only 9 ground pins among them. Very bad for signal integrity. Whats worse someone in China actually decided to sell it commercially :( Luckily you made it work.

Re:FPGA Based IBM-PC-XT by asdefghyk on Sunday November 16, 2025 @02:58PM (#45947918)
A bit offtopic for this article , but I'm waiting for some FPGA's based "..device PC emulator?..." that can connect to my old hard drives from the mid 80s ... and boot them ....
Re:FPGA Based IBM-PC-XT by mk_stjames on Sunday November 16, 2025 @05:03PM (#45948835)
There is 32MB of SDRAM on the FPGA board.... I wonder exactly what using 1MB of that as the system memory would have entailed instead of the separate 1MB SRAM chip that had to be soldered. Was using the extra SRAM chip just done just to do it, or is there a specific reason there that I'm not seeing/understanding...
Re:FPGA Based IBM-PC-XT by bit-hack on Sunday November 16, 2025 @06:06PM (#45949275)
The main reason is just due to me knowing my own limitations. SRAM is really simple to interface with and i've not yet tried to write a DRAM controller since its much more complex. Putting SRAM on the board made me more confident about the project. I did have it in mind that I could try to use the DRAM in place of the SRAM at a later stage (as you suggest) as a good way to focus on learning how to use it.
Re:FPGA Based IBM-PC-XT by mk_stjames on Sunday November 16, 2025 @08:52PM (#45950208)
Really cool, I figured that was the case and I'd be in the same boat.

I have an ice40UP5k board but I quickly ran out of block ram and LUTS whenever trying to use it for anything substantial, but seeing this project has me itching to start something around one of these icesugar pro boards. yosys & nextpnr support made things really damn easy when I was working with the ice40.

Re:FPGA Based IBM-PC-XT by ForOldHack on Sunday November 16, 2025 @07:08PM (#45949711)
I would like to have a xt and at and 386 in this tiny form factor, to play Rogue on the X T and try to compile nethack on the 286 version of Xenix and the 386 version of Xenix. I know from experience it will never compile on the 8088 version of Xenix. It will wreck your OS and filesystem.
Re:FPGA Based IBM-PC-XT by larme on Monday November 17, 2025 @09:35AM (#45953927)
Re:FPGA Based IBM-PC-XT by ceving on Monday November 17, 2025 @07:49AM (#45953123)
I had to upvote right after this sentence: "I wanted to be able to play the EGA version of Monkey Island 1 on it"
Re:FPGA Based IBM-PC-XT by drzaiusx11 on Monday November 17, 2025 @08:37AM (#45953435)
This is exactly the type of content I come to HN for. Succinctly writen passion project posts like this one that actually inspire me to finish and document my own.

I started a (couple of) very similar project(s) for the VCS/2600 that I'm now motivated to take a second look at. One that used a modern 6502 equivalent, and another that was largely software based, but read and used the physical cartridges and controllers but passed the heavy lifting to software emulation.

That said, I do hope the author posts a follow-up on how the EGA graphics were implemented.

Re:FPGA Based IBM-PC-XT by drzaiusx11 on Monday November 17, 2025 @08:50AM (#45953526)
I did end up publishing the libraries I wrote for VCS cart dumping [1] which handles the vast majority of custom bank switching schemes, with instructions on how to wire it to a rpi or Arduino to make a ROM dumper if anyone is curious.

Looks like past-me also posted an earlier/incomplete version of the paddle and joystick handler code as well [2]. I should find the finished one on my old laptop and push.

1. https://github.com/drzaiusx11/WiringVCS

2. https://github.com/drzaiusx11/AtariGamepad

Re:FPGA Based IBM-PC-XT by BirAdam on Monday November 17, 2025 @09:39AM (#45953964)
I love this, but I do prefer just using the NuXT. The NEC V20 is a great CPU, my personal favorite. It's a better 8088 that maintains compatibility while increasing performance and offered a great price to consumers at the time of its introduction.
Re:FPGA Based IBM-PC-XT by mrlonglong on Saturday November 22, 2025 @05:00PM (#46018635)
I've a NEC V30 sitting somewhere on a bookshelf, and I was thinking of building an emulated chipset around it to emulate an Amstrad PC1512/PC1640, but with HDMI output. Or maybe DisplayPort since that's not encumbered with patents or royalties. I have an Amstrad PC1640 working perfectly in PCem on Linux. But it'd be more satisfying to actually build something that would make use of the NEC V30.