diff --git a/src/Makefile b/src/Makefile index 1434502..ad3d7f1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -31,7 +31,8 @@ ifeq ($(OS),Windows_NT) # export CFLAGS = +$(VBCC)/config/a2560u_flash -I. -I$(CURDIR)/include -I$(CURDIR) export RM = cmd /C del /Q /F else - export CFLAGS = +$(VBCC)/config/m68k-foenix-linux -I. -I$(CURDIR)/include -I$(CURDIR) + #export CFLAGS = +$(VBCC)/config/m68k-foenix-linux -I. -I$(CURDIR)/include -I$(CURDIR) + export CFLAGS = +$(VBCC)/config/a2560u_flash-linux -I. -I$(CURDIR)/include -I$(CURDIR) export RM = rm -f endif diff --git a/src/dev/fsys.c b/src/dev/fsys.c index 101c009..c0dfbbd 100644 --- a/src/dev/fsys.c +++ b/src/dev/fsys.c @@ -1031,7 +1031,8 @@ short fsys_elf_loader(short chan, long destination, long * start) { return ERR_NOT_EXECUTABLE; case PT_LOAD: chan_seek(chan, progHeader.offset, 0); - numBytes = chan_read(chan, (uint8_t *) progHeader.physAddr, progHeader.fileSize); + uint8_t * write_buffer = (uint8_t *) progHeader.physAddr; + numBytes = chan_read(chan, write_buffer, progHeader.fileSize); if (progHeader.fileSize < progHeader.memSize) memset((uint8_t*)progHeader.physAddr + progHeader.fileSize, 0, progHeader.memSize - progHeader.fileSize); if (progHeader.physAddr + progHeader.fileSize > highMem) highMem = progHeader.physAddr + progHeader.fileSize; diff --git a/src/m68k/startup_m68k.s b/src/m68k/startup_m68k.s index 030b42e..6b40597 100644 --- a/src/m68k/startup_m68k.s +++ b/src/m68k/startup_m68k.s @@ -17,7 +17,7 @@ PENDING_GRP0 = $00B00100 PENDING_GRP1 = $00B00102 PENDING_GRP2 = $00B00104 - section "vectors",code + section "VECTORS",code dc.l ___STACK ; 00 - Initial stack pointer dc.l coldboot ; 01 - Initial PC diff --git a/vbcc/config/a2560u_flash-linux b/vbcc/config/a2560u_flash-linux new file mode 100644 index 0000000..ae619fd --- /dev/null +++ b/vbcc/config/a2560u_flash-linux @@ -0,0 +1,13 @@ +-cc=vbccm68k -quiet %s -o= %s %s -O=%ld -I$VBCC/targets/m68k-foenix/include +-ccv=vbccm68k %s -o= %s %s -O=%ld -I$VBCC/targets/m68k-foenix/include +-as=vasmm68k_mot -quiet -Fvobj -nowarn=62 %s -o %s +-asv=vasmm68k_mot -Fvobj -nowarn=62 %s -o %s +-rm=rm %s +-rmv=rm %s +-ld=vlink -brawbin1 -x -Cvbcc m68k/startup_m68k.o %s %s -L$VBCC/targets/m68k-foenix/lib -T$VBCC/targets/m68k-foenix/vlink_flash_a2560u.cmd -lvc -o %s -Mmapfile +-l2=vlink -brawbin1 -x -Cvbcc %s %s -L$VBCC/targets/m68k-foenix/lib -T$VBCC/targets/m68k-foenix/vlink_flash_a2560u.cmd -o %s -Mmapfile +-ldv=vlink -brawbin1 -t -x -Cvbcc m68k/startup.o %s %s -L$VBCC/targets/m68k-foenix/lib -T$VBCC/targets/m68k-foenix/vlink_flash_a2560u.cmd -lvc -o %s -Mmapfile +-l2v=vlink -brawbin1 -t -x -Cvbcc %s %s -L$VBCC/targets/m68k-foenix/lib -T$VBCC/targets/m68k-foenix/vlink_flash_a2560u.cmd -o %s -Mmapfile +-ul=-l%s +-cf=-F%s +-ml=1000