Для меня эта книга по сути была настольной книгой много лет ( десятилетий? ; ) начиная с ранних 90х - там и по командам UNIX справочник, и по Си (именно с уклоном в UNIX - с fork и т.д.)
P.S. То что книга была "настольной" можно легко понять по наличию круглого пятна от чая (кофе) ;)
Я бы так не упрощал - z88dk может и форкнулся от sdcc много-много лет назад (хотя я думал что они оба из Small-C произошли), но затем развивался только как компилятор сей для Z80, но кто сказал, что sdcc с тех пор стоял на месте? Например передачу аргументов функций через регистры Z80 они сделали только в версии 4.1 буквально 3 года назад (как я сегодня узнал). А вот IAR старый и к тому же платный - нафиг он вообще нужен?....
Поизучал вопрос с передачей аргументов через регистры - похоже это появилось только в SDCC 4.1.12 (2021?).
Ещё момент - необязательно писать конкретный адрес в --data-loc т.к. если просто указать там 0, то оно разместит сегмент данных сразу после кода (т.е. bin-файл будет меньше без кучи нулей в середине).
Поправочка (голая решётка не нравится башу): ./bin2tap habr_demo.bin 32768 TAPE Кстати в версии SDCC что есть у меня (3.8.0) похоже все аргументы идут через стек, поэтому вышеприведённый пример заработал только после модификации ассемблерной функции get_next_line_wrapper:
Спасибо за упоминание! Ставлю ссылку на эту статью в свой форум ;)
P.S. Также вставил в свой форум исходник своего варианта программы BIN2TAP и там же прицепил бейсик-загрузчик TAPE, который загружает кодовый блок с адреса 32768 (т.е. после ./bin2tap habr_demo.bin #8000 TAPE на выходе получится уже готовый TAP-файл, который можно грузить через LOAD "" в эмулятор спектрума или в живой спектрум скажем через DivMMC).
Ну в данном конкретном случае всё сидит в одной прошивке — и Спринтер, и Спектрум, и масштабирование графики для Дума ;)
Отдельная прошивка только в игре Thunder in the Deep, но исходники к сожалению утеряны…
А если выкусить AVR, то ZX-Evo тоже окирпичится :)
100% защиту от дурака ввести всё равно не удастся — всегда найдётся «хитрец», который случайно умудрится сломать и обойти все защиты от этого самого хитрого дурака ;)
незнаю насчёт z380, но в z180 вроде как есть прерывания по неизвестной инструкции — теоретически возможно написать обработчик программно имитирующий работу всех исключённых команд, но т.к. это будет по сути программная эмуляция, то оно будет тормозить — так что я опять же остаюсь при своём мнении — центральным процессором должен оставаться z80
Потому что ZX-Evo разрабатывалась (ИМХО) с оглядкой на официально прекративший своё существование в 2004 году Спринтер — разрабатывалась как чуть более дешёвая и более «спектрумовая» альтернатива. Если бы исходники прошивок и софта Спринтера были открыты авторами скажем в 2004 году, а не в 2009, то возможно ZX-Evo бы никогда не появилась на свет ;)
Для меня эта книга по сути была настольной книгой много лет ( десятилетий? ; ) начиная с ранних 90х - там и по командам UNIX справочник, и по Си (именно с уклоном в UNIX - с fork и т.д.)
P.S. То что книга была "настольной" можно легко понять по наличию круглого пятна от чая (кофе) ;)
"Мобильная Операционная Система" это же по сути дословный перевод расшифровки аббревиатуры POSIX (Portable Operating System Interface)?
Ой, DimkaM привет - вопрос про IAR снимается ;)
Я бы так не упрощал - z88dk может и форкнулся от sdcc много-много лет назад (хотя я думал что они оба из Small-C произошли), но затем развивался только как компилятор сей для Z80, но кто сказал, что sdcc с тех пор стоял на месте? Например передачу аргументов функций через регистры Z80 они сделали только в версии 4.1 буквально 3 года назад (как я сегодня узнал). А вот IAR старый и к тому же платный - нафиг он вообще нужен?....
А оно умеет бейсик загрузчик добавлять?
Поизучал вопрос с передачей аргументов через регистры - похоже это появилось только в SDCC 4.1.12 (2021?).
Ещё момент - необязательно писать конкретный адрес в --data-loc т.к. если просто указать там 0, то оно разместит сегмент данных сразу после кода (т.е. bin-файл будет меньше без кучи нулей в середине).
Поправочка (голая решётка не нравится башу):
./bin2tap habr_demo.bin 32768 TAPE
Кстати в версии SDCC что есть у меня (3.8.0) похоже все аргументы идут через стек, поэтому вышеприведённый пример заработал только после модификации ассемблерной функции get_next_line_wrapper:
Спасибо за упоминание! Ставлю ссылку на эту статью в свой форум ;)
P.S. Также вставил в свой форум исходник своего варианта программы BIN2TAP и там же прицепил бейсик-загрузчик TAPE, который загружает кодовый блок с адреса 32768 (т.е. после ./bin2tap habr_demo.bin #8000 TAPE на выходе получится уже готовый TAP-файл, который можно грузить через LOAD "" в эмулятор спектрума или в живой спектрум скажем через DivMMC).
Отдельная прошивка только в игре Thunder in the Deep, но исходники к сожалению утеряны…
100% защиту от дурака ввести всё равно не удастся — всегда найдётся «хитрец», который случайно умудрится сломать и обойти все защиты от этого самого хитрого дурака ;)
всё в одной
> а на ZX-Evo ещё и SD-карта
переходники SD->IDE тоже бывают
линукс порты имеются