Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > ZX Spectrum Software > ZX Концепции

Reply
 
Thread Tools Display Modes
Old 4th November 2009, 22:15   #1
Banned
 
Black_Cat's Avatar
 
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
Black_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of light
Exclamation Особенности программирования под ZXM-Phoenix

К сожалению, из-за временного отсутствия доки по портам Феникса, возникают непонятки с его программированием. Поэтому в двух словах постараюсь восполнить этот пробел.
1) ZXM-Phoenix - это развитие KAY и Scorpion, при котором основной целью было соединить эти два компьютера в одну машину, объединяющую достоинства обоих клонов. Поэтому Феникс поддерживает управление и Кая и Скорпа. Но это не значит, что поддерживаются какие-либо любительские доработки сделанные для этих компов!!! так же это не значит, что поддерживаются порты GMX, который уже не является Скорпом!!! Поэтому искать порты GMX, а тем более всякие доработки под GMX на Фениксе бесполезно - их там нет, и быть не может!!
ZXM-Phoenix - это чистый KAY-1024 + чистый Scorpion ZS256 без всяких левых доработок!!!
2) На Фениксе интегрирована мультикарта Caro ZXMC-2, но с небольшими отличиями от оригинала. Одним из отличий является поддержка мультикартой джойстика (точнее стандартного геймпада), что на программировании никак не сказывается, т.к. видится он как обычный Kempston.
Вторым отличием мультикарты на Фениксе является расширенные возможности управления теневыми портами через D7 #EFF7 - сигнал IODOS. Здесь D7 #EFF7 выполняет роль включателя абсолютно всех теневых портов, а не только Gluk RTC (для тех, кто не знал - Gluk RTC использует собственные теневые порты, активируемые D7 #EFF7). В Фениксе же включение всех теневыех портов - и TR-DOS и Gluk RTC - объединено вместе. Функционально это сопоставимо с включением теневых портов в Профи и Кворуме при работе с ними в CP/M. При таком включении ПЗУ TR-DOS не активируется и можно работать с теневыми портами прямо из ПЗУ Спектрума. Вот краткое описание логики работы:
Quote:
D7 #EFF7 - IODOS: 0-off, 1-on - D7=1 - открывает доступ ко всем портам доступным в режиме DOS, а так же портам Gluk RTC, при этом ПЗУ TR-DOS не активируется, кроме того вырабатывает инверсный сигнал IODOS/, подаваемый на линию B20 шины NemoBus v.1.1, предназначенный для активации DOS портов внешних устройств. По сбросу устанавливается в ноль.
Такое использование D7 #EFF7 является программно-прозрачным и совместимым сверху вниз со всеми клонами, не создаёт для них никаких проблем, и может сразу включаться в алгоритмы программ, дабы они работали везде.
Т.е. программы использующие эту фунцию будут корректно и прозрачно выполняться и на других клонах! А потому предлагается при написании программ сразу учитывать эту расширенную возможность Феникса, и включать её в драйвера всех клонов - им от этого хуже не будет, но программа при этом станет универсальной, и будет работать так же и на Фениксе!
Учитывать это необходимо в программах работающих одновременно с TR-DOS и Gluk RTC (т.е. с глюкочасами), а так же с устройствами, пересекающимися по портам в теневом и обычном режиме, например Kempston Joystick, который нельзя будет опрашивать при открытых постоянно теневых портах, а надо будет закрывать их на время опроса.

P.S. В заключение хочу сказать, что внедрённое в Фениксе новшество по открытию теневых портов - очень нужное и удачное решение, открывающее новые возможности работы не только с ВГ93, но и со SMUC. И особенно это новшество будет полезно при портировании CP/M, т.к. позволяет избавиться от доступа к флопу через открытие ПЗУ TR-DOS.
Поэтому рекомендую доработтать таким образом и другие компьютеры - это очень облегчит вам жизнь при работе с теневыми портами!

Last edited by Black_Cat; 1st May 2012 at 16:01.
Black_Cat is offline   Reply With Quote
The Following User Says Thank You to Black_Cat For This Useful Post:
Djoni (8th January 2011)
Old 24th February 2011, 16:14   #2
Banned
 
Black_Cat's Avatar
 
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
Black_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of light
Default

3) Ещё одной особенностью является программирования NemoIDE для Феникса. В отличие от оригинальной версии этого контроллера, не работающего в режиме DOS, на Фениксе (и на выпускаемых сейчас новых контроллерах NemoIDE) возможна работа в любом режиме, не зависимо от сигналов DOS и IODOS.

Last edited by Black_Cat; 3rd March 2011 at 00:55.
Black_Cat is offline   Reply With Quote
Old 3rd March 2011, 00:47   #3
Banned
 
Black_Cat's Avatar
 
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
Black_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of light
Default

4) Ещё одной аппаратной особенностью Фениса является биперный выход. Этот выход имеет гибкую систему выходной комутации с помощью системы перемычек, позволяющей подавать сигналы на смеситель внутреннего усилителя, либо на внутренний или внешний аудио разъём. При этом, возможны различные варианты выводимого сигнала:

a) однобитный стерео сигнал переменного тока с закрытым выходом (т.е. выход через конденсаторы на смеситель, или внутренний, или внешний разъём).
Вывод стереосигнала осуществляется через разряды D3 и D4 #xxFE.

b) двухбитный аналоговый моно сигнал с резистивного ЦАПа, с закрытым или открытым выходом (т.е. выход прямой, или через конденсатор на смеситель, или внутренний, или внешний разъём). Сигнал может иметь 4 уровня амплитуды, и линейно меняться в зависимости от комбинации битов записанных в разряды D3 (младший), D4 (старший) порта #xxFE. ЦАП, встроенный в Феникс, является чуть улучшеной модифиацией оригинального, встоенного в ULA ZX Spectrum 48kb, но в отличии от оригинала имеет линейную зависимость амплитуды сигнала от состояния разрядов D3, D4 #xxFE, и пригоден для генерации простейшего сигнала с четырьмя уровнями амплитуды как для получения более качественного биперного звука, так и для управления внешними устройствами, например в качестве регулятора громости на 4 положения для Covox или SounDrive.

Last edited by Black_Cat; 30th April 2012 at 18:58.
Black_Cat is offline   Reply With Quote
Old 30th April 2012, 18:35   #4
Banned
 
Black_Cat's Avatar
 
Join Date: 15th June 2006
Location: S.Pb
Posts: 5,931
Thanks: 26
Thanked 116 Times in 106 Posts
Black_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of lightBlack_Cat is a glorious beacon of light
Default

5) Аппаратное беззнаковое умножение в ZXMC-2.

Возможность аппаратного беззнакового умножения существует в любом контроллере ZXMC-2 с прошивкой v2.6 и старше, в т.ч. и для интегрированного в Феникс контроллера. Ниже приведена дешифрация портов:
Code:
PORT              ADRESS          DECODING
hex/dec         A15 ... A0       A15 ... A0         READ            WRITE
--------------------------------------------------------------------------------
#E8F7/59639  1110100011110111 1110100011110111 multipli data 1   multipli data 1
#E9F7/59895  1110100111110111 1110100111110111 multipli data 2   multipli data 2
#EAF7/60151  1110101011110111 1110101011110111 multiplicat lo    multiplicat lo
#EBF7/60407  1110101111110111 1110101111110111 multiplicat hi    multiplicat hi
Как видно, в порты множителя и результата можно и писать и читать. По включению компьютера, в регистрах портов множителей значение неопределено. При любой записи в эти порты, вычисляется результат их перемножения, который записывается в регистры результата, откуда доступен для чтения. В порты результата возможна прямая запись данных, при этом имевшееся там значение умножения портится. При аппаратном сбросе компьютера произведённом как с клавиатуры, так и кнопкой системного блока, содержание всех регистров перемножения не меняется.

Ниже приведён пример кода умножения:
Code:
; hl = e*d
	ld	bc,#E8EF
	out	(c),e	;
	inc	b
	out	(c),d	;
	inc	b
	in	l,(c)	;мл.байт e*d
	inc	b
	in	h,(c)	;ст.байт e*d
Аппаратное беззнаковое умножение рекомендуется использовать в первую очередь в firmware ZXM-Phoenix, т.к. ZXMC-2 является неотъемлемой частью этого компьютера.

Last edited by Black_Cat; 30th April 2012 at 18:45.
Black_Cat is offline   Reply With Quote
The Following User Says Thank You to Black_Cat For This Useful Post:
Djoni (30th April 2012)
Old 1st May 2012, 00:44   #5
Master
 
Keeper's Avatar
 
Join Date: 16th November 2007
Location: Харьков
Posts: 873
Thanks: 356
Thanked 392 Times in 257 Posts
Keeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of light
Default

Кого благодарить за переезд?
Keeper is offline   Reply With Quote
Old 1st May 2012, 14:18   #6
Veteran
 
GriV's Avatar
 
Join Date: 18th February 2005
Location: Набережные Челны
Posts: 1,556
Thanks: 598
Thanked 115 Times in 75 Posts
GriV has a spectacular aura aboutGriV has a spectacular aura aboutGriV has a spectacular aura about
Default

Keeper, меня. Когда в теме будет больше программирования, чем концепта - буду первым голосовать за перезд обратно.
__________________
Биты рулят лучше байтов, байты рулят шустрее!
View, Звук, Цвет
GriV is offline   Reply With Quote
Old 1st May 2012, 14:48   #7
Master
 
Keeper's Avatar
 
Join Date: 16th November 2007
Location: Харьков
Posts: 873
Thanks: 356
Thanked 392 Times in 257 Posts
Keeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of lightKeeper is a glorious beacon of light
Default

Quote:
Originally Posted by GriV View Post
больше программирования, чем концепта
Какой концепт? Продано больше 120 плат компьютера! RTFM: http://micklab.narod.ru/ZXMPhoenix.htm
Keeper is offline   Reply With Quote
Old 1st May 2012, 15:21   #8
Activist
 
Zorki-4k's Avatar
 
Join Date: 26th October 2011
Location: г. Харьков, Украина
Posts: 355
Thanks: 60
Thanked 100 Times in 71 Posts
Zorki-4k will become famous soon enoughZorki-4k will become famous soon enough
Default

127 если точно. И одна нулевой ревизии у Mick'a.
__________________
ZXM-Phoenix 1024 rev04
Leningrad-2012
Zorki-4k is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 07:38.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика