Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work in CDTV #4

Closed
LIV2 opened this issue Mar 18, 2021 · 24 comments
Closed

Doesn't work in CDTV #4

LIV2 opened this issue Mar 18, 2021 · 24 comments

Comments

@LIV2
Copy link
Owner

LIV2 commented Mar 18, 2021

Need to acquire a CDTV to find out why

@nobodyisinocent
Copy link

nobodyisinocent commented Jun 2, 2021

Hello,
I confirm that the jed file for the CDTV doesn't work.
You said that you don't own a CDTV, but if you want, I can test new jed files if you want since I have a CDTV and a GottaGOFastRAM ! No problem for me.
Kind regards,
Franck

@LIV2
Copy link
Owner Author

LIV2 commented Jun 3, 2021

Hi @nobodyisinocent
That would be great! I will try to have an educated guess as to what the problem could be and return with some JED files to test

@nobodyisinocent
Copy link

Hi Liv !
Great news ! I'll wait for your new JED to make tests !
Perhaps you could also look at the 4MB SRAM of the TK30 designed by Mattze from a1k.org.
He had made a specific JED file for his board. It's not the same design but perhaps that could help you ?
Kind regards,
Franck

@LIV2
Copy link
Owner Author

LIV2 commented Jun 3, 2021

I've tweaked a few things based on learnings from the GottaGoFastRAM2000 board which I am hoping will help, Can you please try out the attached jed file when you have the time and let me know? Thanks for the idea I will check out that project too
ggfcdtvtest1.zip

@nobodyisinocent
Copy link

nobodyisinocent commented Jun 3, 2021

Hi !

New jed file injected into the XC and tested. Actually I obtain the same issue.

I realized I didn't explain what's happening when the CDTV is switched on.
1- The CDTV displays a black screen. The CD-ROM is initialized during this step,
2- A faded yellow screen is displayed just after during a few seconds,
3- A reset is automatically done,
4- And we go back to the step 1.

I tested also with a floppy drive connected to see if I could hear the click of the drive. Nothing !

Kind regards,
Franck

@LIV2
Copy link
Owner Author

LIV2 commented Jun 3, 2021

Strange...

Does your board work in an A500?

If possible can remove the board and boot up Sysinfo and see how many boards are listed under the "Boards" option?

@LIV2
Copy link
Owner Author

LIV2 commented Jun 3, 2021

Also can you try the attached firmware? this one doesn't use autoconfig it just forces the memory to map so it can be tested with AmigaTestKit by choosing the option to detect memory, you should be able to detect 8MB and then test it all which will tell us if the part that is broken is related to autoconfig or related to the memory control

gottagofastnoautoconf.zip

@LIV2
Copy link
Owner Author

LIV2 commented Jun 3, 2021

And another autoconfig one to test when you get a second please :)

gottagofastcdtvtest3.zip

@nobodyisinocent
Copy link

Initially, the board worked onto the A500. I'm going to inject the firmware for the A500 if everything is good.
After, I'll test the two firmwares you sent today.

One question, For the CDTV, is there another signal which is needed to be picked up ?
I read something about CFGOut and CFGin. One of them is needed since there is an autoconfig device on the CDTV (DMAC) ?

@LIV2
Copy link
Owner Author

LIV2 commented Jun 4, 2021

In the CDTV the dmac's cfgin is tied to ground but it does have a CFGOUT by the looks of it but this doesn't appear to be easily accessible - only connected to the diagnostic port

The firmwares for various CDTV fast ram boards (incl my CDTV fw) work around this by watching the bus and wait until after they see the DMAC being configured before they respond to autoconfig requests.

I have tested that this part works with an A500 & A590 setup which has the same DMAC

@nobodyisinocent
Copy link

Hi !

Thanks for the information about the GFG signals.

About my RAM board, I have put the A500 firmware into the cpld. On the A500, I obtain a red screen.
The GottaGoFastRAM is installed onto a IDE68K. So, I have removed the /OVR and /INT2 connector. And in this configuration, the A500 displayed directly the early boot menu on the device menu. The RAM is shown as defective. I don't understand why since this board worked fine before onto my A500.
I put the no-auto-config firmware, and the A500 booted fine onto the IDE68K.

Anyway, I had an another IDE68K + GottaGoFastRAM onto this A500. So, I have injected the first firmware you sent me to test if the result would be the same. And yes, the result is the same with yellow screen.
So, I have injected again the A500 firmware to verify the integrity of the board ram. And yes, it always works perfectly.

I have finally injected the no-Auto-config firmware to test into the cpld. Tested onto my CDTV, it boots perfectly onto the CF card of the IDE68K. This evening, I'll test to add the memory manually with the "addmen" command line.

And after, I'll test the third firmware you've sent !

@LIV2
Copy link
Owner Author

LIV2 commented Jun 4, 2021

Hmm the "Defective" screen usually means that kickstart did a memory test and found the ram to be faulty - perhaps a bad solder joint or something? It should work fine with the IDE68K I have a few here stacked with this ram board.

Better than addmem is booting AmigaTestKit if you have a Gotek or something - this allows you to autodetect memory and test it.

Thanks so much for your help!

@nobodyisinocent
Copy link

Yes, it worked before. But yes, I suspect faulty ram. I'll check the soldering.

Yes, I have downloaded AmigaTestKit also, and I'll used it. :-)

No problem. It's a pleasure, I like your little board !

@nobodyisinocent
Copy link

nobodyisinocent commented Jun 5, 2021

Hi,

I have tried to test the RAM on my CDTV. AmigaTest Kit refused to run. The menu wasn't available...
I tried onto an A500+, and there, it has run fine. The 8MB were found.

So, I have tested again onto my CDTV with the CDROM part disabled thanks to the JP15 jumper which have to be opened in that case. Like that, I obtain a pure A500. In this configuration, AmigaTestKit run fine, but the test is not successful. More than 3500MB are found as you can see on the picture !
capture16

Presently, My CDTV is equipped with the 2.30 Extended ROMs. I'll test with the original ones, but I have to take a look at the jumpers. I'm sure I have modified one of them to use the 2.30 ROMs, but I don't remember which one !

@nobodyisinocent
Copy link

For information, if I use AddMem 200000 9FFFFF, the command line returns an error which says that only a part of memory is found and the Fast RAM is not activated.
I'll note the exact error message.

@LIV2
Copy link
Owner Author

LIV2 commented Jun 6, 2021

Well that is very strange, I get the feeling there is some problem with the design. perhaps the buffers don't work well with the CDTV for some reason (noise immunity or something?)

I've bought a CDTV on eBay now so I can poke around with my oscilloscope etc, thanks so much for your help I'll keep this thread updated with my findings

@nobodyisinocent
Copy link

Hi,

Great news ! Will be easier to find the problem.
For information, I have tested the 68030/4MB accelerator board from Matze.
The memory part of the accelerator board uses the A500 jed.
For that, I have disabled the CD-ROM part (with jumper JP15 opened). Like that, no DMAC initialization.
And the board run fine as shown into the pictures below.
capture17

capture18

@nobodyisinocent
Copy link

Okay ! Thanks a lot for your great work ! :-)

@LIV2
Copy link
Owner Author

LIV2 commented Jun 26, 2021

Hi @nobodyisinocent

I received my CDTV earlier this week and have figured out the problem.
I made a mistake in the design by supplying the clock buffer with 5V instead of 3.3V which causes it to have the wrong threshold voltage for the clock when installed in a CDTV (but works fine on other amigas for some reason)

Yellow is the clock from the CDTV, blue is the buffered clock signal. ignore the difference between before/after for the yellow trace the amplitude is different because I didn't have a solid probe connection - only the buffered trace is interesting

Before fix: the resulting clock output has too narrow a pulse that is late which causes the ram controller to not function correctly and misbehave

DS1Z_QuickPrint1

After fix: nice square clock

DS1Z_QuickPrint2

The fix:

You can fix this on a Rev B board in one of two ways:

  1. Cut the relevant power trace at the right place and solder a jumper wire between the positive sides of C1 and C3 (recommended)
  2. Remove U4 and solder the two jumpers closed on the bottom of the board

The buffer serves a useful purpose of cleaning the clock signal if there is noise or too slow rise time so I recommend doing option 1 as follows:
pcb

Make sure to reflash the CDTV specific firmware from the master branch rather than the testing ones I sent previously.

I'll update the documentation with this fix and also update the PCB design to fix this problem

LIV2 added a commit that referenced this issue Jun 26, 2021
Fixup U4 Voltage threshold by switching to 3.3V - #4 Fixes CDTV Compatibility
LIV2 added a commit that referenced this issue Jun 26, 2021
Fixup U4 Voltage threshold by switching to 3.3V - #4 Fixes CDTV Compatibility
LIV2 added a commit that referenced this issue Jun 26, 2021
Fixup U4 Voltage threshold by switching to 3.3V - #4 Fixes CDTV Compatibility
@LIV2 LIV2 mentioned this issue Jun 26, 2021
LIV2 added a commit that referenced this issue Jun 26, 2021
Fixup U4 Voltage threshold by switching to 3.3V - #4 Fixes CDTV Compatibility
@nobodyisinocent
Copy link

Hi LIV !

It's a great news ! Perfect job. +1:
I'm going to make the mod onto my GottaGoFastRAM.
Mine is directly soldered onto an IDE68k board. I'll used the first recommended way.
I took a look at the schematic. For my configuration, if I cut the track between the via and C1 onto the top layer, that will be the same since HI position of J1 isn't closed. And as shown in your picture, I'll solder the wire between C3 & C1.

Fantastic ! My CDTV will have a 8MB board and an IDE port ! And it's thanks to you ! :-)
I'll say you as soon as it will be done.
Have a nice week-end.

LIV2 added a commit that referenced this issue Jun 26, 2021
Fixup U4 Voltage threshold by switching to 3.3V - #4 Fixes CDTV Compatibility
@nobodyisinocent
Copy link

nobodyisinocent commented Jun 28, 2021

Hi Liv,

Board modified and tested. The fastram is seen as shown in the picture below. Everything works fine onto my CDTV !
Perfect job ! 👍
Many thanks for this very cool board ! :-)

capture0

@LIV2
Copy link
Owner Author

LIV2 commented Jun 29, 2021

Fantastic! Thanks so much for your help :)

@LIV2 LIV2 closed this as completed Jun 29, 2021
@MirekBie
Copy link

Hello. Can you tell me how to update the firmware for cdtv in GottaGoFastRam. what software and programmer to use?

@LIV2
Copy link
Owner Author

LIV2 commented Dec 21, 2022

@MirekBie you can program using a Raspberry Pi following the instructions here: https://linuxjedi.co.uk/2021/11/25/revisiting-xilinx-jtag-programming-from-a-raspberry-pi/ but you would replace FLASH_KICKSTART.jed at the xc3sprog command with the filename of the .jed you wish to program

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants