syd, а чем обусловлено применение 2Мбит флэшки, вместо 512кбит, тем более, только четверть объема используется?
1. Проще достать?
2. В перспективе занять весь объем?
syd, а чем обусловлено применение 2Мбит флэшки, вместо 512кбит, тем более, только четверть объема используется?
1. Проще достать?
2. В перспективе занять весь объем?
Взял то что было под рукой, решив, что небольшой запас не помешает.
Speccy2007 v1.06
Speccy2010 v1.00
Есть подозрение (проверенное прошиванием) что во втором посте файлы прошивок Меги32 вер. 1.04 перепутаны местами обычная клавиатура и альтернативная. По крайней мере, залив обычную я не мог РЕСЕТнуть комп и переключать прошивки ПЗУ, а залив "альтернативу" усе заработало.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
ewgeny7, проверю
denisv, пишу свой патчер (автоматический) для рома трдоса, увлекательное занятие вобщем идея такая. юзаю команду rst 08 (1 байт опкода) + код операции ввода-вывода (1 байт) -итого 2 байта - все влазит.
уже нашел у тебя неточность одну.
а где "inc hl" ?Код:ini_jp: push af ld a,#0x80 out (#0x1f),a ld a,c out (#0x1f),a ld a,b out (#0x1f),a out (#0x1f),a in a,(#0x1f) in a,(#0x1f) in a,(#0x1f) in a,(#0x1f) ld (hl),a pop af dec b jp 0x3fe5
Speccy2007 v1.06
Speccy2010 v1.00
Реально используется процедурка ini_jp_1
, которая делает inc hl.Код:ini_jp_1: push af ld a,#0x80 out (#0x1f),a ld a,c out (#0x1f),a ld a,b out (#0x1f),a out (#0x1f),a in a,(#0x1f) in a,(#0x1f) in a,(#0x1f) in a,(#0x1f) ld (hl),a pop af inc hl dec b jp 0x3fe5
Честно говоря сейчас уже не помню, почему ini_jp не использовалась.
Возможно после проверки кода и патчей я подустал малость и просто просмотрел уже существующую ini_jp.
P.S. Насчёт использования рестартов - мегареспект, я сам как-то не додумался до этого, а решение очень красивое.
Последний раз редактировалось denisv; 05.05.2009 в 22:17.
ZX-Spectrum+
Speccy2007 + BDI
Spec2009 WIP
ewgeny7, там правильно, normal - это мой вариант, alt - это Дениса. Бинарики Дениса шли только с вариантом alt. Возможно по-этому, если ты использовал только его версию, ты решил что она normal.
Speccy2007 v1.06
Speccy2010 v1.00
По адресу 2a53 всё таки следует менять, но с проверкой, а менять потому, что прямой вывод в порт, люди могли использовать для получения прямого доступа к WD1772 (ВГ93).
Я, скорее всего, изменил т.к. о 128к даже и не задумывался. А под рукой была книга о дизассемблере ПЗУ TRDOS:
Код:Адрес #2A41. Подпрограмма определения текущего ПЗУ. Устанавливает #5C01 и подключает ПЗУ 48-го бейсика. Для работы подпрограмма должна быть перемещена в любое место ОЗУ. Можно использовать также с адреса: #2A53 для прямого вывода в любой порт. #2A41 LD A,(#3B5) ;берем байт из ПЗУ CP #F3 ;это #F3? LD A,#10 ;если да, то это ПЗУ 48-го бейсика JR Z,#2A4B XOR A ;иначе это ПЗУ 128-го бейсика #2A4B LD (#5C01),A ;установка номера ПЗУ LD BC,#7FFD ;адрес порта конфигурации системы LD A,#10 ;ПЗУ 48-го бейсика #2A53 OUT (C),A ;установка ПЗУ RET ;возврат
ZX-Spectrum+
Speccy2007 + BDI
Spec2009 WIP
я подумал так, вероятность маленькая, что кто-то будет использовать эту подпрограмму, вместо обычного OUT (C),A. а вот когда сам трдос копирует этот кусок в озу и вызывает, то банк пзу трдоса отключается и не твой метод, не мой не работает, тк по нашим адресам уже родное пзу.
ты мне лучше другое скажи, как сделать, чтобы команда format работала?
Speccy2007 v1.06
Speccy2010 v1.00
Это, признаюсь, моё больное место - просто так (в лоб) команду формат не сделаешь - при её выполнении TRDOS высылает в ВГ93 поток байт, которые собственно и представляют формат дорожки - т.е. заголовок дорожки -> (служебные данные -> заголовок сектора -> служебные данные -> данные сектора ->) - то, что в скобках, повторяется столько раз, сколько секторов.
В сухом остатке выходит, что надо декодировать формат "формата" дорожки.
Думается, что в самом простом случае, нужно посмотреть, что TRDOS подготавливает при формате дорожки и посылает в ВГ93, и затем искать ключевые точки, вычленяя полезные данные, после чего записывать их в образ.
В новом клоне я оставил формат на потом, как и при адаптации speccy 2007 к TRDOS. В принципе, думается, если сделать хранения данных дисков в формате MFM, то можно и не декодировать поток данных дорожки при формате.
В заключении прилагаю исходники "нового" BDI, который я полностью переписал (для нового клона). В нём формат не работает, но работа с дисководами сделана исключительно по блок-схемам из документации на WD17XX.
По крайней мере, новый BDI, по сравнению со старым, вроде бы достаточно устойчиво работает.
P.S. Сорри, за то, что свалил всё в кучу.
Последний раз редактировалось denisv; 07.05.2009 в 00:07.
ZX-Spectrum+
Speccy2007 + BDI
Spec2009 WIP
Пересобрал расширитель на другой макетке.
Вроде все работает. Но маленько глюкаво - программы в РАМ работают стабильно, а в ПЗУ - периодически происходит сброс. Думаю, что надо блокировочных конденсаторов добавить.
Не понял прикола с пентагоновской ПЗУ. Почемуто после сброса попадаю сразу в Басик48 86 года. И перезагружаемся без остановки, пока ресетом не перейдешь в васик48 82 года...
Перешил на обычную Спектрум-128, появилось меню после сброса. Ура!, но пункта ТР-ДОС в нем нет Грустно. Я уже привык к менюхе Скорпи, где:
--------------
ТРДОС 128
Васик 128
Куркулятор
ТРДОС 48
Васик 48.
----------------
ИМХО, очень толковый вариант. Жаль, что к Спекки не присобачишь.
Да, в бейсике 128 если набрать ПРИНТ чего-нибудь то всё сбрасывается.
Какую комбинацию прошивок АВР+ПЛИС+РОМ на сегодня лучше (удобней) всего использовать?
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)