I am trying to compile Space Invaders for the ZX81 using the Z88 development kit (Z88DK). The following are come of the errors generated during the linking phase:
zcc +zx81 -compiler sdcc -nostdinc -pragma-include:zx81pragma.inc -subtype=wrx -clib=wrx -startup=3 --opt-code-speed build/utils_asm.o build/Point.o build/round_routines.o build/screens_routines.o build/PutSprite.o build/charset.o build/sprites.o build/utils.o build/input.o build/tables.o build/common.o build/round.o build/screens.o build/space-invaders.o build/sound.o -o build/space-invaders -create-app -m
Error at file 'round_routines.asm' line 289: symbol '_getDivideBy12' not defined
Error at file 'round_routines.asm' line 770: symbol '_ClearRows' not defined
Error at file 'round_routines.asm' line 901: symbol '_ClearRows' not defined
Error at file 'round_routines.asm' line 961: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 987: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 998: symbol '_ClearRows' not defined
Error at file 'round_routines.asm' line 1057: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 1073: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 1081: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 1183: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 1231: symbol '_DelayFrames' not defined
Error at file 'round_routines.asm' line 1311: symbol '_GetScreenAddr' not defined
Does anyone know what I need to do to define these symbols?
thus changing the linking order and that seems to have fixed the issue and yes, I know Point.o is listed twice, that is on purpose and is necessary for the linking to work on my Mac.