Прикладные программы для MOS компилируются с адреса $40000. При этом они могут быть устроены внутри как в режиме совместимости с Z80, так и в 24-битном режиме ADL (eZ80). TinyContext пока поддерживает только режим Z80. Сам компилятор загружается тоже по адресу $40000 как прикладная программа:
LOAD ctx.bin
RUN . hello
LOAD hello.bin
RUN
В версии MOS от 1.04 и выше появилась возможность положить ctx.bin в папку bin и запускать его:
ctx hello
LOAD hello.bin
RUN
Вы можете положить hello.bin в папку bin и тоже запускать его командой hello
Эмулятор FAB-Agon поддерживает фичу с папкой bin. agon-light-emulator v.0.5.0 не поддерживает.
Системные программы MOS, которые обитают в папке mos, компилируются с адреса $B0000 и работают в ограниченном пространстве памяти. nihirash сказал, что для них отведено всего 32 Кб. Поэтому я решил не делать компилятор таким образом. Т.е. можно положить ctx.bin в папку mos и запускать его оттуда, но он может что-то сломать, т.к. использует 64 Кб.
А поскольку он собран в режиме совместимости с Z80, то старший байт адреса проигнорен. Поэтому и ctx.bin, и hello.bin запускаются из папки mos.
А не, стопэ. ctx не будет работать из папки mos. Да, я там сделал привязку к адресу $40000. Всего одну.
- - - Добавлено - - -
Андрей, у меня в планах есть сделать подсистему AgDev для написания софта на Обероне. Она будет работать через LLVM.
- - - Добавлено - - -
Я, в общем-то могу Вам сбросить то, что начал делать, оно уже даже как-то слегка работает. Но мне не очень удобно коммуницировать тут на форуме, тем более, оно всё ещё не доделано.





Ответить с цитированием