Jump to content
IGNORED

pixels past 32k bankswitched boards...any idea why this is not 2600+ compatible?


swlovinist

Recommended Posts

Any info on this would be most appreciated.   Recently I did an short order of my my homebrew Game Panic 3.   The game has been proven to work on the 2600+ using a different brand of PCBs.   I had some made up using this PCB and while the game perfectly working on an original 2600...it is not working on the 2600+.   Any idea of what it could be? 

 

link to the pcb boards in question and schematic. 

 http://www.grandideastudio.com/pixels-past/

Link to comment
Share on other sites

  • 2 weeks later...

Interesting as Mr Run and Jump basically uses the same hardware.

 

I guess by not working you mean the game loads but crashes or doesn't it load at all?

 

I'd say it's a combination of different PLD code and the dumpers method of reading the cart.

 

 I can't tell much about the dumper as there is no info available about it (I hope this changes sometime soon) but it is most likely an 8-bit MCU and cannot switch all the 13 address lines at the same time (it only has 8-bit I/O ports). This and the fact that the pixels past PLD code uses all address lines in it's bank register logic may cause the problem.

 

The issue probably is  that the bank register is latched (clocked) by delayed logic so the state of the address lines at the moment the bank register is latched can be different and in that case causes the wrong bank register being selected resulting in a bad dump.

 

The bank switch register logic that determines which bank address is latched according to the pixelpast 20V8 code is:

O14.d = (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & !A1 & !A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & !A1 & A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1 & !A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1 & A0);
O13.d = (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & !A3 & A2 & A1 & !A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & !A3 & A2 & A1 & A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1 & !A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1 & A0);
O12.d = (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & !A3 & A2 & !A1 & A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & !A3 & A2 & A1 & A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & !A1 & A0) #
        (A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & !A2 & A1 & A0);

 

Using all the address lines is not necessary at all and the above logic can be simplified to just:

O14.d = !A2;
O13.d = A1;
O12.d = A0;

 

If the PLD was programmed using this simplified logic it would probably work.

 

TL;DR

 

because the 2600+ dumper doesn't change all the address lines at the same time like the 2600 does, the cart cannot be dumped properly because of the way the PLD chip of the cart is programmed.

 

 

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...