Image Map Image Map
Page 13 of 13 FirstFirst ... 3910111213
Results 121 to 123 of 123

Thread: Got my first PET today! Well two. Sadly both don't work.

  1. #121
    Join Date
    Feb 2009
    Location
    Southern California, USA
    Posts
    2,454

    Default

    Quote Originally Posted by misterblack View Post

    I'll give your ROM a test in VICE right now -- ok so it's not working correctly VICE. It shows g, G and then PETSCII where it just hangs. Seems to be stuck here:
    Adrian,
    I tried it too. There are apparently a couple of issues. The VICE Simulator may be sensing/guessing the diag line as a "low" rather than the expected "high". daver2 is using this input as a user signal to continue on to the ROM test if the signal is grounded at the user port.


    So after the first pass of the RAM test, instead of looping on the RAM patterns again as he wanted, the test goes into the nonexistent ROM Sum Check test and stays looping there forever doing nothing.

    The screen should have been cleared before the ROM test is entered, but daver2 branched directly to the checksum test without first performing the CLEARSCREEN that he meant to do before going to the DOCHECKSUM routine. So it 'appears' to freeze after the RAM test.


    So this is mainly a VICE Simulator issue. It should work OK in a PET if the open diagnostics line is sensed as a high.

  2. #122
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    1,866

    Default

    dave_m's assessment is (as usual) correct - or at least the same conclusion I came to...

    I modified the last jmp instruction to execute the ROM checksum and keyboard check repetitively - but only when the DIAG line is pulled low. If DIAG is sensed as high (the default) it should continue with the simple 1K RAM test.

    I agree with Dave - for some reason the uninitialised PIA default for this signal within VICE is not correct. I will initialise this PIA when I add the keyboard check functionality. Incidentally, the uninitialised state for a PIA is both ports = input with the control signals and interrupts disabled.

    When I go to perform the ROM checksum and keyboard check, I clear the screen and then plan to loop displaying the ROM checksums and scanning the key matrix without clearing the screen. This way it will be possible to easily check for 'glitches' in the checksums which would indicate that reading the ROMs was inconsistent.

    Thanks for testing out. The 'loop' you show is actually correct. It is reading a block of 256 bytes in a tight loop. You would have to wait for The X register value to wrap over from $FF to $00 for it to exit the loop. I think this is one of the delay loops - although my iPad won't let me view the listing file on my google drive to check for sure!

    Dave
    Last edited by daver2; July 17th, 2018 at 08:51 PM.

  3. #123
    Join Date
    Jul 2017
    Location
    Portland, Oregon, USA
    Posts
    87

    Default

    Quote Originally Posted by daver2 View Post
    dave_m's assessment is (as usual) correct - or at least the same conclusion I came to...

    I modified the last jmp instruction to execute the ROM checksum and keyboard check repetitively - but only when the DIAG line is pulled low. If DIAG is sensed as high (the default) it should continue with the simple 1K RAM test.

    I agree with Dave - for some reason the uninitialised PIA default for this signal within VICE is not correct. I will initialise this PIA when I add the keyboard check functionality. Incidentally, the uninitialised state for a PIA is both ports = input with the control signals and interrupts disabled.

    When I go to perform the ROM checksum and keyboard check, I clear the screen and then plan to loop displaying the ROM checksums and scanning the key matrix without clearing the screen. This way it will be possible to easily check for 'glitches' in the checksums which would indicate that reading the ROMs was inconsistent.

    Thanks for testing out. The 'loop' you show is actually correct. It is reading a block of 256 bytes in a tight loop. You would have to wait for The X register value to wrap over from $FF to $00 for it to exit the loop. I think this is one of the delay loops - although my iPad won't let me view the listing file on my google drive to check for sure!

    Dave
    Ah yes -- funny about VICE but I guess we're pushing it to do very unusual things there I didn't end up having any time last night to burn the EPROM to test it out on real hardware either, so will try that when I have a moment.

    I was wondering if you had seen this? (Link) Says it is an address line checker for the A0-A14 :
    http://www.6502.org/source/general/address_test.html

    Could also be useful to add into the test.
    -- Adrian

Tags for this Thread

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
  •