Jump to content
IGNORED

W65C02 or W65C816 on R1 of the Advanced PCB Remake For the Atari 800XL


Recommended Posts

3 hours ago, pancio said:

It's very strange.. because VPA/VDA are outputs and even if they are OC/OD type Pullup shouldn't be needed. But since it works as you did, there's no point in focusing on it. Problem solved!

There's still one or two more problems to solve.  When in "turbo" mode, SIDE3 isn't working (red screen, black screen, or other effects happen) and some programs have issues with PMGs.  (PMGs = Player Missile Graphics)

 

Noticed issues with PMGs:

1.  MULE runs fine but has a small section of corruption on the land development screen, at the top, in the river bed.

2.  A type-in game, Overflow, won't run and has at least one PMG bar down the center as well as some other screen corruption.

 

There are a few other games that won't run at all.  These games just come up with the Atari blue screen and the system locks up.  (i.e.  RiverRaid)  Right now, I am suspecting this problem could be related to illegal 6502 opcodes but have no evidence.

 

 

21 minutes ago, reifsnyderb said:

These games just come up with the Atari blue screen and the system locks up.  (i.e.  RiverRaid)  Right now, I am suspecting this problem could be related to illegal 6502 opcodes but have no evidence.

River Raid runs fine on 65C816, even at 20 MHz. So this must be some other problem, perhaps an issue with WSYNC.

 

Illegal instructions are easy to detect using Altirra: System->Configure system->CPU, uncheck "Enable iilegal opcodes". The emulator will stop having encountered one.

Edited by drac030
  • Like 2
46 minutes ago, drac030 said:

River Raid runs fine on 65C816, even at 20 MHz. So this must be some other problem, perhaps an issue with WSYNC.

Would this be related to the RDY line/WSYNC issue?

 

I think the RDY/WSYNC issue, whereby RDY should only be activated on a read, is fixed.  (I have the PLD code set to only allow RDY to be pulled low on a read.)  Maybe it isn't?  Is there a way I could test for this?

 

Edit to add:  I just realized my RDY line "fix" may not work as it only checks the status of RW and does not take Phi2 into consideration.  I'll have to check the data sheets as timing could be a problem.  It may be possible to fix this by latching/unlatching the RDY line to the CPU at the correct time.

 

 

Edited by reifsnyderb

After reading the datasheets and comparing the RDY line functions between the 6502 and the W65C816, I decided to latch the RDY signal, going to the CPU, when Phi1 goes high and when RW is high.  (This looks more in line with what the datasheet indicates.  https://www.princeton.edu/~mae412/HANDOUTS/Datasheets/6502.pdf  )  When in turbo mode, MULE still has the slight corruption and the corruption in Overflow changed.  Overflow now responds to the Start button as well.  SIDE3 still doesn't work in turbo mode.  So, there's a slight improvement but no fix yet. 

 

 

  • Like 1

@Albert  Is it possible to change this title to "W65C02 or W65C816 on R1 of the Advanced PCB Remake For the Atari 800XL" ?  Thanks!

Edited by reifsnyderb

After much experimentation and finally drawing up the CPU cycles and clock speed square waves on graph paper, I think I know why the Turbo mode isn't working right with graphics.  There needs to be a higher fast to slow clock cycle ratio to fit in an extra clock cycle here or there.  The extra clock cycles should probably be squeezed in only when Phi1 is high so as to avoid a shortened high Phi2 when the CPU transitions from fast to slow speed.  More experimentation will have to be done with a 7Mhz clock.

 

 

 

 

 

 

  • Like 4

Last year, I serviced an Atari XE, which had a 65C816 instead of a 6502C, along with two 74LS00 and 74LS74 chips connected according to Pasiu's schematic.

 

I found a photo of the processor, and it wasn't a WDC65C816:

 

image.thumb.jpeg.d3b1f1f8f2c7ab86738c60f5fcd10645.jpeg

 

GTE_G65SC816.pdf


Below, I am attaching the manual that I also found online.

  • Like 4
  • 2 weeks later...
On 10/7/2024 at 3:28 PM, pancio said:

Made piggy prototype... need to be double check with schematic and correlated with your PLD program... hope I did not make mistakes 🙂

Two weeks for PCB and we will see...

image.thumb.png.146464272d0855b54cd94b14054afc6f.pngimage.thumb.png.f808ed9624f2c7356ed242a4e2bb07ef.pngimage.thumb.png.0e65ab561b791337b1c550076073a453.png

I decided to re-consider this adapter board and made one of my own.  The PLD should fit, if soldered to the board, under the W65C816.

Of course, the W65C816 socket must be of the variety without the cross pieces.   🙂

 

 

 

w65c816adapterboard.thumb.jpg.2188e7e794d97f4564097dcaa01337b4.jpg

 

 

 

 

 

  • Like 4
1 minute ago, pancio said:

Nice job!

 

I decided to have GAL on the right side of PCB because of testing... but of course in production, your smaller PCB will be more convenient. 

 

BR,

 

Thanks!  I plan to stack a couple 40 pin sockets and socket the first PLD chip so I can program it, test the program, and modify it if necessary.  Once the PLD program is working, the next boards can have the PLD soldered in place so as to make everything more compact.  I ordered 5 boards for testing.   🙂

 

 

 

  • Thanks 1
5 hours ago, pancio said:

Did you covered VDA/VPA in GAL logic or use the base one schematic?

 

I adopted "turbo" features but I'm not sure it will be feasible to use...

 

image.thumb.png.9f13691bdedf5a63ed136ac1cfda3c28.png

 

I didn't add the VDA/VPA lines and just used the base schematic.  If I come up with an idea as to how to get it to work, I'll experiment on the 800XL remake board.

  • Like 2
3 hours ago, pancio said:

Pretty ready to test...

 

signal-2024-11-01-103146_007.thumb.jpeg.92ff98ee84fefde9bc9dd8e2b1cd6de8.jpeg

 

signal-2024-11-01-103146_003.thumb.jpeg.b83b3b10274cfeee5765c3def0a52255.jpeg

 

@reifsnyderb, could you please share PLD file which covering "turbo" mode?

 

Best Regards,

 

Close source code is on page 2.  It would have to be adapted for your pin layout.  The VPA and VDA lines can be ignored.  Adding the "turbo" mode results in problems and I didn't save the source from my experiments as I was modifying it as I experimented.  Also, when I was experimenting, it was on the 800XL re-make board so the pin layout was different and I used the ATF22V10 on the 800XL board.  The ATF16V8B uses a different .jed file.  You can still use the source code, on page 2, configure it for your implementation, and it shouldn't need much modification to work.

Edited by reifsnyderb
On 10/30/2024 at 6:27 PM, reifsnyderb said:

I decided to re-consider this adapter board and made one of my own.  The PLD should fit, if soldered to the board, under the W65C816.

Of course, the W65C816 socket must be of the variety without the cross pieces.   🙂

 

 

 

w65c816adapterboard.thumb.jpg.2188e7e794d97f4564097dcaa01337b4.jpg

 

 

 

 

 

My boards should be in by Tuesday.  We'll soon see if it works.   🙂

 

  • Like 3
  • Thanks 1

A few tests done.

 

image.thumb.png.0141493ed8f94af94beb162ae9460bac.png

 

image.thumb.png.9425556721ea6433e171e6442afbe68d.png

 

image.thumb.png.50a215706ba71a3cc986f2ffb19477e2.png

 

General, I didn't see any problem with cartridges (like using one from @jhusak or from @GienekP but AVG has some troubles e.g. freeze screen with LOADING FILE, cannot return to main screen after reset and so on. I'll plan to investigate it because it's my favorite tool to work.! 

 

Have a nice Sunday!

 

 

Edited by pancio
  • Like 2
  • Thanks 1

I got the adapter test boards in and had some issues which ultimately resulted in my learning a few things that should result in an even more reliable W65C816 to Sally adapter.  The test board is a little high because I added a couple sockets.  The first socket is designed to avoid spreading the pins out on the system board.  Another socket is added to raise the CPU up even higher so that the PLD and it's socket clear.  The PLD has a socket so I can re-program it for testing.  A normal version of this adapter/CPU combination will be a lot more compact as the PLD will be stuffed under the CPU.

 

I need to poke around with the scope a little more to check some signal strengths.  Once I confirm my suspicions, I'll modify the board and get what should be the final version of the adapter board made.

 

Oh, yeah, it works.   🙂

 

TestingW65C816adapter.thumb.jpg.585699894785bf87fda404a6e2f80f2b.jpg

 

  • Like 6
  • Thanks 1

Hi @reifsnyderb,

 

This is great! When it is finalized, I may be interested in a couple of adapters when they are ready.

 

One question: did you do a test fit with a keyboard to see if your adapter is low enough? The 800XL keyboards slope very low towards the front. In my experience the Alps keyboards allow the most clearance. The more common models with a plate allow for less space (and some of us may spring for a fancy new keyboard that may have even less clearance😄)

 

When I had ordered the Byte Attic’s Sally adapter, I ordered the PCB a little thinner (I believe 1MM vs the standard 1.6). I also still opted for sockets for the adapter.  I had ordered low profile 40 pin sockets for the adapter and for my remake motherboard.

Edited by scorpio_ny
  • Like 2
5 minutes ago, scorpio_ny said:

Hi @reifsnyderb,

 

This is great! When it is finalized, I may be interested in a couple of adapters when they are ready.

 

One question: did you do a test fit with a keyboard to see if your adapter is low enough? The 800XL keyboards slope very low towards the front. In my experience the Alps keyboards allow the most clearance. The more common models with a plate allow for less space (and some of us may spring for a fancy new keyboard that may have even less clearance😄)

 

When I had ordered the Byte Attic’s Sally adapter, I ordered the PCB a little thinner (I believe 1MM vs the standard 1.6). I also still opted for sockets for the adapter.  I had ordered low profile 40 pin sockets for the adapter and for my remake motherboard.

It won't fit in it's current state as I installed extra sockets so as to both protect the system board socket and socket the PLD chip.  Once it's finalized it will be a lot more compact as it won't need the extra sockets.  Realistically, I was hoping to use this version of the board.  However, I ran into a problem whereby some GTIA chips work fine and some don't.  I am suspecting I'll need to add a buffer chip on the data bus.

 

 

 

 

  • Like 3
8 minutes ago, Mathy said:

Hello Brian

 

It would be a lot of work, but you could move the ICs that need more headroom to a different spot.

 

Sincerely

 

Mathy

 

It's just a small adapter board.  It's not too much work to move things around.  It may need the data buffer chip as a "guarantee" that it will work.

 

 

 

 

 

  • Like 2
21 hours ago, reifsnyderb said:

It won't fit in it's current state as I installed extra sockets so as to both protect the system board socket and socket the PLD chip.  Once it's finalized it will be a lot more compact as it won't need the extra sockets.  Realistically, I was hoping to use this version of the board.  However, I ran into a problem whereby some GTIA chips work fine and some don't.  I am suspecting I'll need to add a buffer chip on the data bus.

 

 

 

 

FTe's '816 adapter fits in the existing 800xl CPU socket (you need to cut out the middle cross-piece) since the PLD in mounted on the underside of the board.

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...