я еще раз повторю, что специально z380 не изучал. Скачаю доку, посмотрю.Цитата:
Сообщение от icebear
Вид для печати
я еще раз повторю, что специально z380 не изучал. Скачаю доку, посмотрю.Цитата:
Сообщение от icebear
Так значит ты точно не знаешь? :) А почему у тебя тогда возникла мысль о конфликте с внутренними портами? А что Немо говорил по этому поводу (ты как-то ссылался на него)?Цитата:
Сообщение от Ronin
Я читал мануал, там не про какие конфликты не упоминается. Сам подумай, при переходе с 8-ми битного на 32-х битное пространство в/в в Zilog'е должны были всё-таки обеспечить совместимость, иначе зачем кому-то такой камень, не совместимый с предком?
взял я это вот с чего. в мануале на z180 ясно говорится что внутренние порты - это часть i/o space, и команды IN0 просто выводят ноль на a8-15. да и в других чипах Zilog ситуация аналогична, например в том же z84c15 - Как в Спринтере решен этот вопрос через ПЛМ, я не знаю.
по памяти, про 380-й тоже было что-то такое. однако в доке я все-таки нашел вот что
насколько это "only" соответствует действительности не знаю. для определенности решим что я ошибался.Цитата:
This on-chip I/O address space can be accessed only with the following reserved on-chip I/O instructions which are identical to the Z180 original I/O instructions to access Page 0 I/O addressing area.
IN0 R,(n) OTIM
IN0 (n) OTIMR
OUT0 (n),R OTDM
TSTIO n OTDMR
хотя я никак не пойму - как это в z380 реализовали такое разделение, а в более позднем eZ80 вернулись обратно к единому пространству портов. что-то тут нечисто.
но создание z180 и тем более eZ80 эти доводы не остановили ведь ?Цитата:
Сообщение от icebear
Вообще-то когда речь идет не о массовой компьютерной платформе, а об узком технологическом применении, на которое и ориентирован Zilog (ну не думаете же вы что в Zilog знают о Спектруме в России и тем боле что принимают это всеръез),
вся это совместимость по I/O сто лет не нужна. Ставить новый проц в старое отлаженное оборудование - смысла нет, а новое проектируется с учетом особенностей новых процессоров, заменив пару констант в Си-исходнике и пару элементов в схеме, а чаще просто воспользовавшись дополнительными портами, посаженными в кристалл (z84c15, z180) и наоборот, еще и упростив схему.
ps// z380 сейчас слишком дорог, медленный, и с периферией на борту у него плохо. гораздо перспективнее новый eZ80, ко мне уже едет ez80f91 и память 512к*8 кстати :)
Что ты с ним будешь делать? Меня не забудь к своему проекти присоеденить ;) Ок? Ты ж обещал... =)Цитата:
Сообщение от Ronin
Скачал доку на Z180, читаю... Наткнулся на описание режима IOSTOP. Этот режим позволяет отключить кое-что из встроенной периферии. Так можно освободить еще портов.
Хотя, если релоцировать порты в #0080-#00BF, то делать пожалуй этого и действительно не надо.
Ну-ка, господа, предлагаю прямо тут вспомнить, какие ВОСЬМИБИТНЫЕ порты мы знаем. 16-битные нам не помеха, ибо давайте договоримся что софт отныне мы будем писать правильно :)
Итак:
1. #FE - клавиатура/бордюр/etc (давайте для краткости обзовем его ULA)
2. #1F, #3F, #5F, #7F - 580ВВ55 (ну полюбил я ее :) )/1818ВГ93
3. #FF - атрибуты/системный регистр FDC
4. #F7, #FB - ZX-Printer/ZX-Lprint III.
5. General sound - ????? Кто скажет?
Не забудем и о наших английских друзьях.
PlusD I/O ports:
Port In Out Notes
---------------------------------------------------------------------------
E3h FDC status FDC command See also section 13
EBh track register track
F3h sector regist. sector register
FBh data register data register
EFh b0/b1 -- drive select
b2 -- --
b3 -- --
b4 -- --
b5 -- ext. select (?)
b6 -- printer STROBE
b7 -- side select
E7h mem. page in memory page out (***)
F7h b0/b6 -- printer data (8 bits)
b7 PRN BUSY
Пока что из более-менее серьезного попадалова - наши европейские друзья с дисковым интерфейсом D40/80:
21 - ;Hodnoty systemovych portov
22 : 0081 FDCCR equ 81h ;register pre prikazy radica
23 : 0083 FDCTR equ 83h ;register stopy
24 : 0085 FDCSR equ 85h ;register status - flagy operacii
25 : 0087 FDCDR equ 87h ;register pre prenos dat
26 : 0089 SELECT equ 89h ;port motorov a LED drivov
27 -
28 : 0097 DIS55 equ 97h ;Hlavne blokovanie 8255
29 : 0099 EN55 equ 99h ;Vseobecne blokovanie 8255
30 : 007F CWR55 equ 7fh
31 : 005F C55 equ 5fh
32 -
33 : 0083 MSR EQU 83h ;fdc status
34 : 0087 FDD EQU 87h ;fdc data
35 : 008F FOR EQU 8fh ;fdc operation register
Но это не сильно серьезная проблема ибо у них есть ОС и порты можно переместить.
Всевозможные доп. навороты Профи и т. д. - тоже не проблема, поскольку контролируется все это хозяйство зачастую через драйвера, да и объем ПО настолько мал, что пофиксить его не представляет проблемы.
Вывод: не так страшен черт как его чертят.
>Ну-ка, господа, предлагаю прямо тут вспомнить, какие ВОСЬМИБИТНЫЕ порты мы знаем. 16-битные нам не помеха, ибо давайте договоримся что софт отныне мы будем писать правильно
Гадом буду - интересный вопрос, но давайте перенесем его в отдельный топик. А то и так уже в ветке начерченный черт сломал не только ногу... :eek:
#1F - он-же Kemston joystick.Цитата:
Сообщение от Sonic
#B3 и #BBЦитата:
Сообщение от Sonic
Вообще-то, по моим данным, ZX-Lprint III сидит на портах #7B/#FB. Если сказать точнее состояние линии A7 совпадает со STROBE. В ZX-Lprint III заложена еще возможность RS-232, а вот на каких портах оно сидит, данных нет. На этих же портах сидит CASH-RAM по схеме ВМГ.Цитата:
Сообщение от Sonic
Не знаю насколько целлесообразно, но на портах #FA-#F0 сидит переферия в Timex.
А если вспомнить контроллер NEMO-HDC, то он вообще "гадит" половину 8-битного адресного пространства, во все 4 сегмента в равной степени!
Кстати, а как насчёт того, что бы допустим передвигать внутренние порты по надобности? Т.е. если идёт работа с GS, передвигаем внутренние порты в участок, не пересекающимся с портами GS. Ограничений не моменты и колличество релокаций я не видел.Цитата:
Сообщение от spensor
Идея интересная, но как это должно работать - старый софт этого не знает, нового будет не густо. А если лазить во встроенный монитор для настройки под каждую программу, то насколько у вас для этого терпения хватит?Цитата:
Сообщение от icebear
NMI или INT2 при работе со Спектрумовскими портами? При таком прерывании подключать тот-же Startup-ROM (который делает настройку Z180 на режим Z80, без этого никак), который и делает необходимое перемещение. Правда вот конкретики не дам. С другой стороны GS можно переделать и софт под него тоже. Окупается это возможностями Z180 (те же MUL и DIV).Цитата:
Сообщение от spensor
ЗЫ: Я не старый ещё, можно и нужно на "ты" :)
Печально это.........
Ниша под спекки будет расширяться........это не предсказание а реальность.
Да, я извиняюсь, обшибся малость :) RS-232 был в фирменном варианте, я думаю что у нас его опустили по причине нераспространенности последовательных принтеров даже тогда. Хотя, ИМХО восстановить информацию несложно, расковыряв прошивку.Цитата:
Сообщение от spensor
Конфликтов не вызывает - этого достаточно.Цитата:
На этих же портах сидит CASH-RAM по схеме ВМГ.
Не знаю насколько целлесообразно, но на портах #FA-#F0 сидит переферия в Timex.
Контроллеры HDD и прочие "расширенности" - небольшая проблема ибо даже если оные используют в оригинале 8-битный доступ, то все равно их поддержка более-менее "драйверизована" так сказать (это либо IS-DOS либо конфигурабельные вещи наподобие CD-Walk), так что переадаптация на #FFxx ИМХО не представляет серьезной проблемы.Цитата:
А если вспомнить контроллер NEMO-HDC, то он вообще "гадит" половину 8-битного адресного пространства, во все 4 сегмента в равной степени!
Да и вообще ИМХО вследствие введения адресов A16-A19 и сильного повышения быстродействия создание втыкаемых акселераторов для имеющихся моделей машин вряд-ли имеет смысл. Z180-ю тачку придется строить с нуля. А там проблема решается просто - отбираем наиболее ходовые решения и сразу же открываем архитектуру, стандартизируем, составляем описание, и т. д. И - порядок, если кто-то захочет сделать альтернативную разработку и у него есть башка на плечах, он не будет несовместимое по портам железо изобретать.
С буржуйскими дисковыми системами, как FDD- так и HDD-based, проблем вообще нет, поскольку их по определению на любое железо можно посадить, хоть на NedoIDE, хоть на ATM, хоть на Профи. Собственно, они с флопиков на IDE их давно пересадили в отличие от нас (ибо мы в свое время уж очень постарались привязать себя к ВГ93).