Posts by zitruskeks
-
-
Nein, die Heizspannung liegt bei ca 10.5V Das ist korrekt. Beim 9er hängt schwebt die negative Seite durch einen WS über GND-Potential. Beim 12er ist dieser auf der positiven Seite und größer, weil 18V anliegen statt 12V.
-
1541 und 64er hab ich mehrere, auch ein ZoomFloppy, umkopieren wäre kein Ding (wie gesagt kann die 4040 eh). Auch ausprinten. Wenns nicht zu lang ist auch auf einem 6400er Typenrad
-
-
Zitruskeks: Danke
Stimmt, drei Sunden Bahn hört sich machbar an.
Wie würde denn gedruckt/transferiert?
Ich könnte auch mal nach Berlin kommen die Platte und die Disks abholen. Dann kann die schön gepolstert im Auto reisen und nicht im Gedränge der Bahn.
-
Hey
Also ich bin halbwegs nah an Berlin (Leipzig), hab einen 8032SK, eine 4040 und eine 8250LP, die man ja auch in den 8050 Modus schalten kann. Also wenns nicht grade 2040er Dos1 Format ist kann ich es lesen. (und das auch das sollte man hinbekommen) Evtl könnte man sich ja so eher treffen als mit 500km Entfernung. -
Zittern beim PET kann eine Einstreuung der Netzfrequenz sein (ausgelutschter Filtercap) und generell ein paar harmonische. Letztere kann man mit einem kleinen Filtercap am Vdrive bezwingen. Und ja, auch und vor allem das Poti für die vertikale Größe scheint EXTREM empfindlich, vor allem in der Zeit nach dem Einschalten.
-
Habt ihr den Yoke mitgetauscht? Bei 20-ish vs 15-ish khz wärs ja kein wunder das das mit den an den Röhren klebenden Yokes nicht passt.
-
Um etwas Assembler zu üben habe ich das kleine HAL-Testprogramm in ca65 assembler neu geschrieben.
nach jedem Programmdurchlauf kann entweder durch eine beliebige Taste (außer space) ein neues Testpattern gewählt werden (komplett weiß -> komplett schwarz -> ungerade Pixel-Streifen > gerade Pixel-Streifen) oder das Programm mit <space> beendet werden
Code
Display More.segment "ZEROPAGE" data: .res 1 addr: .res 2 .segment "CODE" STOPR = $FFE1 GETIN = $FFE4 BSOUT = $FFD2 screenstart = $8000 screenpos = screenstart+40*5 pcr = $E84C ;59468 (set to $0C=12=GFX or $0E=14=lowercase on power on) via_ddra = $E843 ;59459 via_pa = $E84F ;59471 lda #147 ; clear screen petscii jsr BSOUT ; char out lda #14 sta pcr ; switch to lowercase mode for HAL operation ; -------------------------------------------------- ; display chars 0-127 on schreen ------------------- ; -------------------------------------------------- lda #<screenpos sta addr ; initialize screenpos byte with constant lda #>screenpos sta addr+1 lda #0 sta data ; initialize to 0 ldx #8 ; 8 rows ldy #0 ; of 16 chars ; display 16 chars in a line ----------------------- LINELOOP: lda data ; data = character code 0-127 sta (addr),y ; write char to current screen position inc data ; increase char data iny ; increase x screen position cpy #16 ; already printed 16 chars? bne LINELOOP ; if not, loop again ; increase the line start position ----------------- ROWLOOP: ldy #0 ; reset x pos clc lda addr adc #40 sta addr ; increase y position bcc ROWADDNOCARRY inc addr+1 ROWADDNOCARRY: dex bne LINELOOP ; if under 8 lines, loop again ; -------------------------------------------------- ; reprogram chars 64-127 in HAL memory ------------- ; -------------------------------------------------- MAINLOOP: lda #%11111111 sta data ; all set test pattern jsr WRITEBEGIN jsr KEYPRESS lda #%00000000 sta data ; all unset test pattern jsr WRITEBEGIN jsr KEYPRESS lda #%10101010 sta data ; even stripes test pattern jsr WRITEBEGIN jsr KEYPRESS lda #%01010101 sta data ; odd stripes test pattern jsr WRITEBEGIN jsr KEYPRESS jmp MAINLOOP WRITEBEGIN: lda #0 ; addr is now hal memory address, not pet screen address sta addr ; reset address low byte to 0 sta addr+1 ; reset address high byte to 0 lda #255 sta via_ddra ; PA set to output WRITELOOP: ; write upper data nibble -------------------------- lda data ; load data to accu lsr ; bit1 is now 0 lsr ; bit2 is now 0 lsr ; bit3 is now 0 lsr ; bit4 is now 0; bit 7 is now 3 ora #%11000000 ; also set bit 7 and 6 (PA7, PA6) sta via_pa ; and write to via and #%00111111 ; clear bit 7 and 6 (PA7, PA6) again sta via_pa ; and write to via ; write lower data nibble -------------------------- lda data ; load data again and #%00001111 ; strip upper data nibble ora #%10000000 ; set bit7 (PA7) too sta via_pa ; and write to via and #%01111111 ; clear bit7 (PA7) again sta via_pa ; and write to via ; write address bits 8-5 --------------------------- lda addr ; load the low byte, we care about the high byte later lsr ; bit1 is now 0 lsr ; bit2 is now 0 lsr ; bit3 is now 0 lsr ; bit4 is now 0 lsr ; bits 7-5 are now at position 2-0 ldx addr+1 ; 64*8 addresses, upper byte can only be 0 or 1 beq SKIPHIBYTE ; zero flag is set, high byte was 0 ora #%00001000 ; high byte was 1, so we set bit position 3 SKIPHIBYTE: ora #%01000000 ; set bit6 (PA6) too sta via_pa ; and write to via and #%10111111 ; clear bit6 (PA6) again sta via_pa ; and write to via ; write address bits 4-0 --------------------------- lda addr ; load lower address byte and #%00011111 ; clear upper three bits this time ora #%00100000 ; set bit5 (PA5) too sta via_pa ; write to the via a register and #%11011111 ; clear bit5 (PA5) again sta via_pa ; and write to via ; increase address and loop again ------------------ clc ; clear carry lda addr adc #1 ; increase address low byte sta addr bcc WRITELOOP ; end of loop only occurs after carry overflow inc addr+1 ; carry overflow, add carry to high byte lda addr+1 ; load address high byte cmp #%00000010 ; bit 1 will only be set if >511 bne WRITELOOP ; still below 512, loop again rts ;--------------------------------------------------- KEYPRESS: jsr GETIN cmp #0 ; no key beq KEYPRESS cmp #32 ; space beq END rts END: pla ; we jsred into the keypress routine pla ; but branched off without rts ; so we pull 2 byte off the stack before ending ;lda #$93 ; clear screen petscii ;jsr BSOUT ; char out jmp STOPR ; return to ready prompt
CBM_Ba du kannst damit ja auch gerne noch mal testen, ob die Schreibartefakte noch auftreten. Diese Routine ist deutlich schneller
-
Ach Gott, die schrauben doch schon Jahre an dem Kasten.
-
Glühlampe gedacht, wenn da schon ein Stelltrafo ist?
Strom vs Spannung? Das eine limitiert das, das andere das.
-
chip UC6 oder UC7
On that board its UC7, but as detlef said, just switching UC6 and UC7 is a good way to test.
-
David Tipton hat ein paar coole Videos die eine sehr schöne Vorgehensweise zum Restuffen zeigen, die auch ohne Drehbank sehr tolle Ergebnisse bringt:
Hier mal aus einem seiner aktuellen Videos ein Kurzüberblick:
https://youtu.be/jaNGqRdUr8I?t=1207 -
Could be either the datasette or the PIA1 (G8).
Try disconnecting the datasette, if its still skipping the press play message it should be the PIA. If not, the drive (unlikely though but not impossible, its a mechanical switch grounding the pin when a button is pressed on the datasette)Cela peut être la datasette ou le PIA1 (G8).
Essayez de déconnecter la datasette, si le message « press play » est toujours ignoré, c'est le PIA qui est en cause. Si ce n'est pas le cas, c'est le lecteur (peu probable mais pas impossible, c'est un interrupteur mécanique qui met la broche à la terre lorsqu'un bouton est pressé sur la datasette).
-
THIS IS CRAZY... i love it!
I kinda hoped something like that could be possible but actually feared it would not even be as fast as that
-
Nimm den von Reichelt. Alles gut. "B" ist auch so eine Bezeichnung die auf ein Stepping hindeuten kann. N jedenfalls bedeutet nur DIP-Gehäuse.
Es ist ein LS, also weder besonders schnell (15ns) noch besonders stark im treiben oder sinken von Strom (04mA / 8mA). Standardteil. -
Wären die Typen grundsätzlich ok? Das die SMD Kondensatoren durch SMD Kerkos ersetzt werden könnten? Die Radial Kondensatoren sind bezüglich Vollständigkeit mit aufgelistet worden.
Grundsätzlich ja, auch wenn Kerkos wieder ihre ganz eigenen Eigenschaften mitbringen. Zum Beispiel von der Spannung abhängige Kapazität. Nicht so toll als Signalkoppelkondensator beispielsweise. Im Audiopart bringen die immer wieder Probleme.
Meinen 600er habe ich jedenfalls mit Hybrid-Elkos recapped. Meinen SE/30 hingegen mit Tantals.
-
Das ist ein wichtiger und richtiger Hinweis! Absolut. Nicht nur für den Tausch von Kondensatoren: kleine Änderungen vornehmen, danach testen. Sonst steht man plötzlich vor einem nichtfunktionieren Etwas und es könnte alles sein. Plus der eigene Murks.
Wobei ich beim 9Zoll sagen würde: es gilt abzuwägen was für das System gefährlicher ist, das einmal alle Caps wechseln (dann kann man so lustige Fehler einbauen wie ich es gemacht habe und einen Cap falsch rum einsetzen und wochenlang nicht merken, vor allem wenn man so wie ich manche Dinge vorher garnicht testet und gleich alles tauscht und dann keinen Vergleichswert hat)Oder aber der Aus- und Einbau des Boards an sich. Beim 9 Zoll PET würde aber immer noch eher letzteres sagen: alles sehr eng und man hantiert die ganze Zeit neben dem Röhrenhals, sei es beim Aus und Ablöten des Yokes, dem Stecken der Anodenkappe oder dem Herausnehmen der geclipsten Boardhalter.
Dazu kommt, dass es vergleichsweise wenige Caps auf dem CRT-Board gibt, aufgeteilt in die drei Pfade H-Drive, V-Drive und Video. Da kann man recht gut entsprechende Fehler nach dem Gesamttausch erkennen.Auf jeden Fall wichtig: Bilder vorher und nacher machen. Viele Bilder.
Meinen gedrehten Cap habe ich komplett am PC gefunden, ohne auch nur in der Nähe des PETs zu sein. Ich wusste ich habe ein Vertikalproblem, ich wusste ich hab "nur" die Caps getauscht, bin alle Caps des V-Zuges durchgegangen und habe die mit meinem Bildern verglichen. Und da war er.
-
Äpfel und Möhren. SD Videomaterial ohne Latenzbeschränkung nach HD hochwürfeln ist was völlig anderes als Progressive Kram ohne Lag sauber darzustellen.
-
gibts die heute noch neu??
Zum Glück nicht. Die verbauten Scaler in den Fensehern sind eh nur Kernschrott.
Du willst einen Scaler. Je nach Geräten die anzuschließen sind entweder einen kleinen billigen Retro Scaler2X von Aliexpress (ein Clone des Retrotink2x) oder wenns auch RGB sein soll und ein paar mehr optionen einen OSSC oder gar, wenn ihr einen tollen großen OLED holt einen Retrotink 5X-Pro
Retroscaler 2x und OSSC sind Linemultiplier, also absolut lagfrei, der 5xPro hat auch einen Screenbuffer mode, aber sauschnell im Vergleich zu dem Mist der in den Glotzen verramscht wurde. Und Scharf, und mit CRT-Effekten (gibts auch beim OSSC mit der neuesten Firmware) -
Ich finde diese Idee hier sehr gut:
https://www.printables.com/mod…odore-108110841084s-monit
In 3 Teile zerlegt, um die Seitenteile liegend drucken zu können, so sind keine Layerlines in den belasteten Parts. Und die Front kann aufs Bett und damit eine schöne Textur bekommen. Ggf würde ich die Klebeblächen noch abändern, den seiten jeweils noch einen Winkel geben der nach oben gedruckt werden kann, und die Ausschnitte entsprechend vergrößern. -
Ach herrjeh, die beiden Verrückten waren auch mit da?
Gut dass ich nicht da war..
... das wäre zuviel madness gewesen, gnihihihi -
Die CBM Reihe.
Aber da fehlt mein kleiner blauer PET.
Nächstes Jahr! Bestimmt. -
edit: ich bin grantelig
-
Keiner unserer PETs oder CBMs hat bisher einen neuen Elko gebraucht. Also nicht sinnlos Sachen tauschen und den Rechner damit verbasteln.
Sag das mal den messbar angegriffenen caps aus meinen PETs
-
Es gibt einen Lötjumper, bei dem man die Fokusspannung von GND zu 85V wechseln kann. Per default liegt die auf GND was aber eigentlich den besseren Fokus geben soll.
Ich würde den erstmal recappen und dann schauen. Das kann ein Capproblem sein. Und auch mal die Rs testen. R11 z.B. der die Screenvoltage von der 85V Rail aufs G2 Gitter bringt.
Und generell Voltages checken wie gesagt, evtl ist schon die 12Vzu niedrig.
Liegt der Yoke gut an der Röhre? Das könnte auch ein Ding sein. -
Da hab ich mal vor Äonen eine Buttonplate für ein Rennsim-Lenkrad fräsen lassen. Nicht schlecht. Aber mal ehrlich... JLCPCB, entweder FR4 oder selbst Alu. Vollfarbdruck mittlerweile möglich...
-
Oh ja das mit dem links/rechts ist ja nur eine position entfernt gefällt mir.
Mir fällt auch grade auf dass ich mit dem y ja schon die seitliche (x) position der vertikalen Linie festlegen kann, da kann ich mir die ersten stores/loads etc sparen und von einer fixen Startadresse oben links ausgehen und das sowieso benötigte y gleich sinnvoll nutzen und darin die position übergeben beim Einsprung in die routine.Mal schauen, ich will die Routinen noch etwas aufpeppen mit start/endpos um nicht nur volle linien zu zeichnen. Das kombiniert mit mit einer Angabe welche zeichen start/ende haben sollen und ich habe eine sehr flexible Lösung.
-
Ich versuche mich grade an Assembler für den PET. Als erstes Projekt will ich ein Screenalign-Progrämmchen schreiben, also eines was den Screen cleared und dann ein Zeilen- und Spaltenmuster schreibt: äußerer Rahmen, Fadenkreuz in der Mitte, das übliche. In Basic habe ich mir mal vor Jahren eines gebastelt, aber das ist natürlich lahm ohne Ende.
Jetzt habe ich was zusammenbekommen was läuft, zwei Subroutinen die entweder horizontale oder vertikale Linien aus beliebigen Zeichen ins Screenmem schreiben, jeweils ab einer Position die man im Akku übergibt. Also 0-79 für vertikale Linien und 0-24 für horizontale.
Grundidee: ich habe zwei Adressen "linepos" und linepos+1, in denen Low- und HighByte der Position im Screen-Ram stehen, in die ein Zeichen geschrieben wird (bzw ab der im Horizontalmodus eine kleine Schleife eine Zeile vollschreibt). Wenn ich nun in diese Adresse mit sta das gewünschte Zeichenschreiben will, gibt es da einen anderen weg als sta (linepos),y (mit y=0)Für die horizontale Linie ist es nützlich, da kann man in einer schleife y von 0 bis 79 laufen lassen um beginnend von der in linepos und linepos+1 stehenden Adresse 80 Zeichen zu schreiben, aber für die Vertikalroutine brauche ich das y eigentlich nicht. Aber so wie ich das lese geht es gar nicht anders, denn jsr (mempos) würde zwar gehen, aber nicht sta (mempos), richtig?
Hier mal die Routine um die es geht (vor allem die Zeilen mit dem (?) im Kommentar)Code
Display MoreVDRAW: sta linepos ; low byte of column start address = 0-79 chars from screen start, set in a before jsr lda #$80 sta linepos+1 ; high byte of column start, always $80 in the beginning ldx #0 ; line counter ldy #0 ; needed for indirect addressing with sta (?) VDRAWLOOP: lda #35 ; petscii code to display on screen sta (linepos),y ; y is always 0, only needed for indirect addressing of sta (?) clc lda linepos adc #80 ; next position below starting point = 80 chars away sta linepos bcc V_NOCARRY ; skip ahead if no carry flag inc linepos+1 ; add carry only if needed V_NOCARRY: inx ; increase line counter cpx #25 ; bottom of screen reached? bne VDRAWLOOP rts
Ich hätte wohl auch einfach die Cursorposition mit ROM-Routinen in X und Y Achse setzen können und dann noch eine Romroutine für die Ausgabe eines Zeichen nutzens, aber ich wollte eher direkt herangehen. Da lerne ich mehr. Und schneller ist es auch -
Soweit ich das sehe sind das 2364, allerdings mit positivem CS-Signal. Sollte das wirklich defekt sein könnte man das problemlos mit einem 2764 in einem Adapter mit Inverter für das CS Signal ersetzen.
Ich würde aber erst mal die wundervollen TI-Sockel im Verdacht haben. Roms raus, Deoxit oder Teslanol T6 rein, Roms wieder rein. Nochmal checken.