Вход

Просмотр полной версии : Кроссассемблеры 8080 для новичка и другие вопросы.



Smalovsky
10.01.2021, 16:56
Привет Орионщикам. Я доделываю новую игру для Спекки, и в процессе, понял, что ассемблер Z80 мне уже не так интересен. Для меня ассемблер Z80 слишком избыточен. Ассемблер 8080 мне показался простым и оригинальным. Конечно, я хотел бы что-то написать на нём,возможно, для Ориона( первоначальный замысел).
В общем, такие вопросы:
1. Выбор ассемблера. Какой порекомендуете?
Есть такой tasm. Можно работать из Виндовс.
http://old-dos.ru/files/file_1385.html
Есть такой SB-Assembler 3. Можно работать из Виндовс, но нужно разбираться с дополнительной установкой интерпретатора Питона.
https://www.sbprojects.net/sbasm/
Есть такой A85. Работа возможна из Виндовс.
http://kazus.ru/forums/attachment.php?attachmentid=23573&d=1310190985
Ассемблер для 8085 подойдёт ли он для 8080?
2. Как из файлов bin или hex получить файл пригодный для запуска на Орионе? Есть ли какие утилиты для этого? Какой формат файла популярный?
3. Подойдёт ли разработка программы именно с использованием процедур Монитора 2, либо надо всё делать через операционную систему?
Я пишу игры-головоломки с символьной графикой, поэтому мне важны встроенные функции вывода символов.
4. Подскажите сайты или книги по Ориону.

Denn
10.01.2021, 17:09
Smalovsky, а почему обязательно кросс? Работать непосредственно на Орионе "спортивнее", имхо ;)

Загляните сюда - https://vk.com/topic-139842174_39339648
может заинтересует.

Smalovsky
10.01.2021, 17:17
Denn, Мне бы сейчас всё по минимуму и попроще - опробовать фукнции Монитора 2 в небольшой игре. Пока информация об ОС и работе в ассемблере через неё для меня избыточна.

Denn
10.01.2021, 18:09
по минимуму и попроще - опробовать фукнции Монитора 2 в небольшой игре

Проходной опрос клавиатуры:
CALL 0F81BH
; [A] = код нажатой клавиши или FFh если не нажата

Вывод символа на экран:
; [C]=ASCII-код символа
CALL 0F809H

Вывод строки символов на экран:
; [HL]=адрес начала буфера строки/0
CALL 0F818H

Позиционирование курсора:
; [L]=X, [H]=Y
CALL 0F83CH

Вот минимум.

kovdry
14.01.2021, 21:01
Smalovsky, предлагаю кросассемблер 2500ad, мной проверенный. Есть примеры. Описание на русском. Используйте модуль X8085.EXE как ассемблер и LINK51.EXE как линкер. Работает и под MS DOS и под Windows (95 - 7 включительно 32 версия).

Разница между ассемблером 8080 и 8085 : в 8085 добавлено 2 команды последовательного обмена, которые редко используются, остальные команды все совпадают, по этому пишут транслятор ассемблера для 8085, а 8080 подразумевается, если не использовать этих двух команд.

В архиве есть примеры и ассемблеры для микроконтроллеров 8051 и 8048.

CityAceE
15.01.2021, 11:32
Какой порекомендуете?
SJAsmPlus. Я на нём под Специалист писал. Там есть ключ, который позволяет отслеживать, чтобы не использовались команды Z80. Но писать, конечно, придётся в мнемониках Z80.

Error404
15.01.2021, 13:43
sjasmllus. Я на нём под Специалист писал. Там есть ключ, который позволяет отслеживать, чтобы не использовались команды Z80.


Во это очень клево (ключ, который позволяет отслеживать, чтобы не использовались команды Z80), беру на заметку. Т.к. иногда под настроение хочется что-то написать простенькое для журнальной классики, а там 8080.



Но писать, конечно, придётся в мнемониках Z80.

Это совсем не минус. Мнемоники 8080 ужасны, тяжкое наследие регистрового мышления, ввода на тумблерах и отображения результата лампами побитово на пульте 2х3 метра. А мнемоники Z80 написаны человеком и для человека, в логике ЯВУ - малость а, моск после него категорически отказывается от хаотических наборов букв 8080.

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

Разница между ними меньше пятилетки, а какой громадный шаг для человечества (с) :)
Кстати, прекрасный CP/M кросс-ассемблер M80 умеет в обоих вариантах, и даже в одном файле (переключается директивой). Но вот не контролирует чтобы не использовались опкоды Z80 для желающих странного.

mvg
15.01.2021, 22:16
https://zx-pk.ru/threads/26805-paket-dlya-i8080-winasm-studio-fasm-g.html
простой, эмули под рукой, писал на нем для радио96 рк

Smalovsky
19.01.2021, 19:20
Denn, как из файлов bin и hex получить файл rko или другие файлы, которые можно запустить на эмуляторе? Мне нужен аналог спектрумовской утилите bin2tap , но для работы с Орионом.

Denn
19.01.2021, 21:05
Denn, как из файлов bin и hex получить файл rko или другие файлы, которые можно запустить на эмуляторе?

Для формата ORI у меня написана под Windows такая утилита - http://denn.ru/8bit/oriserv/oricnv.exe
Она "кушает" бинарные файлы. Если адрес посадки отличается от 0000h (присваивается по-умолчанию при конвертации), то его придётся менять на Орионе вручную.

В эмуляторе открываю ORI-файлы через виртуальный диск.