nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 20 Jun 2018 15:15



Reply to topic  [ 7 posts ] 
MSX-EXT, rev.B & rev.C. Обо всем и ни о чем. 
Author Message
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
Создам пока такую тему. А то в теме PVV становиться тесно. Подробности чуть позже.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


12 Jun 2018 04:15
Profile
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
Сделал тут F4 port (bit7) для MSX2+ на GAL16V8D-15QP. Проверил в Proteus-е, работает :)

 f4_port.abl
Code:
module f4_port
title 'F4 port. Bit7=1 - soft boot, doesn’t show start logo'
" Revision: B.00;
" Designer: Alex, Hardware
" Date:     08.06.2018
" F4PORT device 'P16V8';

@ALTERNATE;

declarations
" Input pins
CLK, /OE                         pin 1, 11;
D7                               pin 2;
A0, A1, A2, A3, A4, A5, A6, A7   pin 3, 4, 5, 6, 7, 8, 9, 13;
/IORQ, /M1, /RD, /WR             pin 14, 15, 16, 17;

" Output pins
Q7                               pin 19 istype 'reg, invert';
F4RD, /F4WR                      pin 12, 18 istype 'com';

" Set definitions
D    = D7;
Q    = Q7;
F4IO = !A0 & !A1 & A2 & !A3 & A4 & A5 & A6 & A7 & IORQ & !M1;

equations
Q.CLK = CLK;
Q.OE  = OE;
Q    :=  D;

F4RD = F4IO & RD;
F4WR = F4IO & WR;

end f4_port


Правда есть несколько непонятных момента.

/OE - активируется по логической единице. Почему?

В отчете пишется, что остался один свободный пин на ввод. По факту все ножки использованы.
Code:
        Device        | Resource  |   Design    |
       Resources      | Available | Requirement | Unused
======================|===========|=============|==============
                      |           |             |
Input Pins:           |           |             |
                      |           |             |
          Input:      |     10    |      9      |    1 ( 10 %)
                      |           |             |
Output Pins:          |           |             |
                      |           |             |
          In/Out:     |      8    |      8      |    0 (  0 %)
          Output:     |      -    |      -      |    -
                      |           |             |
Buried Nodes:         |           |             |
                      |           |             |
          Input Reg:  |      -    |      -      |    -
          Pin Reg:    |      8    |      1      |    7 ( 87 %)
          Buried Reg: |      -    |      -      |    -


И что будет с D - триггером по включению питания. Хотя нашел в даташите такую строчку.
Quote:
PRELOAD AND POWER-ON RESET OF ALL REGISTERS
— 100% Functional Testability

Как я понимаю. По включению питания все регистры гарантированно устанавливаются в нуль. А это нам и нужно.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


13 Jun 2018 05:31
Profile
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
Alekcandr wrote:
/OE - активируется по логической единице. Почему?
Попробовал в Proteus-е чистую, без шаманства - AM16R8. Адекватно отрабатывает /OE вход. Толи это я чего нафантазировал в коде, толи так Proteus работает :)

По мне так NI Multisim более адекватен в симуляции. NI купили движок (призабыл родителя). В дальнейшем NI Multisim ушли сугубо в свою коммерцию (аппаратные штуки и т.д. и т.п.), возможностей из коробки минимум.

Почему NI Multisim? Помниться лет 10 назад, NI Multisim был единственный симулятор, где пошел синхро-генератор ОРИОН-128 без танцев с бубнами. Один просчет кадра занял толи сутки, толи …, долго :rotate:

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


15 Jun 2018 10:47
Profile
Maniac

Joined: 12 Feb 2016 14:39
Posts: 282
Reply with quote
offtop:
Синхро-генератор ОРИОН-128 в протеусе тоже, работает, но нюанс был, входы ресета у одной из ие5 пришлось через внешний элемент 2И заводить, так все пошло.
 
Attachment:
Снимок-orion_1.pdsprj.pdf.png
Снимок-orion_1.pdsprj.pdf.png [ 159.02 KiB | Viewed 122 times ]

но, вообще, конечно в протеусе встречаются глюки и к новым используемым элементам надо присматриваться с пристрастием, прежде, чем доверять симуляции, я вот за моделькой i8086 в протеусе пару лет наблюдаю, как обновление выходит проверяю ее, но воз и ныне там :(...


15 Jun 2018 12:24
Profile
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
PVV, да я тут впервые для себя посидел, почитал о GAL и сделал не хитрую прошивку (очень простую). Интересная штука. А про симуляторы (или эмуляторы) все они отчасти кривы. По этому только реал :kruto:

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


15 Jun 2018 12:33
Profile
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
Как говориться спасение утопающих - дело рук самих утопающих :wink: По этому продолжим.
Скомпилил прошивочку.
Code:
ispLEVER 5.1.01.65.04.06_Starter Lattice Semiconductor Corp.
JEDEC file for: P16V8R V9.0
Created on: Tue Jun 19 18:20:28 2018

F4 port. Bit7=1 - soft boot, doesnÆt show start logo
*
QP20* QF2194* QV0* F0*
 X0*
NOTE DEVICE NAME: GAL16V8D-15QP*
NOTE Table of pin names and numbers*
NOTE PINS CLK:1 OE:11 D7:2 A0:3 A1:4 A2:5 A3:6 A4:7 A5:8 A6:9 A7:13*
NOTE PINS IORQ:14 M1:15 RD:16 WR:17 Q7:19 F4RD:12 F4WR:18*
L0000 10111111111111111111111111111111*
L0256 11111111111111111111111111111111*
L0288 11111011101001111001011001010111*
L1792 11111111111111111111111111111111*
L1824 11111011101101101001011001010111*
L2048 00000001*
L2120 01111111*
L2128 1111111111111111111111111111111111111111111111111111111111111111*
L2193 1*
C1B20*
A9DA


Записал прошивочку.
Image

Все как ожидалось. Реал не врет :kruto:

/OE отрабатывает по низкому уровню. А в прошивке слегка не то. Пришлось сигнал F4RD завести через инвертор на вход /OE. Теперь в бейсике пишу в порт OUT &HF4,&H80 (или &H0). Читаю из порта A=INP(&HF4): PRINT A. Усе фурычит.

Да на реале всплыл еще один момент. По включению регистр F4 выдает на выходе логическую единицу. Буду думать, как на это будет реагировать биос MSX2+ :question:

Ну и фоточки в следующий раз запостю :)

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


19 Jun 2018 12:29
Profile
Fanat

Joined: 01 Oct 2007 11:30
Posts: 90
Reply with quote
Ага. Тестил я порт F4 на MSX1. Чтобы обеспечить минимальные потери при всяких нежданчиках. Ну как бы все ОК. Быстренько перестыковал модули и поставил биос от MSX2+. И вуала. Портик то работает. По включению появляется заставка MSX. Далее по сбросу идет горячая перезагрузка без появления стартового экрана ( т.е сразу вываливаемся в бейсик).

Чего то, как то криво с инициализацией порта F4 вышло (т.е. там единичка по включению). Но оно работает с так называемым инвертированным портом F4 в биос-е.
Code:
                        ;   Subroutine   RDBTST
                        ;   Inputs      ________________________
                        ;   Outputs      ________________________
                       
                       
  146A    DB F4         J146A:   IN   A,(0F4H)
                       
                                IF   F4INV EQ 1
  146C    2F                    CPL
                                ELSE
                                NOP
                                ENDIF
                       
  146D    C9                    RET
                       
                        ;   Subroutine   WRBTST
                        ;   Inputs      ________________________
                        ;   Outputs      ________________________
                       
                       
  146E                  J146E:
                                IF   F4INV EQ 1
  146E    2F                    CPL
                                ELSE
                                NOP
                                ENDIF
                       
  146F    D3 F4                 OUT   (0F4H),A
  1471    C9                    RET


Вот не знаю так оставить? Где этот порт F4 может еще использоваться, окромя как при старте MSX?

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


19 Jun 2018 14:41
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 7 posts ] 

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.