Hallo Besucher, der Thread wurde 47k mal aufgerufen und enthält 204 Antworten

letzter Beitrag von Krill am

Schneller Trackloader

  • Das mit den page cross zyklen steht auch im quellcode. Eineige Befehle brauche da eine Tackzykle mehr.



    Ich hatte gestern die Arbeiten an „Lords of Doom 1581“ abgeschlossen. Jetzt muss ich es nur noch durchspielen um eventuelle Bugs zu finden.
    Den letzten Fehler hatte ich mir selber eingebaut. Und zwar lädt der Lader die Bilddateien und entpackt diese danach. Ich hatte vergessen $01 vor dem Laden auf dem Stack zu legen und danach wieder zurückzuschreiben. So war $01 immer #37.Der Lader lädt eine Grafik nach $A000 und der depacken versucht das Basichrom zu entpacken. Ich habe 2 Stunden gesucht bis es mir dämmerte, dass ich was Wichtiges vergessen hatte.

  • >Das mit den page cross zyklen steht auch im quellcode. Eineige Befehle brauche da eine Tackzykle mehr.


    jo... der hinweis bezieht sich aber auf die code position... nicht auf die lade position... glücklicherweise ist mir aufgefallen das die original version das file fehlerfrei liest weil er eben nach 0801 läd...
    dadurch das ich den bereich der directory benutz hab ich noch bissi platz für nen fadeout am anfang... vielleicht wirds ja endlich diese woche fertig... nur das testen auf richtiger hardware da graut mir schon wieder vor... hoffe nich das der lader nochma probleme macht ;)


    1 ist schön oder? ;)

  • der fastloast macht schon wieder probleme...
    jetzt hab ich den gleichen effekt wie anfangs... geht auf einer floppy auf der anderen nicht... der floppy code ist absolut identisch hab ich via svn gecheckt... hm


    also wenn ichs morgen nich finde fliegt der fasterloader raus... hab echt kein bock mehr ;/ ist nen proof of concept aber mehr irgendwie nicht... sorry bin gerade bisschen genervt ;)

  • ja illegale opcodes hatten wir schon bissi früher... und sind zum schluß gekommen das es nicht das problem ist... aber danke für den hinweis ;)
    hab aber trotzdem mal alle opcodes geprüft eben... wird nur lax $0000,x benutzt und der ist laut der tabelle legal




    zugeben ich war gestern nicht mehr so ganz frisch. hab die letzten 3 tage ziemlich viel gemacht auch debuggt am loader und kaum geschlafen... vielleicht sahs das problem auch vor dem rechner ;)


    mit ner mütze schlaf sieht das doch gleich viel besser aus und positiver... nochma alles ausgecheck und assmbliert nun gehts... keine ahnung warum...
    ich hoff das bleib auch so ;) der erste dauertest (jeweils 11 files ne stunde auf beiden floppys laden gucken und nächsten) ging...

  • Ich habe Mafiosino´s supergeilen Trackloader mal von dasm auf acme portiert und bei der Gelegenheit gleich mal ein bißchen erweitert:
    Mit der Version 1f (so hab ich sie jetzt einfach mal genannt :anonym ) ist nun das "Trackloaden" nicht nur mit Drive#8 sondern nun auch mit Drive#9,10 und 11 möglich.

    Ich bin gerade am rumtesten mit diesem Trackloader im Denise Emu und er lädt wirklich extrem schnell. Das sind schon Bereiche von DolphinDOS und ProfDOS Speeder-Kernels. Tolle Sache.

    Eines fiel mir bei der 1f Version noch auf, dachte ich melde das mal, vielleicht kann es ja gefixt werden? Und zwar geht damit der Befehl Load"$",8 scheinbar nicht mehr, der mit der V1e noch ganz normal funktioniert.


    Auf die Art, dass man sich zunächst die Disk-Directory anzeigen lässt, nutzt man ja häufig solche Fastloader-Programme, da man ja nicht immer die Namen aller auf der Disk befindlichen Files auswendig kennt. Ist die Directory dann da, geht man einfach in die Zeile des zu ladenden Programms rein und schreibt sein Load davor und dahinter ,8 undsoweiter. Die v1f führt bei Load"$",8 statt die DIR zu zeigen, aber immer den Befehl Load"*",8 aus und das erste sich auf der Disk befindliche Programm wird dann geladen.


    Richtig cool wäre, wenn man hier ein Cartridge hätte mit diesem schnellen Loader, bei dem es auch Funktionen auf den F-Tasten gäbe, also ähnlich wie beim FC3 oder AR6. Sowas in der Art wie [List], [Run], [Load"$",8] und [Load"*",8,1]. Da könnte man sich ein richtig sauschnelles Fastloader-Cartridge zusammenbasteln.

  • Ich bin gerade am rumtesten mit diesem Trackloader im Denise Emu und er lädt wirklich extrem schnell. Das sind schon Bereiche von DolphinDOS und ProfDOS Speeder-Kernels. Tolle Sache.

    Eines fiel mir bei der 1f Version noch auf, dachte ich melde das mal, vielleicht kann es ja gefixt werden? Und zwar geht damit der Befehl Load"$",8 scheinbar nicht mehr, der mit der V1e noch ganz normal funktioniert.

    ich hab das mal gefixed - KLICK!

  • ich hab das mal gefixed - KLICK!


    Prima Sache. Eine Frage noch. Wäre es sehr aufwändig, diesem Fastloader gleich eine F-Tasten-Belegung mit zu verpassen, also etwa die vom Final-Cartridge3:

    F1 = [List], F3 = [Run], F5 = [Load"$",8] und F7 = [Load"*",8,1]

    Denn falls nicht, wäre das bestimmt eine prima Sache für's Handling mit dem Teil.

  • Hallo zusammen,


    ich wollte gerne einen Trackloader haben, an/mit dem ich auch direkt auf dem C64 arbeiten kann. Also habe ich von Mafiosinos Trackloader 1g eine Version geschrieben, die sich (nach Konvertierung mit petcat) auch auf dem C64 in TASS/TMP assemblieren lässt! :-)


    Schicke ich hier als Dateianhang mit.


    petcat -text -w2 -o track1g.seq -- track1g_tasm.asm


    Auf dem PC lässt sich der Source mit TMPX wegen den Code Relocations nicht assemblieren, aber man kann 64tass nutzen:


    64tass -a -T -o track1g.prg --m6502 track1g_tasm.asm


    Viel Spaß damit.

  • Hier gibt es Neuigkeiten. Und zwar hatte ich wegen dieser F-Key-Belegungssache im Mafiosino und noch ein paar anderen Punkten zu diesem Fastloader, die ich mir überlegt hatte, rh70 kürzlich einmal angesprochen und da er nicht abgeneigt war, sich damit zu beschäftigen, haben wir gemeinsam eine V2.0 Version des Loaders erstellt. Das Coden hat er dabei übernommen und ich war als Ideengeber und Tester mit dabei.


    Als Grundlage hat hierbei die gefixte Mafiosino Version von GI-Joe gedient, die den Multidrive-Support mit enthält. rh70 hat eine DOS/GUI mit F-Tastenbelegung dazugefügt, sowie einen Fix für das Laden von Files der Größe 202 Blocks. Folgendes steht nun alles zur Verfügung im "Mafiosino Loader V2.0", den wir dann letztendlich "MafioDOS" genannt haben:


    - das Laden des MafioDOS selbst, also sein eigener Ladevorgang, wird bereits beschleunigt und es startet auch von selbst. Geladen werden muss das Tool immer mit ,8,1


    - folgende F-Key Belegungen stehen dem User jetzt dann zur Verfügung nach dem Start:


    F1 = List

    F2 = Drive Status

    F3 = Run (und Mafiosino aus schalten)

    F4 = Run

    F5 = Load"*",8 oder gewünschtes File aus der Zeile der Directory heraus laden

    F6 = Old

    F7 = Disk-Directory listen

    F8 = New


    Die Taste F5 lädt, wenn man sie direkt nach dem Start des Programms drückt, direkt immer das erste File der eingelegten Disk (del-Files werden hierbei ausgelassen). Man kann aber auch erst F7 drücken, dann mit den Cursortasten in die gewünschte Zeile der Disk-Directory gehen und dann F5 drücken, dann wird dieses File geladen (genauso wie beim FC3 Modul im Endeffekt).


    - es gibt zwei Versionen von MafioDOS, eine Light und eine Deluxe Version und beide sind sowohl als prg-Files, als auch Cartridge Versionen verfügbar. Unterschied zwischen Light und Deluxe ist, dass die DX Versionen zusätzlich, zu Beginn einen Info-Screen mit der F-Tastenbelegung zeigen, sowie dort dann auch eine Floppy-Auswahl möglich ist (etwa wenn der User von Laufwerk 9, 10 oder 11 laden will), während die Light-Versionen direkt im Programm beginnen


    - der Mafiosino lädt ein 200 Blocks grosses File ungefähr in 6 Sekunden, damit hat er circa denselben Speed, wie das DolphinDOS Kernel, also für einen Software-Loader, geht es schon richtig ordentlich ab. Da hat der User Mafiosino wirklich tolle Arbeit geleistet


    - empfohlen wird (denn ich habe viel herumgetestet und dabei bemerkt), dass man die geladenen Files vorwiegend mit F3 starten sollte, da sich hierbei MafioDOS dann selbst immer mit abschaltet. Einige Programme vertragen es nicht, wenn der Fastloader im Speicher verbleibt und man braucht dies auch nicht wirklich, denn schneller nachgeladen, wird damit sowieso so gut wie nie, meinen Testerfahrungen nach. Dennoch gibt es aber auch die Möglichkeit, Programme so starten zu können, dass MafioDOS im Speicher bleibt (F4), was teils dann aber auch zu Problemen führen kann


    - gepackt ist MafioDOS jetzt nicht, in den hier angehängen Versionen, da sich dies, aufgrund der Tatsache, daß MafioDOS selbst schon beschleunigt geladen wird, zeitlich nicht gelohnt hätte. Das Programm würde mit dem Exomizer dann zwar circa 5 Blocks kleiner (hatte ich getestet), man hat dann aber wieder den kleinen Entpackprozess noch, der zwar auch schnell geht, dennoch aber sogar ein bisschen länger dauert, als 5 Blocks mehr, per Fastloader in den Speicher zu schaufeln. Das hatte ich mit einer Uhr einmal gestoppt). Daher blieben die Versionen jetzt ungepackt und sie laden, dank der Beschleunigung, so schnell, als hätte das Programm nur 3 oder 4 Blocks, anstatt 17 oder 19. Aber jeder kann sich ja das Tool selbst im Nachhinein noch packen, wenn er will. Vorteil ist dann halt lediglich, dass man den Mafiosino evtl auch noch auf solche Disks mit draufbekommt, auf denen er sonst vielleicht rein platzmäßig nicht mehr gepasst hätte, weil kaum mehr Blocks frei sind. Aber wie gesagt, der Unterschied sind eh nur 5 Blocks und Zeitvorteil bis er startbereit ist, hat man dann nicht, eher im Gegenteil, viel Unterschied ist aber nicht


    - die crt-Versionen bleiben natürlich im Speicher nach einem Reset und sind dann direkt wieder einsatzbereit. Ich hatte ungefähr um die 100 Onefiler (zumeist Spiele) als Test mit den prg und den crt Versionen des Mafiosino V2.0 im Vorfeld ausprobiert und darunter entdeckte ich 2 Stück, die mit den prg-Versionen liefen, während sie mit den crt-Versionen Probleme machten, da hier dann das Cartridge offenbar einen Speicherbereich mit belegte, den dieser Crack des Spiels scheinbar irgendwie benötigte. Aber das betraf 2 von circa 100, also das sollte nur wirklich selten vorkommen. Es gibt aber ein paar Cracks, die generell Probleme mit Software-Fastloadern machen, die werden hier dann ebenfalls auftreten. An die Kompatibilitätsquote von Speeder-Kernels wie JiffyDOS, ProfDOS oder DolphinDOS kommt man mit einem Software-Fastloader nicht ganz heran, also den ein oder anderen Onefiler wird man immer mal finden, der damit Probleme macht, es sollte sich aber klar in Grenzen halten und den bisherigen Tests nach, tut es das auch


    - als Bedienung der prg-Versionen von MafioDOS empfehle ich folgendes. Sich eine der beiden Versionen (Light/Deluxe) aussuchen und diese umbenennen in "m.prg" oder "md.prg", sodaß das Programm dann einen Namen hat, den man immer sehr schnell getippt hat und dieses File dann unten mit in diejenigen Disketten hineinkopieren, auf denen man den Fastloader eben gebrauchen kann. So, wie man es früher kannte von den alten Klassikern wie Hyproload oder Fastdisk, wisst ihr ja alles selbst. Es ist bei MafioDOS jetzt nur der Ladebefehl mit ,8,1 immer noch zu tippen, alles andere, kann der User dann über vorgefertigte Tasten erledigen und das bringt insgesamt ein sehr schnelles Handling mit dem Tool


    - wer das nötige Equippment zuhause hat, kann sich ja ein Eprom brennen und aus einer der crt-Versionen ein echtes Cartridge erstellen. Wäre sehr interessant, einmal Infos darüber zu bekommen, wie solch ein echtes Cartridge dann letztendlich in der Praxis funktioniert?


    - eventuell kann man aus den crt-Files, die momentan EF-Cartridges sind, auch andere Typen von Carts basteln, etwa auch mit cartconv. Das können User, die da fit sind, ja einmal ausprobieren. vielleicht findet sich sogar noch ein Cartridge-Typ der besser geeignet ist als EF, für das Tool?


    Alle Files im Anhang zu finden. Viel Spaß damit, wünschen euch rh70 und ich. :) Alle bislang beteiligten Personen in den ganzen Versionen des Mafiosino, wurden natürlich mit genannt, im Info-Screen der neuen V2.0, vor allem natürlich Mafiosino selbst, der die erste Version programmiert hatte. Probiert das Teil mal aus, das Handling ist wirklich prima, mit den ganzen zur Verfügung stehenden Keys.

  • Ist die tatsähcliche Beschleunigung auch abhängig davon, auf welchen Tracks die Datei liegt?

    Gute Frage. Die müsste Mafiosino am besten beantworten, vielleicht kann auch rh70 etwas dazu sagen?


    Übrigens: Dieser Thread ist als "erledigt" markiert. Neuigkeiten würde ich separat announcen :)

    Das hatte ich gar nicht gesehen vorher. Stimmt, wäre dann besser. Aber vielleicht kann auch ein Mod den Thread wieder als "nicht erledigt" markieren. Ich frag mal nach.






    Eine Info noch zu den Light Versionen. Die Light-crt Version hat immer fix das Floppy 8 eingestellt und die Light prg-Version lädt immer von demjenigen Floppy, von dem sie gestartet wurde, das kann dann auch ein anderes als 8 sein.

  • st die tatsähcliche Beschleunigung auch abhängig davon, auf welchen Tracks die Datei liegt?

    Glaube nicht, dass die Lage der Files viel ausmacht. Du kannst ja mal 3 x 200 Block große Files auf die Diskette schreiben und dann die Zeit stoppen, beim Laden der einzelnen Files.

  • st die tatsähcliche Beschleunigung auch abhängig davon, auf welchen Tracks die Datei liegt?

    Glaube nicht, dass die Lage der Files viel ausmacht. Du kannst ja mal 3 x 200 Block große Files auf die Diskette schreiben und dann die Zeit stoppen, beim Laden der einzelnen Files.

    Das hatte ich zwischenzeitlich schon gemacht :)


    Ohne Stoppuhr merkt man keinen Unterschied.


    Aber es ist ein Unterschied vom Entern des Load-Befehles bzw vom Drücken der F5-Taste bis zum Löschen des Bildschirms.

    Das erscheint mir ausgerechnet beim obersten File aus dem Directory länger als beim 2. oder 3.


    Erklären kann ich das nicht. Ist eigentlich auch egal, denn sauschnell ist das Teil immer noch. Ich kenne auf unmodifiziertem Dateisystem und nem Vanilla C64/1541 keinen schnelleren Software-Loader. RESPEKT!


    (Ich hätte mit eine F-Taste mit einer Load + Run Kombination gewünscht)

  • (Ich hätte mit eine F-Taste mit einer Load + Run Kombination gewünscht)


    Genau darüber hatten wir auch schon nachgedacht. Aber das ist gar nicht so leicht umzusetzen, wie man vielleicht zunächst denkt, da sich der Mafiosino selbst, dann ja auch gleichzeitig immer noch mit abschalten soll (zumindest über F3).

    Und diese Kombi aus "File hat fertig geladen und soll von selbst starten / Mafiosino soll sich gleichzeitig abschalten" war bislang nicht ganz fehlerfrei umzusetzen. Daher ließen wir das zunächst einmal weg.


    Aber mal sehen, vielleicht bekommt man das noch besser hin, dann kann ja noch eine V2.1 nachkommen, mit der das dann geht? Den bisherigen Befehl auf F4 (File starten und Mafiosino bleibt aktiv) braucht man eigentlich kaum bis gar nicht, der könnte dafür dann rausgenommen werden.




    Insgesamt ist das Handling jetzt mit den F-Keys aber wirklich ultraschnell. Ich hatte es mal gestoppt und jeweils den gesamten Ladeprozess mit einbezogen (auch das nötige Laden der Fastloader selbst), vom anfänglichen BASIC Anfangsbildschirm angefangen, bis das File dann fertig geladen war und dabei verschiedene Fastload-Möglichkeiten einbezogen. Das war ganz interessant. Wen es interessiert, ich schildere das mal.


    Nimmt man etwa als Grundlage ein 200 Blocks grosses File (als Name XXX angenommen), welches sich in der Mitte einer Disk befindet (und somit nicht einfach mit Load"*",8 geladen werden kann) dann sieht es ungefähr so aus:



    Ladeprozess dieses Files ohne irgendeinen Fastloader

    Nötige Handlungen:

    * Load"XXX",8

    Zeitaufwand über 2 Minuten, bei normal schneller Schreibweise des Users beim eintippen das Ladebefehls.

    Kennt man aber den Namen des Files nicht, muss man auch noch die Directory vorher einmal laden, um zu sehen wie es heisst. Dann ist der ganze Ladevorgang nochmal etwas länger.


    Ladeprozess dieses Files mit dem altbekannten 80er Jahre Klassiker "Fastload"

    Nötige Handlungen:

    * Load"Fastload",8,1

    * Load"XXX",8

    Zeitaufwand um die 40 Sekunden, bei normal schneller Schreibweise des Users.

    Kennt man aber den Namen des Files nicht, muss man auch noch die Directory vorher einmal laden mit Fastload, um zu sehen wie es heisst. Dann ist der ganze Ladevorgang nochmal etwas länger.


    Ladeprozess dieses Files mit einem FC3-Cartridge

    Nötige Handlungen:

    * F7 drücken (Directory wird gelistet)

    * mit Cursortasten in Zeile des gewünschten Files gehen und F5 drücken

    Zeitaufwand insgesamt circa 17 Sekunden


    Ladeprozess dieses Files mit der prg-Version von MafioDOS-Light

    Nötige Handlungen:

    *Load"Mafio",8,1

    * F7 drücken (Directory wird gelistet)

    * mit Cursortasten in Zeile des gewünschten Files gehen und F5 drücken

    Zeitaufwand insgesamt circa 20 Sekunden, bei zügiger Schreibweise des Users und wenn er keinen Fehler beim eintippen des Ladebefehls begeht.


    Ladeprozess dieses Files mit der crt-Version von MafioDOS-Light

    Nötige Handlungen:

    * F7 drücken (Directory wird gelistet)

    * mit Cursortasten in Zeile des Files gehen und F5 drücken

    Zeitaufwand insgesamt circa 11 Sekunden



    Was mich am meisten beeindruckt hat, war nicht einmal, dass die crt-Version von MafioDOS-Light, dies klar am schnellsten erledigen kann. Denn das hatte ich eh vermutet, da der Loader selbst ja ultraschnell ist und ein crt-File den Fastloader ja immer direkt griffbereit hat. Sondern mich beeindruckte beim Test am meisten, dass man mit der prg-Version von Mafiosino-Light, obwohl man damit anfangs einmal den Ladebefehl manuell eintippen muss, dann insgesamt trotzdem nur ein paar wenige Sekunden langsamer ist, als mit dem FC3-Cartridge, wenn ein zu ladendes File 200 Blocks gross ist. Vorausgesetzt, man vertippt sich anfangs nicht und man braucht nicht ewig zum Eintippen, sondern man tippt zügig und ohne Fehler den Ladebefehl des Mafiosino einmal ein (dazu empfehle ich einen ganz kurzen Namen für den Mafiosino selbst, am besten nur ein Buchstabe).


    Den zeitlichen Vorsprung, den das FC3 hier dann anfangs dadurch hat, dass man dessen Loader ja nicht erst hineinladen muss, holt der Mafiosino durch seinen schnelleren Ladeprozess, bei einem 200 Block grossen File, dann fast wieder heraus, bis auf 2 oder 3 Sekunden. Schon erstaunlich für das Handling mit einem Software-Fastloader diese schnellen Zeiten insgesamt, finde ich. Bei kleineren Files, ist der Vorsprung mit dem FC3 dann wieder etwas grösser, hält sich aber auch in Grenzen.


    Der Grund, warum ich hier die Light-Versionen des Mafiosino zum Testen nahm, war übrigens der, dass hier ein Tastendruck weniger nötig ist, weil man in der Deluxe-Version ja immer einmal noch das gewünschte Floppy im Info-Screen auswählen muss, was auch wieder ein klein wenig Zeit kostet (wennauch nur wenig).