Hallo Besucher, der Thread wurde 6,4k mal aufgerufen und enthält 31 Antworten

letzter Beitrag von RKSoft am

1551 USB für Commodore Plus/4

  • Wer diesen Spuk loswerden will, gehe bitte in den Maschinensprachemonitor und gebe dort folgendes ein:
    F 1000 FD00 00
    und löse danach einen Reset aus. Dann hat man auch wirklich wieder 60671 Bytes free.


    Das Programm wurde von mir ($1001-$4000) neu gespeichert und mit Exomizer gepackt. Dahin wird es dann auch wieder entpackt und ab $2000 gestartet.


    Da reicht ein "f 3ffd 3fff 00" und nach dem Reset passt die "60671 Bytes free" Anzeige wieder. Scheint wohl ein Fehler im ROM zu sein ?

  • Nein. Das geht auf einer 16K-Maschine nicht anders (oder die Kiste schmiert ab). Speicher das nur bis 3ffb und gut is'.


    Da wird aber doch geprüft, wo man mit der oberen Adressleitungen schreibt. Das hätte man sich beim Plus/4 mit immer gleichem 64KB-Speicherausbau auch schenken können.


    Ich brauche schon den "ganzen" Speicher.





    (sind wir eiigentlich grad bei den Idiosynkratien von 16K-Proggrammen, dem kaputten Cartridge-Header oder dem USB-2-TDISK?)


    Generell beim merkwürdigen Verhau namens Plus/4. :)

  • Da wird aber doch geprüft, wo man mit der oberen Adressleitungen schreibt. Das hätte man sich beim Plus/4 mit immer gleichem 64KB-Speicherausbau auch schenken können.

    Ja, so macht man eine Speichergrößenerkennung- einfach und elegant. Bei dem Wildwuchs namens B128 hat man dazu noch zwei wertvolle Portbits vergeudet und je nach Speichergröße einen anderen ROM-Satz vorgesehen. B128 war die Kiste, die nie aus dem Quark kam, was zunächst zum abgespeckten C64 führte und 'etwas' später in einer Hauruck-Aktion als C128 zur Marktreife fertig-entwickelt wurde.


    Jedenfalls bin ich froh, daß ich derzeit anderes um die Ohren hab als meine Unterlagen zum TDISK-Interface auszubuddeln. Ich hatte doch tatsächlich gedacht daß es um ein ernsthaftes Projekt ginge und nicht nur um eine weitere Forum-Zumüll-Aktion :-(

  • Ja, so macht man eine Speichergrößenerkennung- einfach und elegant. Bei dem Wildwuchs namens B128 hat man dazu noch zwei wertvolle Portbits vergeudet und je nach Speichergröße einen anderen ROM-Satz vorgesehen. B128 war die Kiste, die nie aus dem Quark kam, was zunächst zum abgespeckten C64 führte und 'etwas' später in einer Hauruck-Aktion als C128 zur Marktreife fertig-entwickelt wurde.


    Die Vorgehensweise bei den B-Rechnern kenne ich,habe die vom 610, 710 bis zum P500 da. Beim Plus/4 hat das aber zwei kleine Nachteile: es ist unnötig und funktioniert sichtlich nicht richtig.



    Jedenfalls bin ich froh, daß ich derzeit anderes um die Ohren hab als meine Unterlagen zum TDISK-Interface auszubuddeln. Ich hatte doch tatsächlich gedacht daß es um ein ernsthaftes Projekt ginge und nicht nur um eine weitere Forum-Zumüll-Aktion


    Hier geht es um ein funktionierendes kleines und sehr flexibles Projekt. Prinzipiell läßt sich das Konzept an jedem C=-Rechner mit vollständigem Userport (8Bit+2Handshake Bits) verwenden. Das habe ich später auch noch für meinen CBM 2001 vor.


    Ich erwähne es nochmals: es ist absichtlich durch den Arduino (Uno oder Nano) so einfach konzipiert, damit die drei etwaigen Interessenten das bei Bedarf nachbilden können. Das zu irgendeinem großen Projekt aufzublasen wäre einfach unsinnig, daher das kostengünstige Baukastenprinzip.


    Meine Zeit ist auch begrenzt, daher möchte ich Dich auch bitten, das Thema nicht weiter mit Flames zu zumüllen. Ein eigenes Interface hatte ich auch schon angedacht (mit 6522A und 8255 PLCC). Das ist sehr einfach, aber auch dumm und unnötig.

  • Ein kleines Update: der Function Lo ROM-Code wurde überarbeitet und erweitert.


    http://www.cbmhardware.de/show.php?r=10&id=21/1551USB Function-ROM Lo V0.2



    Das Problem mit dem geknickten Bit ist auch behoben.


    Weil viel freier Speicher da war und es so schön bequem ist, wurde ein Directoy-Browser fürs SD2IEC eingebaut: http://plus4world.powweb.com/software/Directory_Browser
    Geht mit Jiffy schon schaurig ab. :)



    Code
    1. michael@michael-CELSIUS-W280:~/c16/games$ sudo send -f Mercenary.prg
    2. # Complete Blocks : 236
    3. # Carryover Bytes : 231
    4. # Low-Address: 0X1
    5. # High-Address: 0X10
    6. # Filename: Mercenary.prg
    7. # Adding Pointer: 60677bytes
    8. # Completing Blocks: 237
    9. # Sending @ 57600 bps
    10. Laufzeit: 10.90 Sekunden


    Der letzte Test mit angebundenen Linux cat und Laufzeitmessung. In rund 11 Sekunden ist der Speicher voll. Da sehe ich keinen Nachbesserungsbedarf in Punkto Geschwindigkeit.
    Bei kleinen CrossDev-Experimenten liege ich meist deutlich unter 0,5 Sekunden.

  • Ein kleines ROM-Update auf Version 0.3: http://www.cbmhardware.de/show.php?r=10&id=22


    Der "32K+ Loader" wird nun vollständig aus dem ROM heraus gestartet und liegt ab $0333 im Speicher.
    Der Border ändert nach jedem gesendeten Block die Farbe um Aktivität zu signalisieren.
    Ein kleiner Fade-In Effekt kam hinzu.
    Kleine Optische Änderungen: "1551USB ON KEY F1" mit passenden Leerzeichen.


    Bekannte Probleme:
    Einige alte RLE-Packer wollen nach dem Senden nicht richtig entpacken.
    Nach dem Empfang erscheint "?SYNTAX ERROR IN 10". Nervt, beeinträchtigt aber die Funktion nicht.


    Ansonsten stabil und schnell:

    Code
    1. root@michael-CELSIUS-W280:/home/michael/c16# send -f kikstart.prg
    2. # Complete Blocks : 24
    3. # Carryover Bytes : 213
    4. # Low-Address: 0X1
    5. # High-Address: 0X10
    6. # Filename: kikstart.prg
    7. # Adding Pointer: 6405 Bytes
    8. # Completing Blocks: 25
    9. # Sending @ 57600 bps
    10. # Runtime: 1.20 Seconds


    Mal kurz Kikstart rüber gebeamt. :)

  • Heute gab es mal einen ersten Versuch, kleine Spiele direkt vom ftp auf den Plus/4 zu bringen. Schreibe noch am Bash-Script, aber prinzipiell funktioniert es schon mal. Einige alte Packer wollen nicht und für ZIP brauche ich noch eine zusätzliche Behandlung. Ist dann natürlich nur für Linux.


    Vielleicht richte ich mal einen kleinen ftp mit garantiert funktionstüchtigen Spielen (umgepackt mit Exomizer) an.



    Das Script lädt die Datei per wget runter, überprüft das Vorhandensein und sendet dann zum Plus/4:


  • 1.21 Sekunden vom ungarischen (?) Server bis zum Programmstart. :)


    Habe mal eine eigene Sammelstelle für sicher funktionierende Programme angelegt: http://1551usb.cbmhardware.de/ Wird mit der Zeit mehr ...


    dl.sh

    Shell-Script
    1. #!/bin/bash
    2. wget $1
    3. filename=${1##*/}
    4. if [ -f ${filename} ]
    5. then
    6. send -f ${filename}
    7. rm ${filename}
    8. else
    9. echo File not found !
    10. fi


    ,/dl.sh http://plus4world.powweb.com/dl/games/k/kikstart.prg


    (URL im Browser mit "Link-Adresse kopieren" holen.)



  • 1.21 Sekunden vom Download bis zum Spielstart? oO Krass!
    Geiles Projekt, echt! :thumbup: