50 Commits

Author SHA1 Message Date
Stefan Reinauer
cddc96c604 Uprev U303 to 391585-02
A few cards have shipped with U303 labeled as -02 so uprev to -02.
This way any actual changes in the future will become -03 and can
be correctly identified.
2024-08-28 22:08:39 -07:00
Stefan Reinauer
31ef9333d0 Attempt to fix artifact wrapping 2024-08-26 22:18:28 -07:00
Stefan Reinauer
d263294c43 Switch from zip to tar.gz 2024-08-26 21:55:37 -07:00
Stefan Reinauer
61e9de3826 Remove path from Logic CI runs 2024-08-26 21:51:17 -07:00
Stefan Reinauer
f91322f426 Clean up Logic CI 2024-08-26 21:45:27 -07:00
Stefan Reinauer
62f78cda60 Clean up release.yml 2024-08-26 21:26:58 -07:00
Stefan Reinauer
6efe893c6b spaces, not tabs 2024-08-26 21:24:27 -07:00
Stefan Reinauer
0859c187d4 Fix multiline syntax in CI workflow 2024-08-26 21:23:24 -07:00
Stefan Reinauer
8be9574168 Add a release workflow 2024-08-26 21:04:02 -07:00
Stefan Reinauer
fd32773f69 Remove submodules call from github workflow 2024-08-26 20:06:45 -07:00
Stefan Reinauer
f391abdb3a Add workflow to compile JEDEC files 2024-08-26 19:20:06 -07:00
Stefan Reinauer
aec73483b9 Add .gitignore 2024-08-25 10:13:52 -07:00
Stefan Reinauer
0f811bac2e Regenerate jed files 2023-08-21 21:26:57 -07:00
Stefan Reinauer
60e4fd0449 Reduce access time on ROM
This change is almost cosmetical because the time spent on reading
the ROM is not significant, and ROM access only happens during boot
time.
This will now require a 120ns ROM instead of a 400ns ROM, which is
still about 3x slower than the 45ns W27C512-45Z we've been using.
2023-08-21 20:36:21 -07:00
Stefan Reinauer
6232314189 Remove remnants of NET
Clean up comments that refer to the origins of this code.
2023-07-30 23:58:15 -07:00
Stefan Reinauer
eae1a39021 Optimize STERM generation
* The original GAL code incorporates a latch to generate the signal BDTACK
  using EDTACK. This is necessary because EDTACK may be too short to be
  utilized directly in a synchronous flip-flop. Such a design choice is
  common in asynchronous circuits or GALs, particularly when only D
  flip-flops with a single clock input per chip are available, enabling
  the extension of a signal to the next clock.

* Subsequently, the clock-synchronous signal DTSYNC is derived from
  BDTACK by configuring the output as a D flip-flop (using x.D). This
  configuration ensures that the original EDTACK signal is synchronized
  with a 25 MHz clock. This approach is a standard procedure in such
  designs.

* However, an interesting observation is that DTSYNC is utilized once
  again as an input for another D flip-flop to generate the
  clock-synchronous STERM signal (using .D). Unfortunately, this
  arrangement introduces a delay of two clocks in the generation of
  STERM. This delay occurs because STERM can only change its state one
  clock cycle after DTSYNC. During the first clock cycle when DTSYNC
  switches, its output signal has not yet reached the input of the STERM
  flip-flop. It arrives a few nanoseconds later, which is too late for
  the current clock cycle.

Based on the available Zorro III timing documentation, no specific timing
requirements were found that would justify the described method. In a
test scenario, the term for STERM was directly connected to BDTACK,
resulting in a stable outcome.

This configuration optimizes the system by saving one clock per DMA
transfer, resulting in a greatly improved disk speed of approximately
5.8MB/sec.

Found by dorken @ a1k.org
2023-05-31 21:10:23 -07:00
Stefan Reinauer
7db14997c0
Merge pull request #7 from reinauer/shutup
Merging SHUTUP functionality.
2023-05-29 23:15:34 -07:00
Stefan Reinauer
832ddf537a Regenerate u202.jed for SHUTUP support
Regenerating the GAL JEDEC files for the latest code change
implementing Zorro Shutup.
2023-05-29 23:09:49 -07:00
Stefan Reinauer
dd80f5f11d Implement Zorro SHUTUP function
Turns out it is not required to use a pin for SLAVE.OE generation,
as only one term is used. That lets us reuse Pin 21 for something
else, i.e. the Zorro SHUTUP function.
If the 1GB Zorro III memory range is completely filled up (for
example with two 512MB memory cards), there is no more space for
an A4091. This leads to other cards (even Zorro II I/O cards) to
not be configured anymore if they are in the slot behind the
problematic board, as Autoconfig is blocked at this point.
This happens because CFGOUT is never activated and so the next
Zorro card never becomes active.

Found by dorken @ a1k.org
2023-05-29 23:09:49 -07:00
Stefan Reinauer
ec5091de1f Update README.md with findings on GAL stability
With the current JED files it should be fine to use all Atmel files
in an A4091. YMMV, but even Chris' picky Amiga 3000D was happy, and
that is quite something.
2023-05-29 17:07:13 -07:00
Stefan Reinauer
4114a995de Uprev JEDEC files for U305 and U306
Regenerated from PLD filed.
2023-05-29 16:58:06 -07:00
Stefan Reinauer
dc2f9244b1 Uprev the part numbers for updated parts
U305 and U306 have received meaningful updates, so uprev their
part numbers to make it clear and visible.
2023-05-29 16:55:40 -07:00
Stefan Reinauer
56924ece85
Merge pull request #5 (Cleanup of all PLD files)
Cleanup
2023-05-29 16:40:07 -07:00
Stefan Reinauer
b848bde7eb Regenerate JED files
Regenerated JEDEC files with the latest changes
2023-05-29 16:19:49 -07:00
Stefan Reinauer
727085e16b Properly use Commodore part numbers
Some files had the PCB designator in their part number field,
others the Commodore part number. Make naming consistent.
2023-05-29 16:19:24 -07:00
Stefan Reinauer
3b495c0ee4 Properly mark unused/used/internal registers
Some registers were used internally but still marked as unused.
Some registers were marked as used but were not actually connected
anywhere.
2023-05-29 16:19:09 -07:00
Stefan Reinauer
496c904f1e Rename A3090 to A4091 consistently
The name A3090 is sometimes used, and sometimes A4091 is used.
A3090 is the old name of the A4091 board, so rename all occurences
to A4091 for consistency.
2023-05-29 16:18:58 -07:00
Stefan Reinauer
5e65f6590f Regenerate timestamps for JED files
Regenerated JED files with accurate time stamps.
2023-05-29 15:07:36 -07:00
Stefan Reinauer
4448352575 Clean up JED file generation
In order to track versioning of individual JED files better,
add a better time stamp to each of them:
- If a JED files is checked into git already and no changes
  to the file occured, use the timestamp of the last change
  to this file. (Default)
- If a JED files is checked into git already and changes to
  the file occured, use the timestamp of the file's last
  modification.
- If a JED files is NOT checked into git already, also use
  the timestamp of the file's last modification.

In addition, recalculate the file checksum (not the same as
the data checksum) after this change, just in case.
2023-05-29 15:06:11 -07:00
Stefan Reinauer
ae50265da8
Merge pull request #1 from reinauer/early_byte_lane
Enable Early Byte-Lane Option
2023-05-27 16:00:24 -07:00
Stefan Reinauer
57ccd402ba
Merge pull request #3 from reinauer/ATF
Fix signal issue with MTCR on ATF parts
2023-05-27 15:59:51 -07:00
Stefan Reinauer
2d20a86061 Fix signal issue with MTCR on ATF parts
Atmel ATF22V10 GALs have pin-keeper circuits that will cause I/Os
to be held either high or low (but not float) when disabled. This
feature consumes extra power, which causes problems with MTCR and
DOE on U306 because there are 4 other GAL inputs hanging off the
output. Thus, they don't securely go to 0V / 5V but get stuck
around 1-2V. Enable MTCR output to actively drive the signal. This
fixes half of the problem.

Alternatively R109E and R109H can be changed from 1kOhm to 560Ohm
to improve the signals.

Found by dorken @ A1K.org
2023-05-22 00:02:34 -07:00
Stefan Reinauer
3a987750e5 Enable Early Byte-Lane Option
This enables the Zorro III Early Byte-Lane option, which results in an
overall speed increase of about 10% on the A4091.

From the Zorro III Bus Timing Addendum

2.4 Early Byte-Lane Option

There is now an optional early byte lane mode for full cycles. A bus
master can, optionally, drive /DS3-/DS0 according to normal address time
signal timing. Slaves that don't support this mode see /DSN at the
normal data-time, qualified by DOE. Slaves that do support this mode can
latch /DSN on the falling edge of /FCS. If at least one strobe is valid,
the slave gets a valid early byte-lane enable, and may use /DSn during
data time for write data latching. If none are valid, it will be
necessary to use /DSn at data time for sizing information.

Found by dorken @ a1k
2023-05-21 08:49:10 -07:00
cdhooper
b545507dae
Merge pull request #2 from reinauer/whitespace
Clean up white space in pld source files
2023-05-20 22:06:49 -07:00
Stefan Reinauer
fcd06ad366 Clean up white space in pld source files
Add new lines at the end of each file, and remove
extra white space at the end of all lines.
2023-05-20 21:50:39 -07:00
Stefan Reinauer
f831e72f27 Updated jedec files 2022-11-11 21:02:00 -08:00
Stefan Reinauer
a63ec724d2 Add Makefile to compile pld files
Drop the old script. This creates identical files except for time stamps
and serial numbers (previous files were created with WinCupl instead of
the command line tool)
U305 is compiled with higher optimization as requested in the source (and
changes therefore)
2022-11-11 20:58:59 -08:00
Stefan Reinauer
8ad646142f Update README.md
Mention remaining chips
2022-11-10 22:49:41 -08:00
Stefan Reinauer
cad9350149 Update README.md
- fix path name
2022-11-10 22:45:11 -08:00
Stefan Reinauer
9727e4d8f5 Update README.md 2022-11-10 22:44:24 -08:00
Stefan Reinauer
cb38ee84a0 Update README.md
Fix compilation instructions
2022-11-10 22:42:31 -08:00
Stefan Reinauer
492e807eab Update README.md
- information on directory structure, compilation and which chips to use
2022-11-10 22:41:05 -08:00
Stefan Reinauer
508bfb77d9 Add build script for pld files 2022-09-28 22:43:47 +08:00
Stefan Reinauer
d87085af5e Add information about original timing 2022-09-28 22:43:21 +08:00
Stefan Reinauer
23a8a656d3 GAL22V10 jedec files 2022-09-28 22:23:58 +08:00
Stefan Reinauer
9ab92fdb81 A4091 PALs Release
Source: Dave Haynie Files
2022-09-28 21:54:28 +08:00
Stefan Reinauer
062cde5ddd A4091 PALs dualfix
Source: Dave Haynie Files
2022-09-28 21:54:28 +08:00
Stefan Reinauer
d4e06c2b5f A4091 PALs Rev0a
Source: Dave Haynie Files
2022-09-28 21:54:16 +08:00
Stefan Reinauer
f7f3d07e0a A4091 PALs rev0
Source: Dave Haynie Files
2022-09-28 21:48:52 +08:00
Stefan Reinauer
16c1226079 first commit 2022-04-30 21:23:33 -07:00