Suche...

1, 2, 3, 4

Suche...

von HiassofT » Mo 15. Dez 2003, 19:11
@Andreas:
vorredner hat geschrieben:Tja, und Basic ?!? Gaebe es da nicht die Moeglichkeit einen Automatik-Schalter einzubauen ?!?

Hatte ich auch schon mal überlegt. Vor einiger Zeit hatte ich mal irgendwo die Infos gefunden, wie man "korrekt" Basic ein- bzw. aus-schaltet, also welche Adressen (106 etc.) alle angepasst werden müssen. Leider finde ich diese Info im Moment nicht mehr...
Frage: hat einer von Euch zufällig diese Infos irgendwo parat?

vorredner hat geschrieben:Was ist eigentlich in deinem Gamedos der Unterschied zwischen COM und BIN ?!? Lassen sich mit BIN etwa Cass. Files (die nicht nachladen) laden ?!?

Ja, genau. Mit "BIN" meine ich das (Standard) Boot-Format von Disketten und Kassetten.

so long,

Hias

Suche...

von CharlieChaplin » Mo 15. Dez 2003, 21:23
Hmmm,
habe leider auch nur ein File mit dem Namen \"Basicoff.Obj\" das ca. 40-50 bytes lang ist und das Basic abschaltet (eignet sich natuerlich am besten via append - es belegt aber Page 4!)... vielleicht kann man es ja disassemblieren und schauen, was es macht... wenn nicht gebe ich die frage an die programmierprofis weiter... Gruss, Andreas magenheimer.

P.S.: mail to amp@abbuc.de if interested !

Suche...

von Bernhard » Mo 15. Dez 2003, 22:06
@Hias:

vorredner hat geschrieben:Allerdings finde ich die Anzeige des Formates ziemlich gewöhnungsbedürftig.

Wenn Du irgendeine bessere Idee hast, nur zu!


Nö, hab keine bessere Idee. Ich würde halt nur gern lesen dass eine QD auch als QD und eine ED als ED angezeigt wird. Aber du hast recht, ist eigentlich garnicht so wichtig. Die Arbeit, die drin steckt, wollte ich auf keinen Fall damit schmälern. Zumal ich Software-mässig rein garnichts auf dem Kasten habe WEISS ICH DAS DOPPELT ZU WÜRDIGEN.

Suche...

von Dietrich » Di 16. Dez 2003, 00:18
Hi !

vorredner hat geschrieben:Vor einiger Zeit hatte ich mal irgendwo die Infos gefunden, wie man "korrekt" Basic ein- bzw. aus-schaltet, also welche Adressen (106 etc.) alle angepasst werden müssen. Leider finde ich diese Info im Moment nicht mehr...
Frage: hat einer von Euch zufällig diese Infos irgendwo parat?
Bitte sehr (die perfekte Version):

; Schattenregister auf "Basic aus"
ldx #1
stx 1016

; ggf. eingestecktes OSS-Switch-Cartridge abschalten
sei
stx $d508
lda 53267 ; damit VBL-Interrupt beim Cartridge-Abschalten
sta 1018 ; nicht stehen bleibt
cli
lsr a
bcs error ; nicht abschaltbares cartridge eingesteckt

; OS-HIMEM-Pointer anpassen
ldy #$c0
sty 106 ; wichtig für Gr.0-Aufbau
sty 740 ; nicht so wichtig
; Basic ausschalten
lda #255
sta $D301 ; PORTB

; GR.0 neu aufbauen
; erst mal CLOSE #0
ldx #0
lda #12
sta $302
jsr 58454 ; CIO
; und jetzt OPEN #0,12,0,"E:"
lda #3
sta $302
lda #< editor
sta $304
lda #>editor
sta $305
lda #12
sta $30a
stx $30b
jsr 58454

; warten bis VB-Interrupt den Gr.0-Screen aktiviert hat
; nur interessant, wenn danach sofort von Disk geladen wird,
; sonst erscheint nämlich der neue Gr.0-Screen irgendwann
; während des Ladens (sieht etwas unschön aus).
ldx #0
ldy #0
?1 dey
bne ?1
dex
bne ?1

rts

editor .byte "E:",155

Gruß Dietrich (das wandelnde Atari-Archiv)

Suche...

von HiassofT » Mi 17. Dez 2003, 20:08
@Dietrich: Vielen Dank für die Infos! (BTW: ich nehme an, dass es statt $30x $34x heissen muss). Hast Du zufällig auch Infos darüber, ob man beim aktivieren von Basic (falls es beim Booten ausgeschaltet war) irgendwas beachten muss? Momentan glaube ich das nicht (die Basic-Modul-Init Routine zeigt ja nur auf ein RTS) aber hab\' ich ja noch irgendwas übersehen (an die Adresse 1016 hätte ich jedenfalls nicht gedacht).

@Willi: vielleicht finde ich über die Feiertage etwas Zeit und implementiere eine zusätzliche Auswahl mit langen Namen und Titelzeile. Eine Idee hätte ich da schon :-)

@Bernhard: Ich werde die Density-Anzeige vorerst mal so lassen wie sie ist. Wäre doch einiges an Programmieraufwand die ganzen Dichten korrekt zu unterscheiden und zum Laden brauche ich das ja nicht :-)

so long,

Hias

Suche...

von Dietrich » Do 18. Dez 2003, 23:04
vorredner hat geschrieben:(BTW: ich nehme an, dass es statt $30x $34x heissen muss).
Ähem, das kommt davon, wen man alles aus dem Gedächtnis schreibt. Und Basic einschalten, hab\' ich auch vergessen, sowas :mad:
Also hier die vollständige Routine (den GR.0-Aufbau ersetze ich mal durch JSR GR0)::)

; x=1 Basic ausschalten
; x=0 Basic einschalten
stx 1016
sei
stx $d508
lda 53267
sta 1018
cli
lsr a
bcs error ; nicht abschaltbares Cartridge entdeckt
ldy #$a0
lda #253
dex
bmi ?1
ldy #$c0
lda #255
sta $d301
?1 sty 106
sty 740
pha
jsr gr0 ; Graphics 0 aufbauen (siehe oben)
; beim Basic einschalten hier den sta $d301,
; da sonst der Bildschirm kurz flackert
pla
sta $d301
lda #0
sta 8 ; Basic-Kaltstart
rts

Danach kann man das Basic mit jmp ($bffa) starten. Vorher sollte allerdings MEMLO (743/744) auf einen vernünftigen Wert zeigen, sonst geht das schief, da Basic den Speicher ab MEMLO benutzt.

Gruß Dietrich

Suche...

von Bernhard » Fr 19. Dez 2003, 00:29
Habe das MyPicoDOS auch mal mit einer 720k-Disk probiert (DS/DD, 80 Tracks pro Seite). Auch das hat super funktioniert.

Suche...

von HiassofT » Do 22. Jan 2004, 21:58
So, ich habe jetzt MyPicoDos ziemlich umgekrempelt und einige neue Sachen implementiert:
- Durch die Umstrukturierung benötigt der Lade-Teil jetzt weniger Speicher, sodass auch kritische Programme laufen sollten.
- Es gibt jetzt eine Standard-Version, die nur die SIO-Routine des OS benutzt, und eine Highspeed-Version mit integrierter Highspeed-SIO Routine.
- Bei der Highspeed-Version ist die integrierte SIO-Routine weiterhin abschaltbar, falls irgendwelche Programme Probleme bereiten sollten.
- Die aktuelle Version kann die Dateinamen in einer langen Form darstellen. Pro Directory gibt es dafür ein eigenes File, das die DOS-Namen sowie die langen Namen, die angezeigt werden sollen, enthält.
- Das Init-Programm enthält einen Editor für die langen Namen, die - falls gewünscht - alphabetisch sortiert werden können.
- Der automatische Basic-Schalter (ein bei Basic-Programmen, sonst aus), ist jetzt auch drin.

Die aktuelle Test-Version gibt\'s unter http://www.horus.com/~hias/atari/mypdos40-test1.zip zum Download.

Falls euch beim Testen irgendwas auffällt, lasst es mich bitte wissen!

so long,

Hias

Suche...

von HiassofT » Di 27. Jan 2004, 21:29
Ich habe MyPicoDos 4.0-test1 vorläufig wieder vom Server genommen, da Andreas Magenheimer gestern einen wichtigen Bug gefunden hat: MyPicoDos lädt nicht, wenn man es mit dem Init-Programm auf eine Disk schreibt.

Dieser Bug ist mir im letzten Moment (nach meinen Tests) noch reingerutscht :-(

Inzwischen habe ich noch ein paar kleinere Erweiterungen eingebaut: automatischer Basic-Switch und lange Filenamen sind jetzt abschaltbar und die Highspeed-Version deaktiviert jetzt automatisch beim Laden die eigene SIO-Routine wenn das Laufwerk kein Highspeed kann.

Sobald ich mit dem Testen fertig bin, melde ich mich wieder!

so long,

Hias

Suche...

von HiassofT » Do 29. Jan 2004, 02:23
So, ich hab\' jetzt die neue Version hochgeladen. Die Anleitung (README.txt) hab\' ich auch noch ein wenig überarbeitet.

http://www.horus.com/~hias/atari/mypdos40-test2.zip

Bitte schickt mir einen kurzen Kommentar wenn ihr die Version testet.

so long,

Hias

Suche...

von Schmutzpuppe » Do 29. Jan 2004, 21:03
Ich habe den Thread bisher nicht verfolgt weil ich (bisher) kein MyDos nutzte aber ich schätze mal das es Sinn macht wenn man z.B. das MyIDE Interface nutzt.
Gibt es noch einen anderen Grund MyDos zu nutzen?
Und was ist der Unterschied zu MyPicoDos (ausser das es kürzer ist sofern der Name Programm ist)

Suche...

von Bernhard » Do 29. Jan 2004, 21:17
vorredner hat geschrieben:Ich habe den Thread bisher nicht verfolgt weil ich (bisher) kein MyDos nutzte aber ich schätze mal das es Sinn macht wenn man z.B. das MyIDE Interface nutzt.
Gibt es noch einen anderen Grund MyDos zu nutzen?
Und was ist der Unterschied zu MyPicoDos (ausser das es kürzer ist sofern der Name Programm ist)


MyDOS hat ein paar mehr Möglichkeiten (u.a. in der Konfiguration) zu bieten wie z.B. DOS 2.5 oder Bibo-DOS. Am besten mal die Anleitung durchlesen.

Viele Spiele starten nicht mit einem normalen DOS sondern brauchen ein sogenanntes Game-DOS. MyPicoDos ist ein solches Game-DOS. Es läuft mit (fast) allen Disketten-Formaten und startet (wie weiter oben zu lesen) COM, BIN und BAS Dateien.

Suche...

von Schmutzpuppe » Do 29. Jan 2004, 21:30
Die Erklärung ist absoult ausreichend, danke (warum noch eine Anleitung lesen?) ;)

Suche...

von HiassofT » Fr 30. Jan 2004, 01:57
vorredner hat geschrieben:Und was ist der Unterschied zu MyPicoDos (ausser das es kürzer ist sofern der Name Programm ist)


Den technischen Hintergrund hat ja Bernhard schon recht gut erklärt, aber weil Du gerade den Namen ansprichst, hier ein kleiner Überblick über die Entwicklung von MyPicoDos und die Entstehung des Namens:

Mitte der 80er (muss wohl ca 1986 gewesen sein) habe ich hauptsächlich MicroDos und den NDos Converter (NanoDos) verwendet. Einige Programme haben aber nur entweder mit MicroDos oder nur mit NDos funktioniert, also habe ich mir gedacht es kann ja nicht so schwer sein selber so ein Programm zu schreiben und habe angefangen ein eigenes GameDos für SD/ED zu programmieren.

Als das GameDos dann fertig war, habe ich natürlich einen Namen dafür gebraucht. Nachdem micro und nano schon vergeben waren hab\' ich einfach die nächst kleinere Einheit genommen: pico. Also nannte ich mein GameDos einfach PicoDos.

PicoDos funktionierte übrigens genauso wie MicroDos und NDos: Im Init-Programm konnte man Namen eingeben, und das Lade-Programm inklusive Menü wurde dann in die 3 Bootsektoren und die letzten paar Directory-Sektoren geschrieben.

Ein wenig später habe ich mir dann die Turbo 1050 Erweiterung gekauft und konnte endlich Disketten in DD formatieren (Happy und Speedy waren mir damals einfach noch zu teuer).

Daraufhin habe ich mein PicoDos auf DD erweitert - was nicht allzu schwierig war. Ich musste ja mehr oder weniger nur an ein paar Stellen die Sektor-Größe von 128 auf 256 Bytes ändern. Diese Version ist dann (IIRC Ende der 80er) auch mal auf einem ABBUC-Magazin veröffentlicht worden.

Wieder etwas später habe ich mir von Erhard eine HDI-Platine gekauft. Für HD Disks (unter MyDos) gab\'s damals noch garkein GameDos, also war klar was zu tun ist :-)

Damit ich auch einfach Unterverzeichnisse unterstützen konnte hatte ich mich dazu entschlossen das Init-Programm mit Namenseingabe zu verwerfen und stattdessen vorerst mal eine einfache Directory-Anzeige zu implementieren.

Durch die erweiterten Funktionen passte das ganze Programm nicht mehr nur in die Boot-Sektoren, ausserdem wäre es blöd gewesen die letzten 4 Directory-Sektoren zu opfern - auf eine HD Disk passet schliesslich doch viel mehr als auf eine SD oder DD Disk. Also habe ich den Rest (so wie bei den "normalen" DOS auch) in eine eigene Datei - PICODOS.SYS - ausgelagert.

Da de neue Version speziell für grosse Disketten im MyDos Format gemacht war, und auch MyDos Unterverzeichnisse unterstützt hat, habe ich mich entschlossen PicoDos in MyPicoDos umzubenennen.

Tja, und im letzten Jahr sind dann einige neue Features wie Unterstützung verschiedener Disk-Formate (von 90k bis 16MB) und - spät aber doch - gerade eben lange Filenamen dazugekommen.

Achja: Ganz so klein wie die erste Version (zu der der Name "Pico" DOS ja noch recht gut gepasst hat) ist MyPicoDos inzwischen nicht mehr - das PICODOS.SYS File ist in etwa so gross wie das DOS.SYS File von MyDos - beim Namen MyPicoDos bin ich aber dennoch geblieben :-)

so long,

Hias

Suche...

von Schmutzpuppe » Fr 30. Jan 2004, 02:22
Na das klingt ja Interessant.
Ich war damals dazu übergegangen ein Programm von E. Reuss zu nutzen (den Namen des Programms hab ich gerade vergessen).
Das war recht gut weil es Ultra Speed und DD unterstützte.
MyPicoDos werde ich mal testen.
Wie sieht es denn mit dem benötigten Speicher aus?
Ab $1000 sollte man Programme schon laden können ohne es Probleme gibt.
Ich hatte damals bei den längern Fileversionen so ab $1000 gestartet, das ging mit den meisten loadern.

Matthias

Suche...

von HiassofT » Fr 30. Jan 2004, 17:23
vorredner hat geschrieben:Wie sieht es denn mit dem benötigten Speicher aus?
Ab $1000 sollte man Programme schon laden können ohne es Probleme gibt.


Mit aktivierter Highspeed SIO Routine ist (zZt.) der Speicher ab $0B4A frei.

Ohne Highspeed Routine bei COM/EXE Files ab $0935, bei BAS Files ab $08A5 und BIN Files sollten eigentlich alle laufen, da der Loader ab $0080 im Speicher liegt.

Bis auf ein paar wenige Bytes in der Zero-Page ($43-$47) ist übrigens der Speicher von $0000-$06FF ebenfalls frei.

so long,

Hias

Suche...

von Schmutzpuppe » Fr 30. Jan 2004, 17:29
vorredner hat geschrieben:
vorredner hat geschrieben:Wie sieht es denn mit dem benötigten Speicher aus?
Ab $1000 sollte man Programme schon laden können ohne es Probleme gibt.


Mit aktivierter Highspeed SIO Routine ist (zZt.) der Speicher ab $0B4A frei.

Ohne Highspeed Routine bei COM/EXE Files ab $0935, bei BAS Files ab $08A5 und BIN Files sollten eigentlich alle laufen, da der Loader ab $0080 im Speicher liegt.

Bis auf ein paar wenige Bytes in der Zero-Page ($43-$47) ist übrigens der Speicher von $0000-$06FF ebenfalls frei.


Sauber :)
1, 2, 3, 4