ShaosBox для ZX

Старый спектрумистский форум

Moderator: Shaos

User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Lavr wrote:
Shaos wrote:зачем создавать извратомонстра, где обычная память адресуется последовательно? ;)
Чтобы уменьшить число соединительных проводников... обычно...
Бинго! Тем более, переключать собрался статичные банки. Программно все удобнее, нежели дипсвичи пальчиками тыркать, правильно?
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:
Lavr wrote:
Shaos wrote:зачем создавать извратомонстра, где обычная память адресуется последовательно? ;)
Чтобы уменьшить число соединительных проводников... обычно...
Бинго! Тем более, переключать собрался статичные банки. Программно все удобнее, нежели дипсвичи пальчиками тыркать, правильно?
ну в данном конкретном случае дипсвич нужен, чтобы указать с какого образа бутать комп - если после бута надо ещё программулину на экран выводить, в которой надо выбрать ручками с чего пускаться, то это надо ещё программу писать и одна банка 16К уже под эту программу будет отведена...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
Shaos wrote:
Shaos wrote:
Shaos wrote:
MC68k wrote:шустро. пайку-то покажи :wink:
А чего её смотреть-то? Пайка как пайка :)

Вторая спектрум-плата:

Image

Это двухстраничный заменитель рома спектрума - туда можно игры из IF2-картриджей прошивать ну или OpenSE бейсик от Owen-a ;)
В пзуху можно прошить два IF2 рома (можно переключатель установить) или один сжатый SNA (любой 48К) с простым копировщиком - аналогично вот этому:

http://trastero.speccy.org/cosas/droy/z ... cart_e.htm

Только одна игра за раз и без IF2-посредника. Потом можно ещё парочку светодиодов присобачить, показывающих подключенность рома и второй страницы.
Добавил светодиоды и переключатель для установки стартовой страницы, а также переразвёл плату вручную:

Image

P.S. SNA-заливалка может стартовать из любой страницы - она при старте переключится в первую (ручной переключатель стартовой страницы действует только в момент ресета, чтобы триггер страницы сбросить в нужное состояние, а потом программно можно какую угодно страницу выставить не взирая на положение переключателя).
А пока есть время - собрал первый прототип ромулуса на жёлтой плате:

Image

По ходу дела поправил пару косячков и добавил два светодиода и ручной переключатель стартовой странички, чтобы протоип соответствовал более позднему "зелёному" дизайну:

Image

Прошил первую половинку 32К OpenSE басик от Овена, а во вторую - шахматы с картриджа - и всё работает :rotate:

Image

Image
Схема (добавил кнопку RESET):

Image
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

По идее "speccy romulus 32K" уже можно использовать для распостранения платного софта :)

P.S. Хотя можно на двух вот таких епромах построить совсем простой (и дешёвый) заменитель рома, который можно будет программировать прямо на спектруме!

P.P.S. Его даже можно обозвать "speccy remus 16K" в противовес ромулусу ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:По идее "speccy romulus 32K" уже можно использовать для распостранения платного софта :)

P.S. Хотя можно на двух вот таких епромах построить совсем простой (и дешёвый) заменитель рома, который можно будет программировать прямо на спектруме!

P.P.S. Его даже можно обозвать "speccy remus 16K" в противовес ромулусу ;)
BOM: 2 x 28C64, 74LS32, 74LS00 (всё в соиках)

как бесплатное дополнение - опциональная NMI кнопка подключённая через триггер и кондёр с диодом (будет работать корректно только если ром картриджа подключен к памяти спектрума и там есть поддержка NMI по адресу #0066 - там например можно держать универсальное меню с сохранялками-загружалками)

варианты сборки:

1) speccy remus 8K - одна EEPROM (вторая 28C64 и 74LS00 не припаивются)
2) speccy remus 16K - две EEPROM с запрещённой записью (входы WR подтянуты к +5В)
3) speccy remus 8K+8K/RW - вторая EEPROM может быть перезаписана прямо на спектруме (только один вход WR подтянут к +5В)
4) speccy remus 16K/RW - обе EEPROM могут быть перезаписаны прямо на спектруме

первые 2 варианта предназначены для распостранения софта - с приклеенной сверху картинкой (чтобы выглядело как картридж) - юзер при желании может сам припаять разрешение WR и перезаписать содержимое

P.S. распостранять софт можно так - будут продаваться картриджи (три ценовые категории в зависимости от сложности игры - часть выручки с продаж пойдёт авторам) и в то же время можно скачать образ рома (если автор опенсорцник, то ещё и сырцы) и любой человек может сделать себе "клон" - вобщем как-то так...

P.P.S. большой плюс таких картриджей - возможность сохраняться прямо на картридж (в варианте 8K+8K/RW) - т.е. картридж может помнить состояние игры после выключения!
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:как бесплатное дополнение - опциональная NMI кнопка подключённая через триггер и кондёр с диодом (будет работать корректно только если ром картриджа подключен к памяти спектрума и там есть поддержка NMI по адресу #0066 - там например можно держать универсальное меню с сохранялками-загружалками)
хотя наверное кнопка NMI тут всё таки лишняя, а свободные 2 гейта NAND можно использовать как генераторы логической "1" для запрещения записи в EEPROM-ы - тогда можно на плате держать джамперы которые будут разрешать-запрещать запись в каждую EEPROM независимо друг от друга (подключая вход WR каждой EEPROM к "1" либо к MWR = MREQ or WR)

P.S. а вот кнопка RESET тут бы не помешала...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

MC68k wrote:ну а с дампером что? ты его так реверсить решительно начал...

Image
чуваки прислали дамп рома - можно делать полный клон ;)

тока продавать я его небуду - копирайт однако
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote: В ближайших планах - сделать NES/SNES-адартер (раз уж пообещал уже на WOS-е) - назвать его скажем speccy snes2kemp...
Хотел было на мелкой CMOS логике, но похоже будет тяжеловасто - видимо первую версию сделаю на пиковском микроконтроллере - можно взять большой 40-ногий PIC16F871 у которого есть параллельный слейв порт, который можно повесить на записть и чтение по адресу #1F (Kempston на чтение и просто байт на запись). Свободные порты пика настроить на вывод записываемого в порт байта скажем на 2 семисегментных индикатора в HEX-виде...

P.S. Видимо буду делать как и предполагал:
Shaos wrote:Вобщем ежели ставить универсальный 9-пиновый разъём, способный работать как в режиме NES/SNES, так и "Multisystem", то раскладка будет такой:

1 - NC or UP (делаем всегда UP)
2 - DATA or DOWN *
3 - LATCH or LEFT *
4 - CLOCK or RIGHT *
5 - NC or BUTTON3 (делаем всегда BUTTON3)
6 - POWER or BUTTON1 *
7 - NC or POWER (делаем всегда POWER)
8 - GROUND or GROUND (делаем всегда GROUND)
9 - NC or BUTTON2 (делаем всегда BUTTON2)

Звёздочкой помечены 4 случая, когда назначение сигнала меняется в зависимости от того, какой джойстик воткнут. Представим, что у нас будет 4 переключателя (или джампера), которыми можно будет менять назначение этих сигналов. Кроме того на плате будет место под NES-разъём и SNES-разъём - главное чтобы юзер туда одновременно 3 джойстика не втыкал.

Кнопки джойстиков на порт #1F (Kempston) замаплены так ("1" означает, что нажато):

bit 7 - BUTTON2 (MULTI) or B (NES) or Y (SNES) - левая лицевая кнопка на NES/SNES
bit 6 - 0 (MULTI) or START (NES/SNES)
bit 5 - BUTTON3 (MULTI) or SELECT (NES/SNES)
bit 4 - BUTTON1 (MULTI) or A (NES) or B (SNES) - правая лицевая кнопка на NES и нижняя лицевая на SNES (главная)
bit 3 - UP (MULTI/NES/SNES)
bit 2 - DOWN (MULTI/NES/SNES)
bit 1 - LEFT (MULTI/NES/SNES)
bit 0 - RIGHT (MULTI/NES/SNES)

Дополнительные кнопки SNES-контроллера (читаются через AY в режиме отключённого принтера):

AYB4 - A (правая кнопка из четырёх лицевых)
AYB5 - X (верхняя кнопка из четырёх лицевых)
AYB6 - L (левое плечо)
AYB7 - R (правое плечо)

P.S. Расположение второй и третьей кнопки в порту кемпстона #1F позаимствовано отсюда
Дополнительные кнопки никуда не пойдут - разве что только на индикацию. Индикация представляет из себя 2 семисегментных индикатора, куда будет рисоваться посланный в порт #1F байт либо последняя нажатая кнопка джойстика (для теста). На борту пика есть 64 байта EEPROM, которые можно задействовать для сохранения игровой информации, например путём посылания какой-то хитрой последовательности байтов в порт #1F и чтения байта обратно из порта кемпстона (того же #1F)...

Наименование продукта - speccy snesjoy v1

P.P.S. Можно предусмотреть возможность перепрограммирования пика со спека - тогда он вполне может выполнять роль сопроцессора, правда при этом придётся поставить кварц на 20 МГц, чтобы работал на полную мощь :)

P.P.P.S. А ещё можно опционально заюзать АЦП и последовательный порт этого пика...

P.P.P.P.S. Примерные прикидки по себестоимости при небольшом производстве:
PCB - ориентировочно 3 доллара (Китай)
ZX коннектор - ориентировочно 25 центов
NES или SNES коннектор - ориентировочно 2 доллара
D-Sub 9-пиновый папа коннектор - $0.50 (для мультисистемных джойстиков и фамиклонов)
PLCC44 сокет - $1.18
PIC16F871 в PLCC - $4.45
74HCT00 - $0.26
74HCT4075 - $1.29
2 x 0.1 uF - $0.50
2 x 7-сегментных индикатора - $1.90
2 x резисторные сборки - $0.96
переключатель - $0.37 (выбирает Multisystem или NES/SNES)
Итого - $16.66
Плюс пересылка долларов 10 и на непредвиденные расходы добавить - тридцатку как минимум надо за такой девайс брать...
Last edited by Shaos on 21 Sep 2013 18:57, edited 11 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
MC68k wrote:
Shaos wrote: P.S. Кстати идея - адаптер с этой SD-карточко-держалки на бредборду :)
на ибенях спаянный "$3 free shipping"
понятно - с китайской ценовой политикой бороца бесполезно - придётся покупать готовый ;)
купил парочку SD-адаптеров на ебее по смешным ценам - фотки позже
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

зачем PIC? там в джое 4021 стоит. можно обойтись '595 '164 '74 '00

продавай собранную плату без рома. или голую плату.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

PIC чтобы более вумный девайс получить

P.S. тут "бесплатно" добавляются 3 аналоговых входа (только в NES/SNES режиме) плюс полноценный последовательный порт!
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Как так оно будет:

Image
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

разъемы для всех джоев вынеси направо, ибо провода всегда будут над клавиатурой.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Чего-то передумал я делать горизонтальный дизайн - буду делать вертикальный.
Причём продолжение для втыкания следующих девайсов будет присоединяемое - по аналогии вот с этим:
http://www.worldofspectrum.org/forums/s ... hp?t=43893
но втыкаемым будет не мама, а папа...
P.S. И потом наверное сделаю возможным вырезать из этой платы универсальную платку с PIC16F871 по типу nedoCPU-16
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Задумал было конвертер из ZXBus в NemoBus, а jameco.com перестало торговать дешёвыми IBM-овскими коннекторами 31/62 - остался только digikey.com со своими недецкими ценами:

http://www.digikey.com/product-detail/e ... -ND/210777

P.S. Хотя вот нашёл подешевле:

http://www.electronicsurplus.com/Item/4 ... 421021-31/
Я тут за главного - если что шлите мыло на me собака shaos точка net