NKC Forum
Register | FAQ | Search | Who is online? | Member list | Today's posts | Calendar | Login



Author Topic: Umfrage: Welches Spiel für den 68K NKC als nächstes?
m.haardt
Fühlt sich wie zu Hause
***
ID # 93


  Posted on January 20, 2023 08:46 PM (#41)  |  Quote Quote   PM PM   E-mail E-mail
Ich kenne die Details nicht 100%, aber es gibt beim 6522 Strobes, um parallel Daten zu übertragen, die pro Schreibzugriff aktiv werden. Ich meine es gäbe auch ein Schieberegister, was dann auch mehrfach geschoben würde.

Michael

Posts: 475 | Member since: April 2008 | IP address: not saved
andi
Kennt sich schon aus
**
ID # 213


  Posted on January 20, 2023 10:03 PM (#42)  |  Quote Quote   PM PM   E-mail E-mail
Ja hmm diese "Spezialsachen" müsste man testen. Hab ich nie gebraucht. Wüsste aber nicht warum das nicht funktionieren sollte.
Aber nach heutigen Standards ist der 6522 sowieso völlig obsolet. Da hat jeder AVR besseres. Für neue Projekte würd ich den nicht mehr verwenden.

Posts: 88 | Member since: May 2021 | IP address: not saved
m.haardt
Fühlt sich wie zu Hause
***
ID # 93


  Posted on January 21, 2023 12:43 PM (#43)  |  Quote Quote   PM PM   E-mail E-mail
Wenn ein Schreibzugriff ein Strobe erzeugt, damit die Gegenseite die Daten übernimmt, erzeugen mehrere Zugriffe halt mehrere Strobes, was für die Gegenseite wie mehrere Bytes aussieht.

Was den AVR angeht, hast Du natürlich Recht. Der ganze NKC ist pures Retrocomputing, aber mir macht genau das immer noch Spaß.

Der Atmega2650 hat übrigens ein external memory interface, aber seine Zyklen sind derart kurz, dass der NKC da im Leben nicht mitkäme. :)

Michael

Posts: 475 | Member since: April 2008 | IP address: not saved
smed
Stammgast
**
ID # 114


  Posted on January 21, 2023 01:13 PM (#44)  |  Quote Quote   PM PM   E-mail E-mail
>Der Atmega2650 hat übrigens ein external memory interface, aber seine Zyklen sind derart kurz, dass der NKC da im Leben nicht mitkäme.

Das erinnert mich an eins meiner vielen unvollendeten Projekte/Ideen: Arduino Mega mit externem statischen Ram erweitern:

https://hackaday.io/project/21561-arduino-mega-2560-32kb-ram-shield Ram chip: UM61256FK-15ns

aber hierfür ein dual-ported RAM verwenden (IDT7007) mit dem zweiten port am NKC. Bin mir allerdings nicht sicher ob sich der IDT7007-55ns mit dem AVR externen Bustiming verträgt, allerdings kann man beim AVR external interface (bis zu 4?) wait-states konfigurieren !

AVR datasheet: "External Memory devices have different timing requirements. To meet these requirements, the XMEM interface
provides four different wait-states as shown in Table 9-3 on page 37. It is important to consider the timing specification
of the External Memory device before selecting the wait-state. The most important parameters are the access
time for the external memory compared to the set-up requirement. The access time for the External Memory is
defined to be the time from receiving the chip select/address until the data of this address actually is driven on the
bus. The access time cannot exceed the time from the ALE pulse must be asserted low until data is stable during a
read sequence (see tLLRL+ tRLRH - tDVRH in Tables 31-11 through Tables 31-18 on pages 367 - 370). The different
wait-states are set up in software.
"


Somit waere superschnelle Datenübertragung zwischen PC(USB)->Ardunio/AVR->NKC(RAM) möglich, zwar nur 32K aber immerhin. Ideal fuer schnelle Iterationen mit dem gcc als NKC crosscompiler auf PC

Gruss
smed

-----------------------
NKC'ler und RDK Fan seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,FLO2,PROMER,CENT,SER,SOUND,CAS,4xBUS2,3xPOW5V,2xTAST..und neuerdings einen Arduino mit auf dem BUS. Und eine selbstgebastelte MEM960k. UHR, IDE und COL256 noch nicht gebastelt.

NKC - OpenSource since 1983

Posts: 169 | Member since: January 2011 | IP address: not saved
m.haardt
Fühlt sich wie zu Hause
***
ID # 93


  Posted on January 21, 2023 05:19 PM (#45)  |  Quote Quote   PM PM   E-mail E-mail
Wenn es um Lesen/Schreiben einer ROA geht: Das ist einfacher zu machen. Statt eines external memory interface kann der Arduino einfach DMA Busmaster werden, indem er die Leitungen vom NKC einzeln bedient, und dann eine ROA lesen und schreiben. Man braucht trotzdem noch ein paar NOPs hier und da, wenn man Z80-Timings erzeugen möchte. Das hat mir bei der CPUSCMP-Karte sehr geholfen und auch beim Debuggen meines 68008 Systems, um zu prüfen, dass die BANKBOOT korrekt funktioniert. Inzwischen prüfe ich IO Karten lieber per Arduino, weil es einfach schneller geht. Nur die SER will ums Verrecken nicht so funktionieren, obwohl ich alle Timings mit dem Logic Analyzer prüfte.

Alternativ kann der Arduino /RD und /WR als Interrupts konfigurieren und damit sogar RAM oder IO emulieren.

Michael

Posts: 475 | Member since: April 2008 | IP address: not saved
smed
Stammgast
**
ID # 114


  Posted on January 21, 2023 07:06 PM (#46)  |  Quote Quote   PM PM   E-mail E-mail
Hi,
sowas habe ich schon am laufen, hatte es mal hier: https://nkc-schuetz.de/forumdrc/index.php?mode=viewthread&forum_id=5&thread=44&z=1#post4
und
https://nkc-schuetz.de/forumdrc/index.php?mode=viewthread&forum_id=2&thread=110&z=2#post21

im Forum vorgestellt. Habe das noch weiter verbessert in meiner PC/68kNKC Verbindung zum Programmieren: der Arduino-Mega schreibt ueber den BUS in die ROA, löst dann einen Reset aus und emuliert eine Tatatur-Eingabe ("G" "A") sodass das Programm (mit NKC Bibliotheks-Kennung im executable) auch automatisch gestartet wird (https://www.youtube.com/watch?v=xPywh_BirmM). Das funktioniert meistens wunderbar, allerdings gibt immer mal wieder Probleme so dass ich die Übertragung 2x oder 3x machen muss, das ist nicht wirklich schlimm da es sehr schnell geht, aber schon etwas unbefriedigend. Koenntest du deinen Arduino code hier zur Verfügung stellen? Ich habe keine wirklichen Hardware Kenntnisse - meine Version funktioniert glaube ich nur 'durch Zufall' einigermassen.

Gruss
smed

-----------------------
NKC'ler und RDK Fan seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,FLO2,PROMER,CENT,SER,SOUND,CAS,4xBUS2,3xPOW5V,2xTAST..und neuerdings einen Arduino mit auf dem BUS. Und eine selbstgebastelte MEM960k. UHR, IDE und COL256 noch nicht gebastelt.

NKC - OpenSource since 1983

Posts: 169 | Member since: January 2011 | IP address: not saved
m.haardt
Fühlt sich wie zu Hause
***
ID # 93


  Posted on January 22, 2023 07:42 PM (#47)  |  Quote Quote   PM PM   E-mail E-mail
Bitte sehr:

http://www.moria.de/~michael/tmp/

Das habe ich bei der CPUSCMP benutzt, um die Hardware zu testen. Ich prüfte die Timings mit dem Logicanalyzer. Die Idee ist ja original von Dir, soweit ich mich erinnere. Die Verbindungen sind teilweise geändert, damit man flexibler wird, damit auch andere Sachen anzustellen.

Michael

Posts: 475 | Member since: April 2008 | IP address: not saved



| https://hschuetz.selfhost.eu | Board rules | Privacy policy


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Site created in 0.019469 seconds
Processed 16 files
gzip compression enabled
1000.43 KiB memory usage