Развиваем Балтик

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

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Black_Cat wrote: 17 Nov 2025 11:20
Shaos wrote: 17 Nov 2025 11:16 Ну то что он бордюр открыл это понятно - я про то, что там пикселов в строке мало - наверное края то и не видны были…
Ну вааще-то мальчик сделал 384х320, но больше чем 384х304 телевизор не показывал :) . На аналоговых телевизорах ручками сзади можно было менять параметры изображения в довольно широких пределах.
Какой умный мальчик
User avatar
Black_Cat
Doomed
Posts: 582
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Развиваем Балтик

Post by Black_Cat »

Shaos wrote: 17 Nov 2025 11:32
Black_Cat wrote: 17 Nov 2025 11:20
Shaos wrote: 17 Nov 2025 11:16 Ну то что он бордюр открыл это понятно - я про то, что там пикселов в строке мало - наверное края то и не видны были…
Ну вааще-то мальчик сделал 384х320, но больше чем 384х304 телевизор не показывал :) . На аналоговых телевизорах ручками сзади можно было менять параметры изображения в довольно широких пределах.
Какой умный мальчик
Черезчур умный, до сих пор всем икается :)
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Shaos wrote: 08 Nov 2025 13:44
Shaos wrote: 08 Nov 2025 01:08 P.S. Вот думаю, а не сделать ли ещё один экспериментальный режим, когда мы меняем смысл бита мерцания FL?
Что если вместо мерцания он будет включать в соответствующем знакоместе БОРДЮР? :o
Тогда можно будет рисовать программные бордер-эффекты прямо везде :lol:
Вот видимо поэтому на классике (и на Скорпионе?) INT стоит непосредственно перед началом бордюра - чтобы можно было сразу после прерывания начать рисовать на бордюре. Пентагоновский вариант, когда оно стоит сразу после бордюра (в начале кадровой синхры), хорошо если нам надо знать момент, когда можно сразу начать рисовать пикселы где угодно без опасения что процесс рисования будет виден, однако почему бы тогда не поставить прерывание сразу в конце графической области? А существующий вариант с прерыванием в начале графической области имеет смысл только если мы хотим рисовать софтверный мультиколор, который в Балтике ненужен т.к. там есть хардверный. Вобщем получается в зависимости от того хотим ли мы рисовать на бордюре или только в графике нам надо иметь прерывание или перед началом бордюра или сразу после графики (пентагоновский вариант наверное ненужен т.к. пентагоновские демки всё равно тут не пойдут из-за другой частоты и вейтовости - или нужен?)...
Кстати в архивах 2006 года нашлась ранняя версия схемы Балтика с http://sblive.narod.ru/ (судя по всему нарисованная в Eagle) и там вроде как более правильный INT - по фронту сигнала C15, что есть 256-я строка (6 строк после окончания кадрового синхроимпульса):
Screenshot from 2025-11-17 19-31-29.png
А в более новых схемах нарисовано как в Урале - выход РТ4, который сбрасывает счётчики (т.е. левый-верхний угол графического экрана), что я считаю неправильным.

P.S. В своём варианте, как я и писал раньше, сигнал запроса прерывания будет прямо в ПЗУ представляться отдельным битом (точнее двумя - классический INT в последней строке кадрового синхроимпульса - это будет начало строки 249, и экспериментальный INT следом за последней строкой видимой графики - это середина строки 191)...
You do not have the required permissions to view the files attached to this post.
hobgoblin
Writer
Posts: 14
Joined: 04 Nov 2025 03:43

Re: Развиваем Балтик

Post by hobgoblin »

Code: Select all

Baltic SE v2
   NoFPGA
   NoCPLD
   YesPAL
   YesTTL
супер лого :obye:

ну для cpm 512х192 и 64 кб идеально
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Shaos wrote: 08 Nov 2025 02:03 Вобщем пока план такой:
  1. Заказываю платы, что показаны в первом посте этого топика, и пытаюсь собрать классический Балтик (на панельках?) и параллельно пробую превратить свой Урал в Балтик для экспериментов с новыми режимами
  2. Начинаю ставить хирургические опыты над новой классической платой - переделать её на ПЗУ вместо РТ4, добавить пару ISA-слотов, добавить 4-цветный режим и т.д. параллельно рисуя новую тестовую плату, которую можно назвать BALTIC SE 64KB (там всё ещё будет ПЗУ с бейсиком, но уже на 32КБ, чтобы работал балтиковский ромдиск с диск-монитором, а также большой EEPROM с последовательным доступом, чтобы DISK-монитор туда мог сохранять снапшоты вместо дисковода), также возможно в этой плате уже появится AY (с частотой 1.778 МГц)
  3. После заказа, получения и сборки новой тестовой платы, фиксю баги, если надо зказываю исправленную плату и параллельно рисую новую плату BALTIC SE 96KB, где уже будет SRAM вместо ROM и hi-res режим - эту плату уже можно делать в формате mATX (и в ней будет микроконтроллер для писишной клавы)
  4. Все платы сразу будут не только опенсорц, но и PUBLIC DOMAIN - кто хочет может заказывать и себе, и на продажу, а я тем временем попытаюсь пропиарить этот новый комп американским самодельщикам и ретроэнтузиастам, в том числе путём раскрутки своего эмулятора :mrgreen:
  5. Профит! 8)
Shaos wrote: 15 Nov 2025 09:09 Я кстати хочу эту тестовую плату разводить в Eagle v5 модульно (т.к. у меня стандартная лицензия с ограничением 160х100мм) - причём модули будут склеиваться вместе на уровне Герберов - так вот можно будет заказывать маленькие партии плат с разъёмом SIMM30 и маленькие партии с 41256 прям на плате - чтобы так сказать всем угодить :mrgreen:

И также можно будет сделать экспериментальный модуль на 1 мег с перепутывнием адресов во время рефреша - может оно и полетит…
т.к. в первой же перерисованной плате уже будет 256 кило как вариант, то наверное первую перерисовку можно назвать более абстрактно - Baltic SE v2.0

процесс разработки мне видится так:
BalticSE-v2-DesignProcess.jpg
т.е. никаких макеток - сразу делаем печатку, разрабатывая её как набор 2-слойных дизайнов размером до 100х160мм каждый (ограничение стандартной лицензии Eagle v5), которые склеиваются программно в большую плату, заказываемую "одним куском" (опыт программного склеивания герберов у меня имеется) - в каждом маленьком кусочке будут 2-рядные гребёнки контактов слева и справа, через которые этот кусочек будет взаимодействовать с соседями (т.е. эдакий бесконтактный RC2014 получится) - при склеивании программно у всех кусочков (кроме первого) будет отрезаться левая гребёнка контактов (т.к. зачем нам 2 ряда контактов рядом на плате?) - далее при сборке и отладке если выясняется, что один из кусочков бажный и простое хирургическое вмешательство не поможет, мы этот кусочек выпиливаем (оставляя у соседних плат крайние ряды контактов) и заказываем исправленный кусочек в виде отдельной платки (что будет сильно дешевле заказывания большой исправленной платы целиком), которая затем насаживается на оставшиеся путём втыкания либо припаивания проводочками - после окончательной отладки исправленные дизайны снова сводятся вместе и заказываются "одним куском" для распространения среди альфа-бета тестеров - вобщем как-то так :roll:

P.S. а версия под ATX уже будет называться Baltic SE v2.1 (ну или уже с указанием общего размера оперативной памяти, который к тому моменту уже скорее всего будет фиксирован - Baltic SE 288K)...
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Shaos wrote: 18 Nov 2025 09:36 ... в каждом маленьком кусочке будут 2-рядные гребёнки контактов слева и справа, через которые этот кусочек будет взаимодействовать с соседями (т.е. эдакий бесконтактный RC2014 получится)...
А хотя с другой стороны почему бесконтактный? Если не ставить задачу прям сразу сделать всё именно ОДНОЙ большой платой, то может быть и разумно отлаживаться небольшими платками, втыкаемыми в расширенную шину RC2014 - в этом смысле можно будет заинтересовать ещё большее количество народу:
hobgoblin wrote: 11 Nov 2025 23:59 или всеже не ISA шину, а RC2014 ?
под RC2014 есть интереснное всякое
https://github.com/ZXQuirkafleeg/ZX-Videoface
Например можно добавить в 80-пиновую RCBus ещё 20 контактов, получив при этом 36 дополнительных сигналов (вместе с USER* и зарезервированными, но неиспользуемыми ногами):

https://smallcomputercentral.com/rcbus/

P.S. А вообще во всю длину 16-сантиметровой еврокард влезет 60 пар пинов с шагом 0.1 дюйма или 120 сигналов в 2 ряда, что даст 56 дополнительных ног под наши нужды :o
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Shaos wrote: 18 Nov 2025 22:10А вообще во всю длину 16-сантиметровой еврокард влезет 60 пар пинов с шагом 0.1 дюйма или 120 сигналов в 2 ряда, что даст 56 дополнительных ног под наши нужды :o
Вообще-то в 16 сантиметров с шагом 0.1 дюйма влазит 62 дырки - совсем забыл, что я чем-то подобным уже занимался 6 лет назад :o

viewtopic.php?p=144197#p144197

Но 62*2=124 не сильно кругло выглядит - поэтому если уж делать расширение RCbus, то пусть будет 120 (типа RCBus-120pin).

P.S. Причём можно гребёнку контактов сдвинуть влево к самому краю платы, чтобы было сразу визуально понятно правильно втыкается плата или нет…
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Если делать модульный дизайн, то наверное надо /IORQGE реализовать - люди например вот так делают:
IMG_9068.jpeg
Можно 74AHC32 поставить с задержкой 7.5нс - там полноценные pull-down резисторы 10к на землю можно воткнуть...
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Shaos wrote: 19 Nov 2025 23:08 Но 62*2=124 не сильно кругло выглядит - поэтому если уж делать расширение RCbus, то пусть будет 120 (типа RCBus-120pin).
Интересно, что существующие бекплэйны RCBus-80pin обрезаны так, что их прям сразу можно впритык наращивать для экспериментов :mrgreen:
You do not have the required permissions to view the files attached to this post.
hobgoblin
Writer
Posts: 14
Joined: 04 Nov 2025 03:43

Re: Развиваем Балтик

Post by hobgoblin »

топологическая идентичность пострадает от такого
платка переходная на гнездо процессора , и игла хватит


а вот режим для cp/m
https://zxpress.ru/article.php?id=10530
скорповый правда, и с таймексом не совместимый
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

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

в схеме расширения графики скорпа до хайреза невозможно разобраться не понимая схему скорпа - а мне в ней некогда разбираться :)
User avatar
Black_Cat
Doomed
Posts: 582
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: Развиваем Балтик

Post by Black_Cat »

Shaos wrote: 23 Nov 2025 10:09 топологическая идентичность будет потом - сейчас я хочу найти простейший способ отладки расширений, причём чтобы не пучок проводов, а повторяемо было - воткнул и поехали

в схеме расширения графики скорпа до хайреза невозможно разобраться не понимая схему скорпа - а мне в ней некогда разбираться :)
Нечего там разбираться, формирование экрана на клонах Спектрума везде одинаковое: A13=0 - чётное знакоместо, A13=1 - нечётное. Отличия токо в управлении выбором цвета и адресе порта управления этим всем.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

А вот почему на Балтиках (и Уралах) клава инвертированная?
Screenshot from 2025-11-24 21-13-12.png
Им же из-за этого пришлось 8 инверторов поставить, резисторы подтягивающие к нулю и инвертирующий буфер КМОП задействовать (который у меня в конце 90-х сгорел и я его собственноручно перепаивал в своём российском Урале). Например в Ленинграде всё прямолинейно и в меньшее количество корпусов даже ещё и джойстик завёлся :o
IMG_9082.jpeg
You do not have the required permissions to view the files attached to this post.
User avatar
FizikS
Maniac
Posts: 295
Joined: 11 Oct 2018 00:52
Location: г. Клинцы, Брянская обл.

Re: Развиваем Балтик

Post by FizikS »

Возможно, чтобы уменьшить нагрузку на ША и убрать помехи от проводов, идущих к клавиатуре? Это первое , что приходит в голову.
User avatar
Shaos
Admin
Posts: 24636
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Развиваем Балтик

Post by Shaos »

Ну для этого можно было неинвертирующие буфера задействовать по входу и по выходу, не?

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

А выход можно сделать как в ленине - на мультиплексорах, подав на вход управления A1, чтобы можно было прочитать обратно порт разрешения восьмушек DOCK/EXROM #F4 (244) - кстати EXROM можно отобразить на RCBus :)

Надо подумать что делать с таймексовыми портами звука (#F5 и #F6) - при моём упрощённом декоде они будут попадать на #FE и #FF (может ещё и на #F4, если я его поддержу) - либо запретить их совсем, либо завести на тот же AY, что по 128K-шному будет подключен - в этом случае AY получит двойную адресацию как в проекте ZX Spectrum SE.

Вот кстати интересное описание портов Таймекса: https://loadzx.com/timexcomputerworld/timex-io-ports/
Там в частности написано, что железо подразумевало возможность 16-мегабайтного расширения, которое никогда не было выпущено. Также там описано как через регистр R14 звукового чипа читались джойстики….

P.S. Похоже надо запрещать F5 и F6 т.к. они работают иначе нежели 128К:

Code: Select all

OUT (0xfffd)   - Select a register 0-14
IN  (0xfffd)   - Read the value of the selected register
OUT (0xbffd)   - Write to the selected register
но в таймексе:
PORT 245 (F5h – SOUND CHIP REGISTER SELECTION):

Output: Selects active sound chip register, like port 65533 on Spectrum 128.

Input: Always 255.

PORT 246 (F6h – SOUND CHIP REGISTERS):

Output: Writes sent value to active sound chip register, like port 49149 on Spectrum 128.

Input: Reads a value from the active sound chip register.
т.е. на 128К чтение идёт из того же порта куда записали номер регистра, а на таймексе - из второго порта (я проверил технический мануал от TS2068 - там также написано - выходит описание ZX Spectrum SE - неправильное)

P.P.S. Либо сделать так, чтобы данные читались по обоим адресам (точнее по всем четырём)...