Shop OBEX P1 Docs P2 Docs Learn Events
GCC VGA Demo debugging — Parallax Forums

GCC VGA Demo debugging

For a larger project, I'm trying to get a feeling for VGA output and am poking around in several of the VGA Demo's in the SimpleIDE package.

I'm running into the following problem:
Compiling and uploading the \Propeller GCC Demos\pong\pong.side project, I get a Pong game (that seems to restart at arbitrary moments) so I know that at least the connection is OK.

Compiling and uploading the \Propeller GCC Demos\vgademo\vgademo.side project, I get no errors, but the screen insists there is no VGA signal.
The line 'VgaStart(2, 30, (int *)tilemap, tiles, &pixelColors, (int *)&syncIndicator);' appears to set the VGA pin-group to '2'. This is the same setting I had to use for the pong game, which worked.

I'm using an old Propeller Proto USB board Rev A.
This board offers a VGA connector at pin 16 and up. (This is why it makes sense that pingroup 2 should work..? )

Does anybody have any experience with the vgademo project and / or any idea how I could debug this? I've tried adding print's to the code, (after adding simpleterm.h even appeared to succeed at this) but even a pause and terminalwrite at the beginning of my main doesn't appear to do anything.

While writing this, I'm digging through the settings and one thing I do notice, is that memtype is:
>memtype=xmmc external flash code main ram data

Doesn't this mean that I have to attach extra RAM to my board / a board called 'BOARD::C3F' has this external RAM? If so, I might well have solved my own problem.... ^_^
Can anybody verify this for me?

Comments

  • The Propeller C3 is a board that has an onboard SPI flash chip and a SPI SRAM chip. The "C3F" board type makes use of the SPI flash to hold extra program code but does not use the SPI SRAM. Needless to say, the Proto board has neither of those chips so you will likely run into trouble. Switch to using the CMM or LMM memory model and you'll probably find that things work better. These memory models only use memory that is internal to the Propeller so they work on any Propeller board.
  • Trying to use the LMM / CMM settings:
    Memory model: LMM Main RAM:
    c:/program files (x86)/simpleide/propeller-gcc/bin/../lib/gcc/propeller-elf/4.6.1/../../../../propeller-elf/bin/ld.exe: lmm/vgademo.elf section `.text' will not fit in region `hub'
    c:/program files (x86)/simpleide/propeller-gcc/bin/../lib/gcc/propeller-elf/4.6.1/../../../../propeller-elf/bin/ld.exe: region `hub' overflowed by 29828 bytes
    collect2: ld returned 1 exit status
    Done. Build Failed!

    Memory model: LMM Main RAM Compact:
    c:/program files (x86)/simpleide/propeller-gcc/bin/../lib/gcc/propeller-elf/4.6.1/../../../../propeller-elf/bin/ld.exe: cmm/vgademo.elf section `.bss' will not fit in region `hub'
    c:/program files (x86)/simpleide/propeller-gcc/bin/../lib/gcc/propeller-elf/4.6.1/../../../../propeller-elf/bin/ld.exe: region `hub' overflowed by 10292 bytes
    collect2: ld returned 1 exit status
    Done. Build Failed!


    Soooo.... Yeah... Back to the drawing board... Maybe I can prune enough stuff out of the code to fit it inside the board...
Sign In or Register to comment.