Not quite. Here's what I've done so far:
Building vectorgame:
Edit vectorgame/default/Makefile and correct the path of KERNEL_DIR (line 14) to point to your Uzebox kernel source. On my machine the correct path is ../../uzebox/kernel/
Code: Select all
cd vectorgame/default/
rm -rf dep
make clean
For some reason, vectorgame isn't finding the contents of videoMode6.h so I copy/pasted the entire contents of that file near to the top of VectorDemo.c, after
Edit StringObjectsFonts.h and change line 50 to:
Code: Select all
const char* const StringPointers[] PROGMEM = {
but now it seems to be missing off the assembly bit:
Code: Select all
avr-gcc -I"../../uzebox/kernel/" -mmcu=atmega644 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=28636360UL -Os -fsigned-char -ffunction-sections -fno-toplevel-reorder -MD -MP -MT VectorDemo.o -MF dep/VectorDemo.o.d -DVIDEO_MODE=6 -DINTRO_LOGO=0 -DRAM_TILES_COUNT=256 -DSOUND_MIXER=1 -c ../VectorDemo.c
../VectorDemo.c: In function ‘PlayLevelGyrus’:
../VectorDemo.c:278:9: warning: variable ‘RandRockType’ set but not used [-Wunused-but-set-variable]
uint8_t RandRockType;
^
../VectorDemo.c: In function ‘PlayLevelMC’:
../VectorDemo.c:474:9: warning: variable ‘RandRockType’ set but not used [-Wunused-but-set-variable]
uint8_t RandRockType;
^
avr-gcc -mmcu=atmega644 -Wl,-Map=VectorDemo.map -Wl,-gc-sections -Wl,--section-start=.objectstore=0x00800200 -Wl,--section-start=.ramtiles=0x00800400 -Wl,--section-start=.vram=0x00800C00 -Wl,--section-start=.trigtable=0x00800F80 uzeboxVideoEngineCore.o uzeboxCore.o uzeboxSoundEngine.o uzeboxSoundEngineCore.o uzeboxVideoEngine.o VectorDemo.o -o VectorDemo.elf
VectorDemo.o:(.ramtiles+0x0): multiple definition of `ramTiles'
uzeboxVideoEngineCore.o:(.bss+0x3f8): first defined here
VectorDemo.o:(.vram+0x0): multiple definition of `vram'
uzeboxVideoEngineCore.o:/home/dan/src/vectorgame/default/../../uzebox/kernel//videoMode6/videoMode6.s:929: first defined here
VectorDemo.o: In function `ConvertShipCoordToGyrus':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `CosMulFastC'
VectorDemo.o: In function `PlayLevelAsteroid':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
VectorDemo.o: In function `PlayLevelGyrus':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `SinMulFastC'
VectorDemo.o: In function `PlayLevelGravity':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `AddBCD'
VectorDemo.o: In function `PlayLevelMC':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
VectorDemo.o: In function `PlayMessage':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `OutCharXYFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
VectorDemo.o: In function `GameOver':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `renderCount'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearBufferLastLine'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `OutStringXYProgmemFastC'
VectorDemo.o: In function `main':
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `DefaultCallback'
/home/dan/src/vectorgame/default/../VectorDemo.c:810: undefined reference to `DefaultCallback'
VectorDemo.o: In function `ProcessInputGyrus':
/home/dan/src/vectorgame/default/../VectorDemo.c:865: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:864: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:863: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:862: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:868: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:868: undefined reference to `SinMulFastC'
VectorDemo.o: In function `ProcessInput':
/home/dan/src/vectorgame/default/../VectorDemo.c:899: undefined reference to `SinFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:900: undefined reference to `CosFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:916: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:915: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:914: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:913: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:920: undefined reference to `CosMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:920: undefined reference to `SinMulFastC'
VectorDemo.o: In function `ClearStatus':
/home/dan/src/vectorgame/default/../VectorDemo.c:935: undefined reference to `StatusTiles'
/home/dan/src/vectorgame/default/../VectorDemo.c:935: undefined reference to `StatusTiles'
VectorDemo.o: In function `UpdateStatusLine':
/home/dan/src/vectorgame/default/../VectorDemo.c:952: undefined reference to `StatusTiles'
/home/dan/src/vectorgame/default/../VectorDemo.c:953: undefined reference to `StatusTiles'
/home/dan/src/vectorgame/default/../VectorDemo.c:954: undefined reference to `StatusTiles'
VectorDemo.o:/home/dan/src/vectorgame/default/../VectorDemo.c:958: more undefined references to `StatusTiles' follow
VectorDemo.o: In function `ScrollText':
/home/dan/src/vectorgame/default/../VectorDemo.c:983: undefined reference to `ClearVramFlags'
/home/dan/src/vectorgame/default/../VectorDemo.c:984: undefined reference to `ClearBufferLastLineTileOnly'
/home/dan/src/vectorgame/default/../VectorDemo.c:993: undefined reference to `Mode7PutCharFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:1004: undefined reference to `ClearVramFlags'
VectorDemo.o: In function `DrawObjects':
/home/dan/src/vectorgame/default/../VectorDemo.c:1055: undefined reference to `DrawPolarObjectFastC'
VectorDemo.o: In function `MoveObjectsGyrus':
/home/dan/src/vectorgame/default/../VectorDemo.c:1109: undefined reference to `AddBCD'
VectorDemo.o: In function `MoveObjectsMC':
/home/dan/src/vectorgame/default/../VectorDemo.c:1161: undefined reference to `AddBCD'
VectorDemo.o: In function `MoveObjects':
/home/dan/src/vectorgame/default/../VectorDemo.c:1235: undefined reference to `AddBCD'
/home/dan/src/vectorgame/default/../VectorDemo.c:1219: undefined reference to `AddBCD'
/home/dan/src/vectorgame/default/../VectorDemo.c:1226: undefined reference to `AddBCD'
VectorDemo.o: In function `PolarToPoint':
/home/dan/src/vectorgame/default/../VectorDemo.c:1441: undefined reference to `SinMulFastC'
/home/dan/src/vectorgame/default/../VectorDemo.c:1442: undefined reference to `CosMulFastC'
VectorDemo.o: In function `UpdateStatusLine':
/home/dan/src/vectorgame/default/../VectorDemo.c:944: undefined reference to `StatusTiles'
/home/dan/src/vectorgame/default/../VectorDemo.c:944: undefined reference to `StatusTiles'
uzeboxVideoEngineCore.o: In function `mycallback':
/home/dan/src/vectorgame/default/../../uzebox/kernel//uzeboxVideoEngineCore.s:652: undefined reference to `bgcolors'
/home/dan/src/vectorgame/default/../../uzebox/kernel//uzeboxVideoEngineCore.s:652: undefined reference to `bgcolors'
collect2: error: ld returned 1 exit status
make: *** [Makefile:91: VectorDemo.elf] Error 1