masterspammer (masterspammer) wrote,
masterspammer
masterspammer

Categories:

Игрушечки ретрокомпьютерные

Чего мне хотелось, играя и работая с восьмибитными компами в архитектурном плане? Сразу скажу, плотно взаимодействовал только с разными видами 8080 и Z80. Думаю, у других восьмибитных могуть быть те же проблемы и благом будет их отсутствие. Вот чего хотелось:

  • Больше свободной память - чтоб не было неотключаемых ПЗУ, пустых областей и т.д.

  • Аккуратности распределения память - если дать устройствам по 2к каждому, то память будет по факту не занята, но в дырах. Сюда же - можно занять первый килобайт и CP/M всё.

  • Аккуратности распределения портов - чтоб порт сидел на одном номере, а не, например, на всех чётных (а на нечётных - другой, попробуй, расширяй).

  • Наличия внешних интерфейсов - чтоб можно было подключить светодиод или реле, не паяя ничего, кроме переходников.

  • Наличия возможности расширения вообще, точнее - отсутствие гробящих его способов нерационального использования ресурсов, если использовать прерывание неправильно (РК-86, EI/DI), то правильно уже и не получится.

* Что-то не очень последовательно у меня вышло - всё в списке связано со всем - так оно и было - так сказать, clusterfuck - всё всему мешает и не исправить по-нормальному без перекраивания дорожек и потери совместимости.

Вот чем эти хотелки были вдохновлены:

  • Радио-86РК - 32к и сразу за ней огромные области, отданные устройствам, которым столько не надо (насколько помню, им бы вообще портов хватило), но память занята. Прерывания (бит включения/выключения) используются для вывода звука. При всего 2к ПЗУ расширить память без потери совместимости нельзя.

  • Орион 128 - получше, но тоже хрен, а не прерывания (там пищалка); ПДП не было совсем (в Радио-86РК, с шансами можно было что-то кроме видео повесить на ПДП).

  • ZX-Spectrum - 16к ПЗУ в начале, если говорить о любительских устройствах, то дешифрация портов была сделана отвратительно, итого приходилось резать дорожки, чтоб подключить что-то ещё. CP/M никак - и память не так и экран не там.

  • ZX-Spectrum 128 - совсем весело, добавили 8 банков, причём биты переключения расположены так, что тем же образом уже ничего не добавить. В начале памяти снова только ОЗУ, хотя и переключаемое, но снова ещё один банк тем же образом не добавить.

  • Если ещё вспомнить IBM PC, который сложно назвать восьмибитным, то там сходная куча проблем с памятью, её (адресного пространства прежде всего) было сначала много, потом вдруг стало мало и началось веселье с утаптыванием, хаками и банками EMS/XMS в итоге (но софт не всегда умел с этими банками работать).

----
А хочется (в контексте прежде всего игрушечного и/или учебного аппарата - с которым приятно играть и учиться:

  • Память может быть свободной вся (но не сразу, конечно), освободить можно хоть начало, хоть конец, что удобнее всего сделать, разбив всё адресное пространство на переключаемые банки (и 64к ОЗУ мало же), число банков не слишком ограничено (легко поддаться соблазну использовать свободные биты порта переключения на что-то другое). Вроде как потомки Спектрума "едят" до двух мегабайт - может и не имеет смысла адресовать больше, но меньше уж точно не стоит, даже если и нет столько память.

  • Порты дешифруются полностью (вопрос про Z80 и 65536 портов отдельный), при обращении к неправильным адресам никаких операций с правильными не происходит. Могут быть выведены готовые сигналы выбора диапазонов портов для облегчения расширения (неиспользуемые выводы дешифратора).

  • Прерывания, сигналы управления и прочее - применяются по назначению или остаются незанятыми для расширения.

  • Шины буферизованы.

Это такая концептуальная красота и гибкость; что характерно - я не говорю, какое IO и какая память идут на какие устройства, лишь бы вся эта память была в банках, в большом адресном пространстве за переключателем банок банков, а не в маленьком - адресуемом процессором. И ПДП, если такой будет, хорошо бы, чтоб умел по большой памяти ходить. Иначе поперёк памяти на самом вот прямо сейчас нужном месте будет сидеть не ПЗУ, а, например, экранный или звуковой буфер.
Tags: КомпьютерноеЖелезо, Самоделки, Философское, ХочетсяСтранного
Subscribe

  • (no subject)

    На неделе периодически "кормил" себя приятными занятиями, музыку слушал, один раз проспал почти 12 часов. Сил прибыло. За выходные внезапно очень…

  • Power ON!

    Пять дней прошло - и только сегодня скрутил провода в кучу (фильтры пока лежат на полке) и соединил с усилителем. Динамикам не то, чтоб сильно плохо…

  • (no subject)

    Дети притащили из школы ротовирус - так-то это довольно регулярная болячка, хотя штаммами разнится как грипп - на этот раз досталось сыну и чуть…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments

  • (no subject)

    На неделе периодически "кормил" себя приятными занятиями, музыку слушал, один раз проспал почти 12 часов. Сил прибыло. За выходные внезапно очень…

  • Power ON!

    Пять дней прошло - и только сегодня скрутил провода в кучу (фильтры пока лежат на полке) и соединил с усилителем. Динамикам не то, чтоб сильно плохо…

  • (no subject)

    Дети притащили из школы ротовирус - так-то это довольно регулярная болячка, хотя штаммами разнится как грипп - на этот раз досталось сыну и чуть…