@Rayman said:
Son wants SNES, but that doesn't seem to work at all.
Think clock freq is too high for the SWaP module... At least, this particular one...
@Wuerfel_21 Did you try any of the other emulators with your Stamp? Or, was it just Megayume?
Miso didn't exist back then, we only had Mega and Neo. So that wasn't tested at the time and I don't think I've bothered since. What kind of "doesn't work" symptom are you getting?
Black or white?
Immediately (menu) or after ROM load?
White screen on menu -> bad config or failed to boot (bad power? -> try burn-in RAM test)
Black screen on menu -> shouldn't happen, crashed somewhere
Black screen after ROM load -> bad config
White screen after ROM load -> shouldn't happen, crashed out super hard
@Wuerfel_21 said:
I'd be doing modes with much more blanking, but it should be able to handle that. Might configure for /12 pixel clock divider and then adjust the H timings on that basis.
Tried a couple of quick tests with changing the config file's HDMI pixelclock to both 24.2MHz with 768 total pixels/line and then 25.2MHz with 800 total pixels/line (standard VGA timing @60Hz), but the LCD didn't seem to work with either. I think I had the format correct. Will have to test out in more detail with the P2 attached so I can vary things finely and see what range of values will work and how fussy this LCD really is.
Boards arrived yesterday after a little bit of a delay from other things happening. I'll try soldering the FireAnt PCB sometime this weekend and start testing the audio and video interfaces and check the USB path still works to the GPi Case 2W handheld system.
The larger board(s) are for my future Microbee emulator "P2BEE2" which also uses a P2-Edge (original, non PSRAM version). They fit in the case nicely.
I realized later that I omitted any series resistors for the USB D+/D- lines in these designs. Hopefully that's not going to be an issue for host side use. I don't believe the Parallax P2 (host) accessory board uses them either, only the device side has them so I think I'm okay.
Solder paste is out of the fridge now warming up. In the meantime I did some Dremel & filing work on the cartridge backshell and was able to fit the FireAnt board into the enclosure with the Edge connector sticking out the back. Just had to remove one metal insert boss on the top corner. Should still close up and provide sufficient pressure on the pogo pins for a decent contact.
Soldering done and it all seems to fit in quite nicely. The Micro USB connector was a bit of a PITA as I had a nasty solder bridge tucked in under the legs to sort out. The PropPlug is nicely accessible through the normal RasPi uSD opening. In theory you could just use this as is if you only wanted 32MB of RAM. It's not a bad solution even though it was just planned for an initial test setup, but a fully custom board inside the cartridge is nicer. Will start testing soon, probably tomorrow.
I know. Maybe by tomorrow we will find out with any luck. I can try running my updated video driver with parallel LCD support and tweak timings, and figure out some PWM pin settings for playback of an audio waveform (and also try line level out with the DAC in case that also works).
Getting a response from P2 in GPi. Then hacked up a simple static pin output test with 19.2MHz pixel timing with CLK&DE driven but without VSYNC, HSYNC activated, using a RasPi modeline I found online for the GPi case 2W: hdmi_timings=640 0 1 1 20 480 0 1 1 2 0 0 0 60 0 19200000 1
Tried both DE pin phases with RED/BLUE MSB data pins activated and also scoped the pins on a seperate P2-EVAL to ensure this code was working but nothing is being displayed on screen as yet.
Tried with HSYNC/VSYNC floating, as well as driven statically high or low in case that mattered.
So I probably have either :
1) unsupported pixel timing
2) or it really wants the HSYNC and VSYNC (I was sort of hoping it might not need them to make things a little easier- some LCDs get by without these signals)
3) something else...
I am assuming 2) for now and now need to either write more special test code, or dig up and port some old LCD code I had somewhere for my video driver and test it more fully.
I may also have to separately probe a RasPi out of its cartridge with my logic analyzer to see what exact timing it is using. I know it does generate the VSYNC and HSYNC signals by looking at its configuration, so it's probably just that.
Test Cog PASM snippet below:
CON
_clkfreq = 192_000000
...
'setup pins
dirl #CLK_PIN ' disable pin
wrpin ##%01_00110_0, #CLK_PIN ' nco freq mode
wypin ##$8000_0000, #CLK_PIN ' toggle each period
wxpin #5, #CLK_PIN ' divide by 10 P2 clocks (2 x 5 clock periods)
dirh #CLK_PIN ' enable pin
drvh #DE_PIN
' drvh #HSYNC_PIN
' drvh #VSYNC_PIN
drvh #RED_PIN
drvh #BLUE_PIN
'hdmi_timings=640 0 1 1 20 480 0 1 1 2 0 0 0 60 0 19200000 1
loop
' active lines
rep #5,#479
drvnot #DE_PIN ' toggle output
waitx ##640*10-6 ' includes waitx and drvnot overheads
drvnot #DE_PIN
waitx #22*10-4 ' includes waitx and drvnot overheads
' unroll last line
drvnot #DE_PIN ' toggle output
waitx ##640*10-6 ' includes drvnot and augd overheads
drvnot #DE_PIN
waitx #22*10-6 ' includes waitx and drvnot overheads
'blanking lines
rep #2, #3
waitx ##662*10 - 4 ' includes waitx + augd overheads
'unroll last line
waitx ##662*10 - 10 ' includes jump+augd+(2)reps+waitx overheads
jmp #loop
Yes, just added VSYNC and HSYNC pin toggling to this test code and am seeing a coloured image now with this timing above.
Update: Looks like it works at 250MHz with the same timing above. Also it seems to work without the DE signal too
Tried SNECOG but no sound is coming out yet even though video screen is active (I also drove that power enable pin in case that turns on the amp). I wonder if it needs a logic level signal if it's buffered and not a DAC output. Will try some NCO frequency outputs to try to make a noise...
Comments
Son wants SNES, but that doesn't seem to work at all.
Think clock freq is too high for the SWaP module... At least, this particular one...
@Wuerfel_21 Did you try any of the other emulators with your Stamp? Or, was it just Megayume?
Miso didn't exist back then, we only had Mega and Neo. So that wasn't tested at the time and I don't think I've bothered since. What kind of "doesn't work" symptom are you getting?
blank screen...
Black or white?
Immediately (menu) or after ROM load?
White screen on menu -> bad config or failed to boot (bad power? -> try burn-in RAM test)
Black screen on menu -> shouldn't happen, crashed somewhere
Black screen after ROM load -> bad config
White screen after ROM load -> shouldn't happen, crashed out super hard
Put it in the freezer for a while and now it works...
Well, lasted about 15 seconds...
Guess one could boost the SWaP module Vdd supply from 1.8 to 2.0 V and see if that helps.
Or, maybe adding a fan...
But, not liking the odds...
Think he's going to have to learn to love Genesis...
On the other hand, do like how can get 100 resistors to give 2.0V on Vdd for 41 cents...
Might be worth a shot...
Tried a couple of quick tests with changing the config file's HDMI pixelclock to both 24.2MHz with 768 total pixels/line and then 25.2MHz with 800 total pixels/line (standard VGA timing @60Hz), but the LCD didn't seem to work with either. I think I had the format correct. Will have to test out in more detail with the P2 attached so I can vary things finely and see what range of values will work and how fussy this LCD really is.
Boards arrived yesterday after a little bit of a delay from other things happening. I'll try soldering the FireAnt PCB sometime this weekend and start testing the audio and video interfaces and check the USB path still works to the GPi Case 2W handheld system.
The larger board(s) are for my future Microbee emulator "P2BEE2" which also uses a P2-Edge (original, non PSRAM version). They fit in the case nicely.
I realized later that I omitted any series resistors for the USB D+/D- lines in these designs. Hopefully that's not going to be an issue for host side use. I don't believe the Parallax P2 (host) accessory board uses them either, only the device side has them so I think I'm okay.
Solder paste is out of the fridge now warming up. In the meantime I did some Dremel & filing work on the cartridge backshell and was able to fit the FireAnt board into the enclosure with the Edge connector sticking out the back. Just had to remove one metal insert boss on the top corner. Should still close up and provide sufficient pressure on the pogo pins for a decent contact.
Soldering done and it all seems to fit in quite nicely. The Micro USB connector was a bit of a PITA as I had a nasty solder bridge tucked in under the legs to sort out. The PropPlug is nicely accessible through the normal RasPi uSD opening. In theory you could just use this as is if you only wanted 32MB of RAM. It's not a bad solution even though it was just planned for an initial test setup, but a fully custom board inside the cartridge is nicer. Will start testing soon, probably tomorrow.






