PDA

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



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

ivagor
13.08.2008, 14:23
Уважаемые владельцы "железных" ПК8000!
Попробуйте пожалуйста на реале данный тест. Он считает, сколько байт можно записать в VRAM за прерывание. Есть большая вероятность, что на реале цифры будут отличаться (скорее в меньшую сторону) от эмуляторных 1800-1815.
Трудность в том, что его придется перенабрать с экрана эмулятора, как еще скинуть программу на реал, я не знаю, при csave в динамике звука нет.
При загрузке в эмулятор выскочит отладчик, чтобы запустить программу жмите F5 (вышли в бейсик) и еще раз F5 (run).

26.08.2008
Убрал вложение, новый вариант теста - ROMRA3

b2m
13.08.2008, 15:20
посмотрю загружает ли файлы с кассет
А можешь парочку небольших тут выложить?

XobbiMan
13.08.2008, 15:38
А можешь парочку небольших тут выложить?
Конечно, а потом и больших ;)

b2m
13.08.2008, 15:46
Ну хорошо, лучше на своём сайте :v2_cool:

ZEman
13.08.2008, 17:04
эх теперь бы ещё игры и программы :)

ivagor
13.08.2008, 19:40
Клад в виде снапшота

26.08.2008
Убрал вложение, т.к. игра доступна в виде cas на сайте XobbiManа

ivagor
13.08.2008, 20:12
Снапшот тяпляп.
Это и предыдущий снапшоты получены из wavов выложенных XobbiManом при частоте 1,8 МГц, но я бы не спешил говорить что эта частота правильная. Может все-таки попробуете vtest?

26.08.2008
Убрал вложение, т.к. игра доступна в cas на сайте XobbiManа

ivagor
13.08.2008, 20:34
А как насчет vspeed? Это же недолго и прояснило бы немного ситуацию.

ivagor
13.08.2008, 21:46
ZEman
Про сомнительно я не понял.

Про cas - вот cas для клада, однако cas поддерживается только эмуляторами msx. В bluemsx грузится, можно посмотреть, поредактировать (экранный редактор msx IMHO значительно удобнее чем на ПК8000), но работать не будет, т.к. заявленная совместимость на уровне бейсика далеко не полная. В частности синтаксис USR на msx не такой (из за этого и ругается) а дальше я не смотрел.

Токенизированный формат при чтении преобразуется (похоже токены на msx и ПК8000 не совсем совпадают), поэтому в ASCII.
Загружать по load"KLAD"

26.08.2008
Вложение удалил, игра доступна на сайте XobbiManа

XobbiMan
13.08.2008, 21:54
Про cas - вот cas для клада

С какими параметрами создавался, расскажите.

ЗЫ. на bluemsx выкидывает Disk offline....

ivagor
15.08.2008, 13:25
Обнаружился один баг прошивки "Весты". В bsave если хотя бы один из аргументов &H8000 выдает синтаксическую ошибку, а 32768 переваривает. Другие значения аргументов в 16ричном виде вроде обрабатываются нормально.
Может это одна из вещей, исправленных в прошивке 1.2?

И еще несовместимость с msx - веста при записи bsave корректирует конечный адрес (+1), а msx нет. Поэтому чтобы на весте прочитался весь файл записанный bsave на msx нужно самому увеличить конечный адрес на 1.

Добавлено через 11 минут
Вот парочка, можно еще наделать.


Загружать по load"KLAD"
Вложения
Тип файла: rar klad.rar (4.8 Кб, 2 просмотров)


Еще один тест .
Считает скорость заполнения VRAM из ПЗУ и из ОЗУ.
Чтобы не занимать много места, выкладываю в формате cas (к слову, набирал в blueMSX), castoolsом легко преобразуется в wav.
Загружать load"ROMRAM"
Вложения
Тип файла: rar romram.rar (403 байт, 4 просмотров)

XobbiMan
15.08.2008, 16:31
это всё конечно замечательно, но когда будут остальные дампы игр и программ ?

Еще 10-ок сделаю, потом когда сам пк8000 подключу к ТВ (не раньше 1-ого сентября), продолжу оцифровку (не хочу дурную работу делать, ибо первая задача была такова, что эти wav-ы в дальнейшем загружать по кабелю в железный пк8000, но я 100% не уверен, что верно они записаны, возможно, надо переделывать дампы). Если, конечно, Mick раньше не собирет свои модели и не проверить у себя.

Добавлено через 4 минуты
b2m,

принтер работает, просто printer.txt сохраняется в том каталоге, откуда был открыт wav.

XobbiMan
15.08.2008, 16:51
Предлагаю такой вариант, по крайней мере для программ на basicе:

сейчас проэксперементирую с КЛАДом
а так же набрал программку с музыкой по книге 2 Сура
и выложу - буду делать по командам LOAD/SAVE для совместимости

Добавлено через 3 минуты
b2m,

можно добывить во View один пункт как Size 4:1 (а то пропорционально не получается растянуть)?

XobbiMan
15.08.2008, 17:04
1. Демонстрация музыки на Сура ПК8000
load "MUSIC"

cas-файл
Смотрите первый пост ветки

2. Игра "КЛАД"
8693
load "KLAD"
cas-файл
Смотрите первый пост ветки
3. Тест демострационный
8696
load "TEST"
cas-файл
Смотрите первый пост ветки

XobbiMan
15.08.2008, 17:11
b2m
Прозвучало предложение добавить в меню пункт size 4:1. Предлагаю более универсальный вариант , пусть будет 1:1 и custom, а соотношение сторон для custom задается в cfg.
________
Это тоже вариант

3. Игра МОРБОЙ
8698
load "MORBOJ"
cas-file: Смотрите первый пост ветки

4. Игра МИНЕР
87028703
load "MINER"
cas-file: Смотрите первый пост ветки

XobbiMan
15.08.2008, 20:34
Последняя программа из базового пакета на бейсике (на асм-е были выложены на рапидшаре, но надо поколдовать и сделать CAS, но позже)

8. Программа СУРА
87088709
load "SURA"
cas-file:Смотрите первый пост ветки

Постараюсь еще сегодня выложить FIRE, MUM, COLOR на рапидшару WAV-ми

Mick
15.08.2008, 21:47
Если, конечно, Mick раньше не собирет свои модели и не проверить у себя.


Постараюсь Суру собрать на выходных, дальше попробуем проверить на реале. Для Весты пока герконы ищу(кажись нашел -осталось их выпаять, но не раньше понедельника).

XobbiMan
16.08.2008, 13:43
XobbiMan, спасибо за HEX3. К сожалению, без обнаружения ошибки считался только COLOR, но завис. Либо все таки есть ошибка, не обнаруживаемая контрольной суммой, либо в эмуляторе чего-то не хватает.
Может попробуешь именно COLOR еще раз считать?
Сегодня еще раз постараюсь пошаманить с файлам - считать заново и т.д.

Пока считал качественно FIRE:
http://rapidshare.com/files/137726163/fire2.zip.html
bload "fire"
Found:fire
Ok
Если запустить
bload "fire",R
то синий экран и пол экрана полосы - не уж то защита от копирования?
Или под эмулем оно не хочет
(Побыстрее бы испытать на реальном железе с звуковой карты считывая)


Можно по-подробнее процесс создания из WAV ТЯПЛЯП в cas TAPLAP?

ZEman
16.08.2008, 14:27
ivagor, а ты можешь перевести wav файлы автодром и питон выкладываемые здесь ранее в cas ?
и вообще можно о процессе перевода.

ivagor
16.08.2008, 15:58
b2m
Игрушка конверснутая с msx, даже сигнатуру romа 41h,42h оставили.

XobbiMan
Все примерно как с basic, только после загрузки wav смотришь начиная с адреса FA30h три параметра для bsave - начальный адрес, конечный адрес+1, адрес старта. Когда будешь подставлять конечный адрес в bsave, его нужно уменьшить на 1 (такая странная особенность ПК8000, уже писал об этом в одном из постов, на msx такого нет).

ZEman
Пока я их не качал, процесс перевода для basic

Предлагаю такой вариант, по крайней мере для программ на basicе:
1. Оцифровываешь в wav
2. Загружаешь в эмулятор, если все нормально считалось, то записываешь новый wav, чистый от шумов и прочего. Не вижу причин по которым такой wav не прочитается на реале.
3. Дополнительную степень свободы дает castools, он нормально преобразует wav выгруженные из Б2м в cas и обратно. Если по какой-то необъяснимой причине полученный в п.2 wav не пойдет, тогда уж этот должен пойти.

Для бинарных абзацем выше.

Наверное лучше если XobbiMan переведет автодром и питон в cas, и может даже добавит их в те посты (там, например, скриншоты есть).

ZEman
16.08.2008, 16:54
автодром и питон не бейсиковые игры, там через bload"",r грузится.

XobbiMan
16.08.2008, 17:37
автодром и питон не бейсиковые игры, там через bload"",r грузится.
вот их грузим
bload "IMIAFAILA"
( без ,R)

потом находим адреса, как описано тут

В debuggere быстрее, но можно и через PEEK:
Начальный адрес - PEEK(&HFA30)+PEEK(&HFA31)*256
Конечный адрес - PEEK(&HFA32)+PEEK(&HFA33)*256-1
Стартовый адрес - PEEK(&HFA34)+PEEK(&HFA35)*256

и далее записывает в формате эмулятора - wav
Example:
BSAVE "AVTODROM", &H4000,&H5200,&H4003
(Syntax: BSAVE "FILENAME", Начальный адрес, Конечный адрес, Стартовый адрес)

Полученный файл перегоняем в CAS (castools)

Должно работать, но не проверял (занят сейчас другим проектом)

ivagor
16.08.2008, 17:50
Только в АВТО другие адреса &H4000, &H5C37, &4000.
Или это был отвлеченный пример?
Должно и работает, проверял :).

ZEman
16.08.2008, 18:08
честно говоря ничё не понял, перевести можешь их?

ivagor
16.08.2008, 18:14
АВТОДРОМ и ПИТОН в формате cas (на основе wav файлов, записанных XobbiManом, скриншоты также предоставлены им).

30.08.2008 Теперь соответствующие cas-файлы можно скачать на сайте http://pk8000.narod.ru/

XobbiMan
16.08.2008, 19:05
AVTO и PITON в cas.


Выкладываю к трем играм скрины, добавь в свои посты, а я сотру свои по этим программам,
(скрины тут более правильные, чем раньше)
....



хм, странность одну заметил.
почему басиковые игрушки в виде cas загружаются также медленно как и проигрывается wav файл а написаные в кодах игрушки (питон, автодром, тяп-ляп) загружаются мгновенно.
почему так происходит ?

По просьбе IVAGOR, я все Бейсик программы записывал в MSX-совместимом формате (SAVE/LOAD)
Их можно загрузить и пересохранить командой CSAVE - будут грузиться быстрее .

ivagor
16.08.2008, 19:33
То есть 80h-83h и 84h-87h это две ВВ55, понятно, спасибо.

XobbiMan
Скриншоты вставил и капельку облагородил.

ZEman
16.08.2008, 19:45
XobbiMan, а чё на своём сайте в раздел "программы" игры не выкладываешь, уже 11 cas файлов набралось из....57 вроде.

b2m
17.08.2008, 20:39
В своё время я делал для Башкирии музыкальный проигрыватель. Вот, за пару часов портировал для ПК8000. В эмуляторе работает. Интересно, если перегнать в wav и загрузить на реальном компьютере - будет работать?
Грузить bload "test",r

XobbiMan
17.08.2008, 21:48
XobbiMan, завтра обновлю эмулятор, ошибка была. FIRE и COLOR работают.
Хорошая новость.
Сейчас залью на рапиду MUM, WARP, CRUX
http://rapidshare.com/files/138038924/MUM_WARP_CRUX.7z.html (22MB)

они загружаются правильно, но не запускаются (проверил два раза - значит в новой версии эмулятора запустятся)

ivagor
20.08.2008, 16:00
Если бы к ПК8000 подключили AY, то игрушка COLOR звучала бы так ;)...

30.08.2008 Вложение удалено

Загружать bload"COLOR",r (т.е. название программы я не менял)
Не забудьте положить в каталог эмулятора Vesta AY.cfg
Адреса для AY использовал как на векторском Sound Trackере, но если AY на самом деле подключали к ПК8000, но с другими адресами, то их легко изменить на реальные (знать бы на какие).

ivagor
20.08.2008, 21:27
Mick, извини :v2_blush:, но b2m сам виноват :), в эмуляторе по этому out включается именно то ПЗУ что надо, и из эмулятора выгружается образ ПЗУ весты (проверял). Исправлю свои посты, а b2m, надеюсь поправит эмулятор.

b2m
20.08.2008, 21:40
Поправлю. :)

Кстати, я сравнивал ПЗУ Весты и Хобби.
Отличий вобщем-то не много.
1. У Весты строб принтера аппаратный (т.е. его формирует ВВ55, у неё есть такой режим), а у Хобби - программный (старший бит порта 86h)
2. У Весты есть подпрограммы передачи данных через порт принтера (2-битный канал со стробом и контролем чётности), однако эти подпрограммы вроде нигде не используются, и в бейсике никаких новых операторов нет. А у Хобби на том месте FFh.
3. У Весты неправильно работает функция STRIG для второго джойстика, у Хобби всё верно (один байт разницы в ПЗУ).
4. Есть ещё пару байт разницы, но один я так и не понял для чего, а второй в знакогенераторе, но это возможно глюк ПЗУ, как впрочем и первый видимо.

Добавлено через 1 минуту
А, забыл, ещё версия отличается :)

XobbiMan
20.08.2008, 21:45
Удалось в Хобби ПК8000 вслепую загрузить программу TEST, та которая проверяет цвета и арифметику.
Запустил, и пронзительный BEEP, значит b2m прав - ПЗУ испорчено.

Хоть, кто-то расскажите, каким образом оно могло испортиться?
Вот.

ivagor
20.08.2008, 21:45
b2m
Как я понял, такой способ включения ПЗУ расчитан на ПЗУ до 64 Кб (не знаю как там с аппаратной точки зрения, но с логической похоже так), т.е. по 00 в соответствующей части порта 80h в соответствующем участке памяти появляется соответствующая часть ПЗУ (а когда ее нет появляется куча FF). А ты как понимаешь?

И получается что на стандартном ПК8000 запись 00 в любой части порта 80h кроме самой младшей не имеет смысла.

b2m
20.08.2008, 21:52
значит b2m прав - ПЗУ испорчено.
Не факт, могут быть глюки ОЗУ из-за высохших КМ-ок (которые обычно рядом с ОЗУ ставят).


А ты как понимаешь?
Видимо так. В документации же ничего не сказано, а выяснилось только после того, как я получил файл от Mick. Я то думал, они сэкономили на дешифрации адреса, ан нет. :)

XobbiMan
20.08.2008, 21:54
b2m,

Я когда-то поключал принтер, и даже распечатывал, но принтер был КОИ-8, КОИ-7, но КОИ-8 не работал, так делал подпрограмму на ассемблере, при распечатке русских слов, переобразовывать в кои-7 (подается на принтер команда, переключить кодировку),
может изза того и проблемы с принтером такие были, что одни FF там.

Я повторно считал ПЗУ, но CAS так и получается сделать. Выложить его еще раз?

XobbiMan
20.08.2008, 22:32
Не факт, могут быть глюки ОЗУ из-за высохших КМ-ок (которые обычно рядом с ОЗУ ставят).
Кто такие КМ? (я не профи в радиоэлектронике)



Несколько игр погонял в Хобби ПЗУ - работает. Может не так страшен этот глюк.
Но все игры перегонят буду из-под Веста ПЗУ.

b2m
21.08.2008, 19:23
Пожалуйста

XobbiMan
21.08.2008, 19:27
Наверное, я что-то пропустил. Был rom Хобби, Mick при сравнении нашел ошибку по адресу 3d14 (было 90 должно быть 80), после исправления проходит бейсиковский тест. Почему исправленный rom Хобби должен называться sura.rom?

Так сравнивали ПЗУ Сура и ПЗУ Хобби - значит в ПЗУ Хобби ошибка - потому и назавем его Сура-ПЗУ.

Кстати, можете посмотреть в чем же в каком блоке ошибка. b2m пишет что знакогенераторе.

Но тогда почему ошибка в тесте (надо тест посмотреть, что он там делает)

Mick
21.08.2008, 19:31
Наверное, я что-то пропустил. Был rom Хобби, Mick при сравнении нашел ошибку по адресу 3d14 (было 90 должно быть 80), после исправления проходит бейсиковский тест. Почему исправленный rom Хобби должен называться sura.rom?

Скорее всего b2m прав, ПЗУхи машинок одинаковы, разница в знакогенераторе. И причем тест в эмуляторе не прошел, а ведь тест от Хобби и по идеи должен пройти был. Я думаю ошибка произошла при чтении. Недостаток формата похоже контрольную сумму не считает.

А название, можно дополнительно назвать и xobbi.rom, чтобы не путались.

Добавлено через 2 минуты


Но тогда почему ошибка в тесте (надо тест посмотреть, что он там делает)

Предположений два:
1) сравнение содежимое области данных в тесте и содержимое ПЗУ;
2)подсчитали контрольную сумму

В обоих случаях вылезет ошибка

b2m
21.08.2008, 19:36
Скорее всего b2m прав, ПЗУхи машинок одинаковы, разница в знакогенераторе.
Да нету там никакой разницы. У XobbiMan просто ПЗУ от старости глюкнуло. Или на заводе при прошивке была ошибка, а контрольную сумму они не проверяли. Если между Сурой и Хобби разницы нет, можно назвать конфигурацию "Сура & Хобби", а как там будет ПЗУ называться - всё равно.

XobbiMan
21.08.2008, 21:20
Бейсик (только) программы в cas-формате с блоков 1,2,3,4,5 (список программ выкладывал ранее)
Пояснения к названиям файлов и загрузке
Например есть файл EMU01_bas_SLALOM_csave.cas
EMU - означает из эмулятора
01 - что из блока Номер 01
bas - что это бейсик программа
SLALOM - название файла
csave - метод записи

То загружаем так
CLOAD "SLALOM"

Скачать: Смотрите первый пост ветки

Качайте, проверяйте, если что ругайте.
Когда все переведу в cas, потом перезапишу SAVE командой, тогда выложу на сайте. (скриншоты надо есть не забыть)

Продолжение следует...

XobbiMan
21.08.2008, 22:57
Бейсик (только) программы в cas-формате с блоков 6,7,8,9

Скачать: смотрите первый пост ветки

Прмечание: нескольких программ нет, пока несчитались, но постараюсь выжать все возможное... (Обжора и Президент не считались )

Бейсик (только) программы в cas-формате с блоков 12,13,14

Скачать: Смотрите первый пост ветки


Осталось только все HEX программы преобразовать.

И уже когда все красиво выложим на сайте, на форуме прочистим атачменты.

ivagor
22.08.2008, 11:58
Mick
По поводу загрузки бинарных файлов скомпилированных tasmом в эмулятор.
Пробовал 2 варианта, вот 1й из них, не требующий редактирования cfg:
1.Создать заголовок cas - проще всего выгрузить из эмулятора с тем именем и с теми адресами, которые тебе нужны. Когда cas выгрузится, берем оттуда только заголовок (первые 38 байт).
2.Стыкуем заголовок и результат работы ассемблера
3.Загружаем по bload

Можно еще вместо основного romа, но это годится не всегда.

И еще можно вместо внешнего romа, сейчас у меня работает, но вдруг b2m поменяет обработку внешних romов, тогда я опять буду неправ :), так что лучше использовать первый способ.

Если b2m описал бы еще какой-нибудь более простой и удобный способ, было бы совсем хорошо (или приделал наконец в отладчик загрузку/выгрузку произвольных блоков памяти).

b2m
22.08.2008, 15:14
Если b2m описал бы еще какой-нибудь более простой и удобный способ
Самое удобное, это чтобы после компиляции получался .cas
Делается очень просто:

ORG 4000h-26h
DB 1Fh, 0A6h, 0DEh, 0BA, 0CCh, 13h, 7Dh, 74h
DB 0D0h, 0D0h, 0D0h, 0D0h, 0D0h, 0D0h, 0D0h, 0D0h, 0D0h, 0D0h
DB 'MYPROG'
DB 1Fh, 0A6h, 0DEh, 0BA, 0CCh, 13h, 7Dh, 74h
DW START,ENDE,START
START:

тут программа

ENDE:
END

Добавлено через 2 минуты
Имя, соответственно, или 6 символов, или дополнено пробелами до 6 байт.

XobbiMan
22.08.2008, 17:36
Mick,

А что за игрушку скопилировал, если не секрет?

Mick
22.08.2008, 19:06
Mick,

А что за игрушку скопилировал, если не секрет?



Да нет еще пока, хочу с экраном разобраться на примере спектрумовского экрана. Хочу картинку загрузить и посмотреть.

XobbiMan
22.08.2008, 20:30
Ясно, ну тогда обойдемся wav - и мудрить не будемс

ivagor
22.08.2008, 20:49
Почему обойдемся wav, все же работает?

b2m
23.08.2008, 10:42
загрузил по cload свой тестик ROMRA3 (он тут выкладывался), менял одну из строк, добавлял строку - BASIC работал
В Весте загружаешь AYTEST, пишешь 70 cls и вуаля :)

Добавлено через 15 минут
Пробовал ROMRA3, действительно, всё ОК. Заинтересовало. Посмотрел в конец файла, обычно программа заканчивается 4-мя нулями, а в ROMRA3 после нулей ещё есть байты. То есть на кассету иногда записывается больше, чем надо. Тоже глюк.

Проблема там такая: на кассету в конце пишется 11 нулей (метка конца программы, вместо адресов), затем от конечного адреса вычитается в Весте 11, а в Суре 7, и данный адрес считается концом программы (слово по адресу F930). Если просто набрать программу, то видно, что конец - это с учётом 4-х нулей. Короче после cload в Весте этот указатель неверный. Но совместно с вышеописанным глюком эти два глюка взаимоуничтожаются :) Иногда.

ivagor
23.08.2008, 11:18
Тут может из за того, что ROMRAM (первый вариант теста) я набирал в blueMSX и выгружал оттуда. ROMRAM2 и ROMRA3 - дополненные варианты ROMRAM, редактировал уже в ПК8000 (если склероз не врет).
AYTEST вроде набирал сразу на ПК8000.
Какие-то провалы в памяти, а ведь еще совсем молодой :).

XobbiMan
24.08.2008, 17:16
Все HEX программы из блоков 1-14 (список программ выкладывал ранее)
Пояснения к названиям файлов и загрузке
Например есть файл EMU01_hex_FIRE.cas
EMU - означает из эмулятора
01 - что из блока Номер 01
hex - что это HEX программа
FIRE - название файла

То загружаем так
BLOAD "FIRE",R

Скачать: Смотрите первый пост ветки

Примечание: LB1,LB2,LB3 - это библиотеки слов к программе на бейсике FIELD, грузить по-одному BLOAD "LB1", после того как загрузите саму программу.


А так же есть вопрос, почему получается такая ошибка (см картинку pochemu.jpg)?

ivagor
24.08.2008, 17:34
Ошибка в ПЗУ, вместо &H8000 нужно писать 32768. Много постов назад я уже писал об этом :).

ZEman
24.08.2008, 19:06
cas_hex_all - эти образы касет окончательный вариант, или они будут ещё переделываться ?
это как я понимаю не все ?

XobbiMan
24.08.2008, 19:21
cas_hex_all - эти образы касет окончательный вариант, или они будут ещё переделываться ?
это как я понимаю не все ?
Это все HEX (на ассемблере которые написаны) - переделывать уже нечего,
а на Бейсике (все что считались) выкладывал Уже тут http://zx.pk.ru/showthread.php?t=8140&page=34#337
Так что выложил все что было (но по частям).

Но позже еще пересохраню все Basic программы с командой LOAD (чтобы MSX-совместимы были). А далее еще сделаю всем программам HEX и BAS скриншоты. И все это соберу в один архив и выложу на сайте.

ZEman
24.08.2008, 19:30
просто както странно, в книжках у тебя отмечено примерно 50 ~ 60 игр (программ) а тут всего 18 файлов.
или это целые касеты в одном cas ?

XobbiMan
24.08.2008, 19:53
просто както странно, в книжках у тебя отмечено примерно 50 ~ 60 игр (программ) а тут всего 18 файлов.
или это целые касеты в одном cas ?
Ну ведь же написал, что выкладывал ранее

а на Бейсике (все что считались) выкладывал Уже тут http://zx.pk.ru/showthread.php?t=8140&page=34#337
Так что выложил все что было (но по частям).

Все вместе (cas_bas_1-2-3-4-5.zip, cas_bas_12-13-14.zip,cas_bas_6-7-8-9.zip,cas_hex_all.zip) распакуй и получишь 51 программ (3 из них - библиотеки слов)

ZEman
24.08.2008, 19:56
ранее это 8 на басике и 3 на асме, плюс эти 18, итого 29 получается.
а где остальное ?

XobbiMan
24.08.2008, 20:02
ранее это 8 на басике и 3 на асме, плюс эти 18, итого 29 получается.
а где остальное ?
Ты по ссылке ходил?
http://zx.pk.ru/showthread.php?t=8140&page=34#337
http://zx.pk.ru/showthread.php?t=8140&page=34#338
Или не получается скачать?

Те что 8 бейсик и 3 асм - я в счет не беру - это только блок 0 - он не заказывался отдельно, а поставлялся вместе с ПК8000, потому у каждого ПК8000 есть Книга Номер 3 с описаниями.
А блоки 1-9,12-14 были заказаны, вот они и выкладывались.
Сначала я оцифровал все бейсик программы и выложил (см. ссылки выше). А сегодня все на ассемблере. (Просто в такой последовательности мы было удобнее оцифровывать)

Mick,ivagor
Вы хоть нашли все те программы на форуме, что я выкладывал (или тогда я вообще ничего уже не понимаю)?

Mick
24.08.2008, 20:18
Mick,ivagor
Вы хоть нашли все те программы на форуме, что я выкладывал (или тогда я вообще ничего уже не понимаю)?

Только не надо эмоций, наверняка произошло взаимонепонимание. ;)

Я насчитал из зипов типа cas_bas/cas_hex 51 файл.(18 hexов, остальные были Васиками).

XobbiMan
Почту проверь - фотки Суры закинул.

XobbiMan
24.08.2008, 20:40
Только не надо эмоций, наверняка произошло взаимонепонимание.
Скоре всего.


ZEman, сорри, если мои слова прозвучали грубо, думаю все утрясется.



Почту проверь - фотки Суры закинул.
Спасибо. Сегодня займемся этими фотками.

Добавлено через 2 минуты

Я насчитал из зипов типа cas_bas/cas_hex 51 файл.

Ты прав - ровно 51! (я ошибся)

Обновил сайт - добавил фотографии Сура ПК8000, которые мне прислал Mick

ZEman
25.08.2008, 16:35
XobbiMan, Sorry, я раньше те архивы не видел, спасибо за проделаную работу :)

XobbiMan
25.08.2008, 16:43
XobbiMan, Sorry, я раньше те архивы не видел, спасибо за проделаную работу

Рад стараться! ;)

Mick
26.08.2008, 10:16
Поковырялся немного в ПЗУ Весты с целью как переопределить прерывание(свой обработчик куда влепить). Нашел что при возникновении прерывания по адресу 24D9h есть переход типа call 0F86Eh. Вот туда можно в своей программе впендюривать либо адрес перехода, либо свой обработчик. :) А то как то стремно без вольного обработчика :)

Кстати процедура копирования из одной области(ПЗУ) в ОЗУ есть по адресу 005Ch. В паре HL адрес откуда из ПЗУ брать, в DE адрес куда в ОЗУ и BC - количество байт.

ivagor
26.08.2008, 10:44
В тестиках я это все использовал.

К слову, адреса и параметры "рекомендованных" подпрограмм ПЗУ приведены в мануале.

XobbiMan
26.08.2008, 10:45
Mick, интересная информация.

Tim0xA
27.08.2008, 11:00
На сайте http://vector06c.narod.ru открыт раздел "РЕКОМПИЛЯЦИЯ", в котором помимо программ для "Вектор-06Ц" будут выкладываться новинки рекомпиляции для "ПК-8000". На сегодняшний день пользователи и любители этого компьютера не имеют обширного пакета ПО, поэтому, чтобы восполнить этот пробел и подпитать их интерес к данному ПК, в соответсвующий раздел выложена новая игра, портированная с MSX под названием "Cannon Ball". Появлению этой игры на платформе "ПК-8000" мы обязаны Ивану Городецкому (ivagor)

ivagor
27.08.2008, 11:03
и Александру Тимошенко (Tim0xA)

XobbiMan
27.08.2008, 11:29
Tim0xA,
ivagor,
Молодцы и спасибо.

ivagor, а можно где почитать как весь процесс происходит рекомпиляции (то же бы хотелось бы принять участвие, но не знаю с чего начать)


Надо будет на реальной машинке "Cannon Ball" попробывать.

ivagor
27.08.2008, 13:32
XobbiMan
Сам бы не отказался что-нибудь на эту тему почитать. Немного про рекомпиляцию MSX->PC написано в readme.txt пакета msx2pc Валерия Бостана.
А если под рекомпиляцией понимать не полный процесс переноса игрушки с одного компьютера на другой, а перевод кода игры с ассемблера одного процессора на ассемблер другого процессора, то этот вопрос лучше адресовать Tim0xе.

XobbiMan
28.08.2008, 18:08
Обновил сайт и выложил ВСЕ программы что у меня есть и работают для ПК8000
Прямой линк (постоянный, меняться и стираться не будет, пока жив сайт):

http://pk8000.narod.ru/pk8000prg.7z

2 Mick
Можешь дополнить шапку этой ссылкой.

2 b2m
Можешь добавить на страницу "Файлы" своего сайта.

2 ivagor
Думаю надо пройтись по ветке, и постирать старые вложения с программами.

Примечание: бейсик программы записаны и SAVE, и CSAVE командами.

(В планах так же сделать для каждой игры скрины и описания и сделать djvu или pdf, и позже добавить на сайт)

ivagor
30.08.2008, 20:59
Предлагаю вашему вниманию "просмотрщик" спектрумовских картинок для ПК8000

Новая версия доступна на сайте Tim0xa в разделе рекомпиляция
http://www.vector06c.narod.ru

Mick
30.08.2008, 21:52
Предлагаю вашему вниманию "просмотрщик" спектрумовских картинок для ПК8000

Хорошая утилитка, только помоему что то с инверсией яркости произошло.

