Просмотр полной версии : Ассемблер для запуска на реальном 128K спектруме
nihirash
27.03.2018, 15:43
Дня доброго!
Для создания незамысловатых игр прямо на реальном спектруме хочется какой-нибудь ассемблер.
Имеется - Harlequin 128K+divMMC - т.е. подойдет и tape, и betadisk вариант, и если есть даже нативный под esxDOS.
Очень хочется иметь возможность инклюдить бинари в код(например файл со спрайтами или музыкой, созданные в другом редакторе).
Имеется ли что-нибудь такое? Желательно иметь возможность использовать верхнюю память спека для работы асма.
STORM содержит инструкцию INCBIN для тыр-доса.
ALASM и STS, лучше не придумать.
ZX Turbo Assembler (версия 3.00) имеет инструкции INCLUDE и INSERT, а также MAKE и директивы условной компиляции.
nihirash
27.03.2018, 17:07
Спасибо, а кто из них экономичнее к памяти относится и лучше умеет использовать все 128к памяти для работы?
Hacker VBI
27.03.2018, 17:34
ALASM и STS, лучше не придумать.
Дня доброго!
Для создания незамысловатых игр прямо на реальном спектруме хочется какой-нибудь ассемблер.
Имеется - Harlequin 128K+divMMC - т.е. подойдет и tape, и betadisk вариант, и если есть даже нативный под esxDOS.
Очень хочется иметь возможность инклюдить бинари в код(например файл со спрайтами или музыкой, созданные в другом редакторе).
Имеется ли что-нибудь такое? Желательно иметь возможность использовать верхнюю память спека для работы асма.
Storm, Zasm, Tasm
все они отдают 48к под программу пользователя
сами живут в страницах
AlAsm,
умеет память 128+
хорошо сжимает текст и очень гибкий в настройке
и да все они умеют загружать бинарники в процессе сборки
Alasm ,для реала это лучшее решение.
TASM
там есть .INCLUDE и .INCBIN
и компиляция.
По виду он как ALASM различия лишь, то что в TASM компиляция в файл есть и нет команды DUP. Как то так.
ZX Turbo Assembler v3.2x (http://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=934768&viewfull=1#post934768)
ALASM и рядом не стоит по удобству
nihirash
28.03.2018, 12:49
ZX Turbo Assembler v3.2x (http://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=934768&viewfull=1#post934768)
ALASM и рядом не стоит по удобству
Там в ветке есть обсуждения, что он на эмулях не всех заводится. А у меня бетадиск не настоящий, а esxDOS.
Будет ли он работать?
Скачать и попробовать запустить не вариант?
Под анрилом запускается.
На реале со смуком с винта работает.
Под анрилом запускается.
неужели эта *****поделка esxDOS эмулирует?
А разве речь шла об эмуляции анрилом *****поделки esxDOS?
nihirash
28.03.2018, 13:57
Скачать и попробовать запустить не вариант?
Ну, вариант, но только как дома буду. Но думаю, что если со смуком работает - то из под esxDOS будет тоже.
ZX Turbo Assembler v3.2x
Версия 3.2 получилась мощная, но, к сожалению, требующая, по ходу работы, подгрузки модулей с диска.
Версия 3.00 (http://ulsoft.untergrund.net/downloads/02_programming/_zxasm/ztasm.html) проще, но не требует никаких дополнительных подгрузок, что удобно на реалах с одним дисководом (если код и ассемблер на разных дисках). Нареканий к работе версии 3.00 тоже, вроде, нет.
Если памяти свыше 128к, это всё с успехом запихивается на рам-диск, который подргужается один раз в начале работы.
На нём же, кстати, очень удобно хранить бинарники и (если позволяет память) исходники подгружаемые в процессе компиляции.
З.Ы. и в любом случае, что мешает на рабочий диск с исходниками записать zasm с необходимыми оверлеями, места на диске он займёт копейки.
бггг. в старое время демо собиралась по кускам в Storm, метки и адреса записывались на бумажку.
Сейчас я использую ужасм и думаю, что при подобном подходе просто чокнулся.
nihirash
28.03.2018, 23:46
Версия 3.2 получилась мощная, но, к сожалению, требующая, по ходу работы, подгрузки модулей с диска.
В лого и потом красный бордюр и виснет в ноль.
А вот 3.0 запустилась. Tasm тоже работает нормально.
красный бордюр и виснет в ноль.
та версия похоже только для Профи
nihirash
29.03.2018, 00:53
та версия похоже только для Профи
Теперь пришло осознание, что посчитать координаты по знакоместу - уже подвиг и я ничего не помню, кроме названия регистров и что есть мнемоника LDIR. :-)
Если я правильно понял вопрос, то:
; Get screen address
; D = Y character position
; E = X character position
; Returns address in DE
; Title: ZX Spectrum Standard Output Routines
; Author: Dean Belfield
; Created: 29/07/2011
; Last Updated: 02/07/2012
Get_Char_Address: LD A,D
AND %00000111
RRA
RRA
RRA
RRA
OR E
LD E,A
LD A,D
AND %00011000
OR $40
LD D,A
nihirash
29.03.2018, 15:30
Если я правильно понял вопрос, то:
Спасибо, вроде похожее, что то и написал в итоге.
Даже спрайт 16x16 пикселей вывел, пока, правда, без маски или XOR'а и атрибутов
Rubts0FF
20.07.2018, 21:14
Значит так: ZX Turbo Assembler о версиях:
v2.4/2.5 - 48к версия от Олега Хохлова, ни какой токенизации, чистый текст, но 48 к, т.е. и ассемблер и тексты и объектный код все в 48 к. Но ассемблировать можно на диск. Например эта версия сама себя прекрасно компилирует.
v3.0 - 128k - это наша с Костей Афендиковым попытка сделать тот же ассемблер, но работающий в 128к, т.к. Олег Хохлов не собирался делать 128-ю версию. Она мало чем отличается от версии 2.5, кроме токенизации мнемоник z80 и сокращение объема текста и небольшой прирост в скорости ассемблирования как итог.
v3.10 - 128k если больше использовала как РамДиск - эта версия делалась долго, может и было бы быстрее, но Костя купил себе IBM PC - это беда многих. Справедливости ради стоит сказать, сделал он к этому времени много. Сейчас нельзя точно разделить, что делал я, а что Костя. Потому что, если например я занимался какой-то пп. Костя всегда просил, сделать что бы было то, или это. Аналогично поступал и я.
v3.10SE07 - промежуточная версия, сделанная по настоянию жителей этого форума. Версия требует больше 128к памяти (256,512,1024) - подробней я уже ничего не помню.
v3.2x - логичное завершение v3.10SE - так же требует больше 128к память.
v3.15 - версия сделана по просьбе друзей для работы на компьютерах 128к. Попытался сделать максимально удобной, как v3.2x.
Все эти версии можно найти в соответствующей ветке этого форума.
О несовместимости. ZAsm прекрасно работает на реальных компьютерах, все я конечно проверить не мог, но "Ленинград", "Композит", "Пентагон", "АТМ-1 и АТМ-2".
Если красный бордюр - нет необходимой памяти!
Если No Drive - эмулятор не правильно эмулирует трдос.
Из эмуляторов 100% работают "Шалаев", "Spectaculator" и некоторые версии "Unreal", я конечно не во всех попробовал.
С вопросами и/или предложениями обращайтесь в туже ветку форума. Можно и на почту, но я её редко проверяю, сюда заглядываю чаще.
з.ы. Наверное я соберу все ZAsm`ы и выложу в раздел SOFT, но это завтра.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot