Building an IBM PC XT from SCRATCH

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.ย. 2024
  • This is part 2, part 3 is already live here: • Pong on a PC/XT with N...
    Things are moving along. In this video I'll install a VGA card and somehow get a modern USB keyboard to work with this 40 year old 5160 IBM XT PC motherboard - hint: It required some Arduino code.
    After that I finally get some Basic programs running - and we get to see how it compares to Basic on the 6502.
    Part 1 of this series is here: • Fixing an IBM PC XT 51...
    Part 3 is here: • Pong on a PC/XT with N...
    The source and keyboard adapter schematic is here on Github:
    github.com/And...
    Thanks to modem7 @ VCF for help debugging.
    Credits:
    XT Reference Manual: www.reenigne.o...
    www.minuszerod...
    Kevin Savetz, CC BY 2.0 creativecommon..., via Wikimedia Commons
    commons.wikime...

ความคิดเห็น • 79

  • @dageekoftheweek
    @dageekoftheweek ปีที่แล้ว +4

    I never lived through this era (I'm 29) but im fascinated with the way all of these computers didn't seem to "hold the users hand" so to speak, you would be expected to hava base level of competence, thanks for showing this world to those of us who didn't grow up with it, happy soldering. 😀

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      Thanks!
      I weren’t around either when the XT came out - the earliest I had my hands on in school must’ve been a 286 PS/2 - but it really is a lot of fun to learn all the things I thought were impossible when I was a kid :)

    • @heinrichagrippa5681
      @heinrichagrippa5681 6 หลายเดือนก่อน

      I wasn't around when this era was "new" (I'm 34), but until I was about 7, an XT clone made by Philips with an amber monochrome monitor was what I had to work with.

  • @adrianstanciu3988
    @adrianstanciu3988 ปีที่แล้ว +1

    Hi, I really appreciate the way your are explaining your thinking process in order to be able to follow along. I look forward to writing a BIOS extension. Take care!

  • @randalltockes2247
    @randalltockes2247 4 หลายเดือนก่อน

    Really awesome video. Learned many things and love how you adapted someone else’s code to fit your own needs(I guess that’s kinda what programming often is, but cool to see someone work through it). Look forward to seeing more of your stuff!

    • @AndersNielsenAA
      @AndersNielsenAA  4 หลายเดือนก่อน

      Thank you :) Dunno if you saw the whole Pong building exercise - plan on soldering an FDC soon :)

  • @H3wastooshort
    @H3wastooshort ปีที่แล้ว +3

    You're making such high quality content for such a small channel. I love it!

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      Glad you enjoy it!

    • @angelgrig72
      @angelgrig72 ปีที่แล้ว

      I totally agree!you've just earned a new subscriber!

  • @edgeeffect
    @edgeeffect 9 หลายเดือนก่อน +1

    My old PC/AT clone used to say "no ROM BASIC" if I forgot to plug in a disc controller! ;)
    I'm currently working on interfacing an obsolete 1970s dial telephone to my Android smart phone.... so mixing old and new tech is exactly what I've come here for. :)

    • @AndersNielsenAA
      @AndersNielsenAA  9 หลายเดือนก่อน +1

      I’d love to see that!

    • @edgeeffect
      @edgeeffect 9 หลายเดือนก่อน

      @@AndersNielsenAA I sent you a comment that said I don't have pictures or videos but I've got schematics and source code on "that famous site where people put source code" but, as with all comments that contain links, it "mysteriously disappeared".

    • @AndersNielsenAA
      @AndersNielsenAA  9 หลายเดือนก่อน +1

      Ar, frustrating. That’s why I have a discord server - you should be able to find it in my channel page easily

  • @steveblakely7296
    @steveblakely7296 ปีที่แล้ว +1

    I like the content exactly as you have presented it, keep up the good work. Keep it real, don't go to fancy and I will keep watching... I now need to go watch your previous videos - not sure why I've missed this channel before 👍
    Edit: I have seen some of your other videos - why did I not subscribe back then 🤦‍♂️

  • @Shmbler
    @Shmbler ปีที่แล้ว

    I used that same pcxtkbd Arduino project and modified it for the Amstrad PC1512, which has slightly different timings and also handles the mouse buttons over the keyboard interface. Another Arduino project allowed me to interface a PS/2 mouse to the PC1512 quadrature signal mouse port. I love these tiny Arduino helper projects.

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      The world sure is a better place when you don’t have to write your own scan code tables.
      I forgot to mention in the video I also fixed the timings beside the change to avoid leaking magic smoke - keyboard data is supposed to be available before the clock goes high and after it goes low. In kesrut’s code data was changed after the clock going high which doesn’t fit the bill but probably it still worked because the XT clocks on the falling edge.

    • @Shmbler
      @Shmbler ปีที่แล้ว +1

      @@AndersNielsenAA There's a service manual for the PC1512 that has a very helpful description of the prototol that Amstrad used. It's been a while, but I know I also changed the pins to emulate OC and I also had to fiddle with the AA code the PC expects after keyboard reset. Besides adding the scancodes and pins for the mouse buttons, of course. But the project was a good starting point. I believe I also had it running on those cheap Tiny88 Arduino Nano clones without issues.

  • @cbmeeks
    @cbmeeks ปีที่แล้ว +1

    Amazing video! Keep up the great work.

  • @detscadosu2465
    @detscadosu2465 ปีที่แล้ว

    Thank you for sharing. I am the proud owner of a fully restored XT with a CGA monitor, but I have always wondered how a "mad max" version of an XT would look like. Modern keyboard, VGA 16 bit card, no case... This fits the bill! And you also managed to teach me something :)

    • @kilianhekhuis
      @kilianhekhuis ปีที่แล้ว

      You're basically describing the NuXT, the XT I'm currently using. I do have the components of my old XT still lying around, but storage is tight, so the NuXT fits better 😄.

  • @jamestiner1882
    @jamestiner1882 ปีที่แล้ว

    Excellent video! Thank you! I'm glad the YT algorithm suggested it. It must be because I've been watching videos from The Phintage Collector. I have subscribed to your channel and look forward to more! Greetings from Upstate New York USA.

  • @kitsune-chan6897
    @kitsune-chan6897 ปีที่แล้ว

    I'm currently working on a PC/XT compatible machine, with onboard sound and in the form factor of a mini-itx board. And this just inspired me to go even harder. (Though I used SRAM to cut down on the size)

  • @ThePodcastMan02
    @ThePodcastMan02 ปีที่แล้ว +1

    I like this and it'll be helpful for a restoring my IBM 5160 that I got out of a junkyard

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      I'm happy to hear that! :D

    • @ThePodcastMan02
      @ThePodcastMan02 ปีที่แล้ว +1

      @@AndersNielsenAA do you have any tips for fixing broken pins on the 8080?

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      I usually cut the legs of a normal 5mm LED and solder them to the broken pins - they’re pretty sturdy and fit in most sockets.

    • @ThePodcastMan02
      @ThePodcastMan02 ปีที่แล้ว +2

      @@AndersNielsenAA thank you! That'll be a great help

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      @danthepodcastman02 You inspired me to fix a ROM with broken pins, so I made a short video showing how :)
      It’s on my channel

  • @rallymax2
    @rallymax2 ปีที่แล้ว

    This is my jam. Thanks for making the video

  • @EpsilonsReviews
    @EpsilonsReviews หลายเดือนก่อน

    Now to give my 5150 a work over and add an extra five to that number!

  • @systemchris
    @systemchris ปีที่แล้ว

    What an effort! So interesting

  • @skganno7771
    @skganno7771 ปีที่แล้ว

    great video buddy :) remember you allready tinkering with linux back in school :)

  • @TerrisLeonis
    @TerrisLeonis ปีที่แล้ว

    I have one of these motherboards and I'm planning to do something like this with it. I don't have a graphics card or power supply for it, or a BASIC ROM, but I'm hoping to get hold of those at some point. I do have a PS/2 to XT adapter (running similar Arduino code I assume), a storage card with a compact flash card, and a floppy disk controller card.

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      The cool thing is Basic is included in the stock BIOS ROM. PSU can be an ATX with an adapter.
      I suggest you check out the first video in this series before you try powering it on :)

  • @IkarusKommt
    @IkarusKommt 6 หลายเดือนก่อน

    That card would cost about $500 when it was new, because of all that additional memory. Only most expensive monitors could do 1024x768 resolution also.

    • @AndersNielsenAA
      @AndersNielsenAA  6 หลายเดือนก่อน

      It's an amazing time to play with stuff I couldn't afford when it was new :D

  • @knghtbrd
    @knghtbrd ปีที่แล้ว

    Gotta say given some of the other videos I have watched lately, I was half expecting you to start with a chip and a breadboard in what'd undoubtedly be a longer video series than you're likely to produce on this thing. 😅 That would've been a much longer series of videos I suspect … but given the leap in general knowledge about more and more complex vintage hardware during the covid years, I can totally see it. That's not a project for me to tackle so I'll stop talking-I'd be in well over my head.
    Like that you're not letting "period correctism" interfere with making cool stuff work and do cool things. There are those who'd somehow imply (and a few insist) that they were somehow doing it better or more right than you because THEY went out and bought a working model F keyboard. I'd say that anyone who takes the time to get this old equipment running and doing something cool is doing it right-and if they're building stuff to make that happen, they're doing it doubly right. 😁
    Looking forward to loading and saving programs using your keyboard interface and maybe a parallel port, anything interesting you do around video, and the probably actually useful next steps of mass storage.

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      Who knows - I might start growing crystals and doping silicon with boron and phosphorus in my garage.. I guess that's as much "from scratch" as I can do ;-)
      I already had a lot of fun coding Pong on a ROM carried by an old 10BASE2 ethernet card, dunno if you missed that video :)
      Next step will be making(soldering) a floppy drive controller and running DOS - maybe coding using the DOS interrupts, etc.
      Should also be fun to run some old games on it :)
      Keep an eye out for that one! Thanks for watching!

  • @justingreen8006
    @justingreen8006 ปีที่แล้ว

    Oh I thought you meant from scratch... As in creating the schematics, then getting the PCB manufactured by "PCBWay" , soldering the components onto the board, etc.
    Thanks for the video though.🙂

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      Could’ve done that too but I had the board so I thought that was a good place to start :)
      I guess from “scratch” would be doping silicon with phosphor and boron :D

  • @shaurz
    @shaurz ปีที่แล้ว

    Since you appear to be very knowledgeable in this area, can I ask you a question. I always wondered if it would be possible to make a PCI-E card with a real floppy disk controller on it to add support for floppy drives on a modern PC. I know that PCI uses memory-mapped I/O and legacy FDC uses the old I/O address space, but it's possible to make PCI sound cards work on DOS games that expect an ISA Sound Blaster, so I think it might be possible in theory.

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      Unfortunately not. I guess you can throw an FPGA on a card to do translation but that would also require drivers and a crazy amount of work.
      I’m not an expert on PCIE but as far as I can see the LVDS is a dealbreaker to communicate with an ISA FDC.

  • @no0ne.
    @no0ne. 11 หลายเดือนก่อน

    I created a USB to XT converter for keyboards that don't support PS/2 mode using a Raspberry Pi Pico called ps2pico. But I don't own a real XT, I only tested it on an NuXTv2. Would be nice if you could test it on your machine!

    • @AndersNielsenAA
      @AndersNielsenAA  11 หลายเดือนก่อน

      Nice project! Found the XT version. Looks easy to get working but I have quite the backlog. I'll make a note to try it sometime in the future :)

    • @no0ne.
      @no0ne. 11 หลายเดือนก่อน

      @@AndersNielsenAA Cool thanks! Will do a rework of the XT version to work with picos PIOs as well, not doing cpu bitbanging as its currently the case.

  • @stuaxo
    @stuaxo ปีที่แล้ว

    I'm curious about the font support mentioned in the graphics card manual - it mentioned loading 16 fonts, up to 16 pixels wide - that's not standard text mode, I wonder how it works ?

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว

      Dont you think it’s just bitmapped from ROM on card and accessed by driver? I guess it doesn’t have to be implemented on the card

  • @gilbertvera1678
    @gilbertvera1678 2 หลายเดือนก่อน

    Do you have a video of how you assembled and made the keyboard adapter ? Or a bom for it ?

    • @AndersNielsenAA
      @AndersNielsenAA  2 หลายเดือนก่อน +1

      There’s a link to it on my GitHub in the description :)

    • @gilbertvera1678
      @gilbertvera1678 2 หลายเดือนก่อน

      @@AndersNielsenAA I see the github just kinda overwhelmed but it. I think I need to use a arduino and then just build some stuff together. But not sure where to start I was given a 5150 project and while it works it needs a keyboard 😀

  • @heinrichagrippa5681
    @heinrichagrippa5681 6 หลายเดือนก่อน

    Interesting. Though that seems like a lot of work to not just buy an XT keyboard.

    • @AndersNielsenAA
      @AndersNielsenAA  6 หลายเดือนก่อน

      Indeed! But as they say: I don’t just catch a fish. I learn to fish :)

  • @baghdadiabdellatif1581
    @baghdadiabdellatif1581 ปีที่แล้ว

    Great work. There is something i am thinking about and maybe you can give a solution.
    Can you make a motherboard with built in SiS 6326 agp (not integrated graphic in the chipset) to be like graphic card for another ISA 18 bit motherboard?
    If a motherboard has an built in IDE flash drive and a secondary output, if i force the cpu in hold position it is possible to access the integrated ide flash drive from the secondary port wtth ide to usb adapter?

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      Thanks!
      I won’t be of much help here - the SiS6326 is well into PCI-land so I actually have no idea how to interface with it at the moment
      And for accessing IDE while in hold - I would say.. probably not unless you make absolutely sure you’re not introducing separate power creating over voltage/short.

    • @baghdadiabdellatif1581
      @baghdadiabdellatif1581 ปีที่แล้ว

      @@AndersNielsenAA thank you a lot for your answers. My IDE to usb duck connected to the secondary IDE port to get access to the primary IDE flash drive and the only VCC is the one that supplyed by the dock ?

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      @@baghdadiabdellatif1581 I’m afraid you’ll have to physically disconnect it from your system too (or cut VCC in your dock) - if VCC is still connected to your state. it’ll probably draw (a lot of) current from your dock.
      But IDE is not something I’m deeply familiar with.

    • @baghdadiabdellatif1581
      @baghdadiabdellatif1581 ปีที่แล้ว

      @@AndersNielsenAA 🤔 what about using a good working isa motherboard in parallel on the isa connector (ISA port //ISA port) and hold CPU so the good isa board think that there is an IDE controller on the ISA bus?

    • @AndersNielsenAA
      @AndersNielsenAA  ปีที่แล้ว +1

      @@baghdadiabdellatif1581 I mean, if you run them from the same power supply what I’m referring to won’t be a problem - but of course I’d also need to see(and understand 🙃) a pretty detailed schematic to know for sure if what you’re trying to do will work

  • @prozacgodretro
    @prozacgodretro 10 หลายเดือนก่อน

    I too own an IBM p70... sadly mine has stopped operating, due to capacitors failing and it smelling like a combination of burnt catpiss and marshmallows....
    I really want to restore it. My brother gave it to me many years ago, he found it in a closet at work and it was one of the last things he ever gave me before he died.

    • @AndersNielsenAA
      @AndersNielsenAA  10 หลายเดือนก่อน

      I have the same smell but no sign of failing capacitors except the display sometimes doesn’t come on.
      It also has a “replace motherboard” error and loses BIOS RAM but seemingly not due to battery.
      It’s a bit down the line in my projects but it’s hard to wait to get it going better - I just love that orange display! :)

    • @prozacgodretro
      @prozacgodretro 10 หลายเดือนก่อน

      @@AndersNielsenAA - I was able to boot mine reliably about 10 years ago, and then the hdd died - I didn't try to diagnose it, but then about 5 years ago I powered mine up and could hear a capacitor hiss, and the display is massively unstable, it would still show something on the screen, but it would blink on and off. I decided to stop running it. I started to take it apart ages ago, but realized it has a "metric assload" of screws... so I backed off and reassembled it until I had a large dedicated work-space to work on it for a couple weeks.

    • @prozacgodretro
      @prozacgodretro 10 หลายเดือนก่อน

      @@AndersNielsenAA I wonder if we should collaborate a bit on back and forth with repairs? At least share diagnostics and tools, sounds like we may have similar issues.

    • @AndersNielsenAA
      @AndersNielsenAA  10 หลายเดือนก่อน

      I think the guy who sold it to me thought the HDD was dead but I think it turned out to be a loose connection in the cable - or something like that.
      Come join the clubhouse, I have a #project-help channel exactly for this type of thing :) discord.gg/kmhbxAjQc3

  • @nikolaievans2432
    @nikolaievans2432 5 หลายเดือนก่อน

    I don’t get why you just used a close source one it isn’t like there going to steal your info on a 80s pc. Also just get a adapter its crazy people are willing to spend more on equipment than just get a simple fix

    • @AndersNielsenAA
      @AndersNielsenAA  5 หลายเดือนก่อน

      Well this is certainly cheaper. XT to PS2s are 30€ on eBay.
      Sure I could buy it all. I could also just use an emulator and skip the whole XT.
      This is obviously not about getting as fast as possible to a working XT :)

  • @MichaelKingsfordGray
    @MichaelKingsfordGray 6 หลายเดือนก่อน

    This NOT from scratch, by any sense of the word.

    • @AndersNielsenAA
      @AndersNielsenAA  6 หลายเดือนก่อน

      Starting from the motherboard going up is certainly one sense of the word.
      If you expected me to grow and dope silicon crystals to make an 8088, you might have to wait a few years. Not ruling it out though :)