jasonsbeer / Amiga-N2630

A re-imagining of the Amiga A2630 processor card.
51 stars 8 forks source link

Problem with many ZorroII Cards #15

Closed transi01 closed 11 months ago

transi01 commented 1 year ago

Hello Jason,

we have issues with ZorroII Cards which seems to be a problem with ovr / dtack The cards with problems are: X-Pert Merlin Graphics card Georg Braun / Matthias Heinrichs GrakaP2++ (Picasso II Clone using CL-GD5434 Chip) E3B Deneb USB Card. USB is working, but when trying to flash the flash, computer freezes.

The efect for all cards is that the computer seem to freeze but it still does something veeeery, veeery slow.

All above cards use ovr / dtack function to sync i/o

Thanx for investigation! Cheers,

// Thomas

jasonsbeer commented 1 year ago

I do not have access to those cards for testing. Are they DMA devices? Are there any relevant technical documents or timing diagrams available?

transi01 commented 1 year ago

No, they are no DMA devices. Cause of some deeper info's I might pass you through to a friend of mine, which has designed a bunch of new USB Cards for Amiga's. He might be able to help you in locating the problem, he also has a N2630 for testing.

are you able to send me an e-mail to: ***, and I'll pass the contact over to mattymuc ?!

// Thomas

jasonsbeer commented 1 year ago

That sounds good. I will send you an email.

transi01 commented 1 year ago

Here you might find info's about how to handle the signals: http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node02A2.html

transi01 commented 1 year ago

here on page 10 of 17: https://www.amigawiki.org/lib/exe/fetch.php?media=de:parts:gayle_specification.pdf

jasonsbeer commented 1 year ago

Outside of DMA activities, Gary generates all _DTACK signals. That's why I asked. The cards you mention not DMA devices, but they still assert _OVR? The N2630 only generates _DTACK during DMA, meaning the bus grant must be asserted.

transi01 commented 1 year ago

dtack

jasonsbeer commented 1 year ago

Linking to descriptions of the _DTACK signal is not useful in this context. Gary generates _DTACK for all cycles except DMA. Since these devices are not DMA, generation or timing of Gary's _DTACK is not the problem.

jasonsbeer commented 1 year ago

I spoke to Matthias. I now understand the concern is related to Zorro 2 devices asserting _OVR for the purpose of inserting wait states. I will see what I can find.

coriolis1986 commented 1 year ago

Any news about this issue? I also have a lot of problems with a Zorro expansions.

lordwolfchild commented 1 year ago

I'm afraid I'll have to agree with this. The N2630 is a great design and I really enjoyed building and experimenting with it. But it just does not work well (yet!) with some Zorro II Cards.

I have massive Problems with BuddaIDE and XSurf 100, which I would really like to keep. The BuddhaIDE works like a charm for an undetermined amount of time, then it just hangs while accessing. The X-Surf can be initialized, but a soon as network traffic is generated, everything comes to a halt. The OS is (in both cases) still there, taking commands and everything, but the hardware is blocked and rather unresponsive.

I have a GBAPII ++ RTG card (FP mentioned this) lying around which I would really like to use, too.

I do not know enough about the Zorro II bus to diagnose and find the problem myself, though. :(

The N2630 by itself works like a charm, though.

jasonsbeer commented 1 year ago

I updated the U600 logic to consider delayed assertion of _DTACK in the 68000 state machine. This update can be found in the DEV branch, under logic. I was told this helped, but some issues still exist. You can try the "X" and "X1" logic to see if it helps. Link below.

The only way to figure this out is to either gain access to the hardware in question or have someone supply timing output from a logic analyzer. The hard reality is I do not have any of the hardware devices mentioned and I have no immediate plans to purchase them. This project has cost a lot of money to develop, and the line has to be drawn somewhere.

If someone can supply output from a logic analyzer or can lend an example of the hardware in question, that would help to move this issue forward. Flagging this issue with a help needed flag.

https://github.com/jasonsbeer/Amiga-N2630/tree/Dev/Logic/JED/U600

lordwolfchild commented 1 year ago

I tried both variants, "X" seems to work fine, "X1" seems unable to boot with BuddhaIDE. I will try some different hardware configurations and try to give some feedback which cards do work with the updated _DTACK handling. Thank you very much for all the work you invested in this project! Seeing the old 2000 performing this great today is sort of "Heaven" indeed!

jasonsbeer commented 1 year ago

@lordwolfchild That is great information. Thank you.

jasonsbeer commented 11 months ago

Fixed with firmwares released on November 5, 2023.