А кроме как на сайте http://pk8000.narod.ru/
в архивах pk8000prg.7z, Igry1_By_AtWT.7z, Igry_By_Scaraby.7z
больше нигде нету софта?
И *.cas файлы такие-же как и для других компьютеров на КР580?
Чем их проигрывать?
Вид для печати
А кроме как на сайте http://pk8000.narod.ru/
в архивах pk8000prg.7z, Igry1_By_AtWT.7z, Igry_By_Scaraby.7z
больше нигде нету софта?
И *.cas файлы такие-же как и для других компьютеров на КР580?
Чем их проигрывать?
Andrey_Ak,
Все CAS делались чтобы их проигрывать в эмуляторе http://bashkiria-2m.narod.ru/
CAS формат такой же как у MSX, то есть с castools утилитами можно перегнать в WAV и грузить на реальном ПК8000.
Еще попался софт для дисковой системы (думаю оттуда можно как-то выдрать и преобразовать в отдельные CAS для последующего использования на кассетно ПК8000)
ivagor,
Спасибо за совет.
Практическое такое - если получится некоторые игры (которых еще не было для магнитофонной версии) перевести в WAV и потом загрузить в реале (дисковода и контроллера ведь нет)
Может я смотрел невнимательно, но из "новых" игрушек там разве что некоторые на бейсике, хотя для коллекционных целей это не важно. Для загрузки с ленты надо откусить "адаптатор к ДОС". Хотя именно с бейсиковскими можно поступить проще, после загрузки игрушки с диска выйти в бейсик и записать по csave.
А какая именно castools ?
У меня только для Atari есть утилиты конвертации *.cas в *.wav ...
И где есть образ ПЗУ на Весту?
В моём эмуляторе есть образ ПЗУ Весты, если это имелось ввиду.
Векторовским плагином зайти в образы из архива http://pk8000.narod.ru/pk8000fdd.rar у меня почему-то не получается :(
Пардон, действительно, остается только Total Commander+OdiWcx.
Все относительно, полтора года назад информации и программ по ПК8000 в интернете совсем не было.
---------- Post added at 09:26 ---------- Previous post was at 09:05 ----------
Если изменить число системных дорожек (O 4), то образы от ПК8000 можно смотреть в эмуляторе вектора. Пробовал в МикроДОС.
Друзья!
Прочитал всю ветку. От себя дополню. В начале 90-х, когда у меня была Сура, я купил кассету с системными программами. Среди них были - текстовый редктор с кучей текстов с описанием самой Суры (включая ассемблер, ПОДРОБНЕЙШУЮ карту памяти с точками входа в ПЗУ и описанием системных переменных, этого не было в заводской документации!!!), ассемблером, дизассемблером, Форт-системой (! кто-то тут портировать собирался, а она работала в то время!!!). Ещё куча всего было. Теперь и не упомню. Тетрадка с надписью ПК8000 до сих пор где-то дома лежит. Там я записывал самое основное из текстовиков (принтера не было) и там же составил описание Форт-а. Теоретически должны сохраниться эти кассеты в гараже, потому как я ничего не выбрасывал. На днях попробую найти, т. к. самому уже интересно!
С уважением, Дмитрий.
Гы! Кассеты живы! Вот их содержимое:
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 в эмулятор загнать?
Пока вот всё.
На мой взгляд:
1. просто в wav, желательно перед этим облагородить маг, почистить головку спиртом :)
2. cas-файл - это сконвертированный в бинарный формат wav-файл, т.е. в котором байтики уже как байтики, а не как звук
3. либо сконверитровать в cas, либо как есть. В моём эмуляторе - надо сначало выбрать на тулбаре воспроизведение wav-файла, а потом давать команду чтения, иначе эмулятор автоматически попросит cas-файл
Вот кусочек попробывал. Что-то прямо сказать не очень получилось. http://filesurf.ru/221042
Китайский плеер шумит-фонит как бешеный (даже если просто нажать Play без ленты). Но это ещё терпимо. А вот на записи видны НЧ колебания. Точнее вся запись промодулирована этими НЧ колебаниями. Толи это дешёвый лентопротяг такую бяку вносит, толи лента за 20 лет так слежалась, толи сама запись уже с фоном и искажениями была. Есть возможность оцифровать ленты на Ямахе. Но это не так быстро получится, как хотелось бы. Что ещё можно предпринять?
Хм, заманчивое предложение! Далековато, однако. Но всё равно, спасибо!
demetrius2003,
А советский маг на барахолках не достать?
Я цифровал в помощью Легенда-404
По рекомендациям использовал WaveLab 5.*
Делал моно-шнур, так как все программы записаны в моно, и так как стереокасетники считывают в одном канале (левый наверное) нормальный сигнал в другом шум.
С програмой захватываем только моно - один канал, или можно от магнитофона подать и на левый и на правый звуковухи.
Думаю идею с каналами поняли (просто как-то сумбурно тут написал)
Далее загоняю одну прогу, проверяю в эмуляторе грузит wav или нет.
Если без проблем грузит.
Тогда можно всю сторону в один файл загрузить,
а потом нарезать (по формам будет понятно как)
Также можно wav2cas программой восползоваться
Потом грузил в эмулятор cas на проверку.
ФОРТ и Бейсик в.2 очень хочется , если что, спрашивайте, поможем о оцифровке.
---------- Post added at 19:18 ---------- Previous post was at 19:04 ----------
Владельцы ПК8000 Хобби,
если не затруднит - сделайте дамп ПЗУ.
Хочется сравнить со своим (понять, битая у меня ПЗУ или все-таки у всех Хобби оно такое)
Нашел Вегу 122. Лежит на работе. В понедельник попробую её завести.
Разжился ворохом кассет с программами. Неторопливо занялся их оцифровкой. Кто-нибудь в курсе, а на кассете, которая шла в комплекте с "Вестой" и называлась "1 ВЫПУСК ВЕСТА", программа "TEST" отличается от известного теста, поставляемого в комплекте с "Хобби"? На кассете обе копии файла убиты. Загрузить в реал не удалось.
Вложение 57298
Видимо, имеется ввиду vector06c.narod.ru
Спасибо!
Но, вот того, что мне хотелось почитать-посмотреть и нет!
Меня интересовал раздел "рекомпиляция", а точнее исходники рекомпиляции MSX'овских игр на ПК8000.
Может у кого-нибудь сохранились архивы с играми и исходниками?
Уважаемые, форумчане!
Извиняюсь за назойливость, но все-таки спрошу еще раз:
Может у кого-нибудь сохранились архивы с играми и исходниками из раздела "Рекомпиляция" с сайта vector06c.narod.ru?
Очень хочется поразбираться с этим.
Заранее благодарен.
Выложил архив своего сайта. Там есть кое-что по теме
Сбылась школьная мечта. Наконец-то сегодня закончил написание копировщика программ. А это значит, что пополнится коллекция программ для ненаглядного ПК8000. Если кто-то хочет вспомнить былое и попробовать, как это делалось - переписывались защищённые программы, то милости прошу. В архиве cas и wav, чтобы два раза не вставать.
В эмуляторе emu корректно работают чтение и запись wav-файлов, а также запись cas файлов. Чтение cas обрабатывается некорректно. В программе для чтения используется точка входа ПЗУ 354ah, которая без затей льёт в ОЗУ всё, что прочитала с ленты. Эмулятор перехватывает эту точку и отдаёт весь cas-файл, включая заголовок, который программа воспринимает, как простой поток данных. В силу того, что программа писалась для реала и для реального магнитофона с кассетами, на эту особенность махнул рукой. Да и как-то желание сделать копию cas-файла таким способом мне кажется странным. :-)
https://vk.com/doc318311468_438007808
UPD: Нужно прикрутить возможность просмотра списка загруженных файлов, а то когда все записи не умещаются на экране, увидеть первые не представляется возможным.
UPD: В процессе работы это выглядит вол таким образом: https://pp.vk.me/c636126/v636126468/...j4XZnYafc4.jpg. В школе о таком мог только мечтать. :)
UPD: Теперь можно просматривать файлы, когда их количество не умещается на экране. Программа перемещена в адреса 0E000h, чтобы таблица расположения загруженных блоков не затиралась стеком.
Забацал тут программулю по мотивам известного ролика из Интернета. Реализовал загрузку заставки с магнитофона, как на Спектруме, и вывод однобитной музыки с графикой. Вот, если интересно, взгляните.
https://www.youtube.com/watch?v=yMy_vcC--iU
UPD: Чтобы в эмуле или в реале попробовать, NYANC.HEX.wav в архиве. Загружаем стандартно BLOAD"NYAN",R. Cas в эмуляторе EMU не работает, потому что прога имеет нестандартный загрузчик. Потому как чтобы грузить прямо с кассеты в Видео-ОЗУ, нужно отключить ПЗУ. Снова привет разработчикам - очень "удобно" сделали. :-)
Шикарно. И Сура, и Маяк и кибер-котяра. :)
Ой-ой! Вы правы! Конечно же, чтобы читать видео-ОЗУ. Читать видео-ОЗУ мне приспичило, потому что я заменил ПЗУ-шный обработчик прерывания по таймеру (0038h) на свой. А нестандартный загрузчик сделал для того, чтобы бордюр мигал в такт загружаемому байту, а-ля спектрум. :)
Поковырял программы, которые выложил камрад Mick в другой ветке. В принципе, там повторы в основном того, что имеется уже в Интернете, но вот тренажёр-инструкцию клавиатуры такую раньше не видел, поэтому решил сюда бросить ссылку на cas.
УПРКЛА.BAS.cas
Ну вот как-то так получилось. Файл BOOL - это игра МЯЧИК, файл без имени - это TEST, в котором название "Хобби" в начальной заставке заменено на "СУРА", KV - однобитная программа на бейсике, которая что-то вычисляет, ХИМИЯ - набросок на будущую таблицу Менделеева, а HELP - англо-русский словарь, построенный по принципу IF A$="CAT" THEN PRINT "КОТ".
Есть у меня такое подозрение, что вторая кассета была перезаписана владельцем. На WAV очень явно видны различия между сигналами, уровни у каждой пары файлов сильно отличаются.
Вложение 58700Вложение 58699
Поскрёб тут по всем сусекам и сложил в одну папку все программы, которые у меня имеются для ПК8000. Набралось на сегодняшний день 300 файлов с хвостиком. Отсортировал по алфавиту, чтобы можно было в любой момент добавить файлы, если что-то новое отыщется. WAV не стал выкладывать, потому что есть утилита cas2wav. Выложил CAS. Кому надо, берите.
На Google Disk.
Там же в архиве zip.
в 1992году написал игру Space Wings - она в архиве Алексея под названием (SWING.HEX.cas)
Вложение 59073
в ней мной была сделана защита от копирования (при запуске с чужого диска, на втором этапе игра вылетала; при запуске с кассеты - на первом). к сожалению, ее так и не сломали.
в принципе, я помню, на чем основывалась защита, можно было бы ее убрать :)
к сожалению у меня уже нет ПК8000 (да и знаний не осталось),
но может кому-то из форумчан будет интересно подарить людям возможность поиграть в еще одну игру?
смысл защиты был в том что в дисковой системе (не синей с панелью файлов, а черно-зеленой, с командной строкой) менялся цвет символов; он где-то кодировался байтом, насколько помню там по умолчанию был 0x02 (зеленые буквы) на 0x03 (светло-зеленые буквы), или наоборот, сейчас уже не помню, но это можете посмотреть.
т.е. для простого пользователя это изменение было малозаметно, но игра правильно работала только при запуске с "правильной" (точнее - правленной) дискетой. После того как игра запускалась с диска, значение цвета оставалось в какой-то ячейке памяти (где-то в верхних адресах) - игра в начале каждого уровня брала это байт и использовала его как смещение для вызова какой-то своей процедуры или перехода.
как я уже говорил, все было рассчитано так, что первый уровень запускался, а на втором программа вылетала (но если используется файл с кассеты, то в этой ячейке наверное не 0x02 и не 0x03, а просто 0x00 или 0xff, поэтому вылет происходит сразу, на первом уровне).
т.е. лечение можно сделать просто :
1) найти где в загрузчике находится байт цвета символов,
2) посмотреть, где он остается в памяти,
3) в начале программы сделать вставочку - вызов процедуры, которая будет менять этот байт в памяти на нужный. (ну или заморочиться, найти то место в программе, где он читается и провести корректировку кода; хотя не помню, одно было такое место или может не одно).
ЗЫ. в игре пять этапов. после последнего - небольшой сюрприз:)
Цвет текста и фона в системе МДОС задается командами:
mvi A, 2
out 88h
расположенными по адресам 0DA93h и 0DA95h соответственно. В образе диска это смещение 1713h и 1715h соответственно. То есть для изменения цвета достаточно поменять байт в файле образа по адресу 1714h. Например в файле DISK9.FDD. Цвет вполне себе меняется.
Однако, программа все равно вылетает после заставки. Как будет время - разберусь. Может даже сегодня вечерком попробую.
хм. Алексей сказал, что он пробовал дважды считывать файл с кассеты, сравнил - ошибки при считывании нет. может кто-то уже наковырял до записи на кассету :(
а есть ли в программе чтение памяти по адресу 0DA94h (т.е. кода цвета)? хотя , признаться. я по молодости еще тот затейник был, мог не напрямую адрес использовать, а вычислять сложением.
может лучше пробежаться в турбодебаггере, до перехода к черту на кулички - по адресу вне адресного блока программы - понятно что где-то там и стоит эта "защита" (чорт бы ее побрал)
PS спасибо, что взялись !;)
Запустил и даже немного поиграл. Итак, защита была не по цвету, а по байту в копирайте строки "МДОС 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
По адресу DA82h как раз тот самый пробел в копирайте МДОС. Если заменить 0 на 3, то игра запускается. В файле CAS это смещение 011Eh. Одно но, на экране лезут какие-то артефакты :(Код:RAM:F07F mvi a, 0
RAM:F081 sta byte_DA82
В принципе можно дальше поковыряться, да попробовать подправить код. Но это после праздников. Ну или заново написать, таблицы знакогенераторов и цветов сохранились и я могу их легко вытянуть.
PS: определять оставшуюся жизнь игрока по цвету его корабля - это оригинально :)
- - - Добавлено - - -
Вот теперь полностью разобрался в защите.
Защита в следующем. Из ячейки 0DA82h берется байт. К нему прибавляется 7Fh и полученный результат пишется на адрес 9BC8h. В этом адресе находится старший байт параметра команды CALL (младший байт постоянный и равен 1Bh). То есть, происходит вызов подпрограммы по адресу (([0DA82]+7Fh) << 8) | 1Bh.
Пробежался по все адресам XX1Bh, начиная с 7F1Bh. По адресу 9B1Bh весьма "подозрительная" подпрограмма. Поставил в ячейку DA82h значение 9Bh-7Fh = 1Ch. И все, работает :v2_dizzy_roll:
Для не программистов. В файле SWING.CAS нужно в ячейку по адресу 011Eh прописать значение 1Ch.
возможно это уже кто-то разобрался в защите и модернизировал ее, за собой я такого не помню, хотя давно было, может просто забыл ("позор на мои седины!"(С)). помню что когда продавал ее, покупатель попался дотошный хитрющий мужик, заставил меня показать где менять системный файл, чтоб он тоже мог ее копировать :(
сэкономил байт :) и бесконечное кол-во жизней сложнее вписать :)
попробовал
Вложение 59160
ура, работает!
единственное - у меня подозрение, что стартует игра не с первого уровня, а с второго. мне кажется первый уровень я не такой хардкорный делал. хотя может это просто ложные воспоминания. точно сказать не могу - на четвертом уровне сейчас такой замес, что еще не прошел, представляю, что на пятом 0_0 (и в emu скорость эмуляции не понизить , к сожалению). вообще это моя беда была - делать слишком сложные уровни в играх :( надо было хоть количество жизней делать побольше :(
Андрей, большое вам спасибо и от меня, и от лица всех тех, кто еще играется с ПК8000!
Это просто шикарный Новогодний Подарок всем нам!!!!