nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Apr 2024 15:38



Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4  Next
Sprinter ISA 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Shaos wrote:
Первым делом надо поработать над подключением вот этого: http://www.nedopc.org/forum/viewtopic.php?f=35&t=18826&start=15

Цеплять к ISA-8 буду примерно так (защёлки адреса по ALE не показаны):

Image

74LS85 будет сравнивать 4 бита A14,A15,A16,A17 с джамперами, что при A18=A19=1 даст 16 диапазонов покрываемых адресов:
Code:
C0000...C3FFF
C4000...C7FFF
C8000...CBFFF
CC000...CFFFF
D0000...D3FFF
D4000...D7FFF
D8000...DBFFF
DC000...DFFFF
E0000...E3FFF
E4000...E7FFF
E8000...EBFFF
EC000...EFFFF
F0000...F3FFF
F4000...F7FFF
F8000...FBFFF
FC000...FFFFF

Кроме того /AE пойдёт на плату вместо /MREQ чтобы разрешать /CS

Текущее положение дел:

Attachment:
ISA-proto2.jpg
ISA-proto2.jpg [ 257.82 KiB | Viewed 6371 times ]


Осталось припаять 20 с чем-то проводочков и можно начинать играца :lol:

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


02 Jan 2021 20:15
Profile WWW
Maniac

Joined: 05 Oct 2009 19:44
Posts: 223
Location: 212.164.105.5
Reply with quote
что ты хочешь в итоге получить?


02 Jan 2021 22:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Sayman wrote:
что ты хочешь в итоге получить?

SprinterNet :mrgreen:

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

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


03 Jan 2021 03:53
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Текущее положение дел:
Image

Это у тебя ISA-макетка такая?

_________________
iLavr


03 Jan 2021 15:38
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Lavr wrote:
Это у тебя ISA-макетка такая?

Ну я же писал на предыдущей странице :)
Shaos wrote:
P.S. Через OSHPark заказал 3 штуки вот таких вот платок на поиграца: https://hackaday.io/project/167541-8-bit-isa-prototyping-card

P.P.S. Если уже строить ISA-8 плату, то надо строить универсальную, чтобы в IBM PC тоже работало - поэтому надо будет делать защёлкивание адреса по BALE и т.д. http://www.hardwarebook.info/ISA

Ну может быть повторное защёлкивание адреса на самой плате это и лишнее, но при зашумлённой шине (как на Спринтере) думаю норм.

P.S. Вот вроде закончил переходничок с защёлкой адреса, проверкой на A19=A18=1 и сравнением битов A14-A17 c четырьмя проводочечными джамперами (вариант когда джамперов нет даёт диапазон F0xxx...FFxxx, который устанавливается биосом при старте Спринтера, т.е. его можно считать режимом по умолчанию):


Attachments:
ISA-proto3.jpg
ISA-proto3.jpg [ 264.81 KiB | Viewed 6336 times ]

_________________
:dj: https://mastodon.social/@Shaos
03 Jan 2021 16:24
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Вобщем как я и написал чуть выше, я делаю SprinterNet - Ethernet для Спринтера, который начинался в 2016 году как Ethernet для TS2068 (по идее можно сделать единую PCB от которой надо будет отпиливать лишние части, чтобы получить либо SprinterNet-ISA8, либо SprinterNet-TS2068). На борту кроме модуля WizNet (на базе W5100) есть 8 GPIO (пока только 3 на вход и 8 на выход), 2Кб ОЗУ, 8Кб ПЗУ, SPI EEPROM 25C320 на 4КБ (для хранения MAC-адреса и настроек сети - можно наверное память и побольше поставить, например 25LC1024 на 128КБ, тогда её можно как квазидиск задействовать) и, в будущем, слот для SD-карточки. ПЗУ чтобы сразу иметь "драйвера" без необходимости что-то доустанавливать в DSS, а ОЗУ - для хранения рабочей области переменных для этих самых "драйверов". Можно даже единый код иметь для Спринтера и Timex Sinclair 2068, определяя тип машины программно ;)

Минимальный набор драйверов - функции работы с BSD-сокетами, чтобы можно было программировать любые TCP/IP примеры "из книжки", а также функции работы с EEPROM (чтобы давать пользователю функции, обходящие запрещённые зоны, где хранятся MAC-адрес и настройки сети) и SD-карточкой (если будет). Внешними будут программы, использующие эти сокеты (программы естественно разные для разных машин) - HTTP сервер (я его уже писал для W5100 в 2007 году правда в кодах PIC17), HTTP клиент (браузер), а также можно скажем FTP клиента и NTP клиента ещё сделать. Вобщем как-то так...

P.S. Ещё идея у меня была т.к. WizNet не хранит в себе MAC-адрес (его надо программно прописывать), можно под мою карманную корпорацию официально зарезервировать диапазон MAC-адресов, записав адреса оттуда в EEPROM-ы, которые раздавать вместе с платами. Сейчас блок из 4096 адресов стоит $780 выплаченных однократно - подробнее см.https://standards.ieee.org/products-services/regauth/oui36/index.html) :dj:

P.P.S. Как альтернатива покупке блока адресов может выступать EEPROM с зашитым в него MAC-адресом типа 93AA46AE48 (1K Microwire Serial EEPROM with EUI-48), хотя по сути это тоже самое т.к. судя по документации, юзер может перезаписать байты, где записан MAC-адрес.

P.P.P.S. Можно не давать пользователю API на доступ к записи в EEPROM байтов и блоков, а вместо этого выдать абстрактный API для некоего key=value persistant storage (с замахом на поддержку cookies в будущем).

P.P.P.P.S. Про проект в целом (хард + софт) будет в новом топике: http://www.nedopc.org/forum/viewtopic.php?f=60&t=20283

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


03 Jan 2021 21:30
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Поправил схемку:

Image

Перепаял пару проводочков:

Attachment:
ISA-proto4.jpg
ISA-proto4.jpg [ 200.07 KiB | Viewed 6294 times ]


И оно заработало как надо :mrgreen:

Attachment:
ISA-proto5.jpg
ISA-proto5.jpg [ 167.88 KiB | Viewed 6294 times ]


Светодиод загорается, когда старшие 2 бита адреса (A19,A18) равны 1 и следующие 4 бита (A17,A16,A15,A14) совпадают с выставленными проводочками (проводочек означает "0")

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


05 Jan 2021 19:48
Profile WWW
Fanat

Joined: 05 Jul 2020 14:08
Posts: 87
Location: Ижевск
Reply with quote
Для Компаньона-2 делал просто такой переходник, через него на хлеборезке уже подключал всё, что надо (наклейка с портами B, C отлетела куда-то).
Думал к переходнику через штырьки и другие перфплаты подключать.
 Переходник
Attachment:
File comment: Front
DSCN1512.JPG
DSCN1512.JPG [ 227.13 KiB | Viewed 6287 times ]

Attachment:
File comment: Back
DSCN1514.JPG
DSCN1514.JPG [ 229.7 KiB | Viewed 6287 times ]

Но сабж покраше будет :idea:.


06 Jan 2021 00:06
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Да я изначально хотел "интеллектуальный" переходник сделать, который бы уже декодировал адрес и выдавал /CS на остальную плату, в которой декодера адреса нету

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


06 Jan 2021 00:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Вот у меня кое-что из старья есть на попробовать - ISA-8:

Attachment:
ISA-8.jpg
ISA-8.jpg [ 230.92 KiB | Viewed 6281 times ]

и ISA-16:

Attachment:
ISA-16.jpg
ISA-16.jpg [ 200.95 KiB | Viewed 6281 times ]

(две одинаковые карточки слева-внизу я около десяти лет назад покупал на Jameco как "новые" очень дёшево, чтобы в перспективе попробовать подключить флоппик к какому-нибудь своему недокомпьютеру с шиной ISA16)

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


06 Jan 2021 02:58
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Ещё вот такую звуковушку прикупил:


https://youtu.be/rMqdLTb-e_g

Это 2 SAA1099 + 1 YM2151 - клон GameBlaster и Creative Music System (CMS)

P.S. Вот как выглядел полный набор, продаваемый в RadioShack:

Attachment:
Game_Blaster_-_Packaging.jpg
Game_Blaster_-_Packaging.jpg [ 100.86 KiB | Viewed 6260 times ]


P.P.S. Ещё в планах сделать ISA-версию "nedoPC Sidekick" на 20-мегагерцовом PIC16: http://www.nedopc.org/forum/viewtopic.php?f=67&t=19387

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


07 Jan 2021 13:09
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Shaos wrote:
Да я изначально хотел "интеллектуальный" переходник сделать, который бы уже декодировал адрес и выдавал /CS на остальную плату, в которой декодера адреса нету

Про тестирование сетевой платки на WizNET, приделанной через этот переходник, можно почитать в другом топике:

Image
http://www.nedopc.org/forum/viewtopic.php?f=35&t=18826&start=15

А про программирование и проект в целом тут:
http://www.nedopc.org/forum/viewtopic.php?f=60&t=20283

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


