Hello:
Sent the gerber (https://github.com/lb3361/gigatron-lb/b ... PCB-v7.zip) to https://jlcpcb.com/ for manufacture, got the board, built it, programmed GALs ATF22V10C with https://github.com/lb3361/gigatron-lb/b ... AL1_v7.jed and https://github.com/lb3361/gigatron-lb/b ... AL2_v7.jed and when plugged in the RAM socket of the Gigatron board (attaching also the small wire of IO expansio board to A15 signal of Gigatron board) -Gigatron board has v5a ROM- and turned on the Gigatron, the Gigatron only shows 32K of RAM, not 128K. How to access the SDcard? pressing CTRL-F1? I have attached a SDcard shield with a mini SDCARD, such
SDcard cointaining only https://github.com/lb3361/gigatron-os/b ... system.gt1 and invader.gt1 game, does not detect the SDcard and the SPIO led does not blink. It is necessary to do a patch in the standard Gigatron board in order to the Gigatron RAM and IO expansion (depicted in https://github.com/lb3361/gigatron-lb/t ... sion-retro) to work?
thanks
my Gigatron RAM and IO expansion does not work
Forum rules
Be nice. No drama.
Be nice. No drama.
Re: my Gigatron RAM and IO expansion does not work
Attached photo of the two gigatron IO boards I have built:
Re: my Gigatron RAM and IO expansion does not work
If the Gigatron shows only 32KB, then the card or its RAM was not recognized for some reason. This is unusual. All my cards worked immediately. The interesting thing is that the Gigatron still seems to run. The fact that it can access the RAM proves that a good part of the board is working.
There is no need to patch the main MB other than capturing the A15 signal. The SD boot requires de dev rom.
Here are some ideas to debug. Please let me know how it goes...
Update: please use the dev.rom because the original v5a rom is rumoured to have a memory detection bug. This may be the reason.
Also, you built two cards and both fail in the same way?
There is no need to patch the main MB other than capturing the A15 signal. The SD boot requires de dev rom.
Here are some ideas to debug. Please let me know how it goes...
-
With the card installed, run the Apple1 emulator and type 1F8 [enter] to see the contents of address 1f8.
- If the result is 00, then this means that the card is totally ignored. That would mean that something is very wrong with the GAL programming. Did you use 10ns GALs? Can you use the "verify" mode of the programmer to check that they're correct?
- If the result is 7C, then it means that the card is recognized but not the RAM. In that case, the first thing to do is to check the A15 connection. The A15 signal should arrive on pin13 of GAL2 (the bottom one) and also on the 13 pins extension header (H3). Also on pin 7 of U32 on the motherboard.
- Another thing that is easy to test. After a cold boot, pins 21 and 20 of GAL2 should respectively be at logical 1 and 0.
Update: please use the dev.rom because the original v5a rom is rumoured to have a memory detection bug. This may be the reason.
Also, you built two cards and both fail in the same way?
Last edited by lb3361 on 03 May 2022, 00:42, edited 2 times in total.
Re: my Gigatron RAM and IO expansion does not work
Another debugging tool is to turn the expansion board into a simple 64k expansion. For this you just need to remove the two GALs and replace them by jumpers according to the attached diagrams. This disables most of the board and merely wire the SRAM like a 64K expansion. Then the Gigatron should display "Gigatron 64K". If it displays "Gigatron 32K", then either the A15 line is broken, or the SRAM is broken...
- Attachments
-
- gal2_ss.png (198.83 KiB) Viewed 3565 times
-
- gal1_ss.png (208.13 KiB) Viewed 3565 times
Re: my Gigatron RAM and IO expansion does not work
My findings: (my Gigatron board always shows 32K instead 128K, used the latest DEV.ROM)
My board has a 55ns 128K static RAM (checked good with a tester) and 2 ATF22V10C 7ns GALs (also checked with 15ns GALs), I have programmed the .jed files with both a TL866II and Labtool 48 programmer (without any kind of errors) with same results in the 2 boards I have.
- The contents of 1F8 is 7C, A15 signal is good in both the IO board (GAL2) and Gigatron Board (pin 7 of U32)
- After a cold boot pins 21 and 20 of the GAL 2 are at logical 0 and 0 respectively (instead 1 and 0)
- Removed GAL2 only, and in one powerup of the Gigatron board memory was 64K instead 32k (due noise in the socket with GAL2 removed?)
I used the latest gerber (v7b) file. Does this file has errors? swapped A8 and A9?
Does the GAL2 needs a pullup resistor in pins 20 and 21 of GAL2?
Are there race conditions in the GALs?
My board has a 55ns 128K static RAM (checked good with a tester) and 2 ATF22V10C 7ns GALs (also checked with 15ns GALs), I have programmed the .jed files with both a TL866II and Labtool 48 programmer (without any kind of errors) with same results in the 2 boards I have.
- The contents of 1F8 is 7C, A15 signal is good in both the IO board (GAL2) and Gigatron Board (pin 7 of U32)
- After a cold boot pins 21 and 20 of the GAL 2 are at logical 0 and 0 respectively (instead 1 and 0)
- Removed GAL2 only, and in one powerup of the Gigatron board memory was 64K instead 32k (due noise in the socket with GAL2 removed?)
I used the latest gerber (v7b) file. Does this file has errors? swapped A8 and A9?
Does the GAL2 needs a pullup resistor in pins 20 and 21 of GAL2?
Are there race conditions in the GALs?
Re: my Gigatron RAM and IO expansion does not work
I have removed the GALs and put jumpers, shows 128K, when I put the GALs shows 32K. My problem lies in the GALs, does
the v7b board needs a different programming of GALs 1 and 2? Could you read the GALs 1 and 2 with TL866II programmer
and send the the .jed files?
thanks
the v7b board needs a different programming of GALs 1 and 2? Could you read the GALs 1 and 2 with TL866II programmer
and send the the .jed files?
thanks
Re: my Gigatron RAM and IO expansion does not work
Any chance you might have a spare GAL to reprogram GAL2 to rule out a bad part? (Not sure if you used the same GAL2 part to test both boards.) Did you already verify soldering on pin 21 of GAL2 and pin 17 of U4? If you do a continuity test with no power applied, is pin 21 shorted to GND? Can your PROM programmer test the 244 part?
Re: my Gigatron RAM and IO expansion does not work
This means that the rom detects that presence of the ctrl() instruction. Note that 7C means that bank 1 is selected.
Therefore B1 and B0 should be 1 and 0, but....
which indeed spells bad news about the GALs...
Update (May 3rd, late)
I investigated what could cause B[1..0] to remain 00 despite the ctrl instruction. To my dismay I found out that I introduced a bug two months ago into the GAL1 pld/jed file. Please try the corrected JED file from https://github.com/lb3361/gigatron-lb/t ... retro/cupl. Only GAL1 needs to be reprogrammed. I pretty confident this will solve the problem. Apologies.
Last edited by lb3361 on 04 May 2022, 12:29, edited 1 time in total.
Re: my Gigatron RAM and IO expansion does not work
Problem solved! Now after a cold boot pins 21 and 20 of the GAL 2 are at logical 1 and 0 respectively and Gigatron shows 128K
I had a tough time trying to get the SDcard work: only work SDcards of 4GB (or more? -don´t have 8GB SDcards-) I have 2GB SDcards and formatting in FAT32 such SDcards in 512 bytes/sector, 4K bytes/sector,.. (using guiformat.exe utility or using Windows Explorer) gives the following error:
*** CardBoot
Card Type 02
MBR 0B OK
Vol.ID 0000 FAILED
SYSTEM.GT1 not found!
If I use an SDcard of 4GB it works well, can navigate and lauch programs without problem.
What modifications should be done in the source code to work with 2GB SDcards? I have tested 128Mb and 2GB SDcards in the Pluggy Reloaded
board and work fine.
Unrelated questions:
- does exist a .gt1 program for checking the 128K of the Gigatron RAM?
- have built succesfully a pluggy reloaded, have tested it with ROM V5a (no ROM version sketch loaded in Arduino SparkFun Pro micro) and
SDCARD.ROM bios (ROM version sketch loaded in Arduino SperkFun micro), the visible difference is that the ROM version has an SDcard menu
instead having to press CTRL-F1 in pluggy reloaded no ROM version. Are there other differences?
- how to use the file https://github.com/kervinck/gigatron-ro ... endFile.py in a real Gigatron to transfer files between the
Gigatron and a PC? Using the pluggy reloaded board and connecting an USB cable to the Arduino Sparkfun Pro micro and the USB port of a PC?
(this creates a virtual serial port in the PC)
thanks
I had a tough time trying to get the SDcard work: only work SDcards of 4GB (or more? -don´t have 8GB SDcards-) I have 2GB SDcards and formatting in FAT32 such SDcards in 512 bytes/sector, 4K bytes/sector,.. (using guiformat.exe utility or using Windows Explorer) gives the following error:
*** CardBoot
Card Type 02
MBR 0B OK
Vol.ID 0000 FAILED
SYSTEM.GT1 not found!
If I use an SDcard of 4GB it works well, can navigate and lauch programs without problem.
What modifications should be done in the source code to work with 2GB SDcards? I have tested 128Mb and 2GB SDcards in the Pluggy Reloaded
board and work fine.
Unrelated questions:
- does exist a .gt1 program for checking the 128K of the Gigatron RAM?
- have built succesfully a pluggy reloaded, have tested it with ROM V5a (no ROM version sketch loaded in Arduino SparkFun Pro micro) and
SDCARD.ROM bios (ROM version sketch loaded in Arduino SperkFun micro), the visible difference is that the ROM version has an SDcard menu
instead having to press CTRL-F1 in pluggy reloaded no ROM version. Are there other differences?
- how to use the file https://github.com/kervinck/gigatron-ro ... endFile.py in a real Gigatron to transfer files between the
Gigatron and a PC? Using the pluggy reloaded board and connecting an USB cable to the Arduino Sparkfun Pro micro and the USB port of a PC?
(this creates a virtual serial port in the PC)
thanks
Re: my Gigatron RAM and IO expansion does not work
Glad to read that the problem is solved.
SD cards from 4GB to 32GB come formatted with FAT32. Smaller cards are often formatted with FAT16, larger cards with ExFAT. You can reformat these cards with FAT32 but you have to be aware that Windows Explorer will not create FAT32 partitions with non-standard sizes). Sector size should always be 512 bytes. See "Operation" in https://github.com/lb3361/gigatron-os/tree/master/sys1 for hints.
System.gt1 would in fact work fine with FAT16 filesystems. However Marcel's very compact boot code only supports FAT32. The Pluggy Reloaded is less fussy because there the Arduino has good SD card support. The Pro Micro microprocessor does the work.
How to check the presence of the 128K RAM? The Reset program makes this easy because it sets location $1f8 to a non zero value when there is an expansion card. Expansion cards are usually 128k although they could theoretically come in 32k and 64k variants. There is also a 512k variant. To differentiate them, one needs to use SYS_ExpanderControl to change bank and see what works. In fact the Reset program does this as well in order to display the available memory size in the banner. See https://github.com/lb3361/gigatron-lb/t ... s/reset512 for a version of Reset that can be compiled standalone and detects all known cards.
I cannot tell you about sendFile.py. I simply do not remember. These days I always use a SD card...
SD cards from 4GB to 32GB come formatted with FAT32. Smaller cards are often formatted with FAT16, larger cards with ExFAT. You can reformat these cards with FAT32 but you have to be aware that Windows Explorer will not create FAT32 partitions with non-standard sizes). Sector size should always be 512 bytes. See "Operation" in https://github.com/lb3361/gigatron-os/tree/master/sys1 for hints.
System.gt1 would in fact work fine with FAT16 filesystems. However Marcel's very compact boot code only supports FAT32. The Pluggy Reloaded is less fussy because there the Arduino has good SD card support. The Pro Micro microprocessor does the work.
How to check the presence of the 128K RAM? The Reset program makes this easy because it sets location $1f8 to a non zero value when there is an expansion card. Expansion cards are usually 128k although they could theoretically come in 32k and 64k variants. There is also a 512k variant. To differentiate them, one needs to use SYS_ExpanderControl to change bank and see what works. In fact the Reset program does this as well in order to display the available memory size in the banner. See https://github.com/lb3361/gigatron-lb/t ... s/reset512 for a version of Reset that can be compiled standalone and detects all known cards.
I cannot tell you about sendFile.py. I simply do not remember. These days I always use a SD card...