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

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

Moderator: Shaos

User avatar
Black_Cat
Doomed
Posts: 524
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

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

Post by Black_Cat »

Shaos wrote: 01 Nov 2025 22:26P.P.S. Ха - RT4K не влез в G16V8, но влез в G22V10!!! :kruto:
Это значит, что уже прямо сейчас можно и на стандартных платах Балтика собирать новоделы, ставя палки-галки на места РЕ-шек и РТ-шек (я старался совмещать ноги где возможно, но кое-что будет болтаться в воздухе и требовать пробрасывание проводочков):
И нахрена козе баян? :) У нас и РТшки в РЕшками в доступе :) , шьёшь и ставишь без лишнего МГТФа, а проблемы американских индейцев, как известно, шерифа не волнуют :)
Last edited by Black_Cat on 02 Nov 2025 03:38, edited 1 time in total.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Ну тут тоже можно 82S23 и 82S126 найти, если хорошо поискать, а вот шить их чем? :roll:
User avatar
Black_Cat
Doomed
Posts: 524
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

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

Post by Black_Cat »

Shaos wrote: 02 Nov 2025 03:34 Ну тут тоже можно 82S23 и 82S126 найти, если хорошо поискать, а вот шить их чем? :roll:
Это вопрос токо необходимости, на zx.pk там тема по программаторам для них есть :)
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Black_Cat wrote: 02 Nov 2025 03:41
Shaos wrote: 02 Nov 2025 03:34 Ну тут тоже можно 82S23 и 82S126 найти, если хорошо поискать, а вот шить их чем? :roll:
Это вопрос токо необходимости, на zx.pk там тема по программаторам для них есть :)
У меня уже есть программатор на все случаи жизни :)

Image

И он знать не знает про 82S...
User avatar
Black_Cat
Doomed
Posts: 524
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

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

Post by Black_Cat »

У нас в лабе в конце 80х для РЕшек с РТшками был кондовый советский стоечный программатор с клавиатурой с металлическими сенсорными клавишами, дык для программирования на нём надо было два человека: я читал коды, а приятель вбивал их в эту ублюдочную сенсорную клавиатуру :) , и так всю ПЗУ, благо ПЗУхи у нас были небольшие :)
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
backa
Novelist
Posts: 27
Joined: 21 Mar 2017 16:39

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

Post by backa »

imsushka wrote: 02 Nov 2025 00:29 а поставить 1 макс 127 за место всего ниизя ?
и если останеться место то добавить туда " AY, ОЗУ512, HDMI, PS/2 клавиатура, нормальный видеовыход, USB клавиатура , DIVmmc"
шучу)))
User avatar
Black_Cat
Doomed
Posts: 524
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

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

Post by Black_Cat »

backa wrote: 02 Nov 2025 05:19
imsushka wrote: 02 Nov 2025 00:29 а поставить 1 макс 127 за место всего ниизя ?
и если останеться место то добавить туда " AY, ОЗУ512, HDMI, PS/2 клавиатура, нормальный видеовыход, USB клавиатура , DIVmmc"
шучу)))
:) ..потом немного подумать, и выкинуть из неё Балтик :)
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
backa
Novelist
Posts: 27
Joined: 21 Mar 2017 16:39

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

Post by backa »

Black_Cat wrote: 02 Nov 2025 05:23
backa wrote: 02 Nov 2025 05:19
imsushka wrote: 02 Nov 2025 00:29 а поставить 1 макс 127 за место всего ниизя ?
и если останеться место то добавить туда " AY, ОЗУ512, HDMI, PS/2 клавиатура, нормальный видеовыход, USB клавиатура , DIVmmc"
шучу)))
:) ..потом немного подумать, и выкинуть из неё Балтик :)
ну этому пришел , когда начал "запихивать" старые компы в FPGA .... По-моему старые компы , собранные много лет назад , лучше не трогать. А если хочется потратить время и знания со схемотехникой старых 8мибитников - то только новодел без резанных дороже и проводов и желательно на FPGA. Но это чисто мое мнение)))
А вообще приятно видеть что такого заслуженного "старичка" Балтика - вспоминают и пытаются в ним что-то делать! Тема ожила )))) На известном сайте ZX не часто его вспоминают.
Shaos wrote: 02 Nov 2025 03:48 У меня уже есть программатор на все случаи жизни :)
Присматривал себе купить вместо своего древнего LPT "EZoFlash+ 4v4" но цены на них сейчас неадекватные (спасибо тарифами и инфляции дикой) и решил что останусь на старом (а н аработе есть на столе "BeeProg+" - приятный аппаратик. Но требует на многие чипы своих переходников((( ).
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Shaos wrote: 14 Oct 2025 20:27 Управление шло через системный порт #7E (126):

Code: Select all

SYSREG
DDD
210

Стандарт ========================
*00 - 4000h-5AFFh Обычный ZX-Spectrum
*01 - 4000h-6FFFh Мультиколор 4000h
*10 - 0000h-2FFFh Мультиколор 0000h
*11 - 2000h-3AFFh Обычный Disk-Monitor
Плюс бит 7 отключал ПЗУ, открывая все 64КБ ОЗУ! И если кинуть один проводочек (управляемый битом 2), то добавляются ещё 4 режима, где экран сдвинут на #8000:

Code: Select all

Standard Baltic ========================
000 - 4000h-5AFFh ZX-screen 6912 in normal location (2nd quarter of memory)
001 - 4000h-6FFFh Hardware Multicolor 4000h
010 - 0000h-2FFFh Hardware Multicolor 0000h
011 - 2000h-3AFFh ZX-screen 6912 at the end of first quarter of memory (for Disk-Monitor)
Extended Baltic ========================
100 - C000h-DAFFh ZX-screen 6912 at the beginning of last quarter of memory
101 - C000h-EFFFh Hardware Multicolor C000h
110 - 8000h-AFFFh Hardware Multicolor 8000h
111 - A000h-BAFFh ZX-screen 6912 at the end of third quarter of memory
Бит 2 предполагалось использовать для расширения CP/M, который требовал замены РЕ-шек и РТ-шек после чего мультиколор исчезал - поэтому мне это CP/M расширение не нравится - первоначальные возможности более интересны и именно с прокинутым проводком от D2 :idea:
На самом деле при переходе на ATF16V8 можно задействовать неиспользованные входы и завести в логику сигнал D2, подковыряв прошивку и разрешив CP/M режим 101 среди новых режимов, оставив без изменения старые с мультиколором:

Code: Select all

Standard Baltic ========================
000 - 4000h-5AFFh ZX-screen 6912 in normal location (2nd quarter of memory)
001 - 4000h-6FFFh Hardware Multicolor 4000h
010 - 0000h-2FFFh Hardware Multicolor 0000h
011 - 2000h-3AFFh ZX-screen 6912 at the end of first quarter of memory (for Disk-Monitor)
Extended Baltic ========================
100 - C000h-DAFFh ZX-screen 6912 at the beginning of last quarter of memory
101 - E000h-FAFFh ZX-screen 6912 for CP/M <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< NEW
110 - 8000h-AFFFh Hardware Multicolor 8000h
111 - A000h-BAFFh ZX-screen 6912 at the end of third quarter of memory
Тогда и CP/M-80 можно попробовать запустить не убивая мультиколор :)

Правда для этого надо контроллер на ВГ93 городить и возможно на той же самой материнской плате ( в формате mATX? ; )

P.S. Хотя CP/M наверное это сильно потом и наверное сразу надо будет ставить 22V10, заводить D2 с регистра управления и выводить старший бит адреса видеобуфера, чтобы он не просто копировал D2, а чтобы можно было в этих старших режимах ещё и таймексовские форматы поддержать - стандартную графику (второй экран таймекса) с адреса #6000 (скажем 100) и таймексовский мультиколор с пикселами по #4000 и байтовыми атрибутами по #6000 (скажем 111), но это если к тому времени не надоест...
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Расшифровка прошивки RE3D с zxpk: https://zx-pk.ru/threads/1389-baltik.html?p=291676&viewfull=1#post291676
rl76 wrote: Расшифровка стандартной прошивки РЕ3 "D"

Code: Select all

ADDR        SSSSS/SS / SSSS     S     SSS          SYSREG
RE3         AAAAAMAA M AAAA     A     AAA          D2 = 1
            11111C00 C 1111     1     100          отсут.
            43210L98 L 5432     1     098          без      
                                                   дораб.
ZX-Spectrum =============================================
0000 B4     10110100 1 *101=5h  1=8h+ 000   5800h   D800h
0001 B5     10110101 1 *101=5h  1=8h+ 001   5900h   D900h
0002 B6     10110110 1 *101=5h  1=8h+ 010   5A00h   DA00h
0003 FF     11111111 1 *111     1     111                
                                                         
0010 8B     10001011 0 *100=4h  0=0h+ ~~~   4000h   C000h
0011 9B     10011011 0 *100=4h  1=8h+ ~~~   4800h   C800h
0012 AB     10101011 0 *101=5h  0=0h+ ~~~   5000h   D000h
0013 FF     11111111 1 *111     1     111                

Multicolor 4000h ========================================
0004 BB     10111011 0 *101=5h  1=8h+ ~~~   5800h   D800h
0005 CB     11001011 0 *110=6h  0=0h+ ~~~   6000h   E000h
0006 DB     11011011 0 *110=6h  1=8h+ ~~~   6800h   E800h
0007 FF     11111111 1 *111     1     111                
                                                         
0014 8B     10001011 0 *100=4h  0=0h+ ~~~   4000h   C000h
0015 9B     10011011 0 *100=4h  1=8h+ ~~~   4800h   C800h
0016 AB     10101011 0 *101=5h  0=0h+ ~~~   5000h   D000h
0017 FF     11111111 1 *111     1     111                

Multicolor 0000h ========================================
0008 3B     00111011 0 *001=1h  1=8h+ ~~~   1800h   9800h
0009 4B     01001011 0 *010=2h  0=0h+ ~~~   2000h   A000h
000A 5B     01011011 0 *010=2h  1=8h+ ~~~   2800h   A800h
000B FF     11111111 1 *111     1     111                
                                                         
0018 0B     00001011 0 *000=0h  0=0h+ ~~~   0000h   8000h
0019 1B     00011011 0 *000=0h  1=8h+ ~~~   0800h   8800h
001A 2B     00101011 0 *001=1h  0=0h+ ~~~   1000h   9000h
001B FF     11111111 1 *111     1     111                

Disk-Monitor ============================================
000C 74     01110100 1 *011=3h  1=8h+ 000   3800h   B800h
000D 75     01110101 1 *011=3h  1=8h+ 001   3900h   B900h
000E 76     01110110 1 *011=3h  1=8h+ 010   3A00h   BA00h
000F FF     11111111 1 *111     1     111                
                                                         
001C 4B     01001011 0 *010=2h  0=0h+ ~~~   2000h   A000h
001D 5B     01011011 0 *010=2h  1=8h+ ~~~   2800h   A800h
001E 6B     01101011 0 *011=3h  0=0h+ ~~~   3000h   B000h
001F FF     11111111 1 *111     1     111
Расшифровка прошивки РЕ3 "D" для CP/M

Code: Select all

:
ADDR        SSSSS/SS / SSSS     S     SSS  SYSREG  SYSREG
RE3         AAAAAMAA M AAAA     A     AAA  D2 = 0  D2 = 1
            11111C00 C 1111     1     100                
            43210L98 L 5432     1     098                

CP/M ====================================================
0004 F4     11110100 1 *111=7h  1=8h+ 000   7800h   F800h
0005 F5     11110101 1 *111=7h  1=8h+ 001   7900h   F900h
0006 F6     11110110 1 *111=7h  1=8h+ 010   7A00h   FA00h
0007 FF     11111111 1 *111     1     111                
                                                         
0014 CB     11001011 0 *110=6h  0=0h+ ~~~   6000h   E000h
0015 DB     11011011 0 *110=6h  1=8h+ ~~~   6800h   E800h
0016 EB     11101011 0 *111=7h  0=0h+ ~~~   7000h   F000h
0017 FF     11111111 1 *111     1     111
В прошивке RE3D_3 для G16V8 я добавил ещё 3 входа C9,C8,C7, чтобы убрать хаки с логикой открытого коллектора (схемное И) на DD9, а теперь ещё надо добавить вход D2 с регистра управления и выход SYS19 для явного задания старшего бита адреса видеобуфера (в Балтике его функцию выполнял сигнал D2 с регистра управления) - такую прошивку можно назвать RE3D_4 и для неё уже будет нужен G22V10

Куски прошивки для реализации таймексовских режимов (на месте 100 и 111) могут выглядеть так:

Code: Select all

:
ADDR        SSSSS/SS / SSSS     S     SSS  SYSREG SYS19
RE3         AAAAAMAA M AAAA     A     AAA  D2 = 1
            11111C00 C 1111     1     100         
            43210L98 L 5432     1     098         

Timex 1 ====================================================
0000 F4     11110100 1 0111=7h  1=8h+ 000   7800h 0
0001 F5     11110101 1 0111=7h  1=8h+ 001   7900h 0
0002 F6     11110110 1 0111=7h  1=8h+ 010   7A00h 0
0003 FF     11111111 1 1111     1     111                
                                                         
0010 CB     11001011 0 0110=6h  0=0h+ ~~~   6000h 0
0011 DB     11011011 0 0110=6h  1=8h+ ~~~   6800h 0
0012 EB     11101011 0 0111=7h  0=0h+ ~~~   7000h 0
0013 FF     11111111 1 1111     1     111

Timex 2 ====================================================
000C CB     11001011 0 0110=6h  0=0h+ ~~~   6000h 0
000D DB     11011011 0 0110=6h  1=8h+ ~~~   6800h 0
000E EB     11101011 0 0111=7h  0=0h+ ~~~   7000h 0
000F FF     11111111 1 1111     1     111

001C 8B     10001011 0 0100=4h  0=0h+ ~~~   4000h 0
001E 9B     10011011 0 0100=4h  1=8h+ ~~~   4800h 0
001E AB     10101011 0 0101=5h  0=0h+ ~~~   5000h 0
001F FF     11111111 1 1111     1     111                                                                      
В этом случае управление режимами будет таким (причём я хочу оставить третий балтиковский мультиколор как есть):

Code: Select all

Standard Baltic ========================
000 - 4000h-5AFFh ZX-screen 6912 in normal location (2nd quarter of memory)
001 - 4000h-6FFFh Hardware Multicolor 4000h
010 - 0000h-2FFFh Hardware Multicolor 0000h
011 - 2000h-3AFFh ZX-screen 6912 at the end of first quarter of memory (for Disk-Monitor)
Extended Baltic ========================
100 - 6000h-7AFFh ZX-screen 6912 at the end of 2nd quarter of memory (Timex mode 1) <<<<< NEW-2
101 - E000h-FAFFh ZX-screen 6912 for CP/M <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< NEW
110 - 8000h-AFFFh Hardware Multicolor 8000h <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OLD
111 - 4000h-57FFh,6000h-77FFh Hardware Multicolor 4000h+6000h (Timex mode 2) <<<<<<<<<<<< NEW-2
Можно даже железячно захакать порт #FF (он правда используется контроллером дисковода Балтика - но с этим можно что-нибудь придумать) так, чтобы при записи туда 0 устанавливался режим 000 в #7E, при записи 1 - режим 100 в #7E и при записи 2 - режим 111 в #7E, тогда теоретически таймексовские программки смогут работать и тут (если они не используют hi-res mode конечно)...
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

backa wrote: 29 Oct 2025 14:06 Я прошел ВСЕ стадии "модернизаций" с ним - в Минске был кооператив "СОНЕТ" - они его делали и продавали.
Я подключал их уникальный CP/M и DISK-монитор(обалденная штука для прохождения всех уровней в играх)...
И каковы впечатления от CP/M и сохранения снапшотов на диск из DISK-монитора? Стоит овчинка выделки или оно всё глючное и нестандартное?

Дисковод то там какой подразумевается? 5-дюймовый или 3-дюймовый? Я так вскользь посмотрел описания - там сектор 1КБ и 5 секторов на дорожку - всего 80 дорожек и 2 стороны - вроде на западе CP/M-80 таких форматов не имел никогда - т.е. это формат чисто советский?

Я пока имею желание в перспективе DISK-Monitor захакать, чтобы он чтение-сохранение делал на последовательную EEPROM вместо дисковода - всяко технологичнее будет, нежели дискетами шуршать...
Mondx
Doomed
Posts: 575
Joined: 10 Aug 2022 07:27
Location: Crimea

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

Post by Mondx »

Shaos wrote: 02 Nov 2025 22:04Я так вскользь посмотрел описания - там сектор 1КБ и 5 секторов на дорожку - всего 80 дорожек и 2 стороны - вроде на западе CP/M-80 таких форматов не имел никогда - т.е. это формат чисто советский?
А что мешало иметь? Это ж CP/M, с его DPB. Обычно держишь кучу форматов, для каждой буквы диска свой. 83 дорожки аж бегом.)
Например:)

