Schlagwort-Archiv: Platine

USBASP V2/V3 ISP Update

Ich habe vom 8bit-museum.de eine SRAM/DRAM Tester rev. 7.5 Platine bekommen.
Diese Platine muss mit einem ATmega 2560 bestückt werden.
Also dachte ich, das wird das Schwerste sein, den ATmega 2560 einzulöten.
Aber nein, der Aufbau war nicht das Problem. Die Firmware war das Problem.

Ich hatte 2 ISP Geräte, einmal den USBtinyISP V2.0 und den USBASP V3.0.
Den USBtinyISP kann man gleich vergessen, der kann kein ATmega2560 flashen. Der USBASP hat meistens eine originale Firmware von Thomas Fischl (www.fischl.de). Letzte Version ist von 2011.
Dies machte aber Probleme beim Übertragen der Firmware auf den ATmega 2560:


avrdude.exe: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : usb
Using Programmer : usbasp
Setting bit clk period : 20.0
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude.exe: set SCK frequency to 32000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.06s
avrdude.exe: Device signature = 0x1e9801 (probably m2560)
avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as 99
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: set SCK frequency to 32000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "SRAM-DRAM-Tester_v11.ino_atmega2560_16000000L.hex"
avrdude.exe: writing flash (181320 bytes):
Writing | ################################################## | 100% 83.64s
avrdude.exe: 181320 bytes of flash written
avrdude.exe: verifying flash memory against SRAM-DRAM-Tester_v11.ino_atmega2560_16000000L.hex:
avrdude.exe: load data flash data from input file SRAM-DRAM-Tester_v11.ino_atmega2560_16000000L.hex:
avrdude.exe: input file SRAM-DRAM-Tester_v11.ino_atmega2560_16000000L.hex contains 181320 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 70.92s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0xdc != 0xdd
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as 99
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: Fuses OK (E:FF, H:99, L:62)
avrdude.exe done. Thank you.

Am Ende war keine Firmware drauf. Darauf habe ich den Tipp bekommen mal diese Firmware zu nutzen:
https://github.com/bperrybap/usbasp/tree/1.06-alpha

Das Problem ist, dass man hierfür wieder ein ISP braucht. OK, also muss ich doch noch den USBtinyISP nehmen. Wenn der schon kein ATmega 2560 flashen kann, den ATmega8 kann er. Wichtig ist beim USBASP, dass der Jumper 2 (Self Program) gesetzt wird. Nun den USBASP mit dem USBtinyISP verbinden. Prüft auch Jumper 1. Der JP1 ist für die Stromversorgung!

Danach habe ich mit dem Befehl die Firmware übertragen:

avrdude.exe -C"avrdude.conf" -v -patmega8 -c usbtiny -B8 -Uflash:w:usbasp-v1.06-alpha-2016-05-18-atmega8.hex:i

Und siehe da, ich kann nun den ATMega2560 nun flashen:

Upload firmware
avrdude.exe: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "avrdude.conf"
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude.exe: auto set sck period (because given equals null)
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude.exe: Device signature = 0x1e9801 (probably m2560)
avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as DF
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: auto set sck period (because given equals null)
avrdude.exe: reading input file "SRAM-DRAM-Tester_v12.ino_atmega2560_16000000L.hex"
avrdude.exe: writing flash (181320 bytes):
Writing | ################################################## | 100% 37.62s
avrdude.exe: 181320 bytes of flash written
avrdude.exe: verifying flash memory against SRAM-DRAM-Tester_v12.ino_atmega2560_16000000L.hex:
avrdude.exe: load data flash data from input file SRAM-DRAM-Tester_v12.ino_atmega2560_16000000L.hex:
avrdude.exe: input file SRAM-DRAM-Tester_v12.ino_atmega2560_16000000L.hex contains 181320 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 25.14s
avrdude.exe: verifying ...
avrdude.exe: 181320 bytes of flash verified
avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as DF
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: Fuses OK (E:FF, H:DF, L:FF)
avrdude.exe done. Thank you.

Kein Fehler mehr : )!!!

Hier die Jumper-Funktionen:

JP1: Stromversorgung
Dieser Jumper steuert die Spannung am ISP-VCC-Stecker. Sie kann auf +3,3V, +5V gesetzt werden.
Verfügt der andere ISP bereits über eine eigene Stromquelle, muss der Jumper entfernt werden.

JP2: Self Program
Dieser Jumper ist zur Aktualisierung der Firmware des USBasp-Programmiergeräts. Um die Firmware zu aktualisieren, wird ein zweites Programmiergerät benötigt.

JP3: Langsamer SCK
Wenn dieser Jumper ausgewählt ist, wird der Modus „Langsamer Takt“ aktiviert. Wenn der Zieltakt niedriger als 1,5 MHz ist, müssen Sie diesen Jumper setzen. Dann wird SCK von 375 kHz auf etwa 8 kHz gesetzt.

Triumph Adler Alphatronic PC(8)

Habe heute einen defekten Triumph Adler Alphatronic PC(8) auseinandergenommen. Natürlich mit dem Ziel, den alten Triumph Adler Alphatronic PC(8) zu reparieren. Zum Fehler kann ich noch nicht viel sagen. Beim Einschalten kommt nur ein Piepston und das Bild bleibt schwarz. Da ein Beepton kommt, ist der Monitor bereit. Nun sollte eigentlich das Basic-Rom geladen werden.

Als Erstes habe ich vom funktionierenden und vom defekten Triumph Adler Alphatronic PC die EPROMs ausgelesen. Da im Internet keine Backups zu finden waren.

Verbaut sind 2 EPROMS:

NEC D2764D
TMS 2732A

Im 2. Alphatronic PC waren es 2 EPROMS vom Typ:

M5L2764K
HN462732G

EPROMS Download

Das Basic Rom ist fest verlötet. Dies habe ich aufgelötet. Dann mit einem EPROM-Programmiergerät ausgelesen.
Dann habe ich einen IC Sockel hinzugefügt. Damit ist das Austauschen nun leichter.

5.11B Rom:

ROMbasic511B

Nachtrag 20.06.2020:
Ich habe ein neun TA Alphatronic PC8, der hat 3 x NEC D2764D für Basic 5.11 (ohne B).
Habe jetzt die EPROMS ausgelesen um zu vergleichen, wo der Unterschied ist oder ob es überhaupt ein Unterschied gibt.
 

TAPC8_Basic5_11 (3 x NEC D2764D EPROMS)

Da ich jetzt weiß, dass es nicht am Basic-Rom liegt, habe ich nun den RAM im Verdacht.


Tastatur

Wenn die Tastatur nicht oder kaum auf einen Tastendruck reagiert, kann man das leicht reparieren. Ok leicht nehme ich wieder zurück ; ). Man muss dazu die Platine ablöten, um überhaupt an die einzelnen Tasten zu kommen. Hier die verdreckte Tastatur, da habe ich aber schon etwas sauber gemacht. Da aber Rost unter den Tastern waren, habe ich das sein lassen und beschlossen doch alles auseinanderzunehmen.

Dieses Bild hilft schon mal, beim Zusammenbauen.
So weiß man, wo welche Taste wieder hinkommt. Hier muss man alle Tastenkappen leicht nach oben ziehen, dabei ganz minimal kippeln. Ganz sachte, nicht mit Gewalt.

Sieht gut aus ; )! Hier sieht man rote Punkte auf den Tastern. Auf manche nicht. Das liegt daran, dass es 2 unterschiedliche Taster gibt. Die meinen sind gerade, die andern haben einen anderen Winkel. Wenn alle weiß sind(hatte ich auch schon), muss man das erst mal selber maskieren.

Jetzt kann man die Tastatur umdrehen:

Da muss man jetzt nur die Lötpunkte von den Tasten finden und entlöten. Nicht alle Lötaugen entfernen! Da sind auch Widerstände und Drahtbrücken drin. Die Teile müssen so bleiben!

Jetzt kann man die Platine entfernen, wenn alle Taster sauber entlötet wurden ; ).

Die Taster kann man leicht vom Rahmen lösen:

 

Der Rahmen ist frei und kann nun abgeschliffen und lackiert werden. Zuerst kann man die Taster und die Tastaturkappen in den Geschirrspülerkorb(besteck) legen und waschen lassen ; ).
Die Tasten brauchen Zeit zum Trocknen, deshalb ist es ratsam, erst mal die Tasten/Taster zu waschen. Die Metallteile von der Return-, Enter-, Tab-, …. Tasten habe ich nur poliert und nicht in den Geschirrspüler gelegt.

Danach kann alles wieder zusammen gebaut werden. Dazu helfen die Bilder alle wieder.
Zuerst muss man alle Taster wieder richtig reinlegen. Nicht vergessen, es sind 2 unterschiedliche Taster. Das sieht man später an den Tasten, da die Position anders ist.

Nun können wieder die Tastenkappen rauf. Wenn alle Taster richtig liegen, sollte jetzt auch wieder die Platine rauf passen. Nun alles wieder schön sauber zusammen löten.

 

Die Taster brauchen mindestens 48 Stunden, bis das Wasser wieder raus ist.
Sieht aus wie neu : ).

RFT KC85/4 D004 mit HxC SD Floppy Emulator Rev. F

Habe heute mal einen Test durchgeführt, ob ein HxC SD Floppy Emulator Rev. F auch am KC85/4 funktioniert. Warum? Zum einen gibt es immer weniger Betriebssysteme, die noch Floppys allgemein unterstützen. Zum anderen aber auch, weil es kaum noch Disketten und Diskettenlaufwerke 5 1/4″ gibt. Das Gleiche funktioniert auch mit einem Triumph Adler Alphatronic PC (Z80/8 Bit).

Hier habe ich das EPROM entfernt und einen IC Sockel hinzugefügt.
Damit ich die Version 3.3 rauf bekomme, da ich das ZAS benötige.
Auch die integriert Selbsttestroutine (JUMP FC FF) ist sehr nützlich.

Hier habe ich mir einen Adapter gebastelt. Dazu habe ich bei einem alten Floppykabel das Flachbandkabel entfernt und die Kontakte auf die Platine gelötet. Oben sind alles einzelne Leitungen und unten ist alles miteinander verlötet. Unterseite ist alles GND.

Hier ist der Adapter schon kleiner. Dateien für CNC unten:

 

Hier kann man die DXF Datei runterladen und die Platine selber fräsen:

Laufwerk_adapter DXF DOWNLOAD

Laufwerk_adapter.dxf :

Dies ist die Rückseite, wo alle unteren Pins mit GND verbunden sind. Hier müssen die Rechtecke als „Ausschnitt“ in der CAM Software angegeben werden. Die Rückseite muss eigentlich nicht gefräst werden. Wie schon geschrieben, es werden so oder so alle Pins unten miteinander verbunden.

Laufwerk_adapter2.dxf:

Dies ist die Oberseite. Auch hier müssen die Boxen als „Ausschnitt“ in der CAM Software angeben werden.

Laufwerk_adapter3.dxf:

Das ist die Datei, um die Platine auszuschneiden. Im CAM als „Teil“

Ist die Platine fertig gefräst, muss man noch für manche Floppykabel einen Schlitz auf eine Seite schneiden. Siehe Bild (roter Bereich). Dazu habe ich eine Eisensäge genommen. Das ist nur nötig, wenn das Floppykabel eine Kerbe hat. Der KC85 hat z. B. keine Kerbe am Floppykabel, hier ist das nicht nötig. Der schwarze weibliche Floppystecker ist von einem alten Floppykabel. Dazu muss man hinten das kleine Plastikteil entfernen und das Flachbandkabel langsam entfernen. Sonst werden die Kontakte mit rausgezogen. Wenn ein Kontakt rausgezogen wurde, kann man das wieder leicht rein drücken. Die Kontakte sind beim Floppystecker versetzt. Deshalb sollte man die Platine wie im Bild hinlegen und so anlöten. Auf der Rückseite werden die Kontakte nicht genau auf den Pins liegen und die Pins überbrücken. Das ist aber ok so, weil die unteren Pins alle GND sind. Deshalb habe ich oben schon geschrieben, dass man das erste Teil nicht fräsen muss. Fertig ist der Adapter. Am besten noch mit einem Multimeter die obern Pins messen, dass kein Pin noch mit einem anderen doch verbunden ist. Z. B. durch zu viel Lötzinn.