Вот пример - Dizzy 5. Повышенная яркость даже не в тех местах образовалась. Проверял в эмуле - на реале не знаю как будет.

И еще, может ошибаюсь, но если по адресу CF05 записать какой нибудь jmp куда нибудь, то после загрузки этой проги, она уйдет не в просмотрщик картинок. ;)

ivagor
30.08.2008, 22:10
Про несовпадение палитр цветов и про яркость свое мнение я написал в readme. Возможно лучше вобще яркость не обрабатывать.

Mick
30.08.2008, 22:15
Про несовпадение палитр цветов и про яркость свое мнение я написал в readme. Возможно лучше вобще яркость не обрабатывать.

А про второй пункт, в твоей шапке вроде записан адрес запуска CF05, а прога загружается с CF2B.
Уж прости - уже в нее слазил :v2_rolley

ivagor
30.08.2008, 22:34
Вот дополненный вариант просмотрщика, позволяет рисовать картинку с учетом/без учета яркости.

Mick
Ошибки бывают у всех, а у меня особенно :).

Надеюсь v1.1 никто не успел скачать с неправильным readme.txt :)

Новая версия доступна на сайте Tim0xa в разделе рекомпиляция
http://www.vector06c.narod.ru

Mick
30.08.2008, 23:06
Вот дополненный вариант просмотрщика, позволяет рисовать картинку с учетом/без учета яркости.

Mick
Ошибки бывают у всех, а у меня особенно :).

Надеюсь v1.1 никто не успел скачать с неправильным readme.txt :)

Ошибки бывают у всех, без них не интересно. Я Залез посмотреть как в видео память записывать. Ну и по пути набрел :)

Этот вариант как то более интересен - по крайней мере можно убрать яркость. Вообщем классно.Спасибочки.

b2m
31.08.2008, 21:16
Кстати, XobbiMan, переделай скриншоты к играм MORBOJ, PITON, или закрась чёрным тёмно-серый цвет.

...закрась чёрным тёмно-серый цвет... Как готично! :)

XobbiMan
31.08.2008, 21:29
Кстати, XobbiMan, переделай скриншоты к играм MORBOJ, PITON, или закрась чёрным тёмно-серый цвет.

...закрась чёрным тёмно-серый цвет... Как готично!

Так последняя версия эмулятора черный цвет показывает нормально? (а просто не обновлял давно эмулятор).
Так тогда сяжу и все скришоты переделяю.
Спасибо

обновил сайт ;)

ivagor
31.08.2008, 22:17
Вопрос - как отлючается чтение из ПЗУ (чтобы видео читалось). Что то запись в порт 80h не возимела действия. Хотел копирование залепить, а он мне ПЗУ подсовывает.
В принципе должно работать, в эмуляторе работает:
mvi a,0FFh
out 80h
читаем из VRAM
mvi a,11111100b
out 80h
пользуемся ПЗУ

При подключенном внешнем ПЗУ, если надо им пользоваться, нужно откорректировать второе значение засылаемое в 80h.

ПЗУшное чтение из VRAM больно уж тормозное.

Mick
31.08.2008, 22:39
В принципе должно работать, в эмуляторе работает:
mvi a,0FFh
out 80h
читаем из VRAM
mvi a,11111100b
out 80h
пользуемся ПЗУ

При подключенном внешнем ПЗУ, если надо им пользоваться, нужно откорректировать второе значение засылаемое в 80h.

ПЗУшное чтение из VRAM больно уж тормозное.


Да делал я так, но не отрабатывает в эмуле. На реале я не знаю.
Кроче вот мой пример. Заполнение видеобласти байтом. Для примера просто адаптировал маленькую процедурку со спека.

Удалил

В эмуле какая то ерунда получается, или я уже туплю. :(

Короче разобрался. При работе с видеопамятью на чтение, если не переопределять прерывания их надо запрещать. По крайней мере в эмуляторе так.

XobbiMan
31.08.2008, 22:55
Mick,
Так ты потом по кабелю загрузи в реальный ПК, проверь как там.

ivagor
01.09.2008, 05:49
Короче разобрался. При работе с видеопамятью на чтение, если не переопределять прерывания их надо запрещать. По крайней мере в эмуляторе так.
Это и на реале будет 100% так.
Если не хочется/нельзя запрещать прерывания ни на миг, то можно:
1. Ждем прерывание, потом отключаем ПЗУ и быстренько переписываем ограниченое число байт, включаем ПЗУ
2. В режимах 0 и 1 можно увести из младших адресов буфер экрана и записать в 38h ret.
Чтобы basic знал, куда ему выводить символы надо не забыть поменять в служебных ячейках адрес буфера экрана.
3. В режиме 2 (если устраивает раскладка как в basic - изображение раньше атрибутов) можно пожертвовать одним символом из верхней трети и установить ему одинаковые атрибуты для изображения/фона и опять таки записать в 38h ret.
В этом случае надо просто не стирать "маскирующий" символ.

В вариантах 2 и 3 чтобы прерывания были не в последний раз в 38h вобще то надо записать ei\ ret

Просмотрщик спектрумовских картинок доступен на сайте Tim0xa в разделе рекомпиляция, теперь с исходником.
http://www.vector06c.narod.ru
Добавлен просмотр в ч/б варианте.
Теперь и на моем сайте
http://retrocomp.narod.ru/pk8000/zxscrv1.3.rar

Mick
01.09.2008, 14:40
Короче чуток попыжился, и вот маленький примерчик моих потугов.
Запускается bload"SKSTR",r
Многие должны догадаться откуда строчка. Не пужайтесь если сразу ничего не видно будет :) - малость терпения.
Вообщем извращенней видеорежима я не видел. А раньше считал, что у спека извращенный режим. Но ПК8000 его переплюнул :)
Ну и вложенице собственно - так сказать первое демо :) :)
Исходники будут вечером.

Mick
03.09.2008, 15:28
Эмулятор b2m очень универсальный, и в принципе может поддержать практически любые адреса для AY простым изменением конфига, если нет конфликта (msxовские адреса AY, судя по всему конфликтуют с атрибутами для режима 1).


Вообщем заточил я это дело как у Вектора 14 и 15 порты.

ПК8000 обрел AY звук :) в лице портированного Sound Tracker проигрывающено модуля :)
Правда это касаемо только эмулятора - на реале увы ничегошеньки не будет слышно
Та же самая строка но теперь с музыкой. Конфигом воспользовался от ivagor.
Исходники выложу вечером.
Запускается - bload"STRMUZ",r - и наслаждаемся :)

Mick
03.09.2008, 18:38
Вот сорцы выкладываю. Делалось на скорую руку, поэтому код проигрывающего модуля не оптимизировался :)
Пинать не сильно :)

Делалось все под виндой в среде Softools WinIde 8085.
Музыкальный модуль отлаживался в эмуляторе Спектрума(так быстрее).

b2m
Может быть сделать официальными портами AY 14h и 15h, как предложил ivagor, пока не найден артефакт, доказывающий о реальном их раположении. :)

Tim0xA
04.09.2008, 12:25
В разделе "Рекомпиляция" на http://vector06c.narod.ru обновление для ПК-8000

"Игра BOMBER MAN (также известная как ERIC AND THE FLOATERS) адаптирована с MSX.
Известно, что существует вариант ERIC AND THE FLOATERS, адаптированный на ПК8000 предположительно в Оренбурге, но данная версия была адаптирована совершенно независимо.
Для запуска нужен обычный ПК8000 с КР580, версия ПЗУ 1.1 или 1.2.

Управление в игре:
Клавиатура - курсор вправо-влево и пробел;
Джойстик 1 или джойстик 2.

Звук через "бипер" ПК8000 не выводится, т.е. на стандартном ПК8000 игра будет работать без звука.
Звук выводится через AY, подключенный к портам 14h и 15h (на ПК Вектор-06ц это плата Sound Tracker).
Желающие опробовать данный вариант звукового сопровождения в эмуляторе "Башкирия-2м" Дмитрия Целикова могут запустить эмулятор с прилагаемым конфигурационным файлом Vesta AY.
Если у Вас есть информация по дополнительным звуковым устройствам для ПК8000, сообщите ее пожалуста авторам по приведенным ниже адресам.

Авторы адаптации:
Рекомпиляция игры с z80 на КР580 - Александр Тимошенко, г. Чернигов, Украина, timsoft()mail.ru, vector06c.narod.ru
Эмуляция MSX BIOS и железа MSX на ПК8000, оптимизация, участие в рекомпиляции - Иван Городецкий, г. Уфа, Россия, iig1()mail.ru

Версия 1.0 - 04.09.2008"

b2m
04.09.2008, 13:28
Может быть сделать официальными портами AY 14h и 15h, как предложил ivagor
Ну я, конечно, могу изменить конфиги, которые на сайте выкладываются. Но ведь потом люди будут уверены, что у официального ПК 8000 был AY :) Может лучше по схеме посмотреть, куда это могло быть подключено? Есть ведь наверное какой-то стандарт на расширения ПК 8000... Хотя, пока никакой информации нет, сложно делать какие-то выводы.

XobbiMan
04.09.2008, 14:06
Но ведь потом люди будут уверены, что у официального ПК 8000 был AY

Значит хватит одно конфига с комментарием, что это неофициальная конфигурация.

ivagor
04.09.2008, 14:13
Ошибочка вкралась в readme, у курсора все клавиши задействованы, не только влево вправо. Tim0xa, исправь пожалуйста.

XobbiMan
04.09.2008, 15:00
Другой вопрос - это еще бы какю нибудь систему картриджей- дисковода бы придумать. А то ждать пока загрузится прога скоро будет утомительно

Одно утешает, что теперь можно грузить из выхода звуковухи ноутбука, уже проще. (максими 3 минуты на игру, думаю на первых порах можно потерпеть, конечно бы как в соседних ветках флопик-эмулятор на SD - вещь классная, и скорей всего можно использовать слоты расширения, но о них так мало инфы, типо можно выбрать ПЗУ со слота расширения, и тогда будет с него грузиться, а тут можно и ДОС поставить и cas-файлы загружать.)

ivagor
04.09.2008, 17:55
Вопрос по SCREEN 1 снят, извините за беспокойство.


На счет порта A0 и A1 пока документального подтверждения не нашел, что его вообще машина использует.
Документальное подтверждение есть в ПЗУ.

Mick
04.09.2008, 21:04
Документальное подтверждение есть в ПЗУ.

Ну я тупо рассматривал схему пока не нашел, надо еще по внимательнее посмотреть.

Кстати вот дополнил картинкой свои потуги. :)
Запуск bload"SKBAN",r

Кстати поделитесь схемой подключения для вектора AY, а именно платы Sound Tracker.

XobbiMan
05.09.2008, 14:07
XobbiMan
Вот в этом оренбургском форуме увидел посты пары людей, у которых был Хобби.
http://portal.esoo.ru/forum/viewtopi...=7571&start=25
Может напишешь им или в тот форум?
Вот выкроил время туда зарегистрироваться, но не успел...
"Доступ закрыт, Вы не абонент Волгателеком Оренбург! "

Добавлено через 1 час 7 минут

Кстати вот дополнил картинкой свои потуги.
Запуск bload"SKBAN",r

Собираешься ли полностью перенести сокобан со спектрума, или пока только будут только демки?

Mick
05.09.2008, 15:53
Собираешься ли полностью перенести сокобан со спектрума, или пока только будут только демки?

Пока собираюсь переносить, а там как пойдет :)

XobbiMan
09.09.2008, 11:13
Может у кого есть язык Форт (Forth) под КР580 ? Можно было бы партировать под ПК8000. Просто так хочется хотя бы еще один язык под эту машинку.

Mick
09.09.2008, 11:53
Может у кого есть язык Форт (Forth) под КР580 ? Можно было бы партировать под ПК8000. Просто так хочется хотя бы еще один язык под эту машинку.

Вроде был форт под РК86 подобные машины. Но его надо еще портануть. Надо будет вечером порыскать на диске.

Добавлено через 1 час 26 минут
Xobbiman

Ты проверял яркостный канал на телеке. Нормально показывает?
А то может положим на сайт схемку переходника SCART и ты свою фотку в собранном виде.

Tim0xA
09.09.2008, 13:54
Может у кого есть язык Форт (Forth) под КР580 ? Можно было бы партировать под ПК8000. Просто так хочется хотя бы еще один язык под эту машинку.
Есть две версии Форта для Вектор-06Ц, одна из них взята тут http://www.forth.org.ru/~af/vector.htm

XobbiMan
09.09.2008, 14:11
Ты проверял яркостный канал на телеке. Нормально показывает?
А то может положим на сайт схемку переходника SCART и ты свою фотку в собранном виде.

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

Насчет схемки выложить - запросто. Но я делал по первому варианту (только скарт).

Добавлено через 1 минуту

Есть две версии Форта для Вектор-06Ц, одна из них взята тут http://www.forth.org.ru/~af/vector.htm
Классно.
Может быть ivagor'у получилось бы перенести на ПК8000.

ZEman
09.09.2008, 14:25
а что так глючит когда запускаешь файл FORTHSET.ROM ?
это эмулятор чтото неверно делает или так и должно быть ?

XobbiMan
09.09.2008, 14:32
а что так глючит когда запускаешь файл FORTHSET.ROM ?
это эмулятор чтото неверно делает или так и должно быть ?
Могу предположить, что это дополнительные слова Форта

b2m
09.09.2008, 14:58
это эмулятор чтото неверно делает или так и должно быть ?
А почему он экран не очищает? Сам виноват :)

Mick
09.09.2008, 19:24
Может у кого есть язык Форт (Forth) под КР580 ? Можно было бы партировать под ПК8000. Просто так хочется хотя бы еще один язык под эту машинку.

Вот тебе еще три форта. Два специалистовские и один ркашевский.

Портирование образно можно заключить в три этапа.
1) Ищешь дизассемблер типа IDA (у меня под эти цели заточен версии
3.76 и запускается с ключем -p8085 если программа под ВМ80 или ВМ85 и -pz80 если z80).

2)Сканируешь файл на предмет системных вызовов и их портируешь(затачиваешь под новую машину). Также смотришь различные ограничения(например количество символов в строке).
3)Ассамблируешь по новым адресам(что было удобоваримо).

Ну там как раз попробуешь, то и само собой попрет. :)
Лучше портировать с машины с одинаковыми процами. А вот с различными - уже гимор. Взять тот же z80 перегнать в вм80 - тут подумать немного надо. :)

P.S. Тут пока накидал схему подключения AY.А потом идея пришла - если я дешифратор запихну в ATF16V8(PAL-ка), то я смогу подключить и к Вектору, если он конечно заработает. Различие будет в прошивке ATFки. Но повторяемость будет под вопросом. ATF-надо еще прошить(у меня то программатор есть - а у других может и не оказаться).

ivagor
09.09.2008, 19:55
Mick
А почему IDA такой старый? Чем 5.x не нравится, по моему намного удобней.

Mick
09.09.2008, 21:52
Mick
А почему IDA такой старый? Чем 5.x не нравится, по моему намного удобней.

Ну уж какой есть :) А другой из инета качать пока неохота(ленюся) :)

