NKC Forum |
Author | Topic: Umfrage: Welches Spiel für den 68K NKC als nächstes? |
---|---|
m.haardt Fühlt sich wie zu Hause ![]() ![]() ![]() ID # 93 |
![]() ![]() ![]() ![]() ![]()
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 |
![]() ![]() ![]() ![]() ![]()
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 |
![]() ![]() ![]() ![]() ![]()
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 ![]() |
![]() ![]() ![]() ![]() ![]()
>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 |
![]() ![]() ![]() ![]() ![]()
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 ![]() |
![]() ![]() ![]() ![]() ![]()
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 |
![]() ![]() ![]() ![]() ![]()
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