Pyk, Может зависит от ревизии, партии ВВ55-й? но игру проверили на реале и она работает. Вообще я считаю это косяк игры и игру по уму надо бы допилить, т.к. есть вероятность что не на всех Векторах она запустится.
Pyk, Может зависит от ревизии, партии ВВ55-й? но игру проверили на реале и она работает. Вообще я считаю это косяк игры и игру по уму надо бы допилить, т.к. есть вероятность что не на всех Векторах она запустится.
Здесь можно скачать актуальные версии Virtual Vector (VV)
parallelno, при сборке tasm-ом я просто склеиваю отдельные бинарные файлы в процессе сборки, проще всего. db64 - это фишка Прекрасма, в нем можно вставлять большие куски прямо в base64. Когда на скорую руку хочется какой-нибудь графики добавить, удобно.
Больше игр нет
cat code.bin data.bin > test.rom, ну или copy/b head.bin+data.bin test.rom, в зависимости от системы. Смещение на приплюсованные данные легко вычисляется с помощью метки в конце ассемблерного файла.
Больше игр нет
А если нужно два бинарных файла приклеить?
Так же, cat и copy можно сколько угодно файлов склеивать. Если несколько массивов данных на которые нужны ссылки, тут тяжелее. Тогда размеры файлов и смещения можно вычислить перед компиляцией основного модуля и передать их как параметры. Например вот тут так делается (наверное это трудночитаемый кусок, но суть в том, что ZSTART получается как 256+VMSIZE+STARTSIZE и потом -DZPU_CODE_START=$$ZSTART
https://gitlab.com/svofski/zpu8080/-...common.mk#L117
Это все по своему красиво, но может быть неоправданно и если проще сконвертировать данные в db, которые включаются директивой include, то так лучше и сделать. Объемы-то все комически крохотные: самая громадная глыба данных, которую Вектор сможет охватить, современному компьютеру даже L2 кеш не завалит.
Больше игр нет
parallelno (01.07.2022)
А как передать в tasm параметры? Я не смог найти такое в мануале. Видел только что макрос можно для всяких ifdef передавать. Извини, не смог сходу разобраться в твоём билде по ссылке. Не умею пока в Мэйк файлы.
Параметр и макрос в тасме это одно и то же.
В коде пишем что-нибудь типа
а при вызове tasm добавляем (можно просто в батнике) -DDATA_SIZE=256, то естьКод:lxi h, DATA_SIZE
tasm -DDATA_SIZE=256 -b -t85 myprog.asm myprog.bin
Больше игр нет
parallelno (01.07.2022)
О! За это огормное спасибо! Жалко что не было примера макросов в документации TASM.
- - - Добавлено - - -
команды dup и edup которые ты привел в своем коде из какого ассемблера?
- - - Добавлено - - -
Сравнил твой алгоритм с предыдущими. Твой чуть быстрее всех в тесте TKSerg.
Что-то картинка чмльно пожалась. Не разобрать, поэтому текстом. Добавил проценты от изначального варианта metamorpho. Наглядно видно сколько можно выжать при оптимизации. Крутые результаты, ребят! И спасибо за реализации.
jerri's original
137EH 4990 162%
jerri's precalced, unrolled
162EH 5678 184%
Serg's original
151CH 5404 175%
Serg's precalced, unrolled
15B0H 5552 180%
ivagor's unrolled
170EH 5902 191%
metamorpho's unrolled
0C0CH 3084 100%
Последний раз редактировалось parallelno; 01.07.2022 в 21:11.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)