ivagor
10.09.2008, 13:49
Mick, XobbiMan
Накропал тестик, который в интерактивном режиме возможно позволит понять сколько строк от прерывания до начала вывода изображения из VRAM.
26.09.2008 Вложение удалено
В эмуляторе его сейчас запускать нет смысла, только на реале.
Загрузка
bload"TOPBRD" (без ,r !)
После загрузки
print usr(&HE000)
Переходим в "интерактивный режим"
Нужно чтобы зеленый бордюр сверху и красное изображение снизу соприкасались. "Вверх" - приподнять нижний край зеленого бордюра, "вниз" - опустить нижний край зеленого бордюра. Когда добились соприкосновения зеленого бордюра сверху и красного изображения снизу - жмем вправо или влево. Бейсик напечатает количество строк от прерывания до активной области изображения (эту цифру прошу обнародовать :)).

Дополнение. Расширенный вариант тестика.
26.09.2008 Вложение удалено
Загружать
bload"TOPBR2"
Отличается тем, что левая половина (даже несколько больше чем половина) верхнего бордюра должна быть зеленой, а правая - синей. Теоретически граница между зеленой и синей частью должна быть вертикальной, если я где-то ошибся или что-то не учел - то граница между зеленым и синим будет диагональной.

XobbiMan
12.09.2008, 23:24
Восстановил игру из дополнительного пакета "Президент"

Скачать можете с вложения (потом его удалю)

А так же добавил ее в общий архив игр на сайте (название архива не изменилось)

http://pk8000.narod.ru/pk8000prg.7z

XobbiMan
13.09.2008, 00:23
Восстановил игру из дополнительного пакета "LAMBA", работает только на ПК8000 Хобби (скорей всего и Сура)

Скачать можете с вложения (потом его удалю)

Архив игр на сайте заново обновлен (название архива не изменилось)


Могу теперь сказать, что все программы, которые были на кассетах - оцифрованы (теперь буду свои наработки оцифровывать)

XobbiMan
14.09.2008, 17:54
На сайте появились 6 новых игр (предоставил AtWT)

BINARY, BOULD, ERIC, GOMOKU, NINJYA, STOP

Прямая ссылка http://pk8000.narod.ru/Igry1_By_AtWT.7z

Tim0xA
27.09.2008, 16:06
В раздел "Рекомпиляция" выложена игра "Color Ball" для ПК-8000 (более шустрая и с поддержкой AY). Рекомпилирована с оригинального ROM MSX.

Tim0xA
02.10.2008, 10:57
В раздел "Рекомпиляция" выложена новая игра для ПК-8000 с MSX - "Driller Tanks".
Игра с музыкальным intro.

Авторы адаптации:
Рекомпиляция игры с z80 на КР580 - Александр Тимошенко
Адаптация для ПК8000, intro - Иван Городецкий

XobbiMan
02.10.2008, 12:29
Игра с музыкальным intro.

Целый концерт, даже "Пробел" клавишу не захотелось нажимать.

ivagor
02.10.2008, 12:51
Автора музыки, к сожалению, не знаю, а это явно какой-то очень известный на спеке человек.

Tim0xA
02.10.2008, 13:07
Кстати, по поводу музыки и RMP в частности. При заполнении картотеки попался образ с леммингами (игра). Файлов в образе на 300кб. Сжатый в ZIP образ за 400кб. Ага, значит на диске есть удаленные файлы. Открыл в hex-редакторе, поменял атрибуты и что вы думаете? Вуаля! Теперь у нас есть RMP плеер 1998 года с выбором дисков А,В,С и с указанием номера проигрываемого параграфа, а также HDD-версия RMP с выбором дисков A,B,C,D. Автор комплектовал диск с леммингами, все лишнее удалил, но диск не почистил. А нам - польза. Обновлю образ с RMP и выложу уже в картотеку. Надо и другие образы прошерстить...

Error404
02.10.2008, 13:15
В раздел "Рекомпиляция" выложена новая игра для ПК-8000 с MSX - "Driller Tanks".
Игра с музыкальным intro.

Авторы адаптации:
Рекомпиляция игры с z80 на КР580 - Александр Тимошенко
Адаптация для ПК8000, intro - Иван Городецкий

А для Ориона будут рекомпиляции?

Mick
02.10.2008, 19:51
В раздел "Рекомпиляция" выложена новая игра для ПК-8000 с MSX - "Driller Tanks".
Игра с музыкальным intro.

Авторы адаптации:
Рекомпиляция игры с z80 на КР580 - Александр Тимошенко
Адаптация для ПК8000, intro - Иван Городецкий

Супер, интрошка понравилась. Музыка классная, как и Xobbiman долго тащился :) с периодическим подергиванием конечностей. :) Молодцы.

Mick
04.10.2008, 17:07
Итак сегодня запустил на реале(Сура) игру DRILL с целью проверки звучания AY музыки - утверждаю точно звучит. Кстати полоски, сложилось у меня такое впечатление - бегут быстрее чем в эмуляторе.
И еще b2m ты в эмуляторе звук смешиваешь? Получается в эмуляторе как бы моно и запихиваешь в стерео. Дело в том что заметил немгог отличие звучания звука именно канальности(один звук идет в одном канале, а другой в другом, а в эмуле оба звука в обоих каналах с одинаковой громкостью).

ivagor
04.10.2008, 17:26
Итак сегодня запустил на реале(Сура) игру DRILL с целью проверки звучания AY музыки - утверждаю точно звучит.
Отлегло :)


Кстати полоски, сложилось у меня такое впечатление - бегут быстрее чем в эмуляторе.
Это синхронизировано по прерываниям, так что теоретически должно быть одинаково.

b2m
04.10.2008, 21:18
Музыка классная, как и Xobbiman долго тащился
Загрузись в Векторе с диска rpm.fdd, там много такой музыки :) Есть ещё stmpro.fdd, там stmview.com работает из командной строки, но зато он нормально проигрывает некоторые файлы .stc и .zxs из музыки для Спектрума, а такой музыки полно.

Добавлено через 1 минуту

в эмуле оба звука в обоих каналах с одинаковой громкостью
Да, пока в эмуляторе моно. Когда я начинал его делать, про стерео даже и не думал. Так же как и о том, что когда-либо буду эмулировать AY.

ivagor
04.10.2008, 21:43
Загрузись в Векторе с диска rpm.fdd, там много такой музыки
RMPLinker прошел незамеченным, хотя там в качестве одного из примеров тот же e-type, и он позволяет при желании прослушать любые RMP на ПК8000. А тот же e-type+нечто отдаленно похожее на intro заслужили пару добрых слов. Это мне не до конца понятно.
А если цель - послушать хорошую музыку для AY, может лучше воспользоваться коллекцией Бульбы, там и модулей куча и плеер удобнее.

b2m
04.10.2008, 22:13
Это мне не до конца понятно
Просто никто не понял, откуда брать мелодии для RMPLinker-a.

ivagor
04.10.2008, 22:31
Цитата из readme.txt к RMPLinkerу:
"RMP-модули можно найти на сайте Александра Тимошенко vector06c.narod.ru в разделе "Игры, Soft" - образ диска "Real Music Player" (rpm.rar)"

XobbiMan
04.10.2008, 23:42
ivagor,
Его интересно будет попробовать на реальной железке (я пока еще ищу детали, хотя самое главное нашел - разъем, осталось дело за AY )

XobbiMan
06.10.2008, 09:40
Есть такая проблемка.
Я связался с человеком, который обладает несколькими кассетами с программами для ПК8000, но у него нет подходящего магнитофона (а тот что есть - старый и не проигрывает). Но он может передать кассеты для считывания жителю Москвы.
У кого какие соображения насчет этого? (всего-то надо с каким-то GoldWave считать каждую сторону в WAV).

Mick
06.10.2008, 13:48
Есть такая проблемка.
Я связался с человеком, который обладает несколькими кассетами с программами для ПК8000, но у него нет подходящего магнитофона (а тот что есть - старый и не проигрывает). Но он может передать кассеты для считывания жителю Москвы.
У кого какие соображения насчет этого? (всего-то надо с каким-то GoldWave считать каждую сторону в WAV).


Он их только дает считать или отдает? А что нибудь непрограммное осталось?

XobbiMan
06.10.2008, 14:27
Он их только дает считать или отдает? А что нибудь непрограммное осталось?

Дает на время (на сколько я понял), там игры и системные программы (насколько знаю).
Если помните, то я выкладовал второй каталог программ за 1993 год http://pk8000.narod.ru/KATALOG-1993-09-B.jpg, по которому уже я ничего не заказывал, хотя с кассет 1(часть из списка прислал AtWT)) и 2 (были у меня) игры у нас есть, а вот другие возможно на тех кассетах (списка я не видел).
Среди программ, были и игры переделанные с Yamaha MSX. Все HEX игры были с защитами от копирования, но обладатель этих кассет всем играм защиты поснимал, и на кассетах записал чистые.

Mick
06.10.2008, 19:31
Дает на время (на сколько я понял), там игры и системные программы (насколько знаю).


Думаю надо уточнить на какой срок может отдать. Если бы насовсем возможно бы я смотался в Москву. А еще что нибудь осталось, ты не спрашивал?

XobbiMan
06.10.2008, 19:56
Думаю надо уточнить на какой срок может отдать. Если бы насовсем возможно бы я смотался в Москву. А еще что нибудь осталось, ты не спрашивал?
Хорошо, я уточню, но мне кажется у него только кассеты и остались.

Tim0xA
07.10.2008, 00:01
XobbiMan, а этого доброго человека случайно зовут не Сергей или Валера? Я тут на днях два старых сообщения о ПК-8000 нашел в гостевой у Pyk-а, написал их авторам письма и дал ссылку на этот форум. Может кто-то из них откликнулся?

XobbiMan
07.10.2008, 00:06
Tim0xA,
Увы нет, Алексей.

Я сам писал Сергею Нохрину,
но почтовый ящик отозвался, что больше не проверяется
и сообщил что могу с ним сконтактировать на
http://www.chiplab.ru и http://forum.chiplab.ru
Осталось собраться и зарегиться на форуме.

ZEman
07.10.2008, 06:27
вот ведь не думал, вначале игрушку Driller Tanks скачивал только для вектора и думал какой музыке вы тут радуетесь, сёдня наконецто скачал и на пк8000.
молодцы, вот отожгли :)
а что для вектора не стали такое делать, там же железо покруче можно было и получше сделать.

ivagor
07.10.2008, 14:37
а что для вектора не стали такое делать
Если найдется музыкант, готовый предоставить музыку для intro - можно будет и для вектора сделать.

XobbiMan
11.10.2008, 01:37
ivagor,
Хотел спросить
Вот под Z80 (осовенно часто в MSX) есть возможность работы со спрайтами.
Но под КР580 (в нашем случае ПК8000) обычно нету, тогда пишется подпрограмма, которая выполняет эту работу, то есть программный спрайт. (Возможно я не прав в терминологии, но думаю смысл ясен).
Вопрос, нет ли линка в интернете, с этими подпрограммами, или знаешь где капать?
Пока что нашел как работать со спрайтами под z80, хотелось бы подробнее разобраться как же программно (конечно можно написать самому, но зачем велосипед изобретать).

b2m
11.10.2008, 10:27
нет ли линка в интернете, с этими подпрограммами
Линка "с этими подпрограммами" для ПК8000, я думаю, нет - стопудово. Суть подпрограмм: сохранить кусочек экрана в буфере, восстановить из буфера, и наложить другую картинку (спрайт) на экран. Спрайты обычно не прямоугольные, поэтому при наложении нужно сначала стереть часть экрана по маске (непрямоугольная область под спрайтом), а потом наложить картинку спрайта на экран операцией ИЛИ. Например, на спектруме тоже нет аппаратных спрайтов, хотя там и Z80, плюс ко всему цвет задаётся сразу для нескольких точек (целый квадрат 8х8, на ПК8000 в этом отношении проще, всего 8х1). В такой ситуации, если требуется более плавное перемещение спрайта, а не шагами через 8 точек, делают несколько одинаковых спрайтов, но со смещением на несколько точек. Это можно использовать и для других целей: например если перемещение спрайта сопровождается анимацией.

Tim0xA
11.10.2008, 17:29
ivagor,
Хотел спросить
Вот под Z80 (осовенно часто в MSX) есть возможность работы со спрайтами.
Но под КР580 (в нашем случае ПК8000) обычно нету, тогда пишется подпрограмма, которая выполняет эту работу, то есть программный спрайт. (Возможно я не прав в терминологии, но думаю смысл ясен).
Вопрос, нет ли линка в интернете, с этими подпрограммами, или знаешь где капать?
Пока что нашел как работать со спрайтами под z80, хотелось бы подробнее разобраться как же программно (конечно можно написать самому, но зачем велосипед изобретать).
Скоро на сайте (и в картотеке, только для Вектора) будут исходники рекомпилированных программ для Вектора и ПК-8000. Там можно будет посмотреть, как ivagor реализовал спрайты. Соберусь, также выложу рекомпилированные исходники еще неадаптированных под ПК и Вектор игр (таких уже штук 5 есть), можно будет желающим попробовать свои силы в адаптации, а также опишу методику, как рекомпилить с z80 при помощи рекомпилятора. Времени мало сейчас, но все скоро будет.

ivagor
11.10.2008, 17:48
Один момент отмечу

Там можно будет посмотреть, как ivagor реализовал спрайты
Это только для вектора, на ПК8000 руки до эмуляции MSXовских спрайтов не дошли.

На П8000 эмуляция спрайтов, из доступных сегодня игр, есть в warp&warp, но там она довольно специфическая.

XobbiMan
11.10.2008, 17:58
Tim0xA,
ivagor,
Понятно, спасибо.

Tim0xA
15.10.2008, 00:43
На сайте в разделе "Рекомпиляция" начали появляться исходники. Все желающие освоить процесс портирования ПО с MSX могут приступить к изучению процедур эмуляции MSX BIOS (автор ivagor)

XobbiMan
15.10.2008, 09:39
Tim0xA, ivagor,
Спасибо вам.
Теперь будет чем пустые вечера занимать.

XobbiMan
21.12.2008, 14:18
Большой список новых программ и игр для ПК8000, предоставленные Scaraby (за что ему большое СПАСИБО), выложены на сайте http://pk8000.narod.ru/

Прямая ссылка на архив - http://pk8000.narod.ru/Igry_By_Scaraby.7z

(как всегда внутри архива есть небольшая инструкция по файлам).

Mick
21.12.2008, 14:40
Большой список новых программ и игр для ПК8000, предоставленные Scaraby (за что ему большое СПАСИБО), выложены на сайте http://pk8000.narod.ru/

Прямая ссылка на архив - http://pk8000.narod.ru/Igry_By_Scaraby.7z

(как всегда внутри архива есть небольшая инструкция по файлам).

И тебе спасибо за файлы. Что же помаленьку расширяемся :)
Это тот человек, который кассеты предлагал перегнать?

XobbiMan
21.12.2008, 14:45
Это тот человек, который кассеты предлагал перегнать?

Да.
Он купил старый кассетник на барахолке и сам все оцифровал.

Mick
21.12.2008, 15:39
Да.
Он купил старый кассетник на барахолке и сам все оцифровал.

Видать достали мы его сильно :)
кстати а ты его не спрашивал про фантики(обложки) от кассет. Если они были, то тоже неплохо бы знать кто их записывал.

XobbiMan
21.12.2008, 17:31
Mick,
Да нет, мы его не достали. Он сам был заинтересован. Настальгия. У него есть Хобби ПК8000 (с немножко поврежденным корпусом), но не под рукой.
Обложек к кассетам не было (и у меня у таких кассет "фирменных" тоже не было - обычные советскин кассеты без обложек). Плюс к этому, он все игры и программы переписал на свои TDK кассеты - для лучшей сохранности. И некоторые игры с защитой сам же и взломал, чтобы проще было переписать.

Самое интересно, есть в этом комплекте адаптированный МОНИТОР РК86.
Вот бы еще и ФОРТ достать бы.

ivagor
11.02.2009, 17:10
Неожиданно подумал, что сделать на ПК8000 3color не просто, а очень просто
http://retrocomp.narod.ru/pk8000/3color_v1.1.rar
Прогон на эмуляторе показал, что под эмулятором смотреть 3color смысла мало. На реале должно быть чуть получше (мигать, конечно, все равно будет).

Картинка в примере взята здесь
http://zx.pk.ru/showthread.php?t=713
автор - Andry (Андрей Пьянков)

Mick
11.02.2009, 19:44
Неожиданно подумал, что сделать на ПК8000 3color не просто, а очень просто
10638
Прогон на эмуляторе показал, что под эмулятором смотреть 3color смысла мало. На реале должно быть чуть получше (мигать, конечно, все равно будет).

Картинка в примере взята здесь
http://zx.pk.ru/showthread.php?t=713
автор - Andry (Андрей Пьянков)

Ты заинтреговал, достал реал, Суру - и проверил. Мигает достаточно заметно. Вот заснял скриншотики.

В основном на экране виден 3col_second :) Но по сравнению с эмулятором смотрится гораздо лучше.

ivagor
11.02.2009, 20:24
Здорово, что у тебя получилось сделать фотки!
Есть мнение, что не хватает яркости, поэтому добавил переключение яркости пробелом, для выхода в бейсик нужно нажать СТОП.

XobbiMan
11.02.2009, 23:26
Надо на видео заснять, может тоже смотреться будет неплохо

Tim0xA
12.02.2009, 00:54
ivagor, круто! А на ПК8000 есть прерывание, как на Векторе, чтобы можно было производить переключение цветов во время обратного хода лучей?

Mick
12.02.2009, 07:01
А на ПК8000 есть прерывание, как на Векторе, чтобы можно было производить переключение цветов во время обратного хода лучей?

На ПК8000 есть прерывания идущие с частотой 50Гц(если не изменяет память). А как ты думаешь я AY юзал совместно с бегущей строкой.
Просто ivagor показал пример реализации мультиколора. А так там можно также оптимизировать и выводить на экран через стек - всеже быстрее будет.

Tim0xA
12.02.2009, 11:22
А как ты думаешь я AY юзал совместно с бегущей строкой.
Не знаю, "чукча - читатель, чукча - не писатель" (демок с AY и скроллами не пишу).


Просто ivagor показал пример реализации мультиколора. А так там можно также оптимизировать и выводить на экран через стек - всеже быстрее будет.
Ну вот я потому и спросил. Мне интересно - мигание возникает вследствие недостатка быстродействия ПК-8000 для полноэкранного мультиколора или просто еще не задействовано прерывание для синхронизации смены цвета с ходом луча. Уж больно интересный эффект - интересна его перспектива.

Mick
12.02.2009, 11:54
Ну вот я потому и спросил. Мне интересно - мигание возникает вследствие недостатка быстродействия ПК-8000 для полноэкранного мультиколора или просто еще не задействовано прерывание для синхронизации смены цвета с ходом луча. Уж больно интересный эффект - интересна его перспектива.

Скажем по исходнику, синхронизация смены цветных плоскостей происходит по прерываниям. Процедура Int. Но вот пересылка плоскостей происходит через процедуру ПЗУ.
В приципе, если задаться целью, то можно думаю уменьшить мерцание - надо немного изменить по крайней мере метод пересылки данных.

ivagor
12.02.2009, 12:12
В 3col реализован эффект, который, насколько я знаю, на спектруме назывался(ется) 3-color. Картинка раскладывается на 3 составляющие - R,G,B и эти составляющие показываются на экране поочередно через 1/50 сек.
Фишка - можно показать 8цветную картинку без ограничений на раскраску атрибутами (т.е. каждая точка может быть своим цветом).
Недостаток - т.к. фактическая частота вывода "полных картинок" получается примерно 16,67 Гц, то мигание очень сильно заметно.
Особенности реализации - в отличие от спектрума, у которого max 2 экранные области (у 128го), у ПК8000 - до 4х, поэтому просто выводим в 3 экранные области нужный рисунок нужным цветом и по прерыванию переключаем (в отличие от спека быстродействие процессора не критично).
:) Перспективы :)
1. Уменьшение заметности мигания можно получить, если чередовать 2 экранные области (частота вывода "полных картнинок" 25 Гц), но если подход к разложению на цвета будет таким же (т.е. просто взять 2 из 3 bitplanов - или R и B, или G и B и т.д.) - цветов будет меньше и картинку надо подбирать соответствующую.
2. Можно чередовать не только базовые цвета, но и любые, видел такое и в спековских демках и в msxных. Проблема - если отображать не только абстрактные узоры, то нужно знать соответствие чередующихся цветов и "видимого глазом" цвета. Знаю, что на msx это определили, видел одну или две демки, где показывались многоцветные картники на msx1. Насколько знаю, под этот вариант в свободном доступе конвертеров нет.

Mick
16.02.2009, 20:14
Здорово, что у тебя получилось сделать фотки!
Есть мнение, что не хватает яркости, поэтому добавил переключение яркости пробелом, для выхода в бейсик нужно нажать СТОП.

Попробовал. Скажем яркость заметна, но смотреть лучше без повышенной яркости. А для фотика наоборот :) Мерцалка заметна. :)
Итак скришоты: справа c яркостью, слева без яркости

ivagor
16.02.2009, 20:43
"яркая" фотка выглядит почти хорошо :), хотя понятно, что когда смотришь на ТВ, мигание напрягает.

ivagor
07.03.2009, 19:38
Пример проигрывания конверснутого WAV файла через бипер. Через AY было бы качественнее, но памяти потребовалось бы в 4 раза больше.
Запуск как обычно bload"ZOLTEL",r
В эмуляторе звучит высоковато, но я посчитал такты - на реале должно быть в самый раз.
http://retrocomp.narod.ru/pk8000/ZolTel.zip

ivagor
12.03.2009, 15:18
Сделал вариант прошивки ПК8000, совместимый и с z80 и с КР580. Исходные варианты (1.1 и 1.2) не работают нормально на z80, как и другие клоны BASIC "Микрон". В отличие от векторовского BASIC 2.5, в варианте ПК8000 есть сравнительно много свободного места, поэтому патч ничего не урезает, только быстродействие будет чуть меньше. Вобщем, можно побаловаться в эмуляторе.
http://retrocomp.narod.ru/pk8000/basicPK8000z.zip

Mick
12.03.2009, 19:17
Сделал вариант прошивки ПК8000, совместимый и с z80 и с КР580. Исходные варианты (1.1 и 1.2) не работают нормально на z80, как и другие клоны BASIC "Микрон". В отличие от векторовского BASIC 2.5, в варианте ПК8000 есть сравнительно много свободного места, поэтому патч ничего не урезает, только быстродействие будет чуть меньше. Вобщем, можно побаловаться в эмуляторе.

Зачем посты убиваешь? :v2_crazy:
Программу wav я еще пробовал. И этот бейсик попробую, но немного попозже.
А вообще за конверсию и программы тебе большущее спасибо.
Сейчас немного занят своим ZX клоном, а потом вернемся к ПК8000. :)

ivagor
05.07.2009, 13:43
Обнаружился один баг прошивки "Весты". В bsave если хотя бы один из аргументов &H8000 выдает синтаксическую ошибку, а 32768 переваривает. Другие значения аргументов в 16ричном виде вроде обрабатываются нормально.
Может это одна из вещей, исправленных в прошивке 1.2?
Не прошло и года и баг нашелся. Это не баг bsave и даже не баг именно бейсика ПК8000, это баг подпрограммы перевода FLOAT->DE оригинального бейсика РК86, он есть и в орионовском бейсике (даже в 4.10). В "микроне" он был исправлен, (поэтому и в векторовском basic 2.5 с этой подпрограммой нормально). Попробовал по аналогии с "микроном" исправить (в выкладывании не вижу смысла - менять ПЗУ никто не будет, поэтому и пост с бейсиком под z80 пытался удалить) - стало ОК. Так глядишь, к концу 21 века вобще все ошибки будут отловлены.

Andrey_Ak
07.11.2009, 15:26
А кроме как на сайте http://pk8000.narod.ru/
в архивах pk8000prg.7z, Igry1_By_AtWT.7z, Igry_By_Scaraby.7z

больше нигде нету софта?

И *.cas файлы такие-же как и для других компьютеров на КР580?
Чем их проигрывать?

XobbiMan
07.11.2009, 18:33
Andrey_Ak,

Все CAS делались чтобы их проигрывать в эмуляторе http://bashkiria-2m.narod.ru/
CAS формат такой же как у MSX, то есть с castools утилитами можно перегнать в WAV и грузить на реальном ПК8000.

Еще попался софт для дисковой системы (думаю оттуда можно как-то выдрать и преобразовать в отдельные CAS для последующего использования на кассетно ПК8000)

ivagor
07.11.2009, 18:53
софт для дисковой системы (думаю оттуда можно как-то выдрать и преобразовать в отдельные CAS для последующего использования на кассетно ПК8000)
После преобразования TD0 в fdd утилиткой b2mа файлы из образов легко выдергиваются в Total Commander с плагином OdiWcx by Error404. Правда, практического смысла от выдергивания имеющихся на образах программ я не вижу.

XobbiMan
07.11.2009, 21:11
ivagor,
Спасибо за совет.
Практическое такое - если получится некоторые игры (которых еще не было для магнитофонной версии) перевести в WAV и потом загрузить в реале (дисковода и контроллера ведь нет)

ivagor
07.11.2009, 21:29
Может я смотрел невнимательно, но из "новых" игрушек там разве что некоторые на бейсике, хотя для коллекционных целей это не важно. Для загрузки с ленты надо откусить "адаптатор к ДОС". Хотя именно с бейсиковскими можно поступить проще, после загрузки игрушки с диска выйти в бейсик и записать по csave.

Andrey_Ak
07.11.2009, 22:55
А какая именно castools ?
У меня только для Atari есть утилиты конвертации *.cas в *.wav ...

И где есть образ ПЗУ на Весту?

b2m
07.11.2009, 23:19
В моём эмуляторе есть образ ПЗУ Весты, если это имелось ввиду.

Andrey_Ak
08.11.2009, 00:26
В моём эмуляторе есть образ ПЗУ Весты, если это имелось ввиду.
- Да, нашел... :) Спасибо!

---------- Post added at 03:26 ---------- Previous post was at 02:41 ----------

да.... что-то с ПО для ПК 8000 совсем хреново... :(

Tim0xA
08.11.2009, 01:06
После преобразования TD0 в fdd утилиткой b2mа файлы из образов легко выдергиваются либо в Total Commander с плагином OdiWcx by Error404, либо в FARе c векторовским плагином MI_V004.
Векторовским плагином зайти в образы из архива http://pk8000.narod.ru/pk8000fdd.rar у меня почему-то не получается :(

ivagor
08.11.2009, 07:26
Векторовским плагином зайти в образы из архива http://pk8000.narod.ru/pk8000fdd.rar у меня почему-то не получается
Пардон, действительно, остается только Total Commander+OdiWcx.


да.... что-то с ПО для ПК 8000 совсем хреново...
Все относительно, полтора года назад информации и программ по ПК8000 в интернете совсем не было.

---------- Post added at 09:26 ---------- Previous post was at 09:05 ----------

Если изменить число системных дорожек (O 4), то образы от ПК8000 можно смотреть в эмуляторе вектора. Пробовал в МикроДОС.

demetrius2003
10.04.2011, 22:13
Друзья!
Прочитал всю ветку. От себя дополню. В начале 90-х, когда у меня была Сура, я купил кассету с системными программами. Среди них были - текстовый редктор с кучей текстов с описанием самой Суры (включая ассемблер, ПОДРОБНЕЙШУЮ карту памяти с точками входа в ПЗУ и описанием системных переменных, этого не было в заводской документации!!!), ассемблером, дизассемблером, Форт-системой (! кто-то тут портировать собирался, а она работала в то время!!!). Ещё куча всего было. Теперь и не упомню. Тетрадка с надписью ПК8000 до сих пор где-то дома лежит. Там я записывал самое основное из текстовиков (принтера не было) и там же составил описание Форт-а. Теоретически должны сохраниться эти кассеты в гараже, потому как я ничего не выбрасывал. На днях попробую найти, т. к. самому уже интересно!
С уважением, Дмитрий.

demetrius2003
11.04.2011, 11:54
Гы! Кассеты живы! Вот их содержимое:
1)
Side A:
check AF
check BF
MUZ
MUZRED
README
PUB3
TAB
UTILIT
KEY
SPEED
SKIPPY
Eedit
Eassm
Edesa
Egred
Etext
gred
EDIT
TEXT
Side B:
ФОРТ
ASSM
DESA
gred
EDIT
TEXT
COPY-U
basic
2) Basic v2
3) Копии вышеуказанных программ
4) Системная кассета. Шла в комплекте с ПК8000. Есть целиком на сайте pk8000.narod.ru

Исходя из всего уже сказанного имею к сообществу несколько вопросов, а именно:
1) Как правильно оцифровать кассеты? Просто в wav скинуть?
2) Что такое cas-файлы? Куда их пихать?
3) Как потом оцифрованные wav в эмулятор загнать?
Пока вот всё.

b2m
11.04.2011, 16:47
На мой взгляд:
1. просто в wav, желательно перед этим облагородить маг, почистить головку спиртом :)
2. cas-файл - это сконвертированный в бинарный формат wav-файл, т.е. в котором байтики уже как байтики, а не как звук
3. либо сконверитровать в cas, либо как есть. В моём эмуляторе - надо сначало выбрать на тулбаре воспроизведение wav-файла, а потом давать команду чтения, иначе эмулятор автоматически попросит cas-файл

demetrius2003
12.04.2011, 07:54
Вот кусочек попробывал. Что-то прямо сказать не очень получилось. http://filesurf.ru/221042
Китайский плеер шумит-фонит как бешеный (даже если просто нажать Play без ленты). Но это ещё терпимо. А вот на записи видны НЧ колебания. Точнее вся запись промодулирована этими НЧ колебаниями. Толи это дешёвый лентопротяг такую бяку вносит, толи лента за 20 лет так слежалась, толи сама запись уже с фоном и искажениями была. Есть возможность оцифровать ленты на Ямахе. Но это не так быстро получится, как хотелось бы. Что ещё можно предпринять?

KALDYH
12.04.2011, 08:42
Что ещё можно предпринять?
Если будешь проездом в Кемерове, подарю Hi-Fi деку Aiwa:)

demetrius2003
12.04.2011, 20:42
Хм, заманчивое предложение! Далековато, однако. Но всё равно, спасибо!

XobbiMan
15.04.2011, 20:18
demetrius2003,

А советский маг на барахолках не достать?

Я цифровал в помощью Легенда-404
По рекомендациям использовал WaveLab 5.*
Делал моно-шнур, так как все программы записаны в моно, и так как стереокасетники считывают в одном канале (левый наверное) нормальный сигнал в другом шум.
С програмой захватываем только моно - один канал, или можно от магнитофона подать и на левый и на правый звуковухи.

Думаю идею с каналами поняли (просто как-то сумбурно тут написал)

Далее загоняю одну прогу, проверяю в эмуляторе грузит wav или нет.
Если без проблем грузит.
Тогда можно всю сторону в один файл загрузить,
а потом нарезать (по формам будет понятно как)
Также можно wav2cas программой восползоваться

Потом грузил в эмулятор cas на проверку.

ФОРТ и Бейсик в.2 очень хочется , если что, спрашивайте, поможем о оцифровке.

---------- Post added at 19:18 ---------- Previous post was at 19:04 ----------


Владельцы ПК8000 Хобби,

если не затруднит - сделайте дамп ПЗУ.
Хочется сравнить со своим (понять, битая у меня ПЗУ или все-таки у всех Хобби оно такое)

demetrius2003
16.04.2011, 14:46
Нашел Вегу 122. Лежит на работе. В понедельник попробую её завести.

scaraby
31.05.2016, 19:59
Разжился ворохом кассет с программами. Неторопливо занялся их оцифровкой. Кто-нибудь в курсе, а на кассете, которая шла в комплекте с "Вестой" и называлась "1 ВЫПУСК ВЕСТА", программа "TEST" отличается от известного теста, поставляемого в комплекте с "Хобби"? На кассете обе копии файла убиты. Загрузить в реал не удалось.

57298

vwarlock
30.06.2016, 19:06
На сайте в разделе "Рекомпиляция" начали появляться исходники. Все желающие освоить процесс портирования ПО с MSX могут приступить к изучению процедур эмуляции MSX BIOS (автор ivagor)

Подскажите, а информацию с это свйта можно где-то найти? Если я правильно понял сайта больше нет?

b2m
30.06.2016, 22:13
Подскажите, а информацию с это свйта можно где-то найти? Если я правильно понял сайта больше нет?
Видимо, имеется ввиду vector06c.narod.ru (http://web.archive.org/web/20121028142135/http://vector06c.narod.ru/)

vwarlock
01.07.2016, 10:54
Спасибо!
Но, вот того, что мне хотелось почитать-посмотреть и нет!
Меня интересовал раздел "рекомпиляция", а точнее исходники рекомпиляции MSX'овских игр на ПК8000.
Может у кого-нибудь сохранились архивы с играми и исходниками?

vwarlock
04.07.2016, 11:02
Уважаемые, форумчане!
Извиняюсь за назойливость, но все-таки спрошу еще раз:
Может у кого-нибудь сохранились архивы с играми и исходниками из раздела "Рекомпиляция" с сайта vector06c.narod.ru?
Очень хочется поразбираться с этим.
Заранее благодарен.

ivagor
05.07.2016, 05:32
Выложил (https://yadi.sk/d/4C-qezpNszmDF) архив своего сайта. Там есть кое-что по теме

scaraby
23.09.2016, 18:36
Сбылась школьная мечта. Наконец-то сегодня закончил написание копировщика программ. А это значит, что пополнится коллекция программ для ненаглядного ПК8000. Если кто-то хочет вспомнить былое и попробовать, как это делалось - переписывались защищённые программы, то милости прошу. В архиве cas и wav, чтобы два раза не вставать.

В эмуляторе emu корректно работают чтение и запись wav-файлов, а также запись cas файлов. Чтение cas обрабатывается некорректно. В программе для чтения используется точка входа ПЗУ 354ah, которая без затей льёт в ОЗУ всё, что прочитала с ленты. Эмулятор перехватывает эту точку и отдаёт весь cas-файл, включая заголовок, который программа воспринимает, как простой поток данных. В силу того, что программа писалась для реала и для реального магнитофона с кассетами, на эту особенность махнул рукой. Да и как-то желание сделать копию cas-файла таким способом мне кажется странным. :-)

https://vk.com/doc318311468_438007808

UPD: Нужно прикрутить возможность просмотра списка загруженных файлов, а то когда все записи не умещаются на экране, увидеть первые не представляется возможным.

UPD: В процессе работы это выглядит вол таким образом: https://pp.vk.me/c636126/v636126468/2b0d1/9j4XZnYafc4.jpg. В школе о таком мог только мечтать. :)

UPD: Теперь можно просматривать файлы, когда их количество не умещается на экране. Программа перемещена в адреса 0E000h, чтобы таблица расположения загруженных блоков не затиралась стеком.

scaraby
30.10.2016, 16:12
Забацал тут программулю по мотивам известного ролика из Интернета. Реализовал загрузку заставки с магнитофона, как на Спектруме, и вывод однобитной музыки с графикой. Вот, если интересно, взгляните.


https://www.youtube.com/watch?v=yMy_vcC--iU

UPD: Чтобы в эмуле или в реале попробовать, NYANC.HEX.wav (https://vk.com/doc318311468_438595424) в архиве. Загружаем стандартно BLOAD"NYAN",R. Cas в эмуляторе EMU не работает, потому что прога имеет нестандартный загрузчик. Потому как чтобы грузить прямо с кассеты в Видео-ОЗУ, нужно отключить ПЗУ. Снова привет разработчикам - очень "удобно" сделали. :-)

cy6
31.10.2016, 13:35
Шикарно. И Сура, и Маяк и кибер-котяра. :)

DemonId7
31.10.2016, 17:36
Потому как чтобы грузить прямо с кассеты в Видео-ОЗУ, нужно отключить ПЗУ.Разве? Запись в ПЗУ приводит к тому, что реально запись идет в видеопамять.
Или можно перенастроить видеопамять в верхние адреса памяти, как это делает СР/М. В этом случае точно ничто не помешает использовать стандартный загрузчик ПЗУ.

scaraby
31.10.2016, 18:49
Разве? Запись в ПЗУ приводит к тому, что реально запись идет в видеопамять.
Или можно перенастроить видеопамять в верхние адреса памяти, как это делает СР/М. В этом случае точно ничто не помешает использовать стандартный загрузчик ПЗУ.

Ой-ой! Вы правы! Конечно же, чтобы читать видео-ОЗУ. Читать видео-ОЗУ мне приспичило, потому что я заменил ПЗУ-шный обработчик прерывания по таймеру (0038h) на свой. А нестандартный загрузчик сделал для того, чтобы бордюр мигал в такт загружаемому байту, а-ля спектрум. :)

scaraby
08.11.2016, 13:59
Поковырял программы, которые выложил камрад Mick (http://zx-pk.ru/members/503-mick.html) в другой ветке (http://zx-pk.ru/threads/8140-pk8000-obshchie-voprosy.html?p=890130&viewfull=1#post890130). В принципе, там повторы в основном того, что имеется уже в Интернете, но вот тренажёр-инструкцию клавиатуры такую раньше не видел, поэтому решил сюда бросить ссылку на cas.

УПРКЛА.BAS.cas (https://vk.com/doc318311468_438799134)

Mick
08.11.2016, 19:11
Поковырял программы, которые выложил камрад Mick (http://zx-pk.ru/members/503-mick.html) в другой ветке (http://zx-pk.ru/threads/8140-pk8000-obshchie-voprosy.html?p=890130&viewfull=1#post890130). В принципе, там повторы в основном того, что имеется уже в Интернете, но вот тренажёр-инструкцию клавиатуры такую раньше не видел, поэтому решил сюда бросить ссылку на cas.


А можешь еще сделать список прог на кассетах, чтобы соспоставить с производственными номерами, указанных на кассетах.

scaraby
08.11.2016, 23:06
Ну вот как-то так получилось. Файл BOOL - это игра МЯЧИК, файл без имени - это TEST, в котором название "Хобби" в начальной заставке заменено на "СУРА", KV - однобитная программа на бейсике, которая что-то вычисляет, ХИМИЯ - набросок на будущую таблицу Менделеева, а HELP - англо-русский словарь, построенный по принципу IF A$="CAT" THEN PRINT "КОТ".

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

5870058699

Mick
09.11.2016, 07:03
Есть у меня такое подозрение, что вторая кассета была перезаписана владельцем. На WAV очень явно видны различия между сигналами, уровни у каждой пары файлов сильно отличаются.


Скорее всего объяснение гораздо проще. Одна кассета датируется 87 годом, а вторая 89.

scaraby
20.11.2016, 23:58
Поскрёб тут по всем сусекам и сложил в одну папку все программы, которые у меня имеются для ПК8000. Набралось на сегодняшний день 300 файлов с хвостиком. Отсортировал по алфавиту, чтобы можно было в любой момент добавить файлы, если что-то новое отыщется. WAV не стал выкладывать, потому что есть утилита cas2wav. Выложил CAS. Кому надо, берите.

На Google Disk (https://drive.google.com/drive/folders/0B2BguVDiCoR4UndpZTFOSXFpa0k?usp=sharing).

Там же в архиве zip (https://drive.google.com/file/d/0B2BguVDiCoR4M1NNOVBSTVZ2V2M/view?usp=sharing).

Valentinus
21.12.2016, 15:12
в 1992году написал игру Space Wings - она в архиве Алексея под названием (SWING.HEX.cas)
59073

в ней мной была сделана защита от копирования (при запуске с чужого диска, на втором этапе игра вылетала; при запуске с кассеты - на первом). к сожалению, ее так и не сломали.

в принципе, я помню, на чем основывалась защита, можно было бы ее убрать :)
к сожалению у меня уже нет ПК8000 (да и знаний не осталось),
но может кому-то из форумчан будет интересно подарить людям возможность поиграть в еще одну игру?

смысл защиты был в том что в дисковой системе (не синей с панелью файлов, а черно-зеленой, с командной строкой) менялся цвет символов; он где-то кодировался байтом, насколько помню там по умолчанию был 0x02 (зеленые буквы) на 0x03 (светло-зеленые буквы), или наоборот, сейчас уже не помню, но это можете посмотреть.

т.е. для простого пользователя это изменение было малозаметно, но игра правильно работала только при запуске с "правильной" (точнее - правленной) дискетой. После того как игра запускалась с диска, значение цвета оставалось в какой-то ячейке памяти (где-то в верхних адресах) - игра в начале каждого уровня брала это байт и использовала его как смещение для вызова какой-то своей процедуры или перехода.

как я уже говорил, все было рассчитано так, что первый уровень запускался, а на втором программа вылетала (но если используется файл с кассеты, то в этой ячейке наверное не 0x02 и не 0x03, а просто 0x00 или 0xff, поэтому вылет происходит сразу, на первом уровне).

т.е. лечение можно сделать просто :
1) найти где в загрузчике находится байт цвета символов,
2) посмотреть, где он остается в памяти,
3) в начале программы сделать вставочку - вызов процедуры, которая будет менять этот байт в памяти на нужный. (ну или заморочиться, найти то место в программе, где он читается и провести корректировку кода; хотя не помню, одно было такое место или может не одно).

ЗЫ. в игре пять этапов. после последнего - небольшой сюрприз:)

DemonId7
29.12.2016, 17:26
Цвет текста и фона в системе МДОС задается командами:
mvi A, 2
out 88h
расположенными по адресам 0DA93h и 0DA95h соответственно. В образе диска это смещение 1713h и 1715h соответственно. То есть для изменения цвета достаточно поменять байт в файле образа по адресу 1714h. Например в файле DISK9.FDD. Цвет вполне себе меняется.
Однако, программа все равно вылетает после заставки. Как будет время - разберусь. Может даже сегодня вечерком попробую.

Valentinus
29.12.2016, 20:56
Однако, программа все равно вылетает после заставки. Как будет время - разберусь. Может даже сегодня вечерком попробую.
хм. Алексей сказал, что он пробовал дважды считывать файл с кассеты, сравнил - ошибки при считывании нет. может кто-то уже наковырял до записи на кассету :(

а есть ли в программе чтение памяти по адресу 0DA94h (т.е. кода цвета)? хотя , признаться. я по молодости еще тот затейник был, мог не напрямую адрес использовать, а вычислять сложением.
может лучше пробежаться в турбодебаггере, до перехода к черту на кулички - по адресу вне адресного блока программы - понятно что где-то там и стоит эта "защита" (чорт бы ее побрал)

PS спасибо, что взялись !;)

DemonId7
30.12.2016, 21:50
Запустил и даже немного поиграл. Итак, защита была не по цвету, а по байту в копирайте строки "МДОС 1.0 ". После версии стоит пробел, вот в этой ячейке и хранилось что-то нужное. Что именно - я пока не разобрался. Вообще складывается ощущение, что игрушка уже была кем то покоцана, либо попорчена. Например такой фрагмент:

RAM:F007 mvi a, 82h
RAM:F009 nop
RAM:F00A nop
RAM:F00B mvi a, 0FCh
RAM:F00D out 80h
Говорит о том, что здесь забили нопами запись в какой-то порт.
Или:

RAM:917E do_GAME:
RAM:917E mvi a, ' '
RAM:9180 lxi bc, 768 ; 32*24
RAM:9183 lxi hl, 0
RAM:9186 call sv_FILLCHAR ; clear screen
RAM:9189 call sub_9E74 ; clear variables
RAM:918C ei
RAM:918D nop
RAM:918E nop
RAM:918F nop
RAM:9190 nop
RAM:9191 nop
RAM:9192 nop
RAM:9193 nop
RAM:9194 nop
RAM:9195 nop
RAM:9196 nop
RAM:9197 nop
RAM:9198 nop
RAM:9199 nop
RAM:919A nop
RAM:919B nop
RAM:919C nop
RAM:919D nop
RAM:919E nop
RAM:919F nop
RAM:91A0 nop
RAM:91A1 nop
RAM:91A2 nop
RAM:91A3 nop
RAM:91A4 nop
RAM:91A5 nop
RAM:91A6 nop
RAM:91A7 nop
RAM:91A8 nop
RAM:91A9 nop
RAM:91AA nop
RAM:91AB nop
RAM:91AC nop
RAM:91AD nop
RAM:91AE nop
RAM:91AF nop
RAM:91B0 nop
RAM:91B1 nop
RAM:91B2 nop
RAM:91B3 nop
RAM:91B4 nop
RAM:91B5 nop
RAM:91B6 nop
RAM:91B7 nop
RAM:91B8 nop
RAM:91B9 nop
RAM:91BA nop
RAM:91BB nop
RAM:91BC nop
RAM:91BD nop
RAM:91BE nop
RAM:91BF nop
RAM:91C0 nop
RAM:91C1 nop
RAM:91C2 nop
RAM:91C3 nop
RAM:91C4 nop
RAM:91C5 nop
RAM:91C6 nop
RAM:91C7 nop
RAM:91C8 nop
RAM:91C9 nop
RAM:91CA nop
RAM:91CB nop
RAM:91CC nop
RAM:91CD nop
RAM:91CE nop
RAM:91CF nop
RAM:91D0 nop
RAM:91D1 nop
RAM:91D2 nop
RAM:91D3 nop
RAM:91D4 nop
RAM:91D5 nop
RAM:91D6 nop
RAM:91D7 nop
RAM:91D8 nop
RAM:91D9 nop
RAM:91DA nop
RAM:91DB lxi bc, 64
RAM:91DE lxi de, word_8F80
RAM:91E1 lxi hl, word_8FC0
RAM:91E4 call sv_MEMCOPY
RAM:91E7 nop
RAM:91E8 nop
RAM:91E9 nop
RAM:91EA mvi a, 26
RAM:91EC sta tmpData
RAM:91EF lxi de, 0
RAM:91F2
RAM:91F2 loc_91F2:
RAM:91F2 lxi bc, 32 ; bc = screen width
RAM:91F5 lxi hl, screenBuffer ; 832 bytes
RAM:91F8 call sv_MEMCOPY
RAM:91FB lda tmpData
RAM:91FE dcr a
RAM:91FF sta tmpData
RAM:9202 jnz loc_91F2
RAM:9205 ; put sprite Heroes

Собственно сам подозрительный код:

RAM:F07F mvi a, 0
RAM:F081 sta byte_DA82

По адресу DA82h как раз тот самый пробел в копирайте МДОС. Если заменить 0 на 3, то игра запускается. В файле CAS это смещение 011Eh. Одно но, на экране лезут какие-то артефакты :(
В принципе можно дальше поковыряться, да попробовать подправить код. Но это после праздников. Ну или заново написать, таблицы знакогенераторов и цветов сохранились и я могу их легко вытянуть.
PS: определять оставшуюся жизнь игрока по цвету его корабля - это оригинально :)

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

Вот теперь полностью разобрался в защите.
Защита в следующем. Из ячейки 0DA82h берется байт. К нему прибавляется 7Fh и полученный результат пишется на адрес 9BC8h. В этом адресе находится старший байт параметра команды CALL (младший байт постоянный и равен 1Bh). То есть, происходит вызов подпрограммы по адресу (([0DA82]+7Fh) << 8) | 1Bh.
Пробежался по все адресам XX1Bh, начиная с 7F1Bh. По адресу 9B1Bh весьма "подозрительная" подпрограмма. Поставил в ячейку DA82h значение 9Bh-7Fh = 1Ch. И все, работает :v2_dizzy_roll:
Для не программистов. В файле SWING.CAS нужно в ячейку по адресу 011Eh прописать значение 1Ch.

Valentinus
31.12.2016, 00:09
Запустил и даже немного поиграл. Итак, защита была не по цвету, а по байту в копирайте строки "МДОС 1.0 ". После версии стоит пробел, вот в этой ячейке и хранилось что-то нужное. Что именно - я пока не разобрался. Вообще складывается ощущение, что игрушка уже была кем то покоцана, либо попорчена.

возможно это уже кто-то разобрался в защите и модернизировал ее, за собой я такого не помню, хотя давно было, может просто забыл ("позор на мои седины!"(С)). помню что когда продавал ее, покупатель попался дотошный хитрющий мужик, заставил меня показать где менять системный файл, чтоб он тоже мог ее копировать :(



PS: определять оставшуюся жизнь игрока по цвету его корабля - это оригинально :)


сэкономил байт :) и бесконечное кол-во жизней сложнее вписать :)



Для не программистов. В файле SWING.CAS нужно в ячейку по адресу 011Eh прописать значение 1Ch.

попробовал
59160

ура, работает!

единственное - у меня подозрение, что стартует игра не с первого уровня, а с второго. мне кажется первый уровень я не такой хардкорный делал. хотя может это просто ложные воспоминания. точно сказать не могу - на четвертом уровне сейчас такой замес, что еще не прошел, представляю, что на пятом 0_0 (и в emu скорость эмуляции не понизить , к сожалению). вообще это моя беда была - делать слишком сложные уровни в играх :( надо было хоть количество жизней делать побольше :(

Андрей, большое вам спасибо и от меня, и от лица всех тех, кто еще играется с ПК8000!
Это просто шикарный Новогодний Подарок всем нам!!!!

b2m
31.12.2016, 04:39
и в emu скорость эмуляции не понизить , к сожалению
Ну, в принципе, можно понизить CPUclock в конфиге. Должно замедлиться.

scaraby
31.12.2016, 16:05
Для не программистов. В файле SWING.CAS нужно в ячейку по адресу 011Eh прописать значение 1Ch.

Пропатченную версию разместил в общем каталоге.

ZEman
26.02.2017, 16:46
прошу помощи !

хотел скачать новые игрушки для pk8000 - но ничего не выходит.
я про игры с сайта http://pk8000.narod.ru/
там есть "Новые игры для ПК8000" - рекомпиляции от Александр Тимошенко и Иван Городецкий.
беда в том что все ссылки ведут на http://vector06c.narod.ru/ которого уже давно не существует.
можете выложить кто-нибудь архивчик ?

Дмитрий2012
26.02.2017, 16:56
Вспомнил. ivagor уже выкладывал архив с данными играми и исходники в этом сообщении http://zx-pk.ru/threads/8378-pk8000-soft-staryj-i-novyj.html?p=877066&viewfull=1#post877066

demetrius2003
26.02.2017, 18:19
Дратути! А пока я отсутствовал, случайно Форт для ПК8000 не нашли? Ladysoft который?

DemonId7
29.11.2017, 19:00
Дописал плеер под AY-адаптер.
6311663117
Пока не решил вопрос выбора не читаемых дисков и скорее всего отсутствие дискеты в приводе завершится печально. В остальном все работает.
Исходники прилагаются.

Mick
30.11.2017, 09:32
Дописал плеер под AY-адаптер.

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


И еще тут мысль пришла, что раз ПК8000 делали по образу и подобию MSX, то и порты AY скорее всего тоже были бы теми же что и в MSX.
Я раньше по особому не знанию прицепил на Векторовские 14h и 15h. :)

ivagor
30.11.2017, 18:24
И еще тут мысль пришла, что раз ПК8000 делали по образу и подобию MSX, то и порты AY скорее всего тоже были бы теми же что и в MSX.
Насколько помню, это уже обсуждали несколько лет назад. В ПК8000 порты msxного AY заняты 155РУ2

Mick
30.11.2017, 18:26
Насколько помню, это уже обсуждали несколько лет назад. В ПК8000 на портах msxного AY сидят 155РУ2

Все пора мемориум пить - совсем уже все забывать стал. :)
Вот собственно вопрос и исчерпался

DemonId7
30.11.2017, 19:39
Честно говоря, я уже и забыл про дискеты. Настолько привык к удобству Compact Flash, что даже в эмуле пользуюсь HDD.
Надо будет на днях обновить утилиты, там кое-что исправил и добавил. В CAS2COM добавил автоматическое снятие защиты некого Назарова Михаила. Возможно руки дойдут и до второго типа защиты, чьего автора я не знаю. В плагине к Total Commander добавил работу с кардридерами.

PS: Кстати. В системе МДОС, что на дискетах, заметны остатки неработающего кода обработчика прерываний. Создатели явно пытались сделать работу с дисководом как все нормальные люди - выключать мотор по таймеру, например после пары секунд с последнего обращения к нему. Но, видимо что-то пошло не так (скорее время поджимало) и сделали проще - выключают мотор сразу после обращения к дискогрызу. Отсюда и "дерганная" работа привода, на которую когда-то обратил внимание товарищ (http://zx-pk.ru/threads/11089-pk8000-kontroller-diskovoda.html?p=776511&viewfull=1#post776511) Mifody :)

Mick
30.11.2017, 21:13
Честно говоря, я уже и забыл про дискеты.

Ничего, мы напомним если что :)

Кстати, не планируешь проигрыватель для Protracker или ASM к ПК8000 прикручивать?

DemonId7
01.12.2017, 00:49
Это форматы pt2 и pt3? А ASM что такое?
На pt2(3) разумеется поглядываю. Вопрос времени, его катастрофически не хватает. Так что совсем скоро не получится, скорее всего в феврале-марте, как в отпуск выгонят.

Mick
01.12.2017, 06:55
А ASM что такое?

Ну или ASC - https://zxtunes.com/software.php?id=13
Помню на спеке достаточно мелодичной музыки было

Вот тут много трекерной музыки со Спекки и не только - https://bulba.untergrund.net/music.htm

ivagor
15.05.2018, 16:24
Адаптировал с вектора вращалку трехмерных объектов, причем версия для ПК8000 более продвинутая (можно выбрать один из четырех объектов), чем последняя выложенная для вектора. Но есть и минус по сравнению с векторовской - только маленький размер фигур без возможности изменения. Это связано с ленью, т.к. для большого размера нужно переделывать процедуру рисования линии.
Управление в readme.txt (дополнительно рекомендую посмотреть вики (https://ru.wikipedia.org/wiki/%D0%A3%D0%B3%D0%BB%D1%8B_%D0%AD%D0%B9%D0%BB%D0%B5% D1%80%D0%B0))

ivagor
18.05.2018, 17:04
Подумал, что один маленький объект на экране смотрится одиноко, надо организовать компанию, тем более на ПК8000 это бесплатно (по быстродействию). Альтернативный вариант вращалки (https://yadi.sk/d/1lKC1qvq3W8Vny), на экране 12 объектов вместо одного.

ivagor
26.05.2018, 09:18
Собрался и переделал рисование линии. В этой версии (https://yadi.sk/d/w-26hh453WYo3F) объект один, но его ширина и высота в 2 раза больше, чем в предыдущих и, кроме того, ее можно менять. Предыдущую версию (12 объектов) оставляю, т.к. она быстрее, а первую удалил.

MacBuster
31.05.2018, 23:13
Дошли руки набрать перечень файлов трех кассет для ПК8000 Хобби, которые недавно пришли вместе с самим «Хобби».

Кассета 1

сторона А

STOP.NEX
NINJYA.NEX
ERIC.NEX
BINARY.NEX
BOULD.NEX
GOMOKU.NEX
PACMAN.NEX
SAD.BAS
TAWER.BAS
WOJNA.BAS

сторона Б

TEXST.NEX
ASSM.NEX
DESA.NEX
EDIT.NEX
ABWGD.BAS
УРОК1.BAS
УРОК2.BAS
УРОК2.BAS
TESTM.BAS
КВ УР.BAS
ЛИН УР.BAS

Кассета 2

сторона А

CHECK.NEX
FUTBOL.NEX
SPACE.NEX
ROAD.NEX
TULPAN.NEX
PILOT.NEX
GALAXY.NEX
COBRA.NEX
PACMAN.NEX
PUTUP.NEX
PYRAM.NEX
FIELD.BAS
LB1.NEX
LB2.NEX
LB3.NEX
FIRE.NEX
СКБ.NEX
БОЙ 2.NEX

сторона Б

CHECK.NEX
CRUX.NEX
FLAYBAL.NEX
LAB.NEX
GAME.NEX
CHESS.NEX
WARP.NEX
COLOR.NEX
MUM.NEX
BALL.BAS
TETRUB.BAS
BOMBER.BAS

Кассета 3

сторона А

CHECK.NEX
БОМБА.BAS
POPBOL.BAS
SPACE.BAS
KIBORG.BAS
RALLY.BAS
SHIP.BAS
РОБОТ.BAS
КЛАД2.BAS
КАРАТЕ.BAS
OTELLO.BAS
REVERS.BAS
KAZINO.BAS
ПРЕЗИД.BAS
ДОРОГА.BAS

сторона Б

CHECK.NEX
ПОКЕР.BAS
ПЯТНАШ.BAS
ПОЛЕТ.BAS
TENNIS.BAS
СНАЙП.BAS
СЛАЛОМ.BAS
WAR.BAS
ГАЗОН.BAS
ГОНКИ.BAS
БЕГА.BAS
KILL2.BAS
ОБЖОРА.BAS
ВИШНЯ.BAS
АВТО2.BAS
CUPS.BAS
FRUIT.BAS
TENNIS.BAS
HUNTER.BAS
БИРЖА.BAS
АТАКА.BAS
ZAMOK.BAS

Mick
01.06.2018, 06:58
А сами кассеты симпатичные или самописки. А то бы не плохо было сфоткать если что.

MacBuster
01.06.2018, 09:55
А сами кассеты симпатичные или самописки. А то бы не плохо было сфоткать если что.
Скорее самописные: вот фото (https://yadi.sk/i/NXVaDApx3WoArS).

Проверил по списку HobbiMan-а, на кассетах есть программы, которые у него не перечислены.

ivagor
01.06.2018, 10:31
Проверил по списку HobbiMan-а, на кассетах есть программы, которые у него не перечислены.
На бейсике? Просто я проверил по разным сборникам, которые выкладывали разные участники и кодовые вроде все уже были (сначала показалась, что одна игрушка уникальная, даже пост написал, но потом и ее нашел).

MacBuster
01.06.2018, 20:39
На бейсике?
Я к сожалению не отмечал. Просто вводил название в поиске по титульной странице HobbiMan-а, большинство нашлось, а вот всякие «КВ УР» и прочие, с русскими названиями, не находились.

MacBuster
01.06.2018, 22:44
Прошёлся ещё раз, вот список файлов, которых нет в списке:


Кассета 1

сторона А

- SAD.BAS
- WOJNA.BAS

сторона Б

- TEXST.NEX
- TESTM.BAS
- КВ УР.BAS
- ЛИН УР.BAS



Кассета 2

сторона А

- FUTBOL.NEX
- ROAD.NEX
- TULPAN.NEX
- COBRA.NEX
- LB1.NEX
- LB2.NEX
- LB3.NEX
- СКБ.NEX
- БОЙ 2.NEX

сторона Б

- FLAYBAL.NEX


Кассета 3

сторона А

- БОМБА.BAS
- POPBOL.BAS
- KIBORG.BAS
- SHIP.BAS
- РОБОТ.BAS
- КАРАТЕ.BAS
- ДОРОГА.BAS

сторона Б

- WAR.BAS
- БЕГА.BAS
- KILL2.BAS
- АВТО2.BAS
- CUPS.BAS
- HUNTER.BAS
- АТАКА.BAS
- ZAMOK.BAS

ivagor
02.06.2018, 06:07
Бейсиковские не проверял. Из кодовых есть нечто похожее, к сожалению у меня все архивы только на основном компе, поэтому сегодня проверка не полная.
TEXST.NEX - text.cas?
FUTBOL.NEX - soccer.cas?
ROAD.NEX - вчера смотрел, запомнил, что есть такой cas
COBRA.NEX - sucobr.cas?
LB1.NEX - EMU12_hex_LB1.cas?
LB2.NEX - EMU12_hex_LB2.cas?
LB3.NEX - EMU12_hex_LB3.cas?
СКБ.NEX - EMU08_hex_SCB.cas?
FLAYBAL.NEX - EMU13_hex_FLYBAL.cas?

Т.е. из HEX сегодня (в неполном наборе архивов) не нашел похожих на TULPAN.NEX и БОЙ 2.NEX. Вроде вчера и эти тоже находил, но уже не уверен.

MacBuster
02.06.2018, 23:28
К сожалению я так и не освоил загрузку программ в «Хобби», не могу проверить соответствие.


EMU12_hex_LB1.cas?
Это где такое?

ivagor
03.06.2018, 06:12
Это где такое?
Архив называется cas_hex_all.zip

Вернулся к основному компу и нашел еще файлы:
ROAD.NEX - ROAD.HEX.cas
COBRA.NEX - COBRA.HEX.cas
TULPAN.NEX - TULPAN.HEX.cas
Это из архива !PK8000.Soft.2016.11.20.zip
Вроде он более полный, просто вчера не мог его посмотреть

БОЙ 2.NEX так и не нашел

ivagor
13.12.2018, 17:11
В "Руководстве пользователя" Хобби, в книге 2 (Язык Бейсик) на странице 51 (Приложение 1) приведен список зарезервированных слов. В списке звездочками отмечены слова, предназначенные для дальнейшего расширения бейсика (версия 2 и выше). Интересно сопоставить список и прошивку пзу.

Какие ключевые слова версии 2 и выше упомянуты в книжке, но их нет в таблице токенов в пзу:
CIRCLE
LOC
OCT$
SWAP
TIME

Какие ключевые слова версии 2 есть в таблице токенов в пзу, но они (кроме BASE и OFF) не реализованы:
BIN$
INPUT$
BASE - функция BASE( и оператор BASE
DRAW
PLAY
OFF
PAINT
SOUND

Интересно, почему операторов из первой части списка нет в таблице токенов в пзу. Возможно на момент разработки прошивки их еще не собирались добавлять в бейсики 2.x, а к моменту составления руководства надумали.

По второй части списка думаю, что BASE и OFF отмечены звездочкой на стр.51 ошибочно, т.к. они есть в пзу 1.1 и 1.2
1. OFF реализован в качестве аргумента BEEP.
2.1. Оператор BASE работает согласно описанию.
2.2. А вот функцию BASE( надо записывать в программе как BASE((аргумент), т.е. с двойной открывающей скобкой. Приведенные в руководстве примеры с одной открывающей скобкой на практике дают ошибку.

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

BASIC 2 упоминался как имеющийся в наличии участниками форума, но в выложенных архивах так и не появился.

DemonId7
29.12.2018, 19:58
Выкладываю свою подборку программ. Все они были здесь ранее, с разных источников. Просто отсортировал и проверил, исключил дубляжи и подпорченные файлы. Добавил батники для конвертации в COM-файлы.

https://yadi.sk/d/b2KUyeJfJSp1mg

PS: Жалобы и предложения приветствуются :)

ivagor
15.01.2019, 18:28
Для прикола чуть-чуть хакнул бейсик ПК8002, чтобы его можно было запустить на ПК8000. Это не полноценная адаптация, просто проба. Для запуска нужно набрать
screen 1
bload"BAS02",r
В эмуляторах работает, может даже на реале запустится.
Поддерживается только SCREEN1 без изменения цвета. SCREEN2 тоже можно сделать, но надо потратить больше пары минут времени. К сожалению поддержки спрайтов нет и не будет.
Чем этот вариант без графики лучше встроенного бейсика ПК8000 - он поддерживает 3 типа числовых данных (целые/одинарные/двойная точность). Аналогичные возможности имеет микрософтовкий дисковый бейсик, но для него нужен НГМД, а тут достаточно голого ПК8000.

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

Забыл сразу написать еще одно ограничение - PLAY не поддерживается. Теоретически (при очень большом желании) его можно через AY сделать.
И вспомнил вторую фишку этого бейсика, кроме математики - удобный экранный редактор.

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

Ну и строго говоря графика SCREEN2 все же поддерживается, только цвета не те.

DemonId7
15.01.2019, 19:56
Попозже попробуем и на реале.
Было бы неплохо полностью адаптировать его к ПК8000. И было бы неплохо сразу предусмотреть средство для сохранения набранных в нем программ на диск, как в родном :)

ivagor
15.01.2019, 21:00
Поменял цвета фона и чернил для графики SCREEN2, стало почти хорошо, но цвета 6 и 12 отличаются (у ПК8002 в бейсике msxные цвета). На ПК8000 трех красных и трех зеленых нет, поэтому 100% соответствия не получится. В принципе можно подменять на ближайший похожий, но если при этом оставить процедуру замены как сейчас - будет медленно, и место надо искать, где все это разместить.
Добавил инициализацию цвета для SCREEN1, теперь не нужно перед bload менять режим, можно сразу загружать хоть из SCREEN0 (который после старта).
Приложил "тест", чтобы было хоть что-то для проверки, его загрузка
CLOAD"TEST1"
потом RUN
Рисует круг и заливает его. Выход в emu - LCtrl+F12, на реале надо уточнить, но F12, насколько помню - СТОП.

Было бы неплохо полностью адаптировать его к ПК8000. И было бы неплохо сразу предусмотреть средство для сохранения набранных в нем программ на диск, как в родном
На ПК8000, насколько я знаю, общением с дисководом занимается ДОС. У бейсика ПК8002, к сожалению, штатных средств для общения с диском нет и там надо с нуля это делать. Для меня общение с накопителями - неизбежное зло, фана разбираться с ним нет, поэтому тут я пас.

DemonId7
15.01.2019, 23:09
На ПК8000 запись производится по хитрому. Перезагружаемся и запускаем программу DSAVE с диска, которая и записывает сохранившуюся в памяти бейсик-программу на диск, прикручивая к ней загрузчик. Программа хранится, ЕМНИП, в адресах 0x4000-0xBF00, заканчиваясь тремя подряд нулями.
ЗЫ: поскольку адреса 0x7FF7-0x7FFF портятся контроллером НГМД, то перед перезагрузкой данные с этих адресов переносятся на адрес 0xBF60, откуда они впоследствии восстановятся программой DSAVE. Перенести можно прямо из бейсика:
for i=0 to 16: k=peek(0x7FF7+i): poke(0xBF60+i, k): next: run

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

Попробовал на реале.
С мафона пока грузить не могу, так что загружал с жесткого диска. Экран после запуска:
67681
Но, в остальном работает. По крайней мере команду PRINT выполнил:
67682
Почему-то видны спецсимволы, а остальные ни в какую. Точнее проблемы с цветами фона и текста. Команда COLOR работает, но приходится набирать вслепую.

ЗЫ: при следующем запуске вид немного другой и отображаются другие наборы символов.

Pyk
15.01.2019, 23:17
Попробовал в текущей разрабатываемой версии emu80 запустить с HDD, предварительно обработав cas2com - все ок :(
Видимо, что-то эмулируется неправильно, раз отображается нормально ;)

DemonId7
15.01.2019, 23:45
Да, в эмуляторе товарища b2m тоже работает. Надо подумать...

DemonId7
16.01.2019, 02:23
Вспомнил про одну выявленную несовместимость реала с эмулятором. Давно еще написал программу, которая выдавала на экран содержимое портов, отвечающих за настройки видеорежима. В эмуляторе порты читались прекрасно, а вот на реале выдавали мусор. В принципе могу уточнить какие порты на реале не читаются.
Может и здесь есть попытка чтения портов, при установке видеорежима? Тогда становится понятным, отчего в реале на экране каждый раз разная картинка и "спецэффекты".

ivagor
16.01.2019, 09:33
DemoinId7, спасибо за проверку! Всего-то хотел для развлечения с минимальными усилиями портануть программу и опять вылезли особенности реала.
По картинке похоже, что знакогенератор неправильный. Программирование адреса знакогенератора я жестко пропатчил, там просто выдается в порт значение без чтения из порта.
Еще вижу, что цвета фона и изображения не прописались. DemonId7 - это версия 001 или 002? Если 002, то странно.

Команда COLOR работает
Наверно только третий параметр, цвет бордюра?

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

Обратил внимание, что некоторые символы правильные: - 8 . 9
Т.е. возможно дело не в программировании адреса знакогенератора, а в порче его содержимого на каком-то этапе.

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


Точнее проблемы с цветами фона и текста.

ЗЫ: при следующем запуске вид немного другой и отображаются другие наборы символов.
А может дело не в адресе знакогенератора и не в его порче, а именно в цветах (которые в РУ2). В 002 они должны программироваться, хотя у меня появилось предположение, почему это не получилось.

ivagor
16.01.2019, 19:12
Если 002 не программировал РУ2, то 003 просто обязан. Еще допеределал одну из графических процедур. Предыдущие варианты удалил.

DemonId7
16.01.2019, 22:24
Немного получше и кажется проблема понятна.
При старте:
67691
Все символы (слева в нижнем регистре, правее - в верхнем):
67692
COLOR:
67693
еще COLOR (бордюр на самом деле красный, это мой фотик дальтонизмом страдает):
67694
Меняется цвет бордюра, а фон и цвет символов без изменений. Очевидно проблема в самой COLOR.

ivagor
17.01.2019, 07:52
У меня было предположение, что на программируемость может влиять текущий режим. Похоже, что еще влияют (и очень сильно) тайминги. В своих худших проявлениях вектор и ПК8000 похожи. Надо делать тест.


еще COLOR
Меняется цвет бордюра, а фон и цвет символов без изменений.
Специально для screen 1 на ПК8000 (где он должен работать совсем иначе, чем на ПК8002) я COLOR не патчил. В screen 2 COLOR действует нормально, но работать в режиме редактирования в screen 2, как и на msx, нельзя, т.к. он графический.

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

Все, до меня дошло, можно и без знания и соблюдения таймингов уверенно программировать РУ2.

DemonId7
17.01.2019, 09:03
А зачем лезть в программирование РУ2? В screen 1 цвета задаются в памяти, откуда они и пересылаются обработчиком BIOS в регистры. Самим в регистры писать бесполезно, ведь их все равно перепишет обработчик BIOS.

Я когда рассматривал возможности видеорежима 1, то для ускорения применял непосредственное программирование цветов через порты, но приходилось каждое прерывание записывать единицу в память по адресу 0FDEBh, которая отвечает за обновление биосом регистров палитры.

ivagor
17.01.2019, 09:34
Изначально в РУ2 я полез, чтобы ускорить и сократить процедуру инициализации. При старте я сразу запрещаю прерывания и отключаю ПЗУ и родной обработчик уже ничего никуда не перепишет. А потом стало интересно.
Суть проблемы - я не гасил изображение на время программирования РУ2. Уверен, что можно и без гашения подобрать моменты уверенного программирования (как на векторе), но у меня ПК8000 нет и надо делать интерактивный тест. Добавлю гашение и все запрограммируется.

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


приходилось каждое прерывание записывать единицу в память по адресу 0FDEBh, которая отвечает за обновление биосом регистров палитры.
Для того, чтобы при следующем вызове штатного обработчика прерываний он обязательно зарограммировал РУ2 нужно изменить 2 ячейки: FDBD=не 0, FDEB=0.

DemonId7
17.01.2019, 09:55
FDBD - это флаг обновления всех регистров, например по смене видеорежима. А FDEB - отвечает именно за палитру, хотя понятно, что без FDBD он работать не будет.
--------------
А почему бы тогда не гасить изображение, как это делается в BIOS? Это ведь не трудно и гарантия от глюков. К чему трюкачество с подбором таймингов? Это ведь не демка, а интерпритатор :)

ivagor
17.01.2019, 10:26
А почему бы тогда не гасить изображение, как это делается в BIOS?
Да я уже выше согласился с этим. Сделаю для пробы 2 версии: "свое" программирование с гашением и с использованием штатного обработчика.
Если потом все же дорабатывать COLOR для SCREEN1, то нужно "свое" программирование РУ2, т.к. вызывать из бейсика 8002 штатный обработчик - не вариант.

ivagor
17.01.2019, 18:58
004R - вариант с программированием РУ2 стандартной процедурой, еще там подкорректированы магнитофонные константы для учета большего торможения 8000.
005 - вариант с "собственным" программированием РУ2, магнитофон аналогично 004R. Также здесь полный COLOR для SCREEN1, позволяет менять не только цвет бордюра, но и фона и переднего плана. Приложен конфиг для emu с перехватом магнитофонных операций (файлы cas) для бейсика 8002 (копипаст из конфига 8002 с микрокоррекцией).

DemonId7
18.01.2019, 10:34
Порядок, обе работают. В в. 5 COLOR тоже вроде работает.
6771667717

Если будет время, вечером попробую текст бейсик-программы набрать. Если не трудно, можно дать краткую помощь по командам line, circle и draw? Хочу что-нибудь с графикой набросать :)

ivagor
18.01.2019, 10:47
Спасибо за проверку! Собираюсь сегодня добавить финальный штрих - поддержку AY (Mick).
По поводу операторов бейсика 8002 есть доки (https://zx-pk.ru/threads/9609-kompyuter-quot-pk8002-quot.html?p=891751&viewfull=1#post891751), там в книжке "Базовые программные средства ПК8002.djvu" кратко написано.
Подробнее можно msxную книжку посмотреть, например тут (https://forum.maxiol.com/index.php?showtopic=4925). Сам я в детстве читал книжку Г.Блэнда "Основы программирования на языке Бейсик в стандарте MSX" (нижний файл (https://forum.maxiol.com/index.php?act=Attach&type=post&id=6389)), она нормальная.

Pyk
18.01.2019, 11:16
ivagor, еще хочу обратить внимание: я вчера немного покопался в отладчике - там во время чтения с магнитофона идет запись в порты 82 и 84, которые на ПК8002 имеют другой смысл. Кажется, спрайты разрешаются/запрещаются - видимо для какого-то отражения процесса загрузки на экране. Не успел подробно изучить, но вроде бы по совпадению обстоятельств оно никак не проявляется на ПК8000. Уточнить смогу вечером.

ivagor
18.01.2019, 12:01
Некритичные обращения к портам я не патчил. В основном (хотя и не всегда) новые биты в старых портах там, где у ПК8000 было пусто. Конкретно при чтении с ленты на ПК8002 обращением к 82 вырубают "турбо-бордюр" (чтобы скорость проца не плавала) и к 84 - выключают спрайты (у 8000 этот бит не задействован). "Турбо-бордюр" сидит на том же бите, что и управление мотором магнитофона у 8000. Схему 8000 на эту тему не смотрел, там есть реле или что-то в этом духе? В худшем случае, как я понимаю, клацнет реле (если оно есть). В векторах, например, не во всех реле ставили.

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

Хотя если реле есть, то получается бейсик 8002 управляет им наоборот, наверно лучше пропатчить это дело.

ivagor
18.01.2019, 19:20
Собственно версия с переделкой PLAY и BEEP с ВИ53 на AY. Приложен конфиг emu с подкорректированной частотой AY (1.75 МГц), в emu80 уже такая частота. Т.к. PLAY 8002 был рассчитан на таймер с регулировкой громкости, а не на AY, то там есть ограничения по сравнению с msx - громкость общая для всех каналов, огибающая не поддерживается.
Если вдруг кто-то захочет на слух сравнить звучание бейсиков в emu на 8002 и на 8000, то может заметить несоответствие. Нужно исправить конфиг 8002, чтобы частота таймера всегда была 2.5e6/16 - исходные коэффициенты деления были рассчитаны именно для этой частоты.
"Мотор-биты" на всякий случай пропатчил.

Pyk
18.01.2019, 19:43
И конфиг emu80 с поддержкой перехвата магнитофона в этом бейсике:
67721
Пока не сделал новый релиз, нужно конфиг поменять в последней версии: http://emu80.org/v4beta/Emu80qt_40316.zip на вариант из этого поста, а exe можно также взять обновленный отсюда:
https://zx-pk.ru/threads/9431-pk8000-bystrodejstvie-arkhitektury-issledovanie.html?p=994647&viewfull=1#post994647

ivagor
18.01.2019, 21:10
Извините, поспешил. В 006 сломал загрузку (удалил тот вариант). Починил загрузку и исправил конфиг emu (кроме выгрузки cas). Теперь правильно грузит с магнитофона (или из wav в эмуляторе), правильно выгружает на магнитофон (или в wav в эмуляторе) и правильно загружает из cas. С выгрузкой в cas я заплюхался, сегодня уже не успею, вернусь к вопросу в понедельник, если до тех пор кто-нибудь (например b2m) не исправит конфиг emu.

Pyk
18.01.2019, 21:56
v.006 и с моим конфигом перестала в cas выгружать, так что не уверен, что дело в конфиге...
Может быть посмотрю в выходные, но на 100% обещать не буду.