Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Картриджи как для денди, но для Спектрума

  1. #1
    Member
    Регистрация
    10.09.2015
    Адрес
    г. Новосибирск
    Сообщений
    70
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Картриджи как для денди, но для Спектрума

    Добрый день,

    возможна ли модернизация использующая картриджи, как для денди, но для спектрума?
    С меню, выбрал программу, нажал ентер и никаких тебе проблем..

  2. Эти 2 пользователя(ей) поблагодарили 1coba1 за это полезное сообщение:
    Aprisobal (25.09.2015), Arkanoid (15.10.2015)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    790
    Благодарностей: 193
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможна. Картриджи даже производились серийно. Для фирменного ZX.

    Для клонов - возможно. В союзе производилась игровая приставка на базе спектрума.

  5. #3
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    555
    Благодарностей: 798
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    даже производились серийно. Для фирменного ZX.
    С ограничением: занимали 16кб нижней памяти, замещая ПЗУ с барсиком. И больше размером их сделать было низзя.

    Ессно в эти 16кб нужно было еще положить знакогенератор, калькулятор и кучу других подпрограмм из стандартного ПЗУ. Под игру места оставалось мизер.

    Цитата Сообщение от ram_scan Посмотреть сообщение
    Для клонов - возможно.
    Который год ищу упоминание, о нашем девайсе. Щупал руками в 1995м.

    Суровый НЕзаводской клон, 48к. Ужасный на вид, совсем.

    НО!

    Со слотом под карик. и с кариком в наличии.

    На карике было емнип пять толстых 48к игр, Cybernoid там точно был.



    Сам карик тоже кустарной пайки, ППЗУ с пластырями на окошках.

    Запускалось меню карика какой-то хитровывернутой командой, в упор её не помню. Появлялся нумерованный список игр и реклама производителя, опять не помню чья.

    У меня тогда уже был Пентагон128+5,25 флопик - потому меня это не впечатлило.

    А сейчас обидно, особенно что этот раритет потом мной же был тупо разобран на запчасти. ПЦ.

    Больше никогда не встречал ничего подобного.

    Искал в сети уже в это время, тишина. Кариковые системы делали еще в Новосибирске, но не то.

    Про приставку "Эльф! ессно в курсе - тоже не то. Такие дела.

    З.Ы. Помню что игры загружались не мгновенно. а секунд за пять. Причем на экране были короткие цветные полоски по бордюру. Немного похоже на работу микродрайва, хотя я его только в эмуле видел.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm

  6. #4
    Master
    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    790
    Благодарностей: 193
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Бука Посмотреть сообщение
    С ограничением: занимали 16кб нижней памяти, замещая ПЗУ с барсиком. И больше размером их сделать было низзя.
    Можно было бы и больше, просто карик на мемори маппер усложнится. В карике меню и бутлоадер на месте родного ПЗУ, который в оперативу игрушку перегоняет и управление туда отдает.

    Мы по студенчеству пытались городить но дальше прототипа дело не зашло.

  7. #5
    Veteran Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    1,388
    Благодарностей: 884
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ROM-Drive часть 1

    В ZX-Ревю 1-2 1996 была интересная статья:

    © Пирогов А.В., Нижний Новгород, 1995.
    ROM-Drive
    Ни для кого не секрет, что в последнее время "Спектрумы" испытывают сильную конкуренцию со стороны всевозможных видеоприставок. Одно из несомненных преимуществ последних - "мгновенная" загрузка игр из ПЗУ картриджа. Высокая стоимость картриджей, судя по всему, не является препятствием для любителей игр на приставках.

    Разработанная, мной система "ROM-Drive", которую я хочу предложить Вашему вниманию, основана на применении микросхем ПЗУ D2764-D27512 с записанными в них программами пользователя (ПП). Она позволит Вам:

    а). Имея ROM-версии любимых игр, загружать их нажатием одной кнопки за несколько миллисекунд;

    б). Иметь под рукой "запас" системных и прикладных программ, которые не только "мгновенно" загружаются, но и не подвержены ошибкам при загрузке (по этому пути пошли и разработчики одного из самых популярных компьютеров "Скорпион" при разработке профессионального ПЗУ). Долговечность таких программ на несколько порядков выше, чем у кассет или дискет;

    в). Будучи применённой в школах (учебные программы, "зашитые" в ПЗУ) или в игровых автоматах, позволит сэкономить массу времени.

    При всем этом система нисколько не ухудшает совместимости компьютера с программным обеспечением на кассетах и дискетах.

    Аппаратная часть системы очень проста и может быть собрана радиолюбителем за 1 час. Доработка компьютера заключается в установке 3-х дополнительных микросхем: D1, D2-К555ЛЛ1, D3-К555ТМ2 и панельки под ПЗУ пользователя D4. Вся схема может быть подключена через системный разъём или смонтирована внутри компьютера - в этом случае панелька под ПЗУ устанавливается на корпусе компьютера. Принципиальная схема приведена на рис.1.



    Система работает по принципу "теневого ПЗУ". В ПЗУ пользователя (ПЗУ-П) D04 записывается программа пользователя (ПП) по приведённым ниже правилам. Система начинает работу, если при замкнутом S1 нажать кнопку "сброс". При этом происходит следующее:

    а). системное ПЗУ (ПЗУ-С) отключается (/CSSYS=1), вместо него включается ПЗУ-П (/CSUSR=0) объёмом от 8 до 64 Кб. С адреса 0000H в нём находится ROM-загрузчик ПП, который сразу начинает делать своё дело.

    б). запрещается чтение данных из ОЗУ (сигналом /CSSYS), и мы получаем как бы два адресных пространства: первое-ПЗУ-П с 0000H до FFFFH (при объёме ПЗУ 64 Кб), работающее только на чтение, и второе-ОЗУ, работающее только на запись.

    в). ROM-загрузчик ПП с помощью одной или нескольких команд LDIR перемещает блоки кодов из ПЗУ-П в необходимые места ОЗУ. В частности, Вы можете загрузить что-нибудь в любую страницу дополнительного ОЗУ 128-х машин, т.к. работа портов не нарушается.

    г). как только размещение программы в ОЗУ закончено, ей передается управление с помощью команды JP ADDR, где ADDR - стартовый адрес программы (в диапазоне 4000H-FFFFH), При этом вырабатывается импульс /SET=0 и триггер D3 отключает ПЗУ-П, подключает ПЗУ-С, разрешает чтение ОЗУ (в общем, почти как в контроллере дисководов). Программа пользователя начинает работать как ни в чём не бывало.

    Обратите внимание, что если S1 остается замкнутым, новое нажатие кнопки "сброс" не приведёт к очистке памяти, а снова запустится ROM-загрузчик, который, если его написать соответствующим образом, может, например, подгрузить уровень блочной игры или выполнить другие задачи (скажем, POKES).
    Последний раз редактировалось creator; 24.09.2015 в 10:56.
    В правильно заданном вопросе содержится половина ответа

  8. #6
    Veteran Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    1,388
    Благодарностей: 884
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ROM-Drive часть 2

    Правила написания ROM-версий программ.

    Программа для ROM-Drive представляет собой файл или несколько файлов, которые будут записываться в ПЗУ пользователя.

    В принципе, программу писать не надо, а надо написать простейший загрузчик в кодах, стартующий с адреса 0000Н и расположит в ПЗУ блок (блоки) кодов с какого-то адреса (адресов) "Обязанности" загрузчика заключаются в том, что обычно делает BASIC: устанавливает цвет бордюра, системные переменные, делает POKES и т.п.; а также в том, чтобы перебросить командами LDIR блоки кодов на свои места (с адресов в ПЗУ - по адресам, которые известны из BASICa.) Причём не нужно заботиться о неперекрытии областей блока-источника и блока-назначения: всё равно данные считываются только из ПЗУ, а записываются в "другое адресное пространство" - ОЗУ, даже если их адреса одинаковы.

    При написании загрузчика необходимо учитывать следующие правила:

    а). Во время работы загрузчика системное ПЗУ недоступно. Например, если Вам очень нужно вывести сообщение, Вы должны либо иметь в ПЗУ-П подпрограмму вывода символов и символьный набор, либо "не мудрить" и нарисовать сообщение в ART-STUDIO. Вывод картинки с сообщением на экран сведётся к одной команде LDIR.

    б). Во время работы загрузчика нельзя ничего прочитать из ОЗУ (туда можно только записать): в частности, нельзя пользоваться стеком и командами CALL, RST. Поэтому подпрограммы загрузчика не должны хранить что-либо в ОЗУ: сохранить-то сохранишь, но не прочитаешь, пока не передашь управление в ОЗУ.

    в). Во время работы загрузчика прерывания должны быть запрещены, в противном случае Вы должны будете разместить с адреса 0038Н программу обработки прерываний (простейшая программа состоит из одного оператора RET).

    Приведу для примера целый загрузчик игровой программы, очень простой для понимания основной идеи.

    Пусть мы имеем "игрушку", состоящую из бейсиковского загрузчика, заставки длиной 6912 байт и блока кодов длиной 38000 байт, причём в бейсике сказано:
    Код:
    10 BORDER 0: PAPER 0: INK 0: CLEAR 25999
    20 LOAD "SCREEN"CODE 16384
    30 LOAD "codeHCODE 26000
    40 POKE 32550,201
    50 RANDOMIZE USR 60000
    Подсчитав сумму длин 2-х блоков кодов (6912+38000= 44912), приходим к выводу, что нам нужно ПЗУ типа D27512 объёмом 64К. В свободном месте ПЗУ (около 20К) можно разместить ещё одну небольшую программу, но об этом пока говорить не будем. Недолго думая, пишем ROM-загрузчик, основываясь на тексте бейсика:
    Код:
    00000	DI			; прерывания лучше запретить
    	XOR А			; А=0
    	LD (23624),А		; установка чёрного цвета бордюра
    	OUT (#FE),A
    	LD SP,25999		; примерно то же, что и CLEAR (цвета чернил и бумаги менять не будем)
    	LD HL,00256		; с этого адреса в ПЗУ будет блок SCREEN
    	LD DE,16384		; на этот адрес он будет переброшен
    	LD ВС,06912		; это его длина
    	LDIR			; заставка уже на экране!
    	LD ВС,#7FFE		; ждём нажатия "пробела", иначе картинка сразу пропадет
    	IN А,(С)
    	LOOP BIT 0,А
    	JR NZ,LOOP
    	LD HL,(256+6912)	; сразу за заставкой в ПЗУ расположим блок code, поэтому его адрес-такой.
    	LD DE,26000		; адрес назначения блока code
    	LD ВС,38000		; длина блока code
    	LDIR			; кодовый блок загружен!
    	LD А,201		; число для РОКЕ
    	LD (32550),А		; РОКЕ готово!
    	JP 60000		; 3апуск!!!
    …………………………………………………………………………………………………………………………………………………………………………………………
    00056	RET			; это "программа обработки прерываний".
    …………………………………………………………………………………………………………………………………………………………………………………………
    00256	<здесь находится блок SCREEN>.
    …………………………………………………………………………………………………………………………………………………………………………………………
    07168	<а здесь - блок code (07168=256+6912)>
    …………………………………………………………………………………………………………………………………………………………………………………………
    г) Обратите внимание на то, чтобы передача управления в ОЗУ была сделана ОДНИМ оператором JP. Например, если загрузчик исходной кассетной версии заканчивался словами:
    LOAD "ABC" CODE 25000: RANDOMIZE USR 25000: RANDOMIZE USR 43560
    т.е. два вызова подпрограмм, то в ROM-загрузчике Вы должны разместить, эти вызовы (запускающий модуль) в ОЗУ и передать управление на первый из них. У Вас должно получиться что-то вроде:
    Код:
    LD HL,<адрес начала блока ABC в ПЗУ>
    LD DE,25000
    LD ВС,<длина блока АВС>
    LDIR			; загрузили блок в ОЗУ
    LD HL,16384		; здесь в ОЗУ будет запускающий модуль
    LD A,#CD		; код инструкции CALL
    LD (HL),A		; в ОЗУ его !
    INC H			; следующий адрес
    LD ВС,25000		; операнд для CALL
    LD (HL),С		; младший байт - в ОЗУ!
    INC HL
    LD (HL),В		; старший байт - в ОЗУ!
    INC HL
    LD А,#С3		; код инструкции JP
    LD (HL),А		; в ОЗУ!
    INC HL
    LD ВС,43560		; операнд для JP
    LD (HL),С		; младший байт - в ОЗУ!
    INC HL
    LD (HL),В		; Теперь с адреса 16384 у нас есть модуль:
    			; CALL 25000
    			; JP 43560
    JP 16384		; Выход из ПЗУ пользователя и запуск программы
    Можно сделать и по другому - иметь готовый запускающий модуль в ПЗУ, перебросить его в ОЗУ и передать на него управление.
    Код:
    	LD HL,<адрес начала блока ABC в ПЗУ>
    	LD DE,25000
    	LD ВС,<длина блока АВС>
    	LDIR			; загрузили блок в ОЗУ
    	LD HL,ROMADR		; адрес запускающего модуля в ПЗУ
    	LD DE,16384		; сюда будет переброшен запускающий модуль,
    	LD ВС,00006		; длина которого 6 байт
    	LDIR			; загрузили запускающий модуль
    	JP 16384		; и - вперёд!
    …………………………………………………………………………………………………………………………………………………………………………………………
    ROMADR	CALL 25000		; Это и есть
    	JP 43560		; наш запускающий модуль.
    			*****
    В общем, адаптация программ под ROM-Drive не сложнее, чем адаптация кассетных версий под TR-DOS. Однако, к каждой программе нужен индивидуальный подход.

    Если кто-то знает способ запуска Magic-файлов в TR-DOSe, может попытаться написать ROM-загрузчик таких файлов из ПЗУ. Преимущества очевидны: этот загрузчик может быть универсальным (или почти универсальным) для всех ПП и производство ROM-версий можно "поставить на поток".

    В конечном результате у Вас должен получиться файл длиной 8, 16, 32 или 64Кб. В последнем случае проще сделать 2 файла по 32Кб. Неиспользованную часть ПЗУ лучше заполнить кодами #FF - это облегчит внесение изменений.

    Полученный файл должен быть записан в ПЗУ соответствующей ёмкости:
    8Кб - D2764 или К573РФ4(РФ6)
    16Кб - D27128
    32Кб - D27256 или К573РФ8
    64K6 - D27512

    Если в Вашей местности нет программаторов к "Спектруму", перенесите файл на IBM-овский диск (например, через iS-DOS). Возможно, у кого-то найдется IBM с программатором.

    Наиболее оправданным (по соотношению цена/ёмкость) я считаю D27512. (Её цена на рынках разных городов составляет 2-3$). В случае записи нескольких ПП в одно ЦЗУ, нужно ввести в ROM-загрузчик программу, позволяющую пользователю выбрать необходимую ПП (например, из меню).

    Что ещё не сделано?

    Недостатки системы очевидны:

    а). малая ёмкость ПЗУ-картриджа - 64К при использовании D27512;

    б). невозможность поочередной "подгрузки" уровней в блочных играх и других программах (без применения кнопки "сброс").

    Возможные пути их устранения:

    а). Можно применить страничную организацию ПЗУ-П и устанавливать либо несколько микросхем D27512, либо микросхему D271000 (128Кб при цене 5-6$) или D274000 (512Кб при цене 12-15$). Для управления страницами вполне возможно использовать порт FEH.

    б). Посмотрите на схему контроллера дисководов Beta Disk Interface. Схема селектора адресов, применённая для входа в ПЗУ TR-DOS'a (обычно делается на микросхеме К555ЛА2), вполне подойдёт для входа в ПЗУ-П, только диапазон адресов для входа должен быть иным. Не исключена возможность использования общего селектора TR-DOSом и ROM-Drive, однако тогда будет нужен коммутатор "диск"-"ПЗУ".

    Мной сделана ROM-версия игры TETRIS-2 фирмы Golden Triangle, записанная в ПЗУ D27256. Работа игры проверена на компьютере "Ленинград-1", оборудованом ROM-Drive. При замкнутом переключателе S1 (см. рис. 1) игра начинается сразу после включения компьютера, однако хочу предупредить, что лучше в общем случае сначала произвести обычный сброс, а потом включать ROM-Drive.
    Последний раз редактировалось creator; 24.09.2015 в 10:49.
    В правильно заданном вопросе содержится половина ответа

  9. Этот пользователь поблагодарил creator за это полезное сообщение:
    Бука (24.09.2015)

  10. #7
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    555
    Благодарностей: 798
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    Можно было бы и больше, просто карик на мемори маппер усложнится.
    В фирменном 48/16к нельзя - нельзя было перекрыть ОЗУ, да и в наших клонах доработка нужна - см ниже.

    Цитата Сообщение от creator Посмотреть сообщение
    а). малая ёмкость ПЗУ-картриджа - 64К при использовании D27512;
    б). невозможность поочередной "подгрузки" уровней в блочных играх и других программах (без применения кнопки "сброс").
    Возможные пути их устранения:
    Хм. Я в 1995м уже играл с карика, на котором было несколько "толстых" 48к игр.

    И точно помню, что бутменю запускалось командой из 48к Бейсика. Но в упор не помню какой.

    ---------- Post added at 13:40 ---------- Previous post was at 13:35 ----------

    З.Ы. Зарубежный ресурс по картриджам для фирменных ZX. Много инфы.

    http://www.fruitcake.plus.com/Sincla...urceCentre.htm

    Since the Spectrum does not provide a /RAMCS (RAM Chip Select) line on its edge connector (unlike the ZX81), there is no way to page into the memory map more than 16K of ROM at a time.
    Почему на оригинале нельзя было больше 16к, дядя Клайв на контакте сэкономил.
    Последний раз редактировалось Бука; 24.09.2015 в 12:42.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm

  11. #8
    Veteran Аватар для John North
    Регистрация
    22.09.2006
    Адрес
    Ижевск
    Сообщений
    1,706
    Благодарностей: 400
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    для "Компаньон-1" были ром-картриджи.
    от производителя.
    дорогие были, поэтому ни одного приобрести не удалось.
    подключались сбоку в свой системный разъем.
    работало всё это через 580ВВ55.
    в ПЗУ была поддержка всего этого дела.
    сзади компа была кнопка "Старт" (по сути NMI).
    при нажатии на неё появлялась менюшка.
    ну и дальше выбиралось из списка нужное.
    Хороший.. Плохой.. Главное - у кого ружьё !!

  12. #9
    Master Аватар для Бука
    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    555
    Благодарностей: 798
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от John North Посмотреть сообщение
    сзади компа была кнопка "Старт" (по сути NMI).
    при нажатии на неё появлялась менюшка.
    Опять не то... У буржуев на сайте куча вариантов, http://www.fruitcake.plus.com/Sincla..._RC_Custom.htm

    http://www.fruitcake.plus.com/Sincla...Cartridges.htm
    С разными мапперами, и вроде аж до 4х мегов докачали.

    Даже веселые испанцы сваяли свой вариант, на 512кб РОМ с 10*48к SNA

    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm

  13. #10
    Member
    Регистрация
    05.04.2011
    Адрес
    Прокопьевск
    Сообщений
    76
    Благодарностей: 5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://www.fruitcake.plus.com/Sincla...Cartridges.htm
    а вот это уже интересно. есть у меня микрухи 29С020.
    по какой схеме мне картридж собрать что-бы несколько игрух размером больше 16кб залить? как он вообще работает?

    ---------- Post added at 11:34 ---------- Previous post was at 10:28 ----------


    допустим вот в этой схеме если использовать микру 29С020 как она себя будет вести?

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Продаж картриджи для Денди и совместимых
    от djvini в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 05.04.2012, 21:20
  2. переделка спектрума под картриджи
    от zorel в разделе Для начинающих
    Ответов: 9
    Последнее: 29.01.2011, 15:56
  3. Ищу старые картриджи для денди
    от [bETA]mEN в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 09.09.2009, 16:02
  4. Куплю картриджи денди, сега
    от LoMax в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 18.06.2008, 03:05
  5. Картриджи для Денди (пустые коробки) надо...
    от rw6hrm в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 12.02.2008, 17:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •