Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   MultIDE (http://zx-pk.ru/showthread.php?t=15535)

Ewgeny7 2nd May 2011 20:10

5 и 7.

---------- Post added at 19:08 ---------- Previous post was at 19:06 ----------

Я так понимаю, что вы не исключаете резню по живому?
Мне же не хотелось бы никакого вмешательства в комп тупым раскаленным предметом. Ну, только нужные сигналы вывести. Даже блокировку ПЗУ не резать на плате, а просто вытащить его совсем :) Пацифист, я блин...

---------- Post added at 19:10 ---------- Previous post was at 19:08 ----------

Заставил работать медленную память ОЗУ 70нс.

zst 2nd May 2011 20:55

Quote:

Я так понимаю, что вы не исключаете резню по живому?

Мне же не хотелось бы никакого вмешательства в комп тупым раскаленным предметом. Ну, только нужные сигналы вывести.
Для Ленинграда резать не очень много. И только при расширении памяти.
В оригинальном, конечно, лучше не резать. Хотя VELESOFT уже резал.
Quote:

Даже блокировку ПЗУ не резать на плате, а просто вытащить его совсем :) Пацифист, я блин...
Это для схемы расширения до 128к. А если просто divIDE, то блокировка понадобится.
Quote:

Заставил работать медленную память ОЗУ 70нс.
Это хорошо. Такую память достать проще.

VELESOFT 2nd May 2011 21:14

Quote:

Originally Posted by Ewgeny7 (Post 381231)
Hmm... How about .rom (or .bin) for burning directly to flash? ;)

Flash utility in TAP file load rom as CODE 24576,8192 - this is BIN file for flash to rom.

VELESOFT 2nd May 2011 21:23

1 Attachment(s)
FATWARE rom BIN in attachment

zst 2nd May 2011 21:51

Quote:

Originally Posted by Ewgeny7 (Post 381257)
5 и 7.

Пока вот что придумал:

Чтобы отключить чтение из ОЗУ РУ5, вернее из регистра IR22, нужно на 1 вывод D32 (IR22) вместо сигнала /CSRAM подать +5В.

Чтобы читать два экрана - на 13 вывод D17(KP11) вместо GND подать номер экрана с ПЛИС.

Для записи в основной и дополнительный экраны:

1. Отрезать от 13 и 6 выводов D16(KP11) сигналы A15 и A13.

2. Сформировать в ПЛИС два сигнала S1 и S0, которые равны
00 - при обращении к странице основного экрана и A13 = 0.
10 - при обращении к странице дополнительного экрана и A13 = 0.
11 - при обращении к другим страницам или A13=1.

3. Подать сигналы S1, S0 на 13 и 6 выводы D16(KP11).

Формирователь сигналов S1 и S0:

Обращение к основному экрану (сформировать S1=0, S0=0):
1. При A15=0, А14=1, A13=0 и любом номере страницы
2. При A15=1, А14=1, A13=0 и номере страницы = 101

Обращение к дополнительному экрану (сформировать S1=1, S0=0):
1. При A15=1, А14=1, A13=0 и номере страницы = 111

Иначе - (сформировать S1=1, S0=1)
Так ?

Вот так можно подключить второй экран.
Схема Ленинграда взята отсюда -- http://sblive.narod.ru/ZX-Spectrum/L...dSCH180dpi.tif

VELESOFT 2nd May 2011 23:35

FULL SOURCE CODE OF SYSTEM FATWARE 0.14

FULL SOURCE CODE: http://velesoft.speccy.cz/zx/divide/...01)-source.zip

ASSEMBLED FILES: http://velesoft.speccy.cz/zx/divide/...011-05-01).zip

zst 3rd May 2011 09:12

VELESOFT, Ewgeny7, пытаюсь вас догнать и понять логику работы GAL22v10. Поправьте, если я что не так пойму.
Code:

CLK NC A15 A14 ideio0 ideio1 /WR /RD conmem A13 /eprom GND

/IORQ /romwr evenodd lclk romacc rgalclk /doe /hdrd /hdwr /loe mgalclk VCC

Тут перечислены подряд названия выводов микросхемы GAL от 1 до 24, включая питание?

Code:

Pin  Label              Type
---  -----              ----
1    CLK                clock pin
2    NC                  unused
3    A15                pos,com input
4    A14                pos,com input
5    ideio0              pos,com input
6    ideio1              pos,com input
7    /WR                neg,com input
8    /RD                neg,com input
9    conmem              pos,com input
10    A13                pos,com input
11    /eprom              neg,com input
12    GND                ground pin
13    /IORQ              neg,com input
14    /romwr              pos,trst,com output
15    evenodd            pos,trst,reg feedback
16    lclk                pos,trst,com feedback
17    romacc              pos,trst,com output
18    rgalclk            pos,trst,com feedback
19    /doe                pos,trst,com feedback
20    /hdrd              pos,trst,com feedback
21    /hdwr              pos,trst,com feedback
22    /loe                pos,trst,com feedback
23    mgalclk            pos,trst,com feedback

Знак / особого смысла для работы прошивки здесь не несет - это только часть имени ?

1 - тактовый сигнал, на выходах GAL сигналы меняются при переходе тактового сигнала из 0 в 1 ?
2-11 и 13 - это входы ?
14-23 - это входы-выходы ?

Все входы и входы-выходы имеют внутреннюю подтяжку к +5В ?

После включения питания все внутренние регистры переходят в состояние 0. Если выход запрограммирован как "активный 0", то на выходе будет 1. Если выход запрограммирован как "активный 1", но на выходе после включения питания будет 0 ?

Как задавать полярность выхода и выбирать вход он или выход ?

Code:

romacc        = /A14*/A15

/romwr        = /WR
        + A13
        + A14
        + A15
        + eprom
        + /conmem

/A14 и /A15 - инверсия внутри микросхемы?

/romwr и /WR - это просто имена входных сигналов, тут инверсии внутри микросхемы нет?

/conmem - инверсия внутри микросхемы?

Вопрос - зачем такая путаница со входными именами - не понятно - инверсия это внутри микросхемы или просто имя такое ?
Code:

evenodd        := /evenodd*ideio0*ideio1

evenodd.c        = CLK

Что значат эти строки ?

Ewgeny7 3rd May 2011 10:02

Quote:

Originally Posted by zst (Post 381356)
Что значат эти строки ?

evenodd - триггер, стробируемый по сигналу CLK, приходящему на вход С этого триггера. На вход D приходит, соответственно, результат строки условия.

Quote:

Originally Posted by zst (Post 381356)
/A14 и /A15 - инверсия внутри микросхемы?

да. сигналы инвертируются перед подачей в функцию.

что касаемо знака инверсий перед функциями, я сам не сильно понял эту логику.
То ли это просто имена, то ли выходной сигнал функции инвертируется перед выдачей в результат...

---------- Post added at 09:02 ---------- Previous post was at 09:00 ----------

Quote:

Originally Posted by zst (Post 381356)
Все входы и входы-выходы имеют внутреннюю подтяжку к +5В

Читал я где-то, что это не на всех типах галок/палок.

Quote:

Originally Posted by zst (Post 381356)
/conmem - инверсия внутри микросхемы?

конечно, перед подачей в функцию.

zst 3rd May 2011 10:17

Quote:

Originally Posted by Ewgeny7 (Post 381360)
evenodd - триггер, стробируемый по сигналу CLK, приходящему на вход С этого триггера. На вход D приходит, соответственно, результат строки условия.

Какой-то хитрый счетчик получается.
Quote:

да. сигналы инвертируются перед подачей в функцию.
Тогда, чтобы не путаться я могу все имена входов и выходов типа /WR заменить на nWR или просто WR и принцип работы не изменится ?

Ewgeny7 3rd May 2011 10:25

Quote:

Originally Posted by zst (Post 381362)
Какой-то хитрый счетчик получается.

Обычный триггер, тактируемый CLK, а на входе D - цепочка обычной логики.
Обрати внимание, что CLK - также комплексный сигнал, состоящий из кучки логических функций. Моск вскипает.

Quote:

Originally Posted by zst (Post 381362)
Тогда, чтобы не путаться я могу все имена входов и выходов типа /WR заменить на nWR или просто WR и принцип работы не изменится ?

Я не уверен...

Можно попробовать ради эксперимента создать три мегафункции на основе трех галок, и собрать их в кучу в топ-файле проекта. Теоретически, должны получить полный аналог этих галок.
Я пробовал собрать их все в одном проекте, запутался и заблудился. При компиляции получаем кучу варнингов на предмет таймингов.


All times are GMT +4. The time now is 17:48.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.