nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 03:52



Reply to topic  [ 81 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Недоспектрум NEDOCON-48K и далее NEDOCON-56K 

Взять да и построить?
Да, поможем 36%  36%  [ 5 ]
Да, строй сам 29%  29%  [ 4 ]
Не, не надо 7%  7%  [ 1 ]
Глупость какая 7%  7%  [ 1 ]
А мне пофиг 21%  21%  [ 3 ]
Total votes : 14

Недоспектрум NEDOCON-48K и далее NEDOCON-56K 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вобщем так - сначала будет NEDOCON-48K с 48КБ ОЗУ и 16КБ ПЗУ (с бейсиком для стандартной графики). А потом будет NEDOCON-56K с 56КБ ОЗУ (лишние 8КБ это теневые атрибуты) и 32КБ ПЗУ (с полноценным SE Basic IV Anya). Машинки предполагаются быть совместимыми с Таймексом 2068 по форматам графики (для 56K еще будет графика ZX Spectrum SE с теневой второй страницей) плюс будут иметься свои "экзотические" форматы. Видеорежимы будут переключаться по таймексовски - через порт 255 (#FF):
Code:
D0-2: Screen mode. 000=screen 0, 001=screen 1, 010= hi-colour, 110=hi-res
D3-5: Sets the screen colour in hi-res mode.
        000 - Black on white.     100 - Green on magenta.
        001 - Blue on yellow.     101 - Cyan on red.
        010 - Red on cyan.        110 - Yellow on blue.
        011 - Magenta on green.   111 - White on black.
D6:   If set disables the generation of the timer interrupt.
D7:   Selects which bank the horizontal MMU should use. 0=DOCK, 1=EX. (в новом недоспектруме может участвовать в настройке кадрового прерывания 50/70 Гц?)

OLD MODE 0 - обычная спектрумовая графика 256x192 по адресу #4000 (на 56K можно будет еще переключаться на работу из теневой видеопамяти);
OLD MODE 1 - сдвинутая спектрумовская графика 256x192 по адресу #6000 (несовместимо с бейсиком, но на 56К можно будет еще переключаться на работу из теневой видеопамяти);
OLD MODE 2 - аппаратный мультиколор 256x192 с 8x1 атрибутами как в Timex 2068 (несовместимо с бейсиком, но 56К может подменять растровую графику из теневой памяти);
NEW MODE 3 - аппаратный мультиколор 256x192+ с теневыми атрибутами 8x1 (вариации переключаются дополнительными битами порта 255 и на 48K этот режим будет ч/б т.е. без атрибутов);
NEW MODE 4 - новый режим 320x200 с явными атрибутами 8x1 (несовместимо с бейсиком, но присутствует в 48К режиме, а в 56К можно будет использовать теневую видеостраницу, подцепляемую в последнюю четверть адресного пространства через #7ffd);
NEW MODE 5 - новый режим 320x200 с теневыми атрибутами 8x1 (несовместимо с бейсиком и в 48К этот режим будет ч/б т.е. без атрибутов);
OLD MODE 6 - монохромный режим высокого разрешения 512x192 по умолчанию как в Timex 2068 (цвет выбирается дополнительными битами порта 255, но 56К может подменять растровую графику из теневой памяти - см.ниже);
NEW MODE 7 - цветной режим высокого разрешения 640x200 с атрибутами в теневой странице 8x8, 8x4 или 8x2 программируемыми явно (несовместимо с бейсиком и на 48K этот режим будет ч/б т.е. без атрибутов).

В машине NEDOCON-56K добавится порт #7ffd для управления памятью (нужно для нормальной работы полноценного SE Basic IV):

D0-2: RAM bank (0-7) по адресу #c000 (5 и 7 подключают видеостраницы, а все остальные значения будут означать тот же самый кусок основного ОЗУ);
D3: переключает видеопамять откуда будет рисовать видеоконтроллер (main 0 or shadow 1);
D4: выбор ПЗУ (половинки SE Basic IV);
D5-7: не используется (в будущих моделях можно задействовать как 3 дополнительных бита для выбора страниц расширенной памяти как в Пентагоне-1024).

Вариации режимов на 56K могут выбираться дополнительными тремя битами порта #FF (D3-D5), которые в таймексовском режиме 6 выбирают цвет зада и переда, а в других режимах будут делать следующее:

D3: переключает теневые атрибуты в режим IRGB (полноценные 16 стандартных цветов EGA без мигания);
D4: разрешает регистр копирования теневых атрибутов #FC для режимов 3 и 5 (аля Специалист), а для режима 7 включает четвертичные атрибуты;
D5: включает дополнительные знакоместа для режима 3 (превращая 256x192 в 288x200) и половинчатые атрибуты для режима 7 (в данный момент D4 должен быть 0, если D5=1 для этих режимов, т.е. нельзя иметь одновременно и половинчатые, и четвертичные атрибуты).

P.S. на 56K объем теневой видеопамяти будет только 8 КБ и при ее подключении в область #C000 (через выбор банка 7) она займет только первую половину окна (#C000...#DFFF), а во вторую половину (#E000...#FFFF) будет подключена область #4000...#5FFF (т.е. основная видеопамять) - это сделано для того, чтобы была возможность сымитировать теневые видеорежимы "ZX Spectrum SE", оставаясь в рамках нашего 56-килобайтного лимита для ОЗУ

P.P.S. В июне 2021 года немного изменил описание видеорежимов для большей логичности...

У меня возникла мысль а не скрестить ли этот мой гипотетический спектрум NEDOCON-48K с XORYA графикой для NTSC телевизоров?

http://www.nedopc.org/forum/viewtopic.php?p=118799#p118799

Цвета в целом похожи (тут большие цифры - нумерация EGA, а мелкие - ZX):

Attachment:
xorya-colors-ega-zx.jpg
xorya-colors-ega-zx.jpg [ 35.29 KiB | Viewed 7326 times ]


Единственное, что цветовое разрешение по горизонтали в XORYA всего 160 пикселов, поэтому цвета на уровне отдельных пикселей ZX не будут отображаться телевизором (или будут отображаться неправильно)...

P.S. Если в цветах EGA отображать, то тут нету тёмно-серего ( цвет EGA номер 8 ) и его придётся хитро получать либо мерцанием, либо шахматной заливкой чередуя серый с чёрным и по поводу коричневого надо что-то придумать...

_________________
:dj: https://mastodon.social/@Shaos


01 Jul 2021 10:52
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Я хотел задавать теневые атрибуты через порт #FC, но чтобы с портами стандартного спектрума не конфликтовало, пусть будет #FB (там где принтер и ковокс, которые будут отключаться при использовании теневых атрибутов) - в этом случае можно будет первый NEDOCON сделать как расширение классических спеков, втыкаемое в краевой разъём сзади (заодно там же можно добавить AY, LPT и джойстик):

 Spectrum I/O Ports
Code:
Spectrum I/O Ports (accessed via IN/OUT opcodes)

  Port Binary Address   Dir Description
  xxFF ................ R   Spectrum Current VRAM Data (dirt effect)
  xxFE nnnnnnnn.......0 R   Spectrum ULA (Keyboard, and CAS Input)
  xxFE ...............0 W   Spectrum ULA (Border Color, Speaker/CAS Output)
  F7FE ....0..........0 R   Spectrum +2/+2A/+3 Joystick 2
  EFFE ...0...........0 R   Spectrum +2/+2A/+3 Joystick 1
  F7FE ...10..........0 R   Interface 2 Joystick 2
  EFFE ...01..........0 R   Interface 2 Joystick 1
  FFFD 11............0. W   Spectrum 128K/+2/+2A/+3 PSG index register
  FFFD 11............0. R   Spectrum 128K/+2/+2A/+3 PSG data read (and RS232)
  BFFD 10............0. W   Spectrum 128K/+2/+2A/+3 PSG data write (and RS232)
  7FFD 0.............0. W   Spectrum 128K/+2 Memory Control
  BFFD 10............0. R   Spectrum +2A/+3 Mirror of Port FFFDh (+2A/+3 only)
  7FFD 01............0. W   Spectrum +2A/+3 Memory Control A
  1FFD 0001..........0. W   Spectrum +2A/+3 Memory Control B and Disk Motor
  0FFD 0000..........0.     Spectrum +2A/+3 Centronics
  3FFD 0011..........0. R/W Spectrum +3 Floppy FDC NEC uPD765 data
  2FFD 0010..........0. R   Spectrum +3 Floppy FDC NEC uPD765 status
  xxFB .............0.. R/W ZX Printer
  xxF7 ...........10... R/W Interface 1 RS232/Network Data (1bit send/receive)
  xxEF ...........01... R/W Interface 1 Microdrive/RS232/Network Control
  xxE7 ...........00... R/W Interface 1 Microdrive Data    (8bit send/receive)
  xx1F ........000..... R   Kempston joystick


Timex I/O Ports

  xxFF ........11111111     Timex Display Mode
  xxFE nnnnnnnn11111110 R   Timex ULA (Keyboard, and CAS Input)
  xxFE ........11111110 W   Timex ULA (Border Color, Speaker/CAS Output)
  xxF4 ........11110100     Timex Memory Mapping
  xxF6 ........11110110 R/W Timex TS2068/TC2068 PSG data R/W (sound registers)
  x1F6 .......111110110 R/W Timex TS2068/TC2068 PSG data R/W (and joystick 1)
  x2F6 ......1.11110110 R/W Timex TS2068/TC2068 PSG data R/W (and joystick 2)
  xxF5 ........11110101 W   Timex TS2068/TC2068 PSG index
  xxFB ........11111011 R/W Timex Printer (TS2040 or Alphacom 32)
  xx1F ..........0..... R   Timex TC2048 joystick (kempston-style, A5-only)
  xxEF ........???0???? R/W Timex FDD Interface (for FDD or FDD-3000 drive)


Expansion I/O Stuff (Audio related)

  0007                  W   Cheetah Sweet Talker - Speech Output (halts CPU)
  007F         0        W   DK'Tronics Speech Synthesiser - Speech Output
  007F         0        R   DK'Tronics Speech Synthesiser - Speech Status
  xx7F ........011      R   Fuller Box - Joystick port
  xx3F ........00       W   Fuller Box - PSG index (also DK'Tronics PSG)
  xx3F ........00       R   Fuller Box - PSG data read (maybe also DK'Tronics?)
  xx5F ........010      W   Fuller Box - PSG data write (also DK'Tronics PSG)
  xx9F ........ 00      W   Fuller Orator / Box Master Unit - Speech Output
  xxBF ........ 01      R   Fuller Orator / Box Master Unit - Speech Status
  xx9F ........ 00      W   William Stuart Systems Music Synthesiser PSG index
  xxDF ........ 10      W   William Stuart Systems Music Synthesiser PSG data
  xxFF ........1..11111 W   Bi-Pak ZON X Soundbox PSG index
  xx7F ........0..11111 W   Bi-Pak ZON X Soundbox PSG data write
  0038 0000000000111000 R   Currah uSpeech enable/disable BIOS (mirror)


Expansion I/O Stuff (Storage, Centronics, etc.)

  xx7F ........01111111     Aerco Centronics Interface
  xx8F ........10001111     JLO status/command
  xx9F ........10011111     JLO track
  xxAF ........10101111     JLO sector
  xxBF ........10111111     JLO data
  xxB7 ........10110111     JLO select
  xxFB ........1....0..     ZX LPrint III Enable ROM, and Write=Data, Read=Busy
  xx7B ........0....0..     ZX LPrint III Disable ROM
  E3BF          0       W   Kempston Centronics Ctrl (b0=0=Strobe)(0Eh,0Fh,81h)
  E2BF          0       R   Kempston Centronics Status (b0=1=Busy)
  E0BF          0       W   Kempston Centronics Data Output
  xxBB ........         R   DK'Tronics Centronics Status (b7=1=Busy)
  xxBB ........         W   DK'Tronics Centronics Ctrl (b1=0=Strobe) (02h,00h)
  xx9B ........         W   DK'Tronics Centronics Data
  xxDB ........         W   DK'Tronics Centronics Config 1 (set to 3Fh)
  xxFB ........         W   DK'Tronics Centronics Config 2 (set to FFh,80h)
  dd0E dddddddd         R   Wafadrive Centronics Data Out  ;via "IN A,(dd0Eh)"
  x00A   s              R   Wafadrive Centronics Strobe Out;via "IN A,(s00Ah)"
  0002                  R   Wafadrive Centronics Busy In  ;returned in bit5
  xxFB ........         W   Indescomp Centronics Data
  xxFB ........         R   Indescomp Status (b0=Busy,b1=Rs232Busy,b2=RxD)
  xx7F ........         W   Indescomp Control (b0=Strobe,b1=TxD,b2=CTS)
  xx1B ........     0   W   Disciple FDC Command
  xx1B ........     0   R   Disciple FDC Status
  xx5B ........     0   R/W Disciple FDC Track
  xx9B ........     0   R/W Disciple FDC Sector
  xxDB ........     0   R/W Disciple FDC Data
  xx1F ........         W   Disciple Control Register
  xx1F ........         R   Disciple Joystick/Printer/Network
  xx3B ........     0   ?   Disciple Network Wait
  F7FE     0          0 R   Disciple Disciple Joystick
  EFFE    0           0 R   Disciple Disciple Joystick
  xxBB ........     0   R   Disciple Enable Internal ROM/RAM
  xxBB ........     0   W   Disciple Disable Internal ROM/RAM
  xxFB ........     0   W   Disciple Centronics Data
  xx7B ........     0   R   Disciple Map ROM=0000h, RAM=2000h
  xx7B ........     0   W   Disciple Map ROM=2000h, RAM=0000h
  xxE3 ........   000   W   PlusD FDC Command
  xxE3 ........   000   R   PlusD FDC Status
  xxE7 ........   001   R   PlusD Enable Internal ROM/RAM
  xxE7 ........   001   W   PlusD Disable Internal ROM/RAM
  xxEB ........   010   R/W PlusD FDC Track
  xxEF ........   011   W   PlusD Control Register
  xxF3 ........   100   R/W PlusD FDC Sector
  xxF7 ........   101   W   PlusD Centronics Data
  xxF7 ........   101   R   PlusD Centronics Busy
  xxFB ........   110   R/W PlusD FDC Data
  xx1F ........         W   Beta Disk FDC Command
  xx1F ........         R   Beta Disk FDC Status
  xx3F ........         R/W Beta Disk FDC Track
  xx5F ........         R/W Beta Disk FDC Sector
  xx7F ........         R/W Beta Disk FDC Data
  xxFF ........         R   Beta Disk Status
  xxFF ........         W?  Beta Disk Control

And many more. See Floppy Disc and Centronics chapters for details on some various further expansion ports.

Other

  xx9F ........             Multiface I In
  xx1F ........             Multiface I Out
  xxBF ........             Multiface 128 In
  xx9F ........             Multiface 128 In v2 (Disciple) (uh/what?)
  xx3F ........             Multiface 128 Out
  xx3F ........             Multiface III Button
  xx3F ........             Multiface III In
  xxBF ........             Multiface III Out
  7F3F                      Multiface III P7FFD (uh?)
  1F3F                      Multiface III P1FFD (uh?)
  FF3F                      British Micro Grafpad Pen up/down
  FFBF                      British Micro Grafpad Pen position X coordinate
  FF7F                      British Micro Grafpad Pen position Y coordinate
  FADF ......?0..0....?     Kempston Mouse Buttons (b0=Right,b1=Left,b2=Mid)
  FBDF .....0?1..0....?     Kempston Mouse X
  FFDF .....1?1..0....?     Kempston Mouse Y
  xx1F ........000..... R/W AMX Mouse Z80PIO Data A: X, CentronicsLSBs/Strobe
  xx3F ........001..... R/W AMX Mouse Z80PIO Data B: Y, CentronicsMSBs/Busy
  xx5F ........010.....     AMX Mouse Z80PIO Ctrl A: X, CentronicsLSBs/Strobe
  xx7F ........011.....     AMX Mouse Z80PIO Ctrl B: Y, CentronicsMSBs/Busy
  xxDF ........110..... R   AMX Mouse 74LSXX Logic: Mouse Buttons (R)
  xxDF ........         R   Stack Light Rifle (R) (light gun trigger/sensor)

https://problemkaputt.de/zxdocs.htm

_________________
:dj: https://mastodon.social/@Shaos


07 Dec 2021 01:17
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
NEW MODE 7 - цветной режим высокого разрешения 640x200 с атрибутами в теневой странице 8x8, 8x4 или 8x2 программируемыми явно (несовместимо с бейсиком и на 48K этот режим будет ч/б т.е. без атрибутов).
...
Вариации режимов на 56K могут выбираться дополнительными тремя битами порта #FF (D3-D5), которые в таймексовском режиме 6 выбирают цвет зада и переда, а в других режимах будут делать следующее:

D3: переключает теневые атрибуты в режим IRGB (полноценные 16 стандартных цветов EGA без мигания);
D4: разрешает регистр копирования теневых атрибутов #FC для режимов 3 и 5 (аля Специалист), а для режима 7 включает четвертичные атрибуты;
D5: включает дополнительные знакоместа для режима 3 (превращая 256x192 в 288x200) и половинчатые атрибуты для режима 7 (в данный момент D4 должен быть 0, если D5=1 для этих режимов, т.е. нельзя иметь одновременно и половинчатые, и четвертичные атрибуты).

Наверное атрибуты для режима 7 тоже можно сделать "теневыми", а также можно задействовать неиспользуемую конфигурацию D4=D5=1 сделав её особым случаем, в котором могут прятаться 2 дополнительных режима с разрешением 640x200:

D5=1 D4=1 D3=0 - текстовый (тайловый) режим 80x25 (пусть сначала чёрно-белый);
D5=1 D4=1 D3=1 - режим Xorya с композитными цветами NTSC (2 точки на байт).

В первой версии текстовый режим может быть с предопределённым шрифтом хранимым в 2К ПЗУ, а в дальнейшем с 4 изменяемыми шрифтами (хранимыми в памяти теневых атрибутов), которые можно переключать скажем двумя неиспользуемыми битами при записи в порт #FE (D5 и D6).

P.S. Старший бит порта #FE при записи можно отвести под строб принтера (данные которого уходят в #FB), а BUSY может быть старшим битом при чтении из порта #FE

P.P.S. Первую версию приставки для подключения классического ZX-спектрума к телевизорам NTSC можно назвать NEDOCON-1 :)

_________________
:dj: https://mastodon.social/@Shaos


09 Dec 2021 20:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Shaos wrote:
У меня возникла мысль а не скрестить ли этот мой гипотетический спектрум NEDOCON-48K с XORYA графикой для NTSC телевизоров?
...
Единственное, что цветовое разрешение по горизонтали в XORYA всего 160 пикселов, поэтому цвета на уровне отдельных пикселей ZX не будут отображаться телевизором (или будут отображаться неправильно)...

Некоторые эксперименты с Xorya по выводу спектрумовских изображений таким способом можно увидеть тут

_________________
:dj: https://mastodon.social/@Shaos


02 Oct 2022 19:39
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Вобщем текст узнаваем на большинстве проверенных телеков, но мелкие элементы могут скушаться либо окраситься в неожиданные цвета:

Attachment:
ZXorya-Sinclair.jpg
ZXorya-Sinclair.jpg [ 113.34 KiB | Viewed 4603 times ]

Шрифт nedoPC 8x8:

Attachment:
ZXorya-NedoFont.jpg
ZXorya-NedoFont.jpg [ 173.99 KiB | Viewed 4603 times ]

Если у картинки крупные элементы и нет цветного дизеринга, то в принципе выглядит ок:

Attachment:
ZXorya-Leo.jpg
ZXorya-Leo.jpg [ 311.92 KiB | Viewed 4603 times ]

А вот со всякой цветной мелкотой могут происходить казусы:

Attachment:
ZXorya-Hexoban.jpg
ZXorya-Hexoban.jpg [ 82.01 KiB | Viewed 4603 times ]

Так что наверное НЕТ...

_________________
:dj: https://mastodon.social/@Shaos


18 Oct 2022 20:18
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Так как домен nedocon.com ко мне вернулся (с небольшой переплатой), то я решил переименовать проект обратно в NEDOCON :rotate:

_________________
:dj: https://mastodon.social/@Shaos


24 Nov 2023 18:40
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 81 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.