Вход

Просмотр полной версии : Картридж для любимого РК



Радио-86РК
16.01.2020, 22:04
Выделилoсь отсюда (https://zx-pk.ru/threads/31147-v-poiskakh-uteryannykh-vozmozhnostej%E2%80%A6.html?p=1042521&viewfull=1#post1042521)
Как известно, разработчики консоли Famicon-NES сэкономили центами на микросхемах, что сказалось на последующем избыточном содержании многих картриджей.

Теоретически, для РЛК можно тоже разработать подобный картридж для замены им оригинальной РФ2…

Так как к РФ2 подходит лишь сигнал ЧТЕНИЯ, выбор страницы ПЗУ через ЗАПИСЬ никак, казалось бы, недостижим без дополнительных проводков…
Однако, можно прибегнуть к трюку как в старом анекдоте про «Ошибку записи при чтении»: Ячейки FFF0…FFFF зарезервировать под накопительный регистр.
Скажем, включить последовательно две микросхемы К155ИР1, чтобы биты с адреса A0…A4 записывались в регистры при чтении ячеек FFF0…FFFF.
Затем все 8 бит с этих двух регистров можно чтением из FF00…FFEF записать уже в сам К531ИР23 и активировать нужную страницу…
(Получается: две ИР1, одна ИР23, одна ЛА2 для старших бит адреса и ещё ЛА4 для ИР1…)

Как пример, вот набросок кода для этого дела:
; Аккумулятор - код страницы
Page_Select:
PUSH PSW
PUSH H
MVI H,0FFh
CALL Page_Switch
POP H
POP PSW
RET
Page_Switch:
PUSH PSW
RRC
RRC
RRC
RRC
CALL Page_Nibble
POP PSW
Page_Nibble:
ORI 0F0h
MOV L,A ; Код нужной страницы накапливается тетрадами
CMP M ; Чтением FFF0…FFFF заносим в накопительный регистр
RETПример вызовов:
MVI A,015h ; Странница подпрограммы F815
CALL Page_Select
MOV A,M
CALL 0FF00h ; Вызов подпрограммы
MVI A,04Dh ; Странница директивы M
CALL Page_Select
CALL 0FF00h ; Вызов подпрограммыСледует также позаботиться о стеке вызовов страниц, чтобы вызывать из любых страниц произвольно другие страницы и корректно возвращаться. Но это уже вопрос программный…

Можно ещё больше сэкономить на регистрах/логике и все 256 ячеек FF00…FFFF отнять под выбор страницы:
PUSH H
LXI H,0FFFDh; Адрес входа в подпрограмму страницы
XTHL
PUSH H
LXI H,0FF15h; Код страницы
XTHL
RET ; Передача управления по адрес FEFD после FF15, где одни C9В этом случае потребуется одна ЛА2 и один ИР23. Но это не совместимо с оригинальным ПЗУ, так как там подпрограммы обслуживания клавиатуры, отладки, текст и директива «X»…
Хотя, можно использовать две ИР23 - буферную и индексную.
В буферный регистр заносить по всем адресам (A8…A1), если на A0 логическая «1».
А в индексный регистр - только по FFFE.
?????XXX XXXXXXXX - ROM-Address
-------------------------------
???????X XXXXXXX1 - Prepare Page
?????111 1111111? - Select Page

Switch_Page:
PUSH H
PUSH D
MOV L,A
MVI H,07Fh
DAD H
INX H
LXI D,0FFFEh
MOV A,M ; <- Odd address only
LDAX D ; <- Even address only
POP D
POP H
RET

Можно, напротив, применить К555ИР8 и использовать лишь две ячейки - FFFE/FFFF.
Загружать индекс страницы в ИР23 можно через адреса FFF0…FFFD.
Тогда МОНИТОР будет практически полностью совместим на странице #0, а код страницы потребуется набирать по одному биту.
Данный вариант обеспечивает максимальную совместимость, но требует логики побольше и код переключения будет громоздок…

Словом, вариантов - очень много!

P.S.: По мере удачного развития темы подредактирую здесь зарезервированное…

nihirash
16.01.2020, 22:57
Вот в этой ветке скинул инфу по карикам на спек https://zx-pk.ru/threads/31276-soft-v-pzu.html

Можно какие-нибудь из этих идей использовать

Радио-86РК
17.01.2020, 20:49
Здeсь вся суть и фокус в том, чтобы "картридж" годился к использованию даже блондинками:wink:
То есть, никакой пайки использовать не требуется, никаких ножек отгибать не надо и никаких дополнительных проводков кидать не нужно…
Всего два действия: Извлечь из панельки родное ПЗУ Вставить в освободившуюся панельку наше ПЗУТем самым, "картридж" (в концепции данной темы) ничем не должен отличаться от К573РФ2 по разводке контактов и может быть исполнен макетной платкой с двумя микросхемами - 274096 и AM29M16…

NEO SPECTRUMAN
17.01.2020, 21:04
Извлечь из панельки родное ПЗУ
Вставить в освободившуюся панельку наше ПЗУ
с таким же успехом можно
вытянуть из панельки 8080
вставить на его место все что угодно с любыми расширениями


а так панельки ЯВНО не рассчитаны для вставляния в них "картриджей"
и 30-е вставляние будет для нее последним

Радио-86РК
17.01.2020, 22:38
а так панельки ЯВНО не рассчитаны для вставляния в них "картриджей"
и 30-е вставляние будет для нее последнимМeня не так поняли…:v2_dizzy_vodka4:
Речь здесь я веду про разовый картридж.
Термин картридж я использовал только в контексте того, что его достаточно всегда воткнуть в разъём и не требуется допаивать ничего.
Хотя, по сути, реальным сменным картриджем он и не является…

То есть, выдёргиваем родную РФ2 из панельки и вставляем наш гибрид на макетке из 274096+AM29M16 и всё! Один лишь раз…

Вопрос лишь в том, чтобы в ту 274096 записать все 512 Кб всевозможного ПО.
Программы МОНИТОР разных версий, Бейсики всех модификаций и т.д…

P.S.: Обратите внимание на основной посыл темы: Придумать заменитель только РФ2…
А на этом заменителе (пусть хоть он громоздок и длинным шлейфом в панельку вставится) разместить хоть Radeon или WiFi.:v2_dizzy_punk:

siemensC35
17.01.2020, 23:04
[quote="NEO SPECTRUMAN;1042617"]с таким же успехом можно
вытянуть из панельки 8080
вставить на его место все что угодно с любыми расширениями


а так панельки ЯВНО не рассчитаны для вставляния в них "картриджей"
РОМ-диск давно изобрели , не спиться людям....

Радио-86РК
18.01.2020, 01:58
По мере удачного развития темы подредактирую здесь зарезервированное…Видимo подобный девайс никому не интересен:v2_dizzy_surrender:

NEO SPECTRUMAN
18.01.2020, 03:36
Видимo подобный девайс никому не интересен
да как то не очень

а вот если бы вместо пзу
подключать туда какой нить sram
не изменяя оригинальной схемы РК
но писать то туда не получится...
...да и на системном разъеме ничего полезного не выводится...

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

скорей интересно
что еще можно пригородить таким подходом
на разъем пзу-шки

Радио-86РК
18.01.2020, 20:56
Eсли в клоне ZX-Spectrum'а - «Хоббит», банки ПЗУ переключались таким же образом - чтением ячеек ПЗУ по «магическим адресам» без надобности программирования портов, то на РАДИО-86РК можно же такой же трюк повторить запросто!

Повторю: План - придумать заменитель-обманку оригинального РФ2, который можно было бы воткнуть в панельку оригинального ПЗУ.
Только воткнуть, не подтягивая всяческих дополнительных проводов…

P.S.: Ещё один вариант схемы…