Обновил и название исправил на Бейсик 2.6. А ты не хотел бы чего-нибудь добавить в историю изменений, чтобы любопытные потомки смогли бы узнать чем версия 2.6 отличалась от 2.5?
Вид для печати
Обновил и название исправил на Бейсик 2.6. А ты не хотел бы чего-нибудь добавить в историю изменений, чтобы любопытные потомки смогли бы узнать чем версия 2.6 отличалась от 2.5?
Основные отличия описаны в readme.txt
Раз такое дело, может еще
это
и
это (в дополнение к имеющимся версиям, заодно и автора можно указать)
закинешь в картотеку?
По наводке PPC нагуглил интересную страничку про C для CP/M
Если кого интересует "CP/M - совместимая" графика, там также есть очень интересная страничка, посвящённая GSX - это попытка Digital Research на излёте своих дней представить унифицированный GUI для СP/M - совместимых систем. Нечто типа WinGDI для 80го проца.
Из этого потом родился GEM VDI для x86 и 68K. Я уже приводил где-то здесь на форумах эту ссылку, но просто повторюсь потому, что довольно редкая инфа. Там есть Programmers Guide и готовые примеры для 128го помидора. При некоторых усилиях GSX можно портануть и на Вектор.
GSX-80 (gsx.sys) можно забрать отсюда.
GSX 80 45K A copy of GSX for CP/M 2.2 or 3 that came from an Amstrad. Runs on Microbee Z80 CP/M 2.2 computer but no drivers to get graphics to screen, prints out okay though.
Программы бы под этот GSX, а без программ не так интересно
Интересно, насколько производительным был этот GSX-80 по сравнению с родными Векторовскми "драйверами устройств"?
Думаю, что по скорости должно быть примерно тоже самое как и стандартные драйвера устройств, если использовать все возможные оптимизации по выводу графики, написав свой собственный GIOS не переписывая GSX. Произодительность в основном будет зависеть от того, насколько хорошую работу проделал Digital Research c имплементацией кишок своего API. Другое дело, что это раза в 4 медленнее, чем то, что можно выжать из Вектора.
Отчего тогда заботиться этим? Дело в том, что GSX - это один шаг до GEM. Ну а GEM - это один шаг до таких вещей как Ventura Publisher и прочее и прочее. Конечно всё равно 8-битных версий всех этих вкусностей не было и в помине, и ничто не переносимо, но портируемо. Одни GUI элементы, хоть и выводились как текстовые символы, прорисовывать самому запара. ПМСМ, огромным достоинством Вектора является его программный вывод текста, с возможностью пиксельной а не знакоместовой адресации.
Безусловно, GEM не был реализован на 8-битках по той простой причине, что не на всех 8080/z80-совместимых машинах был ERAM и page mappers. 64к адресного пространства для многих платформ был стандарт. И MSX и Вектор в каком-то смысле весьма приятственны с этой точки зрения. Но и для таких платформ пришлось бы городить дополнительную прослойку типа универсального менеджера памяти с платформо-зависимой частью, если не ограничиваться MSX (домашняя платформа прямого смертельного конкурента Digital Research). IBM сразу предлагала до 640к, что по тем временам казалось огромным, непомерным объёмом адресуемой памяти. Плюс, IBM (с точки зрения Digital) не была прямым конкурентом.
Это всё так, мысли вслух. Совсем не означает, что стоит немедленно начинать писать GIOS а затем - портировать GEM на Вектор. Но прицениться можно.
PPC, вроде ты в свое время начинал делать какую-то графическую оконную среду и Tim0xA даже выкладывал исходники наработок. Честно говоря, исходниками сейчас вряд ли кто будет заниматься, а вот скриншоты, если есть, было бы интересно взглянуть. Или пару слов напиши, что планировалось сделать.
Может я все напутал, тогда извини.
ivagor, я вообще-то потрясён...я сам забыл о том, что я собирался такое делать и были намётаны какие-то поделки. Ты практически историограф :v2_dizzy_vodka2: Прикинь моё изумление. Ведь это - последнее, что я налабал для Вектора "в своё время", до того, как всё забросил. Более чем 20 лет прошло!
Код, возможно, попал к Tim0xA c архивов S.E.S, с которым я лично так и не встретился, хотя он в гости звал, оба жили в Питере. S.E.S активно писал под Вектор когда я уже всё забросил. Был небольшой период в 93м, когда мы передавали друг другу код на дискетах через знакомых.
Я порылся в закромах и таки нашёл какие-то обрывки и рабочие примеры с выводом окна. Дата в файле windows.inc (хаха) - февраль 1994 года! Вообще-то назвать это "графической средой" будет глумлением над графическими средами.
Посмотрел сейчас на исходник. До сих пор приятно его читать. Помню, что цель была превратить асм в удобное для разработчика средство. Приведу клиентскую часть кода всего приложения здесь. Это-макроассемблер для m80. Всё компилится до сих пор!
И такая вот поделка выплёвывает 7 окон в графике на экран и тасует их like crazy. Конечно сейчас я бы смог ускорить вывод залитого прямоугольника ещё раза в 2-3, но и по тем временам совсем неплохо.Код:App_ver set 30H
INCLUDE PPCLIB.INC
INCLUDE WINDOWS.INC
InitWindows
DefWindow MyWin1,BPanel,5,5,21,20,LightGray
DefWindow MyWin2,BPanel,2,2,28,28,Yellow
DefWindow MyWin3,BPan3D,3,3,24,24,Green
DefWindow MyWin4,BPanel,4,4,20,20,Red
DefWindow MyWin5,BPan3D,5,5,16,16,Blue
DefWindow MyWin6,BPan3D,6,6,12,12,White
DefWindow MyWin7,BPanel,7,7,8,8,DarkGray
DefWindow MyWin8,BPan3D,8,8,4,4,Black
SetWindow MyWin1
CALL GETCH
SetWindow MyWin2
SetWindow MyWin3
SetWindow MyWin4
SetWindow MyWin5
SetWindow MyWin6
SetWindow MyWin7
SetWindow MyWin8
CALL GETCH
SetWindow MyWin7
SetWindow MyWin6
SetWindow MyWin5
SetWindow MyWin4
SetWindow MyWin3
SetWindow MyWin2
ExitWindows
END
Видно, что бордюры окон рисуются спрайтами, но по "знакоместам", выровненным на границу байтов. Ну точь в точь, как в GEM :)
Что планировалось сделать - не упомню уже. Но явно видно, что есть "рабочий стол" с заливкой текстурой из файла marble.pak и окна рисуются поверх этого. Полагаю, навеяно третьими Виндами. На окнах - никаких контролов. Процедур обработки событий-никаких, message queues ещё нету. Видимо это планировалось, но сейчас уже и не упомню, как собирался делать. В текстовой оконной библиотеке wios для CP/M обошёлся без этого, в стиле трубо-вижн.
Приложу сырки. Вряд ли кто будет копаться в этом, но кто знает! Там же, в архиве - скомпилённое приложение и исходники оконной библиотеки. Всё это линкуется с PPCLib для низкоуровневых операций типа заливка плоскостей и т.п. (также, как и GEM использует VDI для вывода примитивов). Прикольно, что многие идеи - по наитию, я тогда понятия не имел о том, как делать "идеологически правильно".
А вообще мечта сделать какую-то оконную среду типа GEM для Вектора часто овладевала мной ;).
Раз пошла такая пьянка, выложу-ка я заодно и исходники wios для CP/M c примерами и картинками. Это 92 год. Навеяно прочтением книги Г.Шилдта "Язык С для профессионалов", И.В.К.-СОФТ, 1992.
Скомпилено для Supersoft C 1.2.3 (Maranatha Software Systems), но уверен, что можно перетащить на любой K&R - совместимый C компилятор для 8-биток без особых проблем. Возможно кому-нибудь оконная псевдографика, горизонтальные, вертикальные и выпадающие меню в CP/М потребуются.
Сначала скриншоты посмотрел и на wios реакция была - турбо вижн для вектора. А потом почитал - оказывается ты так и планировал :)
Подлатал чуточку Прекрасный ассемблер и добавил в него возможность запуска программ в эмуляторе Вектора.
Если директива .binfile указывает файл типа .rom, к нему требования такие же как к рому — должен начинаться с .org 100h. .r0m может быть с 0. Если тип файла .com, он запустится в МикроДОСе.
Исправлены чтение и запись rmb/rbr
Upd 18.10.2020: переложил на форум
ivagor, Можете поделиться своей процедурой сжатия в формат .spr? В моей во втором варианте где-то ошибка проскакивает, никак не отловлю.
Процедура сжатия не моя, к сожалению не помню автора, если найду - укажу. Но 99% что это кто-то из кировских программистов.
Классно! А я наворотил монстра и сам там запутался. :(
А никому не попадалось описание Форт-системы для Вектора? Она же была адаптирована и для Корвета, и наверняка для других подобных компов.
Для удобства выпуска Рива Рейда я вытащил процедуру превращения бинарника в WAV из Прекрасного в отдельную утилиту. Вдруг кому еще пригодится:
https://github.com/svofski/bin2wav
Для запуска нужен node.js, остальное по идее само собой должно случиться.
Поддерживает те же форматы пленок, что и Прекрасный Ассемблер: Вектор, Криста, Специалист, РК, Микроша, Партнер.
- - - Добавлено - - -
Для винды сделал exe без внешних зависимостей.
Только что проверил на 10-ке, все запускается. Какая винда?
У меня на Win XP SP3 + полный апгрейд весом в дополнительные 1.5 Гб - то же самое.Цитата:
Сообщение от KTSerg
Похоже Ваш компилятор использует более свежую версию какого-то DLL. Возможно удастся выкрутиться, если включать этот новый DLL в дистрибутив и заставлять пользователя Win XP подменять им старый DLL, если это получится (это не всегда получается, если DLL используется в самой Windows XP, то не выйдет). А лучше просто перетранслируйте на более ранней версии компилятора.
Я так понял, что это конверсия из звукового файла в коды. А есть программка для обратной задачи ? Это программа для двухфазной кодировки, что на большинстве отечественных рэтро компов ? Для кодировки ZX-Spectrum и MSX есть такие ?
Понятно. Пользуясь случаем напомню, что XP не поддерживается уже много лет. И дело не в том, что я ее не люблю, а в том, что все средства разработки давно уже не проверяются на XP, никакой новый софт не проверяется и не поддерживается для XP и дальше будет только хуже. Капитан Очевидность signed off.
У меня XP, увы, нет.
То, что вы видите, это в некотором роде технологический курьез. Никакой компиляции тут не происходит. Это просто скрипт, тот же самый, что в репозитории. Exe-файл это просто любезность для пользователей Виндус, потому что им обычно тяжело иметь адекватные средства разработки в силу общей кривизны системы. Кто-то подумал и сделал инструмент, с помощью которого появилась возможность завернуть весь рантайм node.js вместе с зависимостями и скриптом в исполняемый файл. Я ей и воспользовался. Но возможности взять и поставить node.js и запустить скрипт по-людски, равно как и возможности воспользоваться гуглом и найти недостающие DLL, я никого не лишаю. Если у вас получится "выкрутиться", буду благодарен за отчет о том, как именно вам это удалось, потому что это может пригодиться другим.
В конвертере работает тот же код, что и в Прекрасном Ассемблере, где его можно испытать прямо в браузере (хотя, учитывая что мы вспоминаем в этом разговоре Windows XP, я должен сделать оговорку: в браузере в понимании 2017 года). Список форматов такой же: Вектор, Криста, Специалист, РК, Микроша, Партнер.
В обратную сторону для распознавания wav-ов с кассет я летом написал Тапир:
http://zx-pk.ru/threads/27958-tapir-...isty-86rk.html
Тапир это скорее эксперимент, чем законченный инструмент. Скачивание файлов в виде бинарника я даже не делал в нем, есть дамп. Все понимаемые им форматы на основе BPSK. Поддерживать FSK мне, честно говоря, лень, тем более, что для западных компьютеров написан миллион разных программ уже и так, а всевозможных альтернативных форматов записи у них миллиард. Вот усилить хитроумность распознавания — это что-то, чем я может быть в обозримом будущем хотел бы заняться. Но пока Тапир смог разобрать мне те записи, которые я не мог расковырять своими предыдущими экспериментами, менее удачными, поэтому не опубликованными.
Если у вас есть какие-то кассеты, которые не получается вычитать имеющимися инструментами, но которые при этом не совсем убитые и есть чутье, что будь струмент чуть половчее, было бы вот: сохраните с них оцифровку. Это может пригодится в качестве тренировочных данных на будущее.
:v2_dizzy_aaaaa::v2_lol::v2_dizzy_biggrin2::v2_lau gh:
Вылез из-под стола (праздничного), :v2_ny:
переписал/скомпиллировал на другом языке (был интересен формат Вектора)
В процессе переписывания появлялись мелкие вопросы...
Код:1) Почему такие значения speed ? (изменил на другие, более близкие к реалам значения)
для РК - 12 (изменил на 10)
для Партнёра - 8 (изменил на 10)
для Микроши - 12 (изменил на 15)
для Специалиста - 9 (изменил на 8)
Вектор, мне кажется, нужно по-быстрее.
2) Почему для Микроши в конце после микроша-суммы дополнительно писались ещё 0xE6 и РК-сумма ? (убрал)
И вообще, во многих случаях пишутся лишние байты (нули).
[свернуть]
Вдруг кто не знает - ROM2WAV
DDp, спасибо! Конструктив!
Форматы там переплетаются так просто потому, что в Микроше как-то назло всему миру сделали несовместимую КС, но и положили ее не туда. Пэддинг нулями в конце это просто чтоб не обрывать звук слишком внезапно. Не все плееры уважают последние доли секунды. Константы надо бы вообще сделать настраиваемыми. Эти я взял с потолка и с полей сообщили, что мониторы-загрузчики ими остались довольны. Так что я их больше и не трогал.
Про ROM2WAV я знаю, но во-первых он меньше 18МБ, во-вторых только под винду и в третьих я не знаю можно ли запустить его без интерфейса. Я люблю написать 'make' и получить на выходе ошибку, если ошибка, или .rom и .wav, если все хорошо.
Конечно, тишина тоже годится.
DDp, спасибо за исходник!
А пакета программ(IDC, CLR, APG, SHIM) под 64 винду нет случайно?
Не уверен, правильно ли я понял - речь о CP/Mовских утилитах PPC для работы с картинками?
Про его утилиты он сам ответит, а я делал такой просмотрщик/конвертер, он работает и под Win32 и под Win64.
Наверное просто я не разобрался прежде чем написать. Я подумал, что IDC.com, CLR.com и тд под винду.
Я хочу сделать картинку под Вектор, используя либо эмулятор, либо виндовые проги(что было бы удобнее).
ivagor, можете посоветовать что-то?
Сделать в смысле сконвертировать из bmp или чего-то подобного? Если да, то SPRView по ссылке выше подойдет. В readme есть список поддерживаемых форматов.
Нет, они под CP/M.
А можно небольшое пояснение, что имеется в виду под "картинкой под Вектор"? Снапшот видеопамяти, или файл с каким-нибудь конкретным форматом. На ум приходят форматы редакторов Карандаш, Draw, Rembrandt.
Если дело касается Карандаша, могу выложить малюсенькую утилитку, которая скручивает 32К файл (образ видеопамяти) в Карандашный-же .scr файл. Одна беда, утилитка тоже будет под CP/M (ээ... МикроДОС, чтобы быть точнее).
Я имею ввиду нарисованную для компьютера Вектор, которую можно посмотреть на Векторе. Я могу и в МикроДОСе работать, но тогда куча вопросов наверное будет. А графических редакторов для Вектора не так много, думаю подберу себе какой-нибудь. Использую эмулятор VV, но не понимаю какие клавиши на клавиатуре соответствуют клавишам Вектора.
- - - Добавлено - - -
в ручную нарисовать, без конверсий. Либо нарисовать вручную в писишных редакторах и перевести SPRView, но тогда нужно знать размеры и доступные цвета картинки/
upd: смог получить файл в формате *.spr , подскажите как его можно посмотреть в эмуляторе?
Можно так сделать:
1. Создаем папку, в которую помещаем VIEW.COM и картинки spr.
2. Качаем эмулятор Virtual Vector. Запускаем. В меню File > Drive A: > Open Folder as FDD Image... и выбираем папку из п.1
3. Кидаем (драг&дроп) в окно эмулятора подходящий дос, например mdos31.com
4. ДОС должен стартовать, появится A:>
Можно посмотреть оглавление - D и enter
Можно посмотреть картинку - VIEW, enter и дальше в просмотрщике курсором выбираем и пробелом просматриваем картинку. Выход из просмотра тоже пробел.
ivagor, огромное спасибо!
- - - Добавлено - - -
svofski, понял. Попробую!
Как вариант, вместо mdos31.com можно взять f51.rom - в просмотрщике будут русские буквы вместо латинских в заголовке списка (хотя и без этого понятно).
В качестве примера, какие картинки может показать вектор, приложил конверсии Романа Пантелеева.