Image Map Image Map
Page 1 of 9 12345 ... LastLast
Results 1 to 10 of 87

Thread: Ruud's diagnostic ROM for IBM PC, XT and compatibles

  1. #1

    Default Ruud's diagnostic ROM for IBM PC, XT and compatibles

    Hallo allemaal,

    As promised, here is my diagnostics ROM for the IBM-PC, XT or compatibles. You can download the binary and the source at http://www.baltissen.org/zip/diagrom.zip.

    First a some what strange remark: it hasn't been tested on a real PC yet. So fat I tested it by using the PCEM-emulator. Why? Quite simple: I don't have to program a EEPROM for every change. A little BAT file takes care of assembling the source, calculating and inserting the checksum, and copying the result to the correct directory within PCem. After that it is just clicking a little button on the screen and I can see the result. And in the mean time I can keep sitting in my favourite chair

    But I found out that using PCem didn't go without flaws. I found out that PCem contains at least two bugs:
    - It doesn't handle the 8253 timers correctly. Landmark reports a FAILED for each timer. I never used Landmark in a real PC but I can safely assume that some of you readers must have used it and didn't encounter any problems with good timer. I reported the bug and the only comment was: you are not allowed to point to illegal downloads. OK Modem 7, you are warned Strange thing: not one remark about at least checking it.
    Also strange: my ROM only has an error with timer two. Still have to look how Landmark tests the timers and why the difference causes errors for the the other two timers as well.
    - The output of the 74LS322 keyboard buffer does not behave as it should. It outputs $00 instead of $FF when disabled. I reported that as well but I didn't even get a reply.

    The two bugs had consequences for my ROM.
    - Because it takes "quite some" time to find out that timer 2 is not working, I actually test timer 0 when the ROM thinks it is testing timer 0.
    - I found a way to distinguish between the PC and XT but that doesn't work in PCem now due to that bug. Knowing I'm testing a XT compatible, I forced the ROM to handle the dip switch settings of a XT for the moment.

    If you run the ROM, you will see that it is very fast compared to the Landmark ROM. Because it is still in the testing phase, I'm more interested in direct results like "does it work at all?" and "how do the error counters and the loop counter behave". So I shortened some time consuming tests.

    The ZIP also contains the source code. It is made to compile under NASM. If you look for '###' you will find the parts where I skipped some loops, where I still have some doubts about the code or anything else that needs my attention.

    Have fun!

    Comments, ideas, suggestions and criticism is welcome of course
    With kind regards / met vriendelijke groet, Ruud Baltissen

    www.baltissen.org

  2. #2

    Default

    Cool stuff. I find an EPROM emulator is very useful for test and development on real hardware. I use a Moates Ostrich 2.0 which is geared towards automotive tuning but works with any binary image.

  3. #3
    Join Date
    Sep 2017
    Location
    Principality of Xeon
    Posts
    1,861
    Blog Entries
    1

    Default

    Not for an AT?

  4. #4

    Default

    Quote Originally Posted by 2icebitn View Post
    Not for an AT?
    I will work on that as well but that will take some time. I first want to finish this one.
    With kind regards / met vriendelijke groet, Ruud Baltissen

    www.baltissen.org

  5. #5
    Join Date
    Sep 2017
    Location
    Principality of Xeon
    Posts
    1,861
    Blog Entries
    1

    Default

    Danke shoen. Did I spell that right?

  6. #6

    Default

    Quote Originally Posted by 2icebitn View Post
    Danke shoen. Did I spell that right?
    You spelled it right in German but Ruud is Dutch or at least he lives in Holland.
    PM me if you're looking for 3½" or 5¼" floppy disks. EMail “ ” For everything else, Take Another Step

  7. #7
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    31,520
    Blog Entries
    20

    Default

    Can the diagnostic run with no RAM?

  8. #8

    Default

    Quote Originally Posted by 2icebitn View Post
    Danke shoen. Did I spell that right?
    No, you didn't. It should have been "Danke schön". But being Dutch and not German, I would prefer "Dank je wel".
    With kind regards / met vriendelijke groet, Ruud Baltissen

    www.baltissen.org

  9. #9

    Default

    Quote Originally Posted by Chuck(G) View Post
    Can the diagnostic run with no RAM?
    No, it cannot. The idea behind it is simple: I'm interested in repairing broken motherboard. So I'm not interested if there is or isn't a 8087 or a BASIC ROM present if the RAM does not work. If I have no RAM, I cannot use them anyway. Once I have working RAM, I want to check for other things.
    Having RAM also means I can use subroutines in a natural way and use the stack as temporary storage.

    For the same reason I stop the test after detecting a faulty CPU: why should I continue the test? Every other error found now could be due to a CPU executing the instructions in the wrong way. The same with DMA: no DMA means no refresh, means no reliable RAM. Fix the DMA first, then we continue.

    I could change the program so it does not rely on RAM but that would mean I can forget, for example, about subroutines called by other subroutines and implementing it is a lot of extra work. But that's why I gave you the source code: if you feel the need to make it run without using RAM, be my guest
    With kind regards / met vriendelijke groet, Ruud Baltissen

    www.baltissen.org

  10. #10
    Join Date
    Sep 2017
    Location
    Principality of Xeon
    Posts
    1,861
    Blog Entries
    1

    Default

    Quote Originally Posted by Ruud View Post
    No, you didn't. It should have been "Danke schön". But being Dutch and not German, I would prefer "Dank je wel".
    Really? Be sure and tell the other individual who actually thinks an adult doesn't know there's a difference between Dutch and German. And it's not like we actually use foreign language phrases here in the US. Rather the assumption is I believe everyone in northern Europe speaks German. Achtung baby.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •