Zorro-II firmware update

- fixed clockport addressing
 - changed IDE_OFF jumper handling to actually disable IDE when the jumper is in
This commit is contained in:
Henryk Richter
2020-07-15 17:45:55 +02:00
parent f62afb7167
commit 40c53e75b5
5 changed files with 1105 additions and 2846 deletions
+10 -9
View File
@@ -1,10 +1,10 @@
---------------------------------------------------------------------------------- ----------------------------------------------------------------------------------
-- Company: -- Company: a1k.org
-- Engineer: -- Engineer: M. Heinrichs, H. Richter
-- --
-- Create Date: 22:08:29 12/13/2016 -- Create Date: 14:45:29 07/15/2020
-- Design Name: -- Design Name:
-- Module Name: LAN_IDE_CP - Behavioral -- Module Name: LAN_IDE_CP-Z2v2 - Behavioral
-- Project Name: -- Project Name:
-- Target Devices: -- Target Devices:
-- Tool versions: -- Tool versions:
@@ -69,7 +69,6 @@ entity LAN_IDE_CP is
IDE_R : out STD_LOGIC; IDE_R : out STD_LOGIC;
IDE_A : out STD_LOGIC_VECTOR (2 downto 0); IDE_A : out STD_LOGIC_VECTOR (2 downto 0);
IDE_CS : out STD_LOGIC_VECTOR (1 downto 0); IDE_CS : out STD_LOGIC_VECTOR (1 downto 0);
-- LAN_CFG : out STD_LOGIC_VECTOR (4 downto 1);
LAN_RD : out STD_LOGIC; LAN_RD : out STD_LOGIC;
LAN_CS : out STD_LOGIC; LAN_CS : out STD_LOGIC;
LAN_WRH : out STD_LOGIC; LAN_WRH : out STD_LOGIC;
@@ -402,7 +401,7 @@ begin
elsif(AUTO_CONFIG_DONE = 1)then elsif(AUTO_CONFIG_DONE = 1)then
CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress CP_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(1) <= '0'; --enable board SHUT_UP(1) <= '0'; --enable board
AUTO_CONFIG_DONE_CYCLE <= '1' & AUTOBOOT_OFF; --done here, if Autoboot = 1 skip ide part! AUTO_CONFIG_DONE_CYCLE <= '1' & not AUTOBOOT_OFF; --done here, if Autoboot = 1 skip ide part!
elsif(AUTO_CONFIG_DONE = 2)then elsif(AUTO_CONFIG_DONE = 2)then
IDE_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress IDE_BASEADR(7 downto 0) <= D(15 downto 8); --Base adress
SHUT_UP(2) <= '0'; --enable board SHUT_UP(2) <= '0'; --enable board
@@ -424,7 +423,6 @@ begin
LAN_WRL <= LAN_WRL_S when AS='0' and reset = '1' else LAN_WR_RST; LAN_WRL <= LAN_WRL_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_WRH <= LAN_WRH_S when AS='0' and reset = '1' else LAN_WR_RST; LAN_WRH <= LAN_WRH_S when AS='0' and reset = '1' else LAN_WR_RST;
LAN_RD <= LAN_RD_S when AS='0' and reset = '1' else '0'; LAN_RD <= LAN_RD_S when AS='0' and reset = '1' else '0';
-- LAN_CFG <= "0010"; -- "ZZZZ";
CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1'; CP_WE <= CP_WE_S when AS='0' and CP_WE_QUIRK ='1' else '1';
CP_RD <= CP_RD_S when AS='0' else '1'; CP_RD <= CP_RD_S when AS='0' else '1';
@@ -437,7 +435,9 @@ begin
A(14 downto 7); A(14 downto 7);
A_LAN(5 downto 2) <= LAN_A_CLRREG(5 downto 2) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else A_LAN(5 downto 2) <= LAN_A_CLRREG(5 downto 2) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(5 downto 2) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else LAN_A_SETREG(5 downto 2) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
A(5 downto 2) when cp='1' else A(6 downto 3); --mux the clock-port adresses! -- A(5 downto 2) when cp='1' else A(6 downto 3); --mux the clock-port adresses!
A(4 downto 1) when cp='1' else A(6 downto 3); --mux the clock-port adresses! (shifted 1 down due to V2 bug)
A_LAN(1 downto 0)<= LAN_A_CLRREG(1 downto 0) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else A_LAN(1 downto 0)<= LAN_A_CLRREG(1 downto 0) when (LAN_RST_SM = wait0 or LAN_RST_SM = clr or LAN_RST_SM = clr_commit) else
LAN_A_SETREG(1 downto 0) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else LAN_A_SETREG(1 downto 0) when (LAN_RST_SM = wait1 or LAN_RST_SM = set or LAN_RST_SM = set_commit) else
A(2 downto 1); A(2 downto 1);
@@ -468,7 +468,8 @@ begin
IDE_CS(1)<= not(A(13)); IDE_CS(1)<= not(A(13));
IDE_A(2 downto 0) <= A(11 downto 9); IDE_A(2 downto 0) <= A(11 downto 9);
ROM_B <= "00"; ROM_B <= "00";
ROM_OE <= ROM_OE_S when AS='0' and AUTOBOOT_OFF = '0' else '1'; -- ROM_OE <= ROM_OE_S when AS='0' and AUTOBOOT_OFF = '0' else '1';
ROM_OE <= ROM_OE_S when AS='0' else '1';
-- INT_OUT <= 'Z'; -- INT_OUT <= 'Z';
INT2_OUT <= '0' when INT2_OUT <= '0' when
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
Important: The Zorro-II firmware dated 15-Jul-2020 and later
changes the handling of the "IDE_OFF" jumper compared to earlier
firmwares. Now IDE_OFF now behaves as stated on the silkscreen
and will disable the IDE controller if the jumper is set.
This changed behaviour is consistent with the Zorro-III firmware
now.
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,11 +1,11 @@
# Zorro-LAN-IDE # Zorro-LAN-IDE
This is an Zorro-expansion card for the big Amigas (A2000/300/4000 or A500 with Zorro-interface). It has a SANAII-compatible Ethernet driver, an AT-BUS compatible IDE controller and a clockport for variuous expansions like a RapidRoard from Individual Computers. This is a Zorro-expansion card for the big Amigas (A2000/300/4000 or A500 with Zorro-interface). It has a SANAII-compatible Ethernet driver, an AT-BUS compatible IDE controller and a clockport for variuous expansions like a RapidRoard from Individual Computers.
Here is a pic of the first revision: Here is a pic of the first revision:
![Zorro-Card with LAN-Module](https://gitlab.com/MHeinrichs/Zorro-LAN-IDE/raw/master/Bilder/Aufgebaut.jpg) ![Zorro-Card with LAN-Module](https://gitlab.com/MHeinrichs/Zorro-LAN-IDE/raw/master/Bilder/Aufgebaut.jpg)
All components are Autoconfig. The FastEthernet is based on a ENC624J600 lan chip. The clockport is compatible to A600/A1200 ones but residies at a different address. The IDE works from Kickstart 1.3 to 3.1.4 ! All components are Autoconfig. The FastEthernet is based on a ENC624J600 lan chip. The clockport is compatible to A600/A1200 ones but resides at a different address. The IDE works from Kickstart 1.3 to 3.1.4 !
At present there are two firmwares: One for Zorro2, which runs in every Amiga with Zorro-Sots and one for A3000/4000, which puts the LAN-Chip into a Zorro3 environment. The while the Zorro2 variant can transfer 3.5mb/s at most the Zorro3-variant has a signifficantly faster LAN<->Amiga interface of 6-7mb/sec. However, the SANAII-IP Stack is not very efficient and eats much of the performance, thus 1-2MB/sec are the maximum observed right now. At present there are two firmwares: One for Zorro2, which runs in every Amiga with Zorro-Sots and one for A3000/4000, which puts the LAN-Chip into a Zorro3 environment. The while the Zorro2 variant can transfer 3.5mb/s at most the Zorro3-variant has a signifficantly faster LAN<->Amiga interface of 6-7mb/sec. However, the SANAII-IP Stack is not very efficient and eats much of the performance, thus 1-2MB/sec are the maximum observed right now.
@@ -32,9 +32,9 @@ All sources published under GNU GENERAL PUBLIC LICENSE V2.0
## How to make the clockport work with a RapidRoad? ## How to make the clockport work with a RapidRoad?
Make sure you connected the cable the right way! There is no "standarized way". So the easiest thing is to find out on the RapidRoad side on which row of the clockport the two outer pins are ground. These Pins mus run to the row of the Zorro-LAN-IDE-CP-card where the squared solder-hole is located. *Please tripple check the cable with a multimeter! Wrong polarity of the cable can caus damage to your hardware!* Make sure you connected the cable the right way! There is no "standarized way". So the easiest thing is to find out on the RapidRoad side on which row of the clockport the two outer pins are ground. These Pins mus run to the row of the Zorro-LAN-IDE-CP-card where the squared solder-hole is located. *Please triple check the cable with a multimeter! Wrong polarity of the cable can cause damage to your hardware!*
Now you have to set up the driver to look for a clockport at the address of the expansion board. The address can be figured out by the system tool "ShowConfig" (Manufactor id: 2588 Product: 124). Now you have to set up the driver to look for a clockport at the address of the expansion board. The address can be figured out by the system tool "ShowConfig" (Manufactor id: 2588 Product: 124).
However, there is work on a software sollution, that the RapidRoad finds itself automatically! However, there is work on a software solution, that the RapidRoad finds itself automatically!
## What is in this repository? ## What is in this repository?
This repository consists of several directories: This repository consists of several directories: