МГТФ - любимый провод!
KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
ORG 13311
DEFW ERRSRAM
ORG 14446
ERRSRAM CALL 13225
EXX
LD A,(HL)
AND 192
RLCA
RLCA
INC A
INC A
LD D,0
LD E,A
LD A,(HL)
AND 63
SUB 1
ADC HL,DE
EXX
XOR A
LD B,A
RET
Кворум-192, Кворум-128 CP/M, Кворум-64, ZS-Scorpion 256 Turbo+&Caro ZX_MC, Мастер48К
Ещё вопрос: это fix оригинальной прошивки? А какой? BASIC_48 или BASIC_128?
МГТФ - любимый провод!
KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL
тупишь, покури доки про синклер басик
В этом вашем спектруме такая вещь Z80, как BUSR/BUSA свободна? Если да - то я вообще не вижу проблемы в вашей дискуссии. Поставьте камень типа ATMega128 параллельно процессору, сигнал сброса Z80 пропустите через этот камень, на этот камень заведите необходимые сигналы и повешайте карту SD/MMC на его SPI. Если не хотите ковыряться в vFAT - гуглите готовые библиотеки под AVR, они есть. А дальше, все просто: приходит сигнал сброса (поверап или юзер нажал), мега удерживая сброс захватывает шину (напомню, что Z80 при сбросе лапками вверх лежит, так что даже BUSR/BUSA и не потребуется), становлясь мастером шины, заполняйте ОЗУ любым мусором, которым захотите (в том числе и считанным с карты), а потом освободите шину (все выводы просто на ввод у камня) и спустите процессор. Реализация копеешная (в случае с DRAM возможно придется как-то синхронизировать обращения к сигналу тактов процессора) а возможности неограниченные. И да, никакого ПЗУ на борту, а Мегу можно обновлять и с карты, используя самопрограммирование и бутлодырь...
Кстати, если и BUSR/BUSA свободны, то можно напрягать мегу на загрузку данных в ОЗУ уже в процессе работы Z80, причем, возможно, и по его указу. Например: в ОЗУ выделить несколько ячеек для команды и параметров (можно по принципу ATAPI). И на порту выделить 1 сигнал, который будет формировать запрос прерывания камня. Заполняем структуру, делаем однократное обращение к порту - запрос пошел. Мега захватывает шины, смотрит в ОЗУ - есть ли там месадж ей или нет, если есть начинает исполнять (например загрузка сектора N по адресу XXXX), потом освобождает шины до следующего раза. Копеешная доработка предыдущей идеи и уже интеллектуальный контроллер карты на борту. А таблица параметров где угодно, в том числе и перемещаемая может быть...
Последний раз редактировалось HardWareMan; 04.03.2011 в 12:03.
Ещё как бы вопрос по блокировку в ОЗУ области ПЗУ Спека на запись, можно ли это сделать средствами МК? Было мнение, что для этого нужна ПЛИС.
Для моей идеи это лишнее, тут не планируется новый софт который сможет это использовать. Если только трансформировать её в реализацию магнитофонного интерфейса для подгрузки оверлеев, но для начала это слишком сложно.
Последний раз редактировалось CodeMaster; 04.03.2011 в 12:55.
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
Сам камешек слабоват, чтобы налету маскировать сигнал записи, а вот маску делать легко. Если у тебя ПЗУ строго первые 16КБ, как в оригинале, тогда можно сигнал записи в ОЗУ пропустить через схему маскирования, которая будет при выборке сигнала ROM и сигнала с меги блокировать прохождение. Сам камень может отменять блокировку на момент подгрузки данных в область "ПЗУ". Таким образом, со стороны Z80 эта область действительно будет казаться ПЗУ, хотя реально там ОЗУ. Если учесть, что активный сигнал записи Z80 - это 0, и ПЗУ находится в 0, то я думаю схема будет не сложной: (NOT (A15 | A14 | BLOCK)) | WR.
Последний раз редактировалось HardWareMan; 04.03.2011 в 13:43.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)