Все, положил в тему. Исправил Адвенчуру в 3й кассете.
Все, положил в тему. Исправил Адвенчуру в 3й кассете.
Следующие 2 кассеты насыщены работой. Первая это самый практичный бэйсик для "Специалиста" бэйсик "Практик" и уроки для него.
А вторая - текучая работа кружка 93/94 годов. Работы на бэйсике, тексты и коды.
Если на первой всего пара моих работ, то вторая просто кишит моими работами и работами на пару с кентом. Слушаю свой голос 20ти летней давности в объявлениях и плачу... Да и на вкладыше мой почерк все еще узнаваем...
Последний раз редактировалось HardWareMan; 10.03.2014 в 16:47.
Присутствуют записи из РАМФОСа. Логический формат я нашел, а вот по физике пока нифига не понял из ПДФки. Кто-нить может дать внятное описание? Понятно что разные биты разным периодом, но попонятнее и точнее бы.
В общем, решил расчехлить свой МХ2 и попробовать на железе.
Дизассемблировал выгрузку байта РАМФОСа. Физика оказалась простой. Если не брать в расчет тот момент, что есть компенсация задержки на выполненные команды (чего нет в обычном и я об этом говорил), то физика следующая.
1. Длинный период означает лог.0, а короткий - лог.1.
2. Раккорд это серия коротких периодов.
3. Каждый байт начинается со стартового бита, длинный период (лог.0?).
4. Затем идут 8 бит данных, причем "ногами вперед" (младший бит первый).
5. Следующим идет бит четности (по логике АЛУ ВМ80), причем если она лог.0, то просто выдается 1 длинный период, а если лог.1 то 2 коротких периода.
6. Завершает его стоповый бит, короткий период (лог.1?).
7. Каждый блок кодов начинается с раккорда, затем 2 байта длины (младший вперед) и потом сам код.
При этом никаких контрольных сумм не вычисляется, т.к. каждый байт содержит четность. В случае ошибки, сам рамфос прерывает чтение, а мы можем попробовать продолжить анализировать входящий поток, уменьшая потери вплоть до 1 байта. Это все крайне не очевидно в дизассемблировании от Винксру. Надо теперь написать анализатор.
Вот руками раскидал заголовок и все сошлось:
Код:0 1 1 1 1 0 0 0 0 1 1 1 X 0F 15 0 0 0 0 0 0 0 0 0 1 1 1 X 00 0 0 1 1 0 0 1 0 1 1 0 1 1 D3 . 0 1 1 0 0 1 0 1 1 0 1 2 D3 . 0 1 1 0 0 1 0 1 1 0 1 3 D3 . 0 0 0 1 1 0 0 1 0 0 1 4 4C L 0 1 1 1 1 0 1 1 0 1 1 1 5 6F o 0 1 0 0 0 0 1 1 0 0 1 6 61 а 0 0 0 1 0 0 1 1 0 0 1 7 64 d 0 0 0 1 0 0 0 1 0 1 1 1 8 46 F 0 1 1 0 0 1 1 1 0 0 1 9 73 s 0 1 1 0 1 0 1 1 0 0 1 A 6B k 0 0 1 1 0 1 1 0 0 1 1 1 B 36 6 0 0 0 0 0 0 1 0 0 0 1 C 20 0 1 0 1 0 0 0 1 0 0 1 D 45 E 0 0 0 0 1 1 0 1 0 0 1 E 58 X 0 1 0 1 0 0 0 1 0 0 1 F 45 E
Последний раз редактировалось HardWareMan; 14.03.2014 в 18:07.
Так, успешно распознан первый файл (вместе с проверкой четности байтов!). Едем дальше.
В общем, формат RAMFOSа побежден и кассета №5 распознана полностью. Формат оказался настолько примитивен, что программка взлетела с полпинка. Так же, в виду того, что тут работа с целыми периодами, я применил свои старые наработки, которые использовал лет 13 назад для записей Спектрума. Например, работает автоматическое определение константы. В этой кассете присутствуют записи из RAMFOS. Т.к. формат отличается, я вместо RKS решил обозвать RFS. Внутри так же, как и у RKS побайтная копия ленты. Приступаю к 6й.
Последний раз редактировалось HardWareMan; 14.03.2014 в 18:09.
Добавлена 6ая кассета. Программа считывания эволюционирует. И кассета №6 уже была распознана из сырца без какой-либо обработки в звуковом редакторе. Несмотря на "выпадания" блоков в одном канале, программы нормально считывались в другом (там даже на слух были "потертости" в одном из каналов). Так что все файлы данной кассеты распознаны за один проход! Качаем, наслаждаемся.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Очередные три кассеты на подходе.
Рабочая 4: Много прикладных программ
Кассета Бейсик №5: Снова бейсик, но есть вкрапления софта для Ориона
Кассета Long Save 6: игрушки с автозапуском и заставкой (по сбросу)! И прикладной софт.
Вообще, я помню мы на занятиях частенько набирали какие-то коды, тексты и потом сохраняли на ленту. Лично я помню что набирал такие вещи как "Монитор открывает окна" и "Penx". Всякие описания в редакторе текстов "Практик" страницами. Занятие длилось 3-4 часа, если заданием было набрать некий отрезок кодов или текста, то чем быстрее его наберешь, тем больше времени останется поиграть. Денег за посещение кружка не брали. Вскоре, мы с другом приловчились набирать коды в паре так быстро, что у нас уходило не более 40 минут. Остальное время - свободное. По началу, конечно, резались в Lode Runner, Down To Earth, Алмаз (аналог Boulder Dash), КОРТ (аналог Арканоида) и пр. Потом надоело и начался процесс созидания. Препод это запалил и в какой-то момент освободил нас от набора. Так что под конец, мы просто приходили и занимались любимым делом. И результатами этих занятий были разные полезные программы, например программа-лупа, которая увеличивала картинку на целое число непосредственно перед печатью на принтер и не занимала много памяти. Или расчет трансформаторного блока питания на бейсике (было в предыдущих кассетах), который много раз меня выручал, так как рассчитан на намотку "внавал". Надеюсь, я все это найду на этих кассетах.
Последний раз редактировалось HardWareMan; 15.03.2014 в 17:04.
HardWareMan, можешь заново выложить архив кассет?
В частности образцы файлов *.rfs интересуют...
Pyk, для этого есть профильная тема.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)