Live data from Hacker News

FPGA Based IBM-PC-XT

bit-hack.net

31–40 of 54 posts

Re: FPGA Based IBM-PC-XT

#31

Earlier quoted context omitted.

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 con…

Why original IBM BIOS was requried for Xenix?!

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

#32

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...

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.

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

#33

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.

I was about the comment the same. It adds a lot of authenticity to the whole game loading process!

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

#34
post #7

Looks nice, but there's no license. Can't do a thing with this.

Jesus christ, must everything be transactional?

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

#35
post #7

Looks nice, but there's no license. Can't do a thing with this.

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.

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

#36
post #18

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.

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.

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

#37

Wow. A lot of memories unlocked instantly. My first PC in 1995 was a very old IBM PC XT.

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

#38

Earlier quoted context omitted.

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.

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, a…

Thanks for the suggestion, I've added this license to the project.

Re: FPGA Based IBM-PC-XT

#39

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.

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 th…

>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.

Post reply on HN