09 Jan 2021 16:28
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
На прошлой странице меня немного озадачила схема формирования RD и WR стробов для ISA-словтов:

Shaos wrote:
Image
Сигнал CS_CACHE (как и CS_ROM) приходит из Альтеры.
RA14, RA15, RA16, RA17 - тоже (интересно, что они участвуют в формировании адреса ПЗУ, быстрой памяти и ISA).
Соответственно, этот дешифратор работает когда:

CS_CACHE=0
RA16=0 (когда оно в 1, то идёт разрешение быстрой памяти вместо исы)
RA17=1

интересно, что сигнал /RD никак не участвует в формировании стробов /MEMRx:
Code:
RA14=0 /WR=0 RA15=0 -----> /MEMW1 (1000=08h должно устанавливаться через значение D0h)
RA14=0 /WR=0 RA15=1 -----> /MEMW2 (1010=0Ah должно устанавливаться через значение D2h)
RA14=0 /WR=1 RA15=0 -----> /MEMR1 (1000=08h должно устанавливаться через значение D0h)
RA14=0 /WR=1 RA15=1 -----> /MEMR2 (1010=0Ah должно устанавливаться через значение D2h)
RA14=1 /WR=0 RA15=0 -----> /IOWR1 (1001=09h должно устанавливаться через значение D4h)
RA14=1 /WR=0 RA15=1 -----> /IOWR2 (1011=0Bh должно устанавливаться через значение D6h)
RA14=1 /WR=1 RA15=0 -----> /IORD1 (1001=09h должно устанавливаться через значение D4h)
RA14=1 /WR=1 RA15=1 -----> /IORD2 (1011=0Bh должно устанавливаться через значение D6h)



Если посмотреть в схему внимательно, то можно увидеть, что сигнал /RD принимает некоторое участие в работе с ISA, а именно управляет направлением буфера данных:

Attachment:
Screenshot from 2021-01-11 05-07-15.png
Screenshot from 2021-01-11 05-07-15.png [ 29.48 KiB | Viewed 6186 times ]

ISA_CS получается из CS_CASH вот так:

Attachment:
Screenshot from 2021-01-11 05-12-43.png
Screenshot from 2021-01-11 05-12-43.png [ 11.14 KiB | Viewed 6186 times ]

т.е. ISA_CS = CS_CASH or A16
тут будет 0, если CS_CASH=0 и A16=0 (в этом случае выбрана ISA)

а сама шина данных подтянута к +5В:

Attachment:
Screenshot from 2021-01-11 05-08-17.png
Screenshot from 2021-01-11 05-08-17.png [ 25.87 KiB | Viewed 6186 times ]


Получается, что при вышеизложенном формировании /MEMR1/2 и /MEMW1/2 карточка ISA будет видеть следующее:

Attachment:
Z80_memory_rw_SprinterISA.jpg
Z80_memory_rw_SprinterISA.jpg [ 38.59 KiB | Viewed 6167 times ]

т.е. даже если я буду маскировать /MEMR и /MEMW на плате сигналом /MREQ, всё равно в цикле записи будет вылезать неожиданный мусорный /MEMRD :o
который будет приводить к конфликту на шине данных в момент перехода мусорного /MEMR в /MEMW (может быть случайно записан только что прочитанный байт) и обратно...

P.S. И это при том, что на ISA не идёт /MREQ, точнее в случае Спринтера он идёт, но как ALE...

P.P.S. 27 января 2021 года RomanRom2 таки снял осциллограммы и подтвердил, что мусорный строб чтения (фиолетовый /MEMR) в цикле записи присутствует:

Attachment:
Write-Read-Garbage1.png
Write-Read-Garbage1.png [ 46.96 KiB | Viewed 5956 times ]

Голубой сигнал тут это /MEMW, а синий - /MREQ (поданный на ISA-слоты как ALE)

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


11 Jan 2021 06:14
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
....будет вылезать неожиданный мусорный RD :o который будет приводить
к конфликту на шине данных в момент перехода мусорного /MEMR ...
Мусорный ветер, дым из трубы,
Плач природы, смех сатаны,
А все оттого, что мы...
Любили ловить ветра и разбрасывать камни...
©


:lol: Щютка юмора...

_________________
iLavr


11 Jan 2021 07:15
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22534
Location: Silicon Valley
Reply with quote
Поправил своё предыдущее сообщение для сохранения единообразия в названиях сигналов...

P.S. Вот тут видно на симуляции реального кристалла, что /WR в 2 раза короче /MREQ: http://www.visual6502.org/JSSim/expert-z80.html

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


11 Jan 2021 07:38
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 47 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.