PDA

Просмотр полной версии : ПК8000 - Софт: Старый и Новый



Страницы : 1 [2]

DemonId7
19.01.2019, 01:53
Проверил на реале (v. 5). Вроде порядок:
67725
Мафон пока проверить не могу, нужно шнурок перепаять, а все оборудование осталось на работе.

ivagor
19.01.2019, 07:29
Думал без .базы IDA бейсика (которая осталась на другом компе) не справлюсь, но с утра свежим взглядом сразу увидел в конфиге ошибку. В 006.03 исправленный конфиг emu, позволяющий и загружать и выгружать cas. Сам BAS02.cas такой же, как в 006.02.
Если подвести итог, то преимущества этого бейсика перед родным пзушным: расширенные графические, музыкальные и математические возможности, удобный экранный редактор. Недостатки: почти в 3 раза меньше места под программу, нет средств для обмена с дисководом.
Возможно кто-то пытался запустить putup и ping в этом бейсике. К сожалению нормально они работать на ПК8000 не будут по двум серьезным причинам:
1. Нет поддержки спрайтов.
2. Эти игрушки при задании знакогенератора пользуются машиннокодовыми вставками и на уровне бейсика я это перехватить никак не могу, поэтому цвета такие. Можно было бы пропатчить машиннокодовые вставки, но без п.1. в этом все равно нет смысла.

Pyk
20.01.2019, 23:48
Мой конфиг, приведенный несколькими постами ранее, вроде бы правильный, с загрузкой проблем нет, но в cas почему-то не всегда сохранение работает.
Возможно, сломал что-то в последних сборках эмулятора. Не удалось пока посмотреть, в чем дело, поправлю наверное уж в следующем релизе.

ivagor
21.01.2019, 07:33
Пробовал в emu80 сохранение в cas и оно работало правильно (пробовал 3 разных файла в BAS02 из 006.02-03), но есть вопрос с загрузкой (возможно с сохранением аналогично, просто я не пробовал). Загрузил 2 файла из cas, все нормально. Потом загрузил файл из wav с отказом загрузки из cas. После этого перехват cas не срабатывал, пока не вышел и снова не запустил emu80.

Pyk
21.01.2019, 19:47
ivagor, спасибо за эксперимент, похоже именно после загрузки из wav и не работает сохранение в cas. Причем почему-то только из этого бейсика, из штатного все ок.
Пока небольшой напряг со временем, так что сегодня вряд ли, но на днях посмотрю.

ivagor
21.01.2019, 20:32
Вопрос на смежную тему - в emu80 есть штатный способ записи в wav, примерно как в emu? Можно, конечно, в фоне запустить программу записи, но со встроенной записывалкой было бы удобнее.

Pyk
21.01.2019, 23:07
ivagor, есть, но несколько неочевидный и зависящий от перехватов: пытаемся записать файл, а на запрос имени файла вместо cas выбираем тип файла wav (или csw).

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

Кстати, оказывается, в emu такой вариант тоже реализован.

ivagor
22.01.2019, 07:56
Забавно, что в emu я про такую возможность знал, т.к. даже случайно сохранял в wav вместо cas, когда emu предлагал это расширение и я не глядя нажимал enter. А в emu80 не нажал выпадающий список расширений/типов.

ivagor
22.02.2019, 18:43
Опять Music System. Теперь для ПК8000. Если вы не знали, зачем на ПК8000 нужен монитор РК86 (RK86.HEX.cas), то конечно для запуска музыкальной системы. В readme описан процесс загрзуки и запуска системы, а также загрузки и проигрывания мелодий. Подробнее про музыкальную систему можно почитать здесь (https://zx-pk.ru/threads/30104-muzykalnaya-sistema.html?p=998944&viewfull=1#post998944), там же есть архив с примерами (41 штука).
Если вас не интересует музыкальная система для ПК8000, то архив с ней можно скачать ради приложенных конфигов Emu80 и emu, позволяющих удобно загружать в монитор РК86 файлы .rk.
На данный момент из эмуляторов для данной системы могу порекомендовать Emu80, там скорость и диапазон воспроизведения будут соответствовать реалу и качество биперения там получше. А отлаживал (как обычно) в emu, такие дела.
Отмечу еще, что здесь исправил маленькую ошибку (совершенно не критичную) инициализации мелодии, которая была в версии для РК86 и которую я перетащил и на другие компы. Этой ошибки нет в одной версии для вектора и в версии для ПК8000.

ivagor
07.05.2019, 21:20
Описание порта 86h Суры не соответствует схеме и прошивке 1.2 по принтерным битам. b2m про это вроде писал и он точно это учел в эмуляторе. Схеме Хобби описание тоже не соответствует, только эта схема совсем в плохом качестве.
Также в книжке неправильно описан входной параметр процедуры 0070h (опрос пробела или кнопок джойстика). Его диапазон не 0-2, а 0-4 (в версии 1.2). В версиях 1.0 и 1.1 эта процедура для джойстиков работает не совсем верно, в 1.2 поправили (но описание осталось).

ivagor
08.05.2019, 11:22
Вот пост (https://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=147951&viewfull=1#post147951) b2mа, где он описал различия 1.1 и 1.2. Он там только не упомянул про диапазон параметра STRIG.

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

Понял насчет STRIG. В описании соответствующей функции бейсика все правильно (аргумент 0-4), ошибка только в описании собственно функции в пзу (Приложение 7. Точки входа в пзу).

Arix
08.05.2019, 21:19
Возможно ли в принципе проапгрейдить встроенный Бейсик до дискового? В простом варианте сделать ассемблерную программу, добавляющую функции работы с диском, пусть она даже будет грузиться с магнитофона. Чтобы набрал, например, LOAD"A:FILNAM", и программа будет грузиться с диска. Или какой-нибудь DLOAD. В более сложном варианте - зашить "патч" в ПЗУ. Можно заменить 8 РФ-к одной микросхемой. Или там всё под завязку, в 16 кбайт уже не влезет? Да, ещё можно использовать ROM-картридж.
Кстати, а имеющимся Бейсиком можно как-то дисковод или жесткий диск "подёргать"? Через POKE. Где-то тут я встречал упоминание о программе, загружаемой с магнитофона, которая тестирует дисковод.

ivagor
09.05.2019, 06:46
Правил в пзу две известные мне ошибки - несовместимость с z80 и маленькую ошибку (https://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=206742&viewfull=1#post206742) в математике. А недавно сделал (в эмуляторе) вариант с внешним пзу. Только он конфликтует с НГМД/SD. Если кому известны еще ошибки в пзу - напишите, может получится поправить. А вот обмен с диском мне не интересен.

DemonId7
21.06.2019, 12:38
cut

Arix
21.06.2019, 21:16
Cпасибо! Пока запустил в эмуляторе, завтра, наверное, попробую на реале.

cy6
23.06.2019, 12:08
Выложу на пробу версию файлового менеджера для жестких дисков
А скринов или видео у вас нету случайно? Хотя бы полюбоваться, запустить пока нету возможности.

DemonId7
23.06.2019, 22:45
Да пожалуйста:
693496935069351693526935369354693556935669357

Arix
24.06.2019, 22:38
На реале:
https://i.ibb.co/rFpQ50T/IMG-20190624-231324.jpg (https://ibb.co/rFpQ50T) https://i.ibb.co/5hP42N1/IMG-20190624-231806.jpg (https://ibb.co/5hP42N1)

https://i.ibb.co/rtBrzJ1/IMG-20190624-231855.jpg (https://ibb.co/rtBrzJ1)

Копирует, удалирует. Программы из-под него запускаются.


В планах управление USER областями
Пока он показывает только то, что в USER0 или всё в куче?

DemonId7
25.06.2019, 09:10
Да, пока только user0.

Arix
02.07.2019, 22:37
Ух ты, он как-то в автозагрузку прописался. Включаешь комп, и тебе сразу синие панели. Ляпота!

Юзеры - с точки зрения организации файловой системы это что такое? Каталоги или атрибуты у файлов? Что-то в книжке про СР/М-80 об этом не рассказывается. В книге про СР/М-86 написано, что в MS-DOS применяются подлкаталоги, выполняющие те же функции, что и разделы пользователя в СП/М, но там они являются более мощным средством. Но это, опять же, с точки зрения пользователя. Софт в Windows видит их как каталоги.

Black Cat / Era CG
02.07.2019, 22:45
Юзеры - с точки зрения организации файловой системы это что такое? Каталоги или атрибуты у файлов?
Наверное нечто среднее, но все ж ближе к каталогом. Может быть два файла с одним именем, в разных юзерах.

DemonId7
03.07.2019, 12:49
В автозагрузку прописаться не может, только при запуске других программ. Чтобы навсегда прописаться в автозагрузку, нужно немножко подправить систему, чуть позже расскажу как.
Юзеры - это те же каталоги, но с ограничениями:
1. У них нет имём, только номера.
2. Их количество ограничено 16 штуками на диск (от 0 до 15).
3. Они не могут быть вложенными друг в друга.
Были модификации CP/M, где можно было давать им имена и даже вложения друг в друга. В принципе ничего сложного в этом нет, я изначально предусмотрел для этого резервные сектора на дисках :) Может и дойдут руки реализовать.
-----------
В принципе работа с аттрибутами и user-областями готова, осталось решить проблему автозапуска после запуска программ из USER-областей отличных от нуля. Если будет время, то завтра и допишу.

Arix
03.07.2019, 22:42
В автозагрузку прописаться не может
А вот, я включаю компьютер, загружается система, и FM запускается, причем, помнит открытые диски, слева А, справа В.
Хм... Сейчас нажал Reset, и всё, больше он не самозапускается. Что это было? :)

b2m
04.07.2019, 09:25
Что это было?
Выключил комп, когда была запущена программа, а не FM.

DemonId7
16.07.2019, 18:10
Очередная версия файлового менеджера. Теперь с юзер-областями, переключаемыми по Shift+F1(F2). Shift+F4 позволяет менять атрибуты файлов. В планах добавить краткую инфу по дискам и пожалуй все.
--------------------------
Перезалил. Нового пока ничего нет, исправил косяки:
- поправил косяк с отображением командной строки;
- исправил ошибку с удалением файлов $$$.SUB;
- исправил функцию переименования, теперь можно перезаписать существующий файл; плюс сохраняются атрибуты исходного файла;
- подправил отображение свободного места на дисках, а то из-за юзер-областей возникла рассинхронизация.
- чуть-чуть ускорил групповое удаление файлов;

DemonId7
20.07.2019, 06:41
На днях выложу новую версию системы. В ней ускорил операции чтения\записи, примерно на четверть. Хотя все равно примерно в полтора раза отстает от дисковода. Думаю нужно вернуться к схеме вектора, только изменить её с учётом особенностей суры. В ней скорость приблизится к дисководу.
Актуальна ли эта разработка? Или и нынешняя устраивает?

Arix
20.07.2019, 22:43
Меня пока устраивает. Только можно ли сделать, чтобы файлы показывались в алфавитном порядке?

DemonId7
22.07.2019, 16:02
Можно конечно, только потребует большой переделки кода. Вместо стандартных динамических списков файлов я использовал простой массив. Это упрощает код и экономит память (256 файлов занимают 3328 байт, вместо 4352 в динамических списках), но делает невозможной сортировку.
Попробую на досуге.

DemonId7
27.07.2019, 18:28
Пробная версия с сортировкой файлов по алфавиту. Хочется чтобы погоняли у себя, на предмет поиска ошибок. А я пока добавлю сортировку по расширению.

Arix
29.07.2019, 22:05
Погонял. Сортировка нормально работает. Время открытия диска, вроде бы, не увеличилось.
Обнаружил такие ошибки: Help - показывает пустое окно. Snift+F3 (info) - не работает. Правда, не знаю, работало ли раньше.
Пожелание: сделать перемещение файлов. Чтоб как в NC: по клавише Rename, если не вводить новое имя, файл переносился на диск в другой панели. Или, например, по Alt+F4. Иначе приходится сначала копировать, потом удалять исходные файлы. Если надо переместить много файлов на одном диске из одного user'a в другой, а места на диске мало, может сразу и не получиться.

DemonId7
30.07.2019, 20:32
Help - показывает пустое окноИсправил.

Snift+F3 (info) - не работаетНе работала. И вообще решил отказаться от инфы. Инфу по диску можно посмотреть с помощью системной утилиты STAT. Так что нефиг дублировать функции, итак размер уже до 10Кб вырос.

Пожелание: сделать перемещение файлов
Я подумаю как удобнее реализовать, может действительно как отдельную команду, скажем 'MOVE' (Alf-F4). Не хочется смешивать в кучу переименование и перемещение, это противоречит идеологии CP/M.
----------------
Выкладываю очередную версию.
Пофиксил:
- help;
- баг с курсором, при удалении (внес его прямо перед выкладкой той версии, думал место съэкономить);
- поправил алгоритм копирования, точнее вставку нового файла в противоположную панель (теперь полностью соответствует нортону);
- поправил переименование (в соответствии с сортировкой файлов);
- поправил строку помощи (F1-F5), добавив реагирование на Alf;
- добавил выбор типа сортировки для каждой панели (вызывается по Shift-F3), по имени и расширению;

Эта версия уже полностью рабочая. Разве что добавлю перемещение файлов.

DemonId7
06.08.2019, 17:21
Версия 1.5.
Исправил некоторые баги и добавил новые :) Пришлось изрядно перекроить код, чтобы уложиться в прежний размер, так что насчёт новых багов не шутил.
Перемещение файлов сделал отдельной операцией, по Alf-F4.

Arix
09.08.2019, 22:37
Ну, вот, вроде, и всё, что требовалось. :)
Наконец-то добрался. Лень было в очередной раз отцеплять винт от Суры и цеплять его к компу с Windows, потом обратно. :) Всё ищу подходящий небольшой корпус, чтобы вставить туда Mobil rack. Тогда перестановка винчестера будет намного удобнее.
Багов пока не заметил.
Сортировка "как лежит" была в некоторой степени удобна тем, что когда надо просмотреть новые файлы, не надо было вспоминать, что было добавлено. Они все лежали в конце списка. Но новые файлы можно закинуть в любой пустой user-каталог, а после проверки теперь их можно легко переместить в общую кучу. Без файлового менеджера файлообмен между каталогами пользователей был крайне неудобен.
Большое спасибо!

DemonId7
10.08.2019, 02:42
Решил добавить функцию просмотра экрана "под" панелями менеджера. Очень удобно, когда нужно посмотреть результат запуска программ, например того же компилятора бейсика. Повесил на Alf+F5.
На этом пока и остановлюсь, разве что какие баги всплывут, очень уж хочется дописать свой старый плеер adlib-музыки.

Dennion
21.01.2020, 00:30
Ох какой крутяг, год отсутствовал и у же файловый манагер. DemonId7, похвала и благодарность! Может я пропустил, а плеер pt3 файлов не добили? Хотя и от файлового менеджера радости до ушей, молодец!

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


Ну, вот, вроде, и всё, что требовалось. :)
Наконец-то добрался. Лень было в очередной раз отцеплять винт от Суры и цеплять его к компу с Windows, потом обратно. :) Всё ищу подходящий небольшой корпус, чтобы вставить туда Mobil rack. Тогда перестановка винчестера будет намного удобнее.
Багов пока не заметил.
Сортировка "как лежит" была в некоторой степени удобна тем, что когда надо просмотреть новые файлы, не надо было вспоминать, что было добавлено. Они все лежали в конце списка. Но новые файлы можно закинуть в любой пустой user-каталог, а после проверки теперь их можно легко переместить в общую кучу. Без файлового менеджера файлообмен между каталогами пользователей был крайне неудобен.
Большое спасибо!
Можно на CF карту закатать образ диска и ТоталКомандер плугин поставить, там выбрать файл и F5. Могу помочь с образами дисков, собаку съел с ними :)

Arix
23.01.2020, 22:36
СF-карта - это, конечно, удобно. Но я ретрокомпьютерщик, я люблю чтобы что-то крутилось, жужжало, тарахтело. Думаю, прицепить винт KALOK на 42 Мб. Такой кирпичик, как два обычных ЖД 3,5" положить друг на друга. Бог с ним, с мобил-реком. Ёмкость подходящая, и он тарахтит, как маневровый тепловоз, когда затаскивает вагоны на горку! :)

У меня практически все компьютеры, имеющие жесткий диск, прямо или косвенно подключены к общей локальной сети. Например, УКНЦ - косвенно, через С2 (COM-порт) подключена к старому ноуту, который, в свою очередь, - к Ethernet. А вот, у Суры RS232 нет. Но есть порт принтера. Правда, это не стандартный LPT. Вот бы, организовать передачу файлов через него.

DemonId7
27.01.2020, 09:15
pt3 не добил и даже не притрагивался. Добил adlib-плеер, но это уже ай-би-эм пи-си и вряд ли кому здесь интересно, да и осталась ещё фаза оптимизации кода, без этого плеер стыдно людям показывать.
До лета вряд ли вообще будет время на хобби, через неделю-другую получу ключи от квартиры и здравствуй ремонт :) Сейчас вот пытаюсь составить схему электропроводки, скоро делать, а пока никак не получается до конца определиться. В общем, я пока пас :)

DemonId7
17.08.2020, 19:59
Итак, первый релиз вьюнера спектрумовских картинок из под CP/M. Код совместный: GUI - мой, конвертеры картинок в формат ПК8000 - Ивана Городецкого.
Поддерживаемые форматы можно узнать по F1. В планах ввести поддержку user-областей (очень удобный "аналог" папок), и возможно режим просмотра с командной строки. Тогда и исходники выложу, пока просто стыдно :)

PS: В режиме просмотра можно переходить к следующему/предыдущему файлам клавишами курсора, чтобы не выходить каждый раз в файловый менеджер.

ivagor
18.08.2020, 10:25
Вчера попробовал все форматы - нормально просматриваются, багов не заметил. Теоретически еще можно добавить мерцающие спековские режимы: GigaScreen (нужно две экранные области), триколор (три экранные области). Но это сильно на любителя. Можно добавить просмотр 2-х цветных bmp.

DemonId7
18.08.2020, 10:46
GigaScreen (нужно две экранные области), триколор (три экранные области)Памяти много сожрет, что ограничит память под списки файлов. Посмотрю что можно сделать, может у системы малость откушу. Или попробовать загружать файлы с диска частями. В общем, подумаю на досуге.


Можно добавить просмотр 2-х цветных bmp.Это можно.

DemonId7
27.08.2020, 17:38
Вьюнер с поддержкой user-областей. Исходники прилагаются. Два экрана для эмуляции мерцания или труколора не получаются, не хватает памяти. Так что пока все.

ivagor
27.08.2020, 18:36
Двухцветные bmp все же можно добавить, им второй или третий экран не нужны.
Если запускать из cp/m window commander (на диске по умолчанию в emu), то при выходе портится псевдографика рамок, желательно подправить.

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

Хотя пожалуй двухцветный bmp не нужен, его можно легко конверснуть или в спековский формат или в msxный и так посмотреть.

DemonId7
27.08.2020, 19:37
Странно, по идее перезагрузка ОС (завершение программы) должна восстанавливать знакогенератор. Хорошо, сделаю это на выходе с программы. Все равно забыл копирайты в viewer.m80 вернуть, вот и подправлю заодно :)

DemonId7
28.08.2020, 05:35
Исправил.

DemonId7
20.12.2020, 02:18
Версия с поддержкой формата VM2.

dk_spb
02.11.2021, 20:20
А кто-нибудь софт собирает и систематизирует?
Вот тут (https://zx-pk.ru/threads/17872-neizvestnye-kassety-opoznanie-otsifrovka-i-t-d.html?p=1135209&viewfull=1#post1135209) список файлов. Такие нужны?
Или это стандартный набор?

DDp
02.11.2021, 21:27
А кто-нибудь софт собирает и систематизирует?
Вот тут список файлов.
Продолжу здесь.


Всё на бейсике
самоделка - не стоит...
КЛАД - как на заводской кассете
СУРА - как на заводской кассете
ТАНЕЦ - как на заводской кассете
7. SOCOBA
8. SOCOBA - провалы, попробую починить
15. КОРОЛЬ - провал в самом начале
18. GE-BAS
19. GE-BAS - провалы, попробую починить


Во вложении: ЗОЛОТО, ЗАМОК, БИРЖА, LAND, PACMAN.

dk_spb
02.11.2021, 21:52
король и сокобан не такие ?
oldpc.su/1/7.rar ?

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

если надо - я могу перечитать.

DDp
03.11.2021, 19:58
король и сокобан не такие ? oldpc.su/1/7.rar ?
Нет, другие.
15. КОРОЛЬ - по тексту, это Королевство Эйфория, как на РК.

DDp
04.11.2021, 15:23
8. SOCOBA - провалы, попробую починить
19. GE-BAS - провалы, попробую починить
Починил, во вложении: SOKOBA, GE-BAS.


если надо - я могу перечитать.
Ну, "Короля" можно попробовать. r4 - 18-я...20-я минуты. Там провал "в ноль" на 600 мс в самом начале блока.

ivagor
24.12.2021, 19:09
После поста (https://zx-pk.ru/threads/34009-bk-bystree-vsekh.html?p=1140654&viewfull=1#post1140654) Manwe сделал вариант елки для ПК8000. 42 байта, на конкурсе (https://demozoo.org/parties/4398/) было бы 6 место. "ПК8000 попал в топ по размеру кода" и все такое, но не стоит относится к этой простенькой демке настолько серьезно.

ivagor
26.12.2021, 07:13
Оказывается забыл положить в архив елки CAS, теперь добавил.

reddie
26.12.2021, 15:29
После поста Manwe сделал вариант елки для ПК8000
Допилил свою версию для Спектрума, 35 байт, ссылка ниже. Согласен насчет условностей конкурса, многое зависит от особенностей компьютера.

https://zx-pk.ru/threads/34014-christmas-tree-event-risuem-elochku-).html

ivagor
26.12.2021, 17:35
Второй вариант елки получился 36 байт, для z80 можно сократить минимум на байт.

ivagor
28.12.2021, 18:23
Post-deadline версии (http://www.sizecoding.org/wiki/Christmas_Tree#Optimized_post-deadline_versions) для C64 и ZX - 36 и 32 байта соответственно, попробовал еще подумать на елкой. Сократил вариант для ПК8000 на байт (стало 35 байт), по крайней мере C64 получилось опередить. С z80 можно сократить еще на байт, но до ZX все равно остаются лишние 2 байта. Интересно, что обе вышеупомянутые версии для C64 и ZX используют для вывода на экран процедуры ПЗУ, а тут запись напрямую в видеопамять. Картинка совпадает с CTREE2, только 3 вместо 2.

Arix
02.01.2022, 14:52
DemonId7, никак не разберусь с просмотром картинок на Суре.
Сначала я по простоте душевной закинул ВМР-шки из папки PictureПК8000 на диск СР/М. Ага, разбежался! IVIEW их не видит, требует SCR, VM2 и т.п. Ладно, так уж и быть, читаем документацию, хотя у нас это и не принято. :)

Для конвертирования изображения по правилам и ограничениям ПК8000:
1. Подготовить исходное изображение:
- размером 256*192 точки;
- 24-битным цветом;
- и сохранить в формате TGA.
2. В командной строке ввести:
scr2Floyd_32bit_PK8000.exe name.TGA,
где name - любое имя файла.
3. Результатом станет создание файла в виде:
name_pk8.TGA

Переконвертировал ВМР в ТГА, сделал 24 бита. Ввожу команду scr2Floyd_32bit_PK8000.exe name.TGA (конечно, вместо name указываю имя файла или *, чтобы сконвертить сразу всё), а она мне пишет: "Unsupported file format!" То же самое и с 8 битами.
Так я и не понял, как сконвертировать исходное изображение в формат, который может открыть IVIEW на реальной Суре?

ivagor
02.01.2022, 15:09
Проще и лучше воспользоваться утилитой DaDither (https://zx-pk.ru/threads/32400-dadither-eshche-odna-programka-dlya-dither-ga-kartinok.html)

Arix
02.01.2022, 19:45
Оказывается, она у меня уже есть...
Всё получилось. Правда, картинки получаются растянутыми по горизонтали, т.к. размеры пикселей по вертикали и горизонтали разные.

ivagor
02.01.2022, 20:11
Правда, картинки получаются растянутыми по горизонтали, т.к. размеры пикселей по вертикали и горизонтали разные.
Это можно регулировать разными способами, в т.ч. и в самой утилите - там есть опция Pixel Aspect Ratio. Плюс в некоторых случаях может быть полезна опция Position. Ну и никто не запрещает перед скармливанием картинки утилите сжать/растянуть ее по своему желанию в графическом редакторе.

ivagor
08.01.2022, 14:02
Продолжается битва елок. Комодорщики урезали версию для C64 до 33 байт, что мотивировало еще подумать над версией ПК8000 - сократил байт (стало 34). Теперь ПК8000 между C64 (33) и PLUS/4 (35). Версия 4 выходит в бейсик с сообщением об ошибке (рисунок не портится), в правилах не увидел запрета на это.

reddie
08.01.2022, 14:14
выходит в бейсик с сообщением об ошибке (рисунок не портится), в правилах не увидел запрета на это.

Свою версию для ZX тоже писал с расчётом под это, только моя вообще в Бейсик не выходит =)
Да и Manwe выложил вариант с подобным трюком, где останов делается через Trap.
По сути, предел уже достигнут, везде лишь продолжаются поиски по задействованию ПЗУ и схожих ухищрений.
Была бы ёлочка побольше (повыше) - вероятно, алгоритмическое построение дало бы меньший код. А так везде массив.

ivagor
08.01.2022, 15:07
Была бы ёлочка побольше (повыше) - вероятно, алгоритмическое построение дало бы меньший код. А так везде массив.
С более сложным рисунком массив/таблица тоже могут оказаться впереди, можно использовать "упакованную" таблицу. Пробовал такой вариант, но на простом рисунке разбухание программы съедает выигрыш от компактной таблицы.

DemonId7
23.12.2022, 23:16
Всем привет!

Набрел тут как-то на исходники игрушки: Двигалка (https://zx-pk.ru/threads/28613-igra-quot-dvigalka-quot-na-apogej-rk.html)
Автор любезно согласился на её порт на ПК8000. Собственно выкладываю результат.
7822978230

В папках находятся:
GAME - собственно сама игрушка.
SOURCE - исходники; для компиляции необходимо закинуть в папку ASM80.EXE, PLM80.EXE, LINK.EXE, LOCATE.EXE и OBJCPM.EXE; взять их можно здесь: Кросскомпилятор PL/M-80 (https://zx-LIBSRC.ZIP - используемые в игре библиотеки, собранные мной специально для ПК8000. Для перекомпиляции кидаем в папки ASM80.EXE и LIB.EXE.
pk.ru/threads/34846-krosskompilyator-pl-m-80.html)
При компиляции исходников CP/M-версии происходит запись игрушки на файл образа жесткого диска эмулятора EMU (строка: c8000w.exe -r "d:\emu\PK8000\cf.cpm" A: dvig.com). При необходимости нужно подстроить путь и имя образа жесткого диска.
Версия для магнитофона (DVIGTAPE.ZIP) генерирует сразу CAS-файл.

Не знаю как в игру прикрутить звуки через AY, поэтому прикрутил свой плеер STC. В общем, игрушка проигрывает все найденные на текущем диске музоны. В принципе и так сойдет, хотя хотелось большего. Версия для магнитофона естественно без музыки.

Пожелания, критика и прочее приветствуются. Если кто знает как сделать нормальный звук, то ему заранее огромное спасибо :)

PS: Управление стрелками: влево,вправо,прыжок и взять/бросить (стрелка вниз). Добавил возможность поменять клавиши управления, подробности в README.TXT.

78252
78253
78254

DemonId7
24.12.2022, 13:34
Новая версия STC Player. Точнее сделал ее его с пол года назад, но все руки не доходили привести код в порядок.
Изменения:
- поддержка User областей.
- подсветка имени проигрываемого музона в плэй листе.
- ввод имени файла при сохранении плэй листа.
- исправил несколько выявленных багов.
Из недостатков. Из-за поддержки user-областей формат плэй-листов изменился и не совместим со старыми.

PS: Выкладываю только исходники и сам COM файл, поскольку оказалось, что с XP теперь на сайт не зайти, а на этом компе у меня нет Total Commander, соответственно не могу сделать образ дискеты с проигрывателем. Если получится, на днях доложу, но это не точно - праздник на носу.

PPS: следующая версия уже будет с поддержкой pt2/pt3, на этом наверное и закончу.

78236

DemonId7
28.12.2022, 15:20
Немного изменил игрушку - добавил возможность перенастройки кнопок, а то на реале оказалось не очень удобно. Плюс добавил версию под магнитофон, точнее формат CAS. Грузится из интерпритатора бейсика: BLOAD "DVIG",R

ivagor
21.01.2023, 07:24
Исходя из этой (http://www.raregame.ru/text/PC8000.html) информации можно примерно понять, что из себя представлял BASIC 2.0 для ПК8000. На картридже разглядел 3 пзушки, т.е. 3x2=6 Кб. Учитывая 40 KBytes free можно с большой долей уверенности предположить, что дополнение переписывалось в озу, поэтому уменьшался объем памяти для программы. Ну и по функциональности - это было именно расширение встроенного бейсика, скорее всего в рамках операторов и функций со звездочкой из приложения 1 в fdd_kniga_2_sura_pk8000_basic.djvu. Т.е. это не адаптация msxного бейсика, как для пк8002 и я не зря старался.
Еще интересная информация про мышь от корвета, но т.к. программ нет, то интерес исключительно исторический.

DemonId7
21.01.2023, 09:29
Еще бы образ с того картриджа снять :)

ivagor
25.01.2023, 17:03
ПК8000 позволяет делать сравнительно быстрые полноэкранные эффекты низкого ("символьного") разрешения, почему бы не попробовать огонь.
bload"FIRDEM",r
Получилось на мой взгляд вполне удовлетворительно, в Emu80 (также должно быть на реале) почти 20 FPS. Emu выдает в районе 32 FPS, такая плавность мне нравится, но, к сожалению, реал все же медленнее. Хотелось бы побольше оттенков подходящих цветов, но ПК8000 это не ПК8002. При старте ощутима задержка для генерации таблицы случайных чисел. Сначала пробовал пзу, но там есть большие участки одинаковых значений и с настоящим ГСЧ лучше.

ivagor
07.02.2023, 06:25
Emu выдает в районе 32 FPS
Пардон, сильно ошибся. В emu80 "родная" частота проца (2.5 МГц) и я по инерции посчитал и для emu с такой частотой. Но там в конфиге 1.8 МГц, поэтому FIRDEM в emu выдает не 32 FPS, а примерно 23, т.е. разница с реалом не такая разительная.

DemonId7
07.05.2023, 18:37
Всем привет!

Выставляю очередной порт для ПК8000. На этот раз довольно интересная игрушка "Bolder Dash", с БК-0010, за авторством товарища Мелентьева. Товарищ Мутель дизассемблировал оригнал и портировал на Поиск-1. С тех исходников родился проект на Обероне от Oleg N. Cher, для разных платформ. Олег любезно предоставил исходники мне и помог создать этот порт. Карты уровней подбирал Алексей Которов, большой спец по части этой игры. Так что уровни точно самые интересные и зачастую очень сложные.

Скачать релиз можно здесь: https://github.com/MrDemonid/Bolder-Dash-PK8000/releases
Файлы:
BOLDER.COM - собственно сама игрушка.
CF.IMG - это образ жёсткого диска с игрушкой для эмулятора EMU80 (https://zx-pk.ru/threads/27488-emu80-v-4.html). Жмём Alt+F9 и выбираем "ПК8000 (HDD/CF)". Можно использовать и в эмуляторе Башкирия-2М, но придется подправить файл конфигурации, куда прописать путь к этому файлу, а так же задать параметры его "геометрии", примерно так:

hdd : cf-ide {
drive[0].image="PK8000\cf.img"
drive[0].geometry=32C4H32S
DISK9.FDD - образ дискеты с игрушкой, подойдет для эмулятора Башкирия-2М. На EMU80 у меня почему-то не работает. Возможно будет работать в QT-версии.
788587885978860

Pyk
10.05.2023, 21:35
DISK9.FDD - образ дискеты с игрушкой, подойдет для эмулятора Башкирия-2М. На EMU80 у меня почему-то не работает.
Не заметил никаких проблем - у меня работает как в Qt, так и в SDL/wx-версии Enu80. В чем заключалась неработоспособность?

Arix
05.06.2023, 23:05
Есть ли программа для передачи данных через LPT-порт между "Сурой" и IBM-PC? Чтобы каждый раз не таскать жесткий диск туда-сюда.

ivagor
07.06.2023, 08:05
Выкладывал прошивки пзу ПК8000 с доработками и исправлениями, в т.ч. там был фикс бага "-32768". Сейчас хорошо разобрался в математике бейсика и должен признать, что мой фикс устранял частное следствие, а не причину. Маловероятно, что кто-то будет менять прошивку реала, но если вдруг, то я сделаю более корректный вариант.

cy6
11.06.2023, 14:35
Есть ли программа для передачи данных через LPT-порт между "Сурой" и IBM-PC? Чтобы каждый раз не таскать жесткий диск туда-сюда.

LPT порт официально умер (не поддерживается драйверами и ОС). Если хочется именно такой способ передачи, то COM порт живее всех живых.

Есть только в проекте пока контроллер SD карты для Суры (апгрейд vinxru на новые фичи).

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


Маловероятно, что кто-то будет менять прошивку реала, но если вдруг, то я сделаю более корректный вариант.
Вдруг случился. :) Инфа крайне полезная. Только дамп есть или и дока?

З. Ы. Проблема Суры не в прошивке, а в выпайке выкусывании РФки из платы с нежными дорожками.

ivagor
11.06.2023, 14:55
Можно подключить альтернативную прошивку в разъем расширения, не выпаивая пзушки из ПК8000. Такой вариант с конфигом для Emu я где-то в этой теме выкладывал. Но та "внешняя" альтернативная прошивка несовместима с дисководами, это разве что для голого ПК8000 загружаемого с магнитофонного входа. Если менять пзу в ПК8000, то там будет совместимо с дисководами, но вопрос в другом - зачем это делать? Альтернативные варианты, которые я выкладывал, решали 2 проблемы:
1. Несовместимость бейсика с z80. Никому не нужно, т.к. ПК8000 с z80 нет.
2. -32768 или &h8000. Увидеть эту ошибку можно например сделав poke по этому адресу или если использовать в bsave. Насколько это востребовано мне сложно судить, думаю можно пользоваться ПК8000 и с такой ошибкой.

cy6
11.06.2023, 15:27
Новый корректный вариант интересует, конечно же. Можно даже официальный номер присвоить новой версии ПЗУ, точнее ее "вилки".

ivagor
11.06.2023, 18:13
Можно пощупать такой (https://zx-pk.ru/threads/8376-pk8000-emulyatsiya-i-vse-chto-s-nej-svyazano.html?p=1154243&viewfull=1#post1154243) вариант. Там кроме вышеупомянутых вещей еще проверка имени загружаемого файла убрана.

Arix
23.06.2023, 09:18
LPT порт официально умер
Ну и ПК8000 тоже, как бы, официально умер. Я помимо него и Спектрумов увлекаюсь ретрокомпьютерами вообще, так что, с LPT-портами и драйверами у меня проблем нет. Да и на моём основном компьютере он есть. Есть и переходники USB-LPT. Windows 7 поддерживает LPT, 8-ка, 10-ка - не знаю.
А СОМ-порта у "Суры", к сожалению, нет.
Только здесь может быть другая проблема.

Стандарт позволяет использовать интерфейс в нескольких режимах:

SPP (Standard Parallel Port) — однонаправленный порт, полностью совместим с интерфейсом Centronics.
Nibble Mode — позволяет организовать двунаправленный обмен данными в режиме SPP путём использования управляющих линий (4 бит) для передачи данных от периферийного устройства к контроллеру. Исторически, это был единственный способ использовать Centronics для двустороннего обмена данными.
Byte Mode — редко используемый режим двустороннего обмена данными. Использовался в некоторых старых контроллерах до принятия стандарта IEEE 1284.
EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2Мбайт/сек.(1991)
ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA, также поддерживает симметричный двунаправленный обмен данными со скоростью до 2,5 Мбайт/с.
Возможен ли Nibble Mode для ПК8000?

Mick
23.06.2023, 15:19
Только здесь может быть другая проблема.

Вот в том и дело, что простые USB-LPT имитируют виртуальный принтер и к ним как LPT порту не достучишься, со всеми вытекающими последствиями.

cy6
25.06.2023, 18:03
ПК8000 не умер. Его никто не ставил на поддержу и не снимал.
Тут все решают для себя.


10-ка - не знаю
Вот именно, что не знаете.
Именно об этом и шла речь, о полном снятии его с поддержки производителями.

У Суры нету LPT, у нее есть параллельный порт принтера, совместимый с некоторыми LPT принтерами.

Да ком-порта тоже нет. Но на текущий день именно ком-порт является очень перспективным, а lpt нет.
Уровень поддержки COM и его наличие, на разных устройствах огромен.

Внедрить можно через тот же параллельный порт Суры.
Имея ком-порт, можно даже в интернет выходить, через ESP8266.

Arix
01.07.2023, 20:04
У Суры нету LPT, у нее есть параллельный порт принтера
Разве это не одно и то же?

Какая, в общем, разница, поддерживается или нет. Если это реально сделать, не надо никого отговаривать. Если кто-то захочет этим заняться, пусть делает. Я пока не получил четкого ответа от специалистов, реализуема ли в принципе передача через порт принтера на "Суре".
У кого есть советские или другие древние компьютеры с флоппи-дисководами (особенно, 5,25), ему надо эти дискеты как-то записывать. А значит, у него должен быть старый или относительно старый IBM-PC-совместимый компьютер, в который такие дисководы можно установить. А если материнская плата имеет флоппи-интерфейс, у неё будет и LPT и набортный IDE. И ОС будет стоять, какая надо, например, ХР, и в ней всё будет работать. У меня это мой первый компьютер, 2001-го года, он у меня как раз и используется для обмена данными со Спектрумами, Корветом, УКНЦ, Сурой и т.д. Так что, кому надо, у него с данным портом проблем не будет. Если грузиться только с магнитофона, оно вряд ли нужно.


Внедрить можно через тот же параллельный порт Суры.
Имеете в виду разъем расширения? Это, конечно, замечательно, если кто возьмётся. Так и сетевую карту можно забабахать.

ivagor
05.11.2023, 14:33
Простой пример для демонстрации одного из преимуществ (точности) портированного с ПК8002 бейсика msx (https://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=995399&viewfull=1#post995399)

10 FOR I=1 TO 10 STEP .1
20 PRINT I
30 IF I=1.3 THEN STOP
40 NEXT