Code: Select all

;    ZX BIOS v.6.0m
;    -------------
;    DS/DD/96 only
;
;   A: 120 KB - PROM
;   B: 784 KB - "PIED PIPER"
;   C: 784 KB - "PIED PIPER"
;   or 710 KB - IBM PC for INGLISH distionary
;	(original XLT or not Head Control)
;   or 790 KB - "SIM-72"
;   or 640 KB - "SINCLAIR"
;
;   KBD: KOI/ALT
;   CRT: ALT
;   PRN: ALT/KOI
;
;   92-Jan-14 05.30
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

А зачем мне куча форматов? Этот Балтик пишет во вполне конкретном формате, который ни с чем не совместим (точнее пишут, что совместим с Орионом и Байтом, а программы для работы с ним почему-то существуют только для IS-DOS и TASIS)...
Mondx
Doomed
Posts: 575
Joined: 10 Aug 2022 07:27
Location: Crimea

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

Post by Mondx »

Это был ответ на фразу "вроде на западе CP/M-80 таких форматов не имел никогда"). Но сама CP/M может иметь любые реальные форматы дисков, даже экзотические. Другое дело что компьютеры с CP/M использовали определённые, выбранные по своим причинам, форматы. В тоже же время, обычно, всегда была возможность исправления BIOS-а для поддержки других форматов.
User avatar
Shaos
Admin
Posts: 24434
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Shaos wrote: 02 Nov 2025 21:33 ... В этом случае управление режимами будет таким (причём я хочу оставить третий балтиковский мультиколор как есть):

