- Code: Select all
(Makefile)
...
khicas.bin: khicas.elf prizm.ld
$(OBJCOPY) $(OBJFLAGS) -R .rominram khicas.elf khicas.bin
khicas90.ac2: khicas.elf prizm.ld
$(OBJCOPY) $(OBJFLAGS) -j .rominram khicas.elf khicas90.ac2
khicas90.g3a: khicas.bin
mkg3a -n basic:Khicas90 -n internal:KHICAS90 -V 1.7.0 -i uns:khicasio.png -i sel:khicasio1.png $^ $@
(prizm.ld)
..
MEMORY
{
/* Loads code at 300000, skips g3a header */
rom (rx) : o = 0x00300000, l = 2M-32000
ram (rwx) : o = 0x08101000, l = 432k /* skip 4k at start */
/* 0x88160000/8c160000 virtualized to 0x08100000 */
ilram (rwx) : o = 0xE5200000, l = 4k
/* RAM is available at 0x8c200000, 3M maybe more */
r8c2 (rx) : o = 0x8c200000, l = 2500K-4
/* use prizmemu.ld for emulator since it's at 0x88200000 */
}
SECTIONS
{
.rominram : {
z*.o(.text)
z*.o(.text.*)
z*.o(.rodata)
z*.o(.rodata.*)
} > r8c2
/* Code, in ROM */
.text : {
*(.pretext)
*(.text)
*(.text.*)
} > rom
/* Read-only data, in ROM */
.rodata : {
*(.rodata)
*(.rodata.*)
} > rom
...
Ce n'est pas du tout dans mon domaine. Sur Casio, c'est Lephe qui a fait presque tout le travail de découpe, il faudrait quelqu'un d'analogue pour Numworks.
Et ça complique énormément, surtout si on n'a pas une base fixe permettant une compatibilité lors d'un upgrade de Epsilon.