ivagor, я твой вав присовокупил к архиву в картотеке.
Я стараюсь по ходу дела крупицы информации осаждать в виде пояснений и перекрестных ссылок в картотеке:
http://sensi.org/scalar/ware/673/
Если я в чем-то ошибаюсь, поправляйте меня.
Вид для печати
ivagor, я твой вав присовокупил к архиву в картотеке.
Я стараюсь по ходу дела крупицы информации осаждать в виде пояснений и перекрестных ссылок в картотеке:
http://sensi.org/scalar/ware/673/
Если я в чем-то ошибаюсь, поправляйте меня.
hello, world для edasm (в формате edasm, естественно).
После загрузки монитора-отладчика и редактора-ассемблера (любым из описанных способов)
1. Стартуем редактор
G100
2. Загружаем файл
Клавиши АР2 + I
3. Переходим в ассемблер
Клавиша СТР
4. Транслируем
Клавиша 1
Должно показать 0 ошибок
5. Выходим в монитор
Клавиши УС + E
6. Запускаем программу
C1800
Честно скажу, очень давно не пользовался монитором-отладчиком, и не помню, умеет ли он вообще "штатно" загружать файлы в ROM-формате...
Соответственно, ассемблер записанный в wav-файл в ROM-формате не может быть штатно загружен в монитор-отладчик (возможно). Как минимум, ассемблер должен быть записан в wav-файл в формате монитора-отладчика.
Далее. в описание команды R смотрели ?
Из инструкции синтаксис "R" - загружает файл с именем, заданным командой "I".
Для загрузки "чего попало" (с любым именем) другой синтаксис.
ну и т.д.
Посмотрел "руководство", из монитора-отладчика можно выгрузить файл в формате "загрузчика" командой "О", а вот загрузки в этом формате не нашел.
dbk, кстати, для файлов с каноническими расширениями и без извратов в Картотеке можно нажимать прямо на треугольничек "PLAY" справа от имени файла. Это должно работать в зазипованных архивах тоже (сначала раскрыть [...]), но не для сложных случаев типа .m01.
Спасибо. Все заработало как надо.
https://i.imgur.com/ErNQ4XA.jpg
А теперь риторический вопрос: в картотеке лежит файл в другом (не подходящем для реала, а точнее конвертора) формате?! хотя, замечу, что загружается
- - - Добавлено - - -
Конечно смотрел, синтаксис RW
Спасибо, за помощь!
Файл с расширением .m01 это просто фрагмент памяти с адреса (цифры 01) 100h, который на ленте должен хранится в формате (буква m) монитора.
Из распространенных векторовских форматов (ROM, MON, BAS, ASM, DOS) сейчас есть удобный конвертер только для ROM (rom2wav Ramirosa).
И теперь svofski добавил в картотеку и wav с этим файлом.
Hello world у меня отработал отлично! ))))))))))))
Ну, что я могу сказать?! Квест с историей более 20-летней давности с вашей помощью пройден! УРААА!!!!!!!
Теперь можно брать в руки любой мануал по ассемблеру для 8080 (тех же Текотева с Лебедевым) и вперед грызть гранит науки в свободное время!
Мне бы с вами познакомиться в начале 90-х ))))) Глядишь бы сейчас был каким программистом-хардварщиком, а не пойми кто и не пойми чем занимался ))))
svofski, приложите туда же в карточку этот архивчик helloEDASM.zip с примером как его использовать. Пригодится на будущее.
Добавил к http://sensi.org/scalar/ware/673/ файлы и туториал ivagor-а, но сам пока не пробовал. Если кто-то еще повторит, желательно смотря именно на страничку в картотеке, отпишитесь, пожалуйста. Если получилось, то вот, а если нет, то исправлю ошибки.
Оффтоп про конвертеры rom2wav. Вспомнил, что еще есть мультиконвертер DDp, который представляет собой переписанный на C конвертер svofski. Т.е. конвертеров rom->wav как минимум 3 и все с исходниками.
Картотека просто пухнет от хороших и разных конвертеров!
Может к rom2wav Ramirosa как-то добавить варианты с устраненной избыточностью?
ivagor, вот бы твои суперзагружаторы как-то увековечить, типа того, чем ты делал сверхбыстрый wav для Рива Рейда.
Что до Rom2WavFast — с удовольствием. Может быть ты приложишь к архиву сорец тоже?
Суперзагружаторам, на мой взгляд, не хватает загрузчика с автостартом, для того, чтобы ими было удобно пользоваться. Эта мысль у меня давно, но я почему-то так ничего и не сделал в этом направлении.
Исходники Rom2WavFast надо будет посмотреть (скорее всего завтра или, если не успею, на следующей неделе).
Может будет полезно! Пакет для i8080: WinAsm Studio + fasm g
Автостарт загрузчика это была бы ценная опция. Но и без нее миллионы вектористов-реалистов оценили бы твой быстрый загрузчик. Я вот подготовленный тобой Рива Рейд очень ценю.
- - - Добавлено - - -
dbk, кстати о Прекрасном. Из него код можно запустить тут же в эмуляторе, но для Труъ там есть кнопка "Play", которая прямо тут же начинает проигрывать ром для загрузки. А клик на рыбу сверху открывает выбор примера. Для Вектора там Hello world, Мандрил и Быстрая линия.
(Это если разработка непосредственно на железном Векторе начинает утомлять).
svofski, спасибо за поддержку, надеюсь когда-нибудь вернуться к быстрой загрузке. Последние версии здесь. На всякий случай стоит сказать, что для реала 11700 проверенный максимум, 13500 для экзотики, типа de1.
Выскажусь насчет разработки на реале с использованием штатного монитора-отладчика с edasmом. Я пользовался такой комбинацией некоторое время и даже сбацал малюсенькую (меньше 1 Кб) игрушку в кодах. Мое мнение - это очень неудобно, а для больших или даже средних проектов просто не подходит.
А с BAS-файлами пока что единственный вариант это b2m-эмулятор и загруженный в него интерпретатор?
Ассемблер tasm 3.2
Редактор Programmers's Notepad
Эмулятор с отладчиком Emu b2ma. Иногда использую Virtual Vector Ramirosa, но его отладчик для меня не такой удобный. У каждого эмулятора есть свои плюсы и минусы.
По поводу ассемблера могут возникнуть вопросы, почему именно tasm? Да, он далеко не самый продвинутый. CP/Mовский M80 круче, но мне им неудобно пользоваться ни в эмуляторе, ни с использованием всяких костылей для винды, которые в современных виндах уже и не работают.
Прекрасный асм. На момент "векторовского возрождения" 1999-2000 его не было. И я начал пользоваться tasmом. И накопил довольно много tasmовых исходников. И в прекрасный асм без напильника далеко не все они влезут, т.к. есть уникальные фичи. Плюс я люблю всякие маргинальные процессоры, для которых составил таблички tasmа, в прекрасном они совсем не поддерживаются. Если бы у меня не было багажа исходников и не нужны были бы экзотичские процы, то прекрасный асм думаю подошел бы.
А еще было бы здорово, если бы кто-нибудь сделал современный кросс-вариант M80 для win(/linux/MacOS).
- - - Добавлено - - -
Или эмулятор, дос и savebas.
Tim0xA и я делали утилитки bas2cas, т.е. добавление служебной информации, но почему-то не довели до bas2wav.
С Бейсиком вообще поле непаханое. По идее где-то есть тыщи полезных и интересных бейсковских программ для Вектора, но в Картотеке их нет. Я даже не знаю, откуда начинать.
Информация о формате магнитофонных файлов бейсика и вторая версия утилиты Tim0xи здесь. Свою утилитку я выкладывал, но потом удалил.
К тому-же под ДОС. Можно, конечно, пользоваться DosBox-ом, но я считаю - это не удобно. Вот если бы кто-нибудь нарыл исходники этого ассемблера (они вроде распространялись автором за оплату), и портировал под винду, было бы круто.
У меня где-то валяется консольный вариант моего процессора ВМ80 с реализованными функциями CP/M, в нём достаточно удобно запускать CP/Mовские утилиты (M80,L80,C80). После окончания работы утилиты, эмуль тоже завершает работу, так что можно в винде обычный командный файл использовать.
Ты путаешь версии, 3.01 был под дос, а 3.2, на который я привел ссылку - под win32. Версия 3.2 спокойно работает в win7 и win10, а 3.01 да, нужно запускать или в xp или в DosBox. У 3.2 еще есть плюсы, например намного большая допустимая длина строки.
Поделись, если не жалко. По наводке PPC я пробовал нечто подобное, но мне не особо понравилось.
Товарищи по ссылке процитировали руководство (TASMMAN.HTM), которое автор, получается, не поправил. А в RELNOTES.TXT для версии 09/01/01 version 3.2 есть такая строка: Built as a 32 bit version using MS C++ 6.0. И в tasm.exe есть знакомая всем надпись "This program cannot be run in DOS mode".
- - - Добавлено - - -
Также интересно насчет LINUX по ссылке и в руководсте. В RELNOTES.TXT для версии 11/30/97 Version 3.1 есть строка: LINUX support. Но в архиве бинарника для linux я не вижу, может он был только в 3.1
Глянул в содержимое архива tasm3.2
Я не силён в "заморском" языке... в readme.txt чой-то сказано про 30 дней и $40.00 ...
Цитата:
...
If you find TASM useful, why not register? Unregistered use of TASM beyond a 30 day evaluation period is a violation of the license.
For the $40.00 registration fee you get:
...
Автор надеялся на сознательность пользователей. Т.е. честные люди должны использовать tasm только 30 дней, а потом должны сказать себе "хватит!". И честные люди, заплатившие автору, получили исходники.
Вот: emuc.zip
Пару слов о содержимом.
Запускать из винды:
emuc.exe - собственно эмулятор, параметры - это то, что вводим обычно в CP/M
asm.cmd - командный файл для сборки микродосовским ассемблером, использовать: asm testfile (без расширения, оно всегда .asm)
asm80.cmd - командный файл для сборки мелкософтовым ассемблером, использовать: asm80 testfile (без расширения, оно всегда .mac)
c.cmd - командный файл для сишной компиляции, использовать: c testfile (без расширения, оно всегда .c)
Запускать эмулятором:
mas.com, link.com - микродосовский ассемблер
m80.com, l80.com - мелкософтовый ассемблер
c80.com,*.h,*.rel - компилятор С
lib.com - библиотекарь (для компилятора С)
pw.com,xd.com,stat.com - всегда нужные утилиты :)
Если замучила ностальгия по командной строке CP/M, можно воспользоваться:
ccp.com - командный процессор CP/M, перехватывает выход из программ, так что выход только через exit.com
exit.asm,exit.com - чтобы завершить эмулятор
В принципе, при запущеном ccp.com должен работать и submit.com, но я не пробовал, проще пользоваться виндовозными командными файлами.
Попробовал компильнуть свою модификацию эксисайзера - результат совпал с nice22 (на который навел меня PPC), компильнулось мгновенно. Жаль ты раньше (лет на 18) не выложил эту штуку.
Забыл упомянуть важный аргумент в пользу tasmа. Формируемый идой ассемблерный файл соответствует тасму.
Подозреваю, что у тех, кто делал игры и программы размером 32КБ и более, были Квазидиск и/или Дисковод, а может и ещё какие примочки о которых мы даже не догадываемся.
Поскольку ассемблерный текст раз в 10-15 больше (по размеру файла) полученного из него кода (а с хорошими комментами разница ещё больше), то можно прикинуть, программу какого размера можно написать используя только память самого Вектора и магнитофон (без Квазика и Флопика).
А ещё более вероятно, что даже в начале 90-ых, хороший софт для Вектора ваялся и компилировался на РС... :v2_dizzy_coder:
Помню, подростком я частично решал эту проблему путём линковки вручную: отдельные модули компилировались, сохранялись на магнитную ленту в формате монитора-отладчика, и потом подгружались при отладке, а в тетрадочке аккуратно велась табличка с адресами вызова подрограмм :) Тот же подход применялся для спрайтов и прочей графики. Но всё это, конечно, было медленно и уныло, и только юношеский энтузиазм не давал окончательно забросить всё к чертям.
- - - Добавлено - - -
А вот это крайне интересная гипотеза! Допустим, кросс-ассемблеры существовали, более того - в MS-DOS закладывалась совместимость с CP/M, так что скомпилировать ассемблерный код под 8080 не должно было быть проблемой. Но как потом перенести результат на Вектор? На PC можно было читать/записывать дискеты в формате МикроДОС? Умельцы ваяли какие-то специальные платы сопряжения, информация о которых не дошла до наших дней? Имитировали на PC вывод на магнитофон (но вроде бы у PC тех времён не было аналогового аудиовыхода как такового, разве что в параллель к биперу цепляться)?
На всякий случай, уточню, что речь про самое-самое начало 90х.
- - - Добавлено - - -
Фокус с "Вектором" вот в чём. Чтобы получить результат более интересный, чем ввод/вывод в текстовом режиме в мониторе-отладчике (для этого уровня штатных мануалов вполне хватает, проверено лично ещё школьником), нужно уметь напрямую работать с аппаратной частью машины. Именно этой информации в штатных мануалах нет от слова "совсем", и, наверное, не предполагалось, что программист-неофит будет реверсить чужой ассемблерный код и/или электрическую схему ЭВМ, чтобы понять, как что устроено с точки зрения программного доступа.
Лично я на первых порах довольствовался дизассемблированием и тупым копированием кусков кода, т.к. никаких других источников информации не было. А целостная картина сложилась уже после прочтения серии статей в выпусках бюллетеня Вектор-User, где объяснялись назначение портов ввода / вывода, работа с прерыванием обратного хода луча, организация видеопамяти и т.п.
Чисто по условиям задачи, "Секреты Вектора" вполне себе распространялись кооперативами в начале 90х, в картотеке они есть (да и сканы Вектор-User тоже, помню, где-то находил). Так что следующим шагом посоветовал бы изучать именно эти материалы, т.к. без них даже с полным знанием самого ассемблера никуда особо не продвинешься.
Магнитофонный вход никто не отменял, да и поддержка ЛВС появилась в штатном загрузчике вместе с Квазидиском, Дисководом и внешним ПЗУ.Цитата:
А вот это крайне интересная гипотеза! Допустим, кросс-ассемблеры существовали, более того - в MS-DOS закладывалась совместимость с CP/M, так что скомпилировать ассемблерный код под 8080 не должно было быть проблемой. Но как потом перенести результат на Вектор?...