Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: C64 Port 1 (56321) Fritzy???

  1. #1

    Default C64 Port 1 (56321) Fritzy???

    My Game Port 1 gives a "251" flick - flick -flick on the video display when I Peek (56321) and push the joystick LEFT. All other moves (U/D/R) are ok, and the Joystick also works perfectly in Port 2 Peek(56320).

    Is there any fix for this in the connector or motherboard?

    This occurs on BOTH my C64s which I had previously dis-assembled and cleaned the keyboard and circuit board (keys). Is this a possible known problem with the C64, or is there something I (semi-techie) I can fix up?

  2. #2
    Join Date
    Mar 2012
    Location
    Augusta, Georgia, USA
    Posts
    563

    Default

    Can you explain what you mean exactly by "flick"?

    Joyport 1 is scanned constantly by the regular IRQ routine because it's also attached to the keyboard. If you just mean it changes from 251 to another number briefly, then that is why. It would be normal when it scans the rows and columns of the keyboard.

    For that reason, it's recommended to use joyport 2 in BASIC programs.

  3. #3

    Default

    Rittwage,

    By "flick - flick - flick ", I mean that "251" shows on the screen, then is blank for about 1/3 second, and then shows "251" again, and keeps repeating the same pattern as long as the joystick is held LEFT. I have a loop running "Print Peek (56321)" continuously. For any other position of the joystick, the displayed number shows correctly in the "running list", smoothly and continuously.

    It works properly and smoothly in Port 2. I am trying to "play" some of the cartridge games (from the closet 30 years ago). My Basic coding is only used for some engineering/mathematic calculations and demonstrations.

    Could the IRQ routine be messed up somehow??...or some problem in one of the chips or traces?

  4. #4

    Default

    Rittwage,

    I forgot to add in my note above, that the issue comes up in trying to "play" a game such as "Pitstop" or "Starpost". I was not able to get reasonable screen responses to the Joystick, and originally thought the Joystick was faulty. However, with the loop program running continuously as Print Peek (56321), the problem we narrowed to Port 1, not the Joystick

    Thank you for any help or guidance.

  5. #5
    Join Date
    Mar 2012
    Location
    Augusta, Georgia, USA
    Posts
    563

    Default

    I don't believe what you describe is a problem, but the normal operation of peeking joyport 1 in BASIC with interrupts enabled.

  6. #6

    Default

    Rittwage,

    Thanks for the note! It does seem weird to me as it only happens with the Joystick pulled LEFT. All other motions ( U/D/R) give a uniform display of the numbers. Port 2 is uniform in all motions (U/D/R/L, NE/SE/SW/NW) All these are running with the same Basic program Peeking (56321, 56320). Is there anything else which might cause this?

    My "hang up" on this, is that it prevents me from executing the cartridge games I have. I don't know if the cartridge games are coded in Basic or Assembly??

    If any other VC members have a comment please leave them too? Thank you.

  7. #7
    Join Date
    Mar 2012
    Location
    Augusta, Georgia, USA
    Posts
    563

    Default

    Well, if the joystick direction does not work properly in a cartridge game, that is another issue. I would suspect a bad CIA 6526 or related circuitry to that port (of which there is not much, see the schematics).

    However, in BASIC when you PEEK(56321) and push left, it will slow down the computer and print 251 as you noted. That is normal. It will even do that in emulation. This is because that joystick direction is the same as holding down CTRL which is one of the keys that slows down BASIC program printing when held. It also gets interpreted as pressing "space" I believe.

    Just try it- drop to a READY prompt and wiggle the joystick in port 1 all around. It acts the same as if you are pressing keys because it shares some of the same signal lines.

    Port 1 is used rarely in games because, as noted, it interferes with the keyboard scanning and vice-versa.

    But again, this behavior is NORMAL and is not related to any problems with cartridge games you might have.
    Last edited by rittwage; January 29th, 2019 at 01:23 PM.

  8. #8

    Default

    Rittwage,

    Thank you for the explanations....this does seem to make some sense, although it is not too clear to me how the signals are getting through on shared lines. I did wiggle the Joystick as you suggested at the READY prompt, and got...

    U - Nothing
    D - Left arrow
    R - 2, 8,..etc
    L - Cursor running to the right....This was an immediate response to the joystick; each "push" left generated another "step" to the right, no hesitation.

    I guess the "flick" I was trying to diagnose was normal when running a Basic "Peek" program. Weird!

    I will try later running "Pitstop", where I had hoped to get a smooth, continuous response to each joystick "push". I will also look at the electrical schematic again. The one I have is folded in the back of the Programmers Reference Guide.

    This "C64 project" has gotten somewhat beyond the original intent of restoring my children's computers form the 1980s, but it has definitely intrigued me, and the videos from the "8-Bit Guy" on YouTube have been impressive!!

    Thanks again.

  9. #9
    Join Date
    Jan 2014
    Location
    Centero
    Posts
    6,609
    Blog Entries
    2

    Default

    You can get around the system delay when pushing left by not PRINTing.
    Just POKE a different character to location 1024 for each combination of switches. Or change the border colour.

  10. #10

    Default

    All,

    Thanks for the information and clarification on how the joystick is read by the C64..both "stand alone" and vis Basic. It is now all much clearer.

    I re-setup the new joystick (red-button) with the cartridge game "Pitstop", and running at the slowest speed, was gratified to see the "race car" responding well to all the joystick motions. I guess the cartridge just disables the interrupts, or something, on some of the signal lines.

    I also ran "Aggressor" on my VIC 20, and it responded well too.

    I had been concerned that all my dis-assembly of the V20 and C64s had messed them up somehow, but I guess not. I must have re-soldered properly, and not nicked any chips or traces in the process! They are now reset for my (adult) children to re-play a little of what they had done in the 1980s.

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
  •