Now if only it works...
I know. Maybe by tomorrow we will find out with any luck. I can try running my updated video driver with parallel LCD support and tweak timings, and figure out some PWM pin settings for playback of an audio waveform (and also try line level out with the DAC in case that also works).
Getting a response from P2 in GPi. Then hacked up a simple static pin output test with 19.2MHz pixel timing with CLK&DE driven but without VSYNC, HSYNC activated, using a RasPi modeline I found online for the GPi case 2W:
hdmi_timings=640 0 1 1 20 480 0 1 1 2 0 0 0 60 0 19200000 1
Tried both DE pin phases with RED/BLUE MSB data pins activated and also scoped the pins on a seperate P2-EVAL to ensure this code was working but nothing is being displayed on screen as yet.
Tried with HSYNC/VSYNC floating, as well as driven statically high or low in case that mattered.
So I probably have either :
1) unsupported pixel timing
2) or it really wants the HSYNC and VSYNC (I was sort of hoping it might not need them to make things a little easier- some LCDs get by without these signals)
3) something else...
I am assuming 2) for now and now need to either write more special test code, or dig up and port some old LCD code I had somewhere for my video driver and test it more fully.
I may also have to separately probe a RasPi out of its cartridge with my logic analyzer to see what exact timing it is using. I know it does generate the VSYNC and HSYNC signals by looking at its configuration, so it's probably just that.
Test Cog PASM snippet below:
Yes, just added VSYNC and HSYNC pin toggling to this test code and am seeing a coloured image now with this timing above.

Update: Looks like it works at 250MHz with the same timing above. Also it seems to work without the DE signal too
Tried SNECOG but no sound is coming out yet even though video screen is active (I also drove that power enable pin in case that turns on the amp). I wonder if it needs a logic level signal if it's buffered and not a DAC output. Will try some NCO frequency outputs to try to make a noise...