Code: Select all

Standard Baltic ========================
000 - 4000h-5AFFh ZX-screen 6912 in normal location (2nd quarter of memory)
001 - 4000h-6FFFh Hardware Multicolor 4000h
010 - 0000h-2FFFh Hardware Multicolor 0000h
011 - 2000h-3AFFh ZX-screen 6912 at the end of first quarter of memory (for Disk-Monitor)
Extended Baltic ========================
100 - 6000h-7AFFh ZX-screen 6912 at the end of 2nd quarter of memory (Timex mode 1) <<<<< NEW-2
101 - E000h-FAFFh ZX-screen 6912 for CP/M <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< NEW
110 - 8000h-AFFFh Hardware Multicolor 8000h <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OLD
111 - 4000h-57FFh,6000h-77FFh Hardware Multicolor 4000h+6000h (Timex mode 2) <<<<<<<<<<<< NEW-2
Можно даже железячно захакать порт #FF (он правда используется контроллером дисковода Балтика - но с этим можно что-нибудь придумать) так, чтобы при записи туда 0 устанавливался режим 000 в #7E, при записи 1 - режим 100 в #7E и при записи 2 - режим 111 в #7E, тогда теоретически таймексовские программки смогут работать и тут (если они не используют hi-res mode конечно)...
Короче забиваем на контроллер дисковода и задействуем выводы от существующего декодера DD34 - номер 4 как запись в порт #FF и номер 12 как чтение из порта #FF

Чтобы получить из номера режима по таймексовски номер режима по балтиковски, то копируем бит D1 в новые D0 и D1, а новый D2 будет D0 OR D1:

Code: Select all

xxxxxx00 (0) -> 000
xxxxxx01 (1) -> 100
xxxxxx10 (2) -> 111
xxxxxx11 (3) -> 111 (неиспользуемая комбинация)
P.S. А если добавить к этому декодирование A1 и A14, то можно ещё и AY подключить по стандартным ZX-портам :roll: