Вход

Просмотр полной версии : ZX8080 ROM



NEO SPECTRUMAN
04.09.2020, 13:48
Собственно ПЗУ-шку 48-го адаптировать к i8080 я хотел достаточно давно...
но особого смысла в этой затеи не было
НО так как ВНЕЗАПНО Mick захотел притулить i8080 к спектруму
https://zx-pk.ru/threads/32131-daungrejd-kompyutera-quot-leningrad-quot/
адаптирование ВНЕЗАПНО началось...

последняя версия на 29.10.2020

ZX8080_ROM r0079
http://www.mediafire.com/file/59ruqju6u8dufid/ZX8080_ROM_r0079.7z/file

https://jpegshare.net/images/0c/98/0c987029b04c2022849581a6c4a0ce0b.png
https://jpegshare.net/images/73/5d/735d05eeb0797a9a22aa636878663319.png https://jpegshare.net/images/f8/87/f887cabf70caea3cf07348d9d6cf0ad8.png

galaxians загруженный на Z80 и полностью плеябельный (на самом 8080 не работает)
https://jpegshare.net/images/6b/14/6b14811c367ec2bb2908c2641c2f4101.png


...и все бы хорошо но памяти в ПЗУ не хватает. (нужно еще 1,5...2К)
Пока часть процедур вынесена в ОЗУ
и нужно их подгружать при старте
После сброса область с вынесенными процедурами не очищается. (но при глюках вполне повреждается)
Так же сейчас памяти выделено на много больше чем нужно...


Стабильность текущей версии никакая
Сбросы, самоуничтожение кода, каша на экране
Скорей всего не работает запись (знаю где и что но пока не фиксил)

Нужно оптимизировать и выкидывать стандартные процедуры
Еще можно будет выиграть пару десятков байт убрав лишние push\pop-ы



Тк пиляние этого поделия мне порядочно надоело и я его начинаю забрасывать
выкладываю сорцы

ZX8080 ROM r0070 (не сильно свежая версия сорцов)
https://dropmefiles.com.ua/ru/XR9Bm

в комплекте с сорцами собранный ROM и ТАПок для подгрузки
шрифты хоть и не полностью но в ПЗУ
вся текстовая часть сокращена тк занимает сильно много места

поклацав интуитивно понятный zx8080.ini
можно собрать и с полной текстовой частью
и шрифтами в ОЗУ


так же

ZX8080_Emu r0001
http://www.mediafire.com/file/9uag3sc8jhazkaw/ZX8080_Emu_r0001.7z/file
z8080 конфиг для b2m-ного emu со старой версий ROM-а в комплекте (где шрифт лежит в ОЗУ и который нужно сначала подгрузить с ленты)
(вместе с самим эмулятором)

тк конфиг сделан методом научного тыка
бипер почему то не работает...





ZX8080 ROM r0075
http://www.mediafire.com/file/bgwo5lxf4t29avv/ZX8080_ROM_r0075.7z/file

ZX8080 ROM r0058
http://www.mediafire.com/file/jxj8urnqvnprlv6/ZX8080_ROM_r0058.7z/file

ZX8080_ROM r0057
http://www.mediafire.com/file/85s0l4ghwkk58nw/ZX8080_ROM_r0057.7z/file

ZX8080_ROM r0045
http://www.mediafire.com/file/7cbqnakaeed09uw/ZX8080_ROM_r0045.7z/file

ZX8080_ROM r0022
http://www.mediafire.com/file/mb2vccosrinzazv/ZX8080_ROM_r0022.7z/file

ZX8080_ROM r0017
http://www.mediafire.com/file/unc3gjr6jd1z5q3/ZX8080_ROM_r0017.7z/file

AlexG
04.09.2020, 14:12
выкидышъ... жертва аборта

zx_
06.09.2020, 16:37
NEO SPECTRUMAN, соберись , тряпка !
20 дней еще не закончились

NEO SPECTRUMAN
06.09.2020, 17:06
кстате а что именно повреждается если оригинальное ПЗУ лежит в ОЗУ?
известны адреса?

Spectramine
06.09.2020, 18:03
кстате а что именно повреждается если оригинальное ПЗУ лежит в ОЗУ?
известны адреса?

Первые 5 байт. Там как-то связано с ошибкой калькулятора.

NEO SPECTRUMAN
06.09.2020, 22:30
...знание этого не поможет пофиксить еще шо нибудь... :v2_dizzy_sleep2:

NEO SPECTRUMAN
23.10.2020, 01:52
обыновыленийе

ZX8080 ROM r0075
http://www.mediafire.com/file/bgwo5lxf4t29avv/ZX8080_ROM_r0075.7z/file

пофикшено чтение переменных
заработали циклы
стабильности ничуть не прибавилось

так же есть подозрение что загрузка с ленты часто идет с ошибками
но tape loading error так же как и все остальные ошибки так и не печатаются...

и как всегда немного шедевров кругорисованийа
https://jpegshare.net/images/63/42/63425dbe18304d2f72bd76fce428d131.pnghttps://jpegshare.net/images/1e/ab/1eab11fb5b8f3c1a0996c077e6762dc0.png
при этом plot и draw вроде бы работает как нужно
это только circle на своей волне :)
хотя печать дробных чисел тоже печатает +-0.0005


галаксианс вроде работает немного лучше
https://jpegshare.net/images/aa/2e/aa2e5c20643c49a88ca7928cb24483b2.png

...
так же как и всегда умная мысля приходит за посля
адаптировать к 8080 нужно в такой последовательности

сначала нужно заменить все команды работающие с альтернативным набором регистров
exx-ы ex af,af'
это можно сделать очень быстро
отладить работу на таком полу z80 режиме
потом менять команды работающие с ix iy
потом менять остальное
тогда в процессе получится смотреть что отпадает и изза чего это произошло...
...но нет сразу до этого... :v2_dizzy_facepalm:
не повторяйте моих ошибок
...в придачу я не первую софтварь переношу на 8080...:v2_dizzy_wall:

NEO SPECTRUMAN
29.10.2020, 06:17
Пофикшена печать ошибок

ZX8080_ROM r0079
http://www.mediafire.com/file/59ruqju6u8dufid/ZX8080_ROM_r0079.7z/file

так же удалось поместить практически весь шрифт в ПЗУ (еще 2К процедур так и лежат в раме)
не влез только знак копиразмов :v2_lol:
осталось 5 байт свободно

NEO SPECTRUMAN
19.01.2021, 14:18
тем временем разработка первой версии прекращена

начинаем все по новой (тк проще и надежней сделать заново чем переделать то что есть)

много чего уже не работает
изза меньшего количества памяти и потерь всех точек входа

ZX8080_ROM_v2 r0017
https://www.mediafire.com/file/q7hbiguwb5vutp0/ZX8080_ROM_v2_r0017.7z/file

сейчас можно посмотреть на сколько обильно просела скорость от одной только замены всех exx и ex af,af'

так же почему то оно работает совершенно некорректно в eightyone


https://jpegshare.net/images/6d/8e/6d8e7a3b4e2dbb81d2a9f7465766f762.png https://jpegshare.net/images/37/08/37087aaf7938fbad66a12dfc968461ad.png

кстате оказалась tanx прикольная игрушка и в нее можно долго втыкать :v2_thumb:
если переназначить упоротейшее управление которое стоит по дефолту...

NEO SPECTRUMAN
19.01.2021, 18:36
так же расчеты не утешительны
чтобы не подгружать ничего при старте с магнитофона
а распаковывать часть процедур в память
придется вынести в ОЗУ порядка 13К кода

а в ПЗУ останется только 5К исполняемого кода

другими словами память выше $CD00 будет занята...
конечно все равно остается больше чем у 16К спектрума
но на совместимость это повлияет сильно...

+ такой подход помножит на 0 возможность восстановить любые нужные точки входа легким движением руки
которые сейчас еще есть

Bolt
19.01.2021, 19:06
С кругорисования поржал, спасибо :)


такой подход помножит на 0 возможность восстановить любые нужные точки входа легким движением руки
которые сейчас еще есть
В сжатых данных предусмотреть возможность вставки произвольных байтов, игнорируемых при распаковке. Тогда в нужных местах расставляем C3 ?? ?? и точки входа будут работать.

NEO SPECTRUMAN
19.01.2021, 19:12
и точки входа будут работать.
но упаковщик\распаковщик то будет уже готовый...
и не от меня а сторонний

единственный вариант раздробить упакованное на мелкие блоки
собирать их в памяти а потом распаковывать
НО ВНЕЗАПНО понадобиться дополнительная память на список этих блоков
хотя не так много...
и я такой вариант рассматриваю

- - - Добавлено - - -


поржал
ты не поверишь
это круг
https://jpegshare.net/images/73/5d/735d05eeb0797a9a22aa636878663319.png

NEO SPECTRUMAN
21.01.2021, 16:13
ничего принципиально нового
прикрутил распаковку в память

можно посмотреть как сброс теперь идет целых 3,6? секунды!!! :v2_dizzy_wall:

память пока отпанахал всю выше $C000
и отправил туда практически весь код из ПЗУ
так что теперь это spectrum 32к :v2_lol:

из чего сразу же сплошные
out of memory и ramtop no good


ZX8080_ROM_v2 r0019
https://www.mediafire.com/file/tji70w5t5vh0syh/ZX8080_ROM_v2_r0019.7z/file

Eltaron
21.01.2021, 16:58
Скачал, хотел посмотреть на квадратные круги, а оно, блин, идеально работает :D
По крайней мере пока не захочешь что-нибудь загрузить.

NEO SPECTRUMAN
21.01.2021, 18:43
Скачал, хотел посмотреть на квадратные круги, а оно, блин, идеально работает
за пакманами вместо кругов в первый пост
тут до этого еще не дошли
но все впереди :v2_dizzy_roll:

- - - Добавлено - - -


По крайней мере пока не захочешь что-нибудь загрузить.
ну например 16К галаксианс прекрасно грузитсо и работает :)

tanx по моему тоже (к сожалению наверно оно на бейсике только частично и на 8080 видимо не взлетит)