Какой умный мальчикBlack_Cat wrote: 17 Nov 2025 11:20Ну вааще-то мальчик сделал 384х320, но больше чем 384х304 телевизор не показывалShaos wrote: 17 Nov 2025 11:16 Ну то что он бордюр открыл это понятно - я про то, что там пикселов в строке мало - наверное края то и не видны были…. На аналоговых телевизорах ручками сзади можно было менять параметры изображения в довольно широких пределах.
Развиваем Балтик
Moderator: Shaos
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
-
Black_Cat
- Doomed
- Posts: 582
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
Re: Развиваем Балтик
Черезчур умный, до сих пор всем икаетсяShaos wrote: 17 Nov 2025 11:32Какой умный мальчикBlack_Cat wrote: 17 Nov 2025 11:20Ну вааще-то мальчик сделал 384х320, но больше чем 384х304 телевизор не показывалShaos wrote: 17 Nov 2025 11:16 Ну то что он бордюр открыл это понятно - я про то, что там пикселов в строке мало - наверное края то и не видны были…. На аналоговых телевизорах ручками сзади можно было менять параметры изображения в довольно широких пределах.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Кстати в архивах 2006 года нашлась ранняя версия схемы Балтика с http://sblive.narod.ru/ (судя по всему нарисованная в Eagle) и там вроде как более правильный INT - по фронту сигнала C15, что есть 256-я строка (6 строк после окончания кадрового синхроимпульса):Shaos wrote: 08 Nov 2025 13:44Вот видимо поэтому на классике (и на Скорпионе?) INT стоит непосредственно перед началом бордюра - чтобы можно было сразу после прерывания начать рисовать на бордюре. Пентагоновский вариант, когда оно стоит сразу после бордюра (в начале кадровой синхры), хорошо если нам надо знать момент, когда можно сразу начать рисовать пикселы где угодно без опасения что процесс рисования будет виден, однако почему бы тогда не поставить прерывание сразу в конце графической области? А существующий вариант с прерыванием в начале графической области имеет смысл только если мы хотим рисовать софтверный мультиколор, который в Балтике ненужен т.к. там есть хардверный. Вобщем получается в зависимости от того хотим ли мы рисовать на бордюре или только в графике нам надо иметь прерывание или перед началом бордюра или сразу после графики (пентагоновский вариант наверное ненужен т.к. пентагоновские демки всё равно тут не пойдут из-за другой частоты и вейтовости - или нужен?)...Shaos wrote: 08 Nov 2025 01:08 P.S. Вот думаю, а не сделать ли ещё один экспериментальный режим, когда мы меняем смысл бита мерцания FL?
Что если вместо мерцания он будет включать в соответствующем знакоместе БОРДЮР?![]()
Тогда можно будет рисовать программные бордер-эффекты прямо везде![]()
А в более новых схемах нарисовано как в Урале - выход РТ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: Развиваем Балтик
Code: Select all
Baltic SE v2
NoFPGA
NoCPLD
YesPAL
YesTTL
ну для cpm 512х192 и 64 кб идеально
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Shaos wrote: 08 Nov 2025 02:03 Вобщем пока план такой:
- Заказываю платы, что показаны в первом посте этого топика, и пытаюсь собрать классический Балтик (на панельках?) и параллельно пробую превратить свой Урал в Балтик для экспериментов с новыми режимами
- Начинаю ставить хирургические опыты над новой классической платой - переделать её на ПЗУ вместо РТ4, добавить пару ISA-слотов, добавить 4-цветный режим и т.д. параллельно рисуя новую тестовую плату, которую можно назвать BALTIC SE 64KB (там всё ещё будет ПЗУ с бейсиком, но уже на 32КБ, чтобы работал балтиковский ромдиск с диск-монитором, а также большой EEPROM с последовательным доступом, чтобы DISK-монитор туда мог сохранять снапшоты вместо дисковода), также возможно в этой плате уже появится AY (с частотой 1.778 МГц)
- После заказа, получения и сборки новой тестовой платы, фиксю баги, если надо зказываю исправленную плату и параллельно рисую новую плату BALTIC SE 96KB, где уже будет SRAM вместо ROM и hi-res режим - эту плату уже можно делать в формате mATX (и в ней будет микроконтроллер для писишной клавы)
- Все платы сразу будут не только опенсорц, но и PUBLIC DOMAIN - кто хочет может заказывать и себе, и на продажу, а я тем временем попытаюсь пропиарить этот новый комп американским самодельщикам и ретроэнтузиастам, в том числе путём раскрутки своего эмулятора
- Профит!
т.к. в первой же перерисованной плате уже будет 256 кило как вариант, то наверное первую перерисовку можно назвать более абстрактно - Baltic SE v2.0Shaos wrote: 15 Nov 2025 09:09 Я кстати хочу эту тестовую плату разводить в Eagle v5 модульно (т.к. у меня стандартная лицензия с ограничением 160х100мм) - причём модули будут склеиваться вместе на уровне Герберов - так вот можно будет заказывать маленькие партии плат с разъёмом SIMM30 и маленькие партии с 41256 прям на плате - чтобы так сказать всем угодить
И также можно будет сделать экспериментальный модуль на 1 мег с перепутывнием адресов во время рефреша - может оно и полетит…
процесс разработки мне видится так:
т.е. никаких макеток - сразу делаем печатку, разрабатывая её как набор 2-слойных дизайнов размером до 100х160мм каждый (ограничение стандартной лицензии Eagle v5), которые склеиваются программно в большую плату, заказываемую "одним куском" (опыт программного склеивания герберов у меня имеется) - в каждом маленьком кусочке будут 2-рядные гребёнки контактов слева и справа, через которые этот кусочек будет взаимодействовать с соседями (т.е. эдакий бесконтактный RC2014 получится) - при склеивании программно у всех кусочков (кроме первого) будет отрезаться левая гребёнка контактов (т.к. зачем нам 2 ряда контактов рядом на плате?) - далее при сборке и отладке если выясняется, что один из кусочков бажный и простое хирургическое вмешательство не поможет, мы этот кусочек выпиливаем (оставляя у соседних плат крайние ряды контактов) и заказываем исправленный кусочек в виде отдельной платки (что будет сильно дешевле заказывания большой исправленной платы целиком), которая затем насаживается на оставшиеся путём втыкания либо припаивания проводочками - после окончательной отладки исправленные дизайны снова сводятся вместе и заказываются "одним куском" для распространения среди альфа-бета тестеров - вобщем как-то так
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.
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
А хотя с другой стороны почему бесконтактный? Если не ставить задачу прям сразу сделать всё именно ОДНОЙ большой платой, то может быть и разумно отлаживаться небольшими платками, втыкаемыми в расширенную шину RC2014 - в этом смысле можно будет заинтересовать ещё большее количество народу:Shaos wrote: 18 Nov 2025 09:36 ... в каждом маленьком кусочке будут 2-рядные гребёнки контактов слева и справа, через которые этот кусочек будет взаимодействовать с соседями (т.е. эдакий бесконтактный RC2014 получится)...
Например можно добавить в 80-пиновую RCBus ещё 20 контактов, получив при этом 36 дополнительных сигналов (вместе с USER* и зарезервированными, но неиспользуемыми ногами):hobgoblin wrote: 11 Nov 2025 23:59 или всеже не ISA шину, а RC2014 ?
под RC2014 есть интереснное всякое
https://github.com/ZXQuirkafleeg/ZX-Videoface
https://smallcomputercentral.com/rcbus/
P.S. А вообще во всю длину 16-сантиметровой еврокард влезет 60 пар пинов с шагом 0.1 дюйма или 120 сигналов в 2 ряда, что даст 56 дополнительных ног под наши нужды
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Вообще-то в 16 сантиметров с шагом 0.1 дюйма влазит 62 дырки - совсем забыл, что я чем-то подобным уже занимался 6 лет назадShaos wrote: 18 Nov 2025 22:10А вообще во всю длину 16-сантиметровой еврокард влезет 60 пар пинов с шагом 0.1 дюйма или 120 сигналов в 2 ряда, что даст 56 дополнительных ног под наши нужды![]()
Но 62*2=124 не сильно кругло выглядит - поэтому если уж делать расширение RCbus, то пусть будет 120 (типа RCBus-120pin).
P.S. Причём можно гребёнку контактов сдвинуть влево к самому краю платы, чтобы было сразу визуально понятно правильно втыкается плата или нет…
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Если делать модульный дизайн, то наверное надо /IORQGE реализовать - люди например вот так делают:
Можно 74AHC32 поставить с задержкой 7.5нс - там полноценные pull-down резисторы 10к на землю можно воткнуть...
Можно 74AHC32 поставить с задержкой 7.5нс - там полноценные pull-down резисторы 10к на землю можно воткнуть...
You do not have the required permissions to view the files attached to this post.
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Интересно, что существующие бекплэйны RCBus-80pin обрезаны так, что их прям сразу можно впритык наращивать для экспериментовShaos wrote: 19 Nov 2025 23:08 Но 62*2=124 не сильно кругло выглядит - поэтому если уж делать расширение RCbus, то пусть будет 120 (типа RCBus-120pin).
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: Развиваем Балтик
топологическая идентичность пострадает от такого
платка переходная на гнездо процессора , и игла хватит
а вот режим для cp/m
https://zxpress.ru/article.php?id=10530
скорповый правда, и с таймексом не совместимый
платка переходная на гнездо процессора , и игла хватит
а вот режим для cp/m
https://zxpress.ru/article.php?id=10530
скорповый правда, и с таймексом не совместимый
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
топологическая идентичность будет потом - сейчас я хочу найти простейший способ отладки расширений, причём чтобы не пучок проводов, а повторяемо было - воткнул и поехали
в схеме расширения графики скорпа до хайреза невозможно разобраться не понимая схему скорпа - а мне в ней некогда разбираться
в схеме расширения графики скорпа до хайреза невозможно разобраться не понимая схему скорпа - а мне в ней некогда разбираться
-
Black_Cat
- Doomed
- Posts: 582
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
Re: Развиваем Балтик
Нечего там разбираться, формирование экрана на клонах Спектрума везде одинаковое: A13=0 - чётное знакоместо, A13=1 - нечётное. Отличия токо в управлении выбором цвета и адресе порта управления этим всем.Shaos wrote: 23 Nov 2025 10:09 топологическая идентичность будет потом - сейчас я хочу найти простейший способ отладки расширений, причём чтобы не пучок проводов, а повторяемо было - воткнул и поехали
в схеме расширения графики скорпа до хайреза невозможно разобраться не понимая схему скорпа - а мне в ней некогда разбираться![]()
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
А вот почему на Балтиках (и Уралах) клава инвертированная?
Им же из-за этого пришлось 8 инверторов поставить, резисторы подтягивающие к нулю и инвертирующий буфер КМОП задействовать (который у меня в конце 90-х сгорел и я его собственноручно перепаивал в своём российском Урале). Например в Ленинграде всё прямолинейно и в меньшее количество корпусов даже ещё и джойстик завёлся
Им же из-за этого пришлось 8 инверторов поставить, резисторы подтягивающие к нулю и инвертирующий буфер КМОП задействовать (который у меня в конце 90-х сгорел и я его собственноручно перепаивал в своём российском Урале). Например в Ленинграде всё прямолинейно и в меньшее количество корпусов даже ещё и джойстик завёлся
You do not have the required permissions to view the files attached to this post.
-
FizikS
- Maniac
- Posts: 295
- Joined: 11 Oct 2018 00:52
- Location: г. Клинцы, Брянская обл.
Re: Развиваем Балтик
Возможно, чтобы уменьшить нагрузку на ША и убрать помехи от проводов, идущих к клавиатуре? Это первое , что приходит в голову.
-
Shaos
- Admin
- Posts: 24637
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Развиваем Балтик
Ну для этого можно было неинвертирующие буфера задействовать по входу и по выходу, не?
Я пожалуй в своей версии сделаю по прямому и наверное с буфером по входу т.к. я планирую расширенную клаву делать где будет много диодной логики, в том числе и по адресным входам.
А выход можно сделать как в ленине - на мультиплексорах, подав на вход управления 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К:
но в таймексе:
P.P.S. Либо сделать так, чтобы данные читались по обоим адресам (точнее по всем четырём)...
Я пожалуй в своей версии сделаю по прямому и наверное с буфером по входу т.к. я планирую расширенную клаву делать где будет много диодной логики, в том числе и по адресным входам.
А выход можно сделать как в ленине - на мультиплексорах, подав на вход управления 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
т.е. на 128К чтение идёт из того же порта куда записали номер регистра, а на таймексе - из второго порта (я проверил технический мануал от TS2068 - там также написано - выходит описание ZX Spectrum SE - неправильное)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.
P.P.S. Либо сделать так, чтобы данные читались по обоим адресам (точнее по всем четырём)...
