Junior ][ Computer Software

  • ich bin mal so frei und eröffne einen neuen Thread zum Junior ][ und seiner Software.....

    Mit Leben wird sich das ganz sicher bald füllen :mrgreen:

    Meine ersten Fragen betreffen direkt die Startadresse an der man einfache Programme in Assembler über die HEX Tastatur eingibt.

    Ich hatte was von 0200h gelesen, ist das so richtig?

  • Hallo Thomas,

    ja, $0200 geht für kurze Sachen bis $06FF. Irgendwo über $0700 (ich glaube ab $0768) ist ein Bereich für Basic reserviert. Bei $0810 liegen die Hardwareadressen der Datassette. Dann kommt schon ROM. Ab $1C00 ist das alte original Junior-ROM bis $1FFF.

    D.h. von $0200 bis $06FF liegt benutzbarer RAM-Speicher, ebenso im Bereich von $2000 bis $7FFF .

    Jörg: korrigiere mich bitte, wenn ich falsch liege.


    Gruß

    Norbert

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Anbei mal die aktuelle Adressbelegung (ist im Normalfall in der Download Zip der Junior Hardware) .


    So und jetzt noch die versprochene I2C Demo. Sorry, hat auch schon wieder ein wenig Hardware mit dran, ist also schon wieder irgendwie falsch eingeordnet. 8o



    Im Zip liegt der Schaltplan, die Bin-Datei und der Assembler Code.

  • Klasse Jörg, genau sowas benötige ich für die Initialzündung.

    Das verstehe ich und darauf kann ich aufbauen.


    Wenn zu einem Softwarebeispiel auch etwas Hardware erklärt wird, ist das im meinen Augen absolut ok.

    Was wir machen ist ja hardwarenahes Programmieren.

  • Übrigens kleiner Fehler im Schaltplan. der Pullup Widerstand R8 sollte natürlich 4K7 Ohm sein. Funktioniert aber natürlich auch mit dem angegebenen 1K Widerstand.

  • So, es ist mal wieder so weit.


    Ich hab mal wieder am System ROMgeschraubt und jetzt mal eine finale Version 0.9 gemacht. Dazu habe ich jetzt vieles umgestellt, so dass einige Programme bzgl. Einsprungadressen zu den Hilfsroutinen ein wenig angepasst werden müssen (u.a. das PCF8574 LED Laufband).


    ABER: Ab jetzt sind alle Adressen für die bisherigen Hilfsroutinen fix. D.h. ich werde auch recht bald eine Auflistung aller Hilfsroutinen und deren Einsprungadressen zusammenstellen. Isch Schwör!


    In der neuen Version sind jetzt eine Routine zum setzen der Cursor Position, sowie die Treiber Routinen für den Sound Chip drin. Ebenso sind die Hilfsroutinen zum Lesen und Schreiben der (User) VIA1 vorhanden.


    Beim Reset des Rechners wird jetzt natürlich zuerst der Sound Chip auf Mute gestellt. damit es euch nicht die Ohren wegbläst. Es gibt allerdings zwei Probleme:


    1: Manchmal wird beim Einschalten der Reset zu kurz ausgelöst und der Lautsprecher macht dann halt noch Krach, bis ihr die Reset Taste drückt. Ein größerer Kondensator C20 (470nF) auf dem Junior müsste hier helfen. Evtl. sind hier 10uF einfach besser.


    2: Bei mir ist ein leises Piepsen und Brummen im Mute Zusand zu hören. Ich weiß nicht, ob dass bei mir an einem defekten Audio Verstärker Chip liegt, oder ob es da zu üblem Übersprechen auf den Audio Teil kommt. Gebt mir mal bitte Rückmeldungen, ob das auch bei euch so ist.


    In der Zip-Datei findet ihr auch ein kleines Demo Programm das den "Lost Life" Sound des Spiels Chuckie Egg durch den Lautsprecherausgang der Junior IO Platine bläst. Die Chuckie Egg Fans mögen mir bitte verzeihen, dass der Sound nicht 100%ig so klingt wie im Original, aber ich hab in der kürze der Zeit mein Bestes gegeben.


    Laden mit:


    *LM

    ...

    *G


    Der nächste Schritt sollte dann das Laden auf und das Speichern von Datasette sein. Coming soon...


    Viel Spass


    Jörg

  • Hi Jörg,


    super!

    Bin gerade verhindert, melde mich vermutlich erst morgen!


    Liebe Grüße,

    Norbert

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Hallo Norbert,


    ich hab gerade den Briefkasten geleert und darin ein Päckchen mit herrlichen 7-Segment Anzeigen gefunden. Vielen Dank!!!

    Die sehen so viel besser aus als die grauen.


    Eventuell wird heute noch gelötet.


    Liebe Grüße


    Jörg

  • Gerne!!!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Danke Jörg für die neue Version!


    Mein Soundchip scheint aber doch eine Macke zu haben.... ich höre nur ein rhythmisches Tickern wenn ich das Demo starte.

    Diese Grundgeräusch nach dem Reset habe ich auch, ein leise Piepsen trifft es ganz gut.


    Wie muss sich denn der Demosound genau anhören?

    Kann man auch zu Testzwecken einen einfachen Rechteck erzeugen?

  • Hallo Jörg,

    ich habe das neue Junior Eprom gebrannt und versuche mit XModem per LM die Sounddatei zu laden. Geht aber leider nicht....

    LM bleibt einfach hängen.


    Viele Grüße

    Norbert

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Entschuldigung!

    Ich hab aus versehen die falsche Datei umbenannt. Hab mich schon gewundert 8KB ist doch ziemlich groß.


    Hier die richtige Sound Demo.


    Mea Culpa


    Edit: Ich hab jetzt übrigens ein Paar PC-Lautsprecher direkt an den Sound-Chip gehängt. Da piepst es immer noch!!!

  • Mache ich da einen prinzipiellen Fehler? Das gleiche Problem wie gehabt.

    LM auf dem Junior, dann mit xmodem die Datei per XModem senden. Tut sich bei mir nichts...

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Ich hab gerade die oben angefügte Datei geladen. Tut bei mir. Hast du den Lautsprecher vielleicht am Falschen Kanal? Ist ja Mono und ich hab nicht den linken und rechten Kanal an der Audiobuchse verbunden.


    Edit: Übrigens hab ich den Verdacht, dass der Verstärker einfach sehr stark verstärkt. Am PC Brüllwürfel muss ich auch sehr leise drehen, damit das Piepsen weg ist. Der Ausgabeton ist aber immer noch recht laut.

  • Nein, das Laden als solches tut es nach dem Brennen des Eproms nicht.

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Ich nehme alles zurück, das Problem saß vor dem Rechner. Nach einem Reboot alles ok. Seeehr Retro-Sound! :):):)

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • EDIT: das Grundgeräusch ist bei mir auch noch da, ist ein Gemisch aus mindestens zwei sich überlagernden Tönen.

    Interessant ist eben, dass der PC-Lautsprecher das piepsen und brummen auch bringt. Wenn der Lautsprecher auf ziemliches Minimum gestellt wird, ist das Piepsen weg und der Sound ist immer noch recht laut zu hören. Ich werde mir nochmal den Verstärker vornehmen. Eventuell werde ich das Poti auslöten und statt dessen einen Trimmer einbauen, den man dann einfach einmal einstellt. Und den Verstärker werde ich ein wenig tunen, um den Verstärkungsfaktor nochmal zu senken. Aber letztlich ist das dann ja ein Problem des SN76489 ?!?


    Funktioniert 1A und der Soundchip hatte die 12V Attacke tatsächlich überlebt.

    Das freut mich im doppelten Sinne.

  • Funktioniert sehr gut, kann ich nur bestätigen. Ein Trimmer wäre eine gute Lösung, dann ist die Front auch wieder 'bündig'. Ich habe jetzt auch die Einstellung gefunden, an der die Hintergrundgeräusch verschwunden sind, es trotzdem laut genug ist und gut klingt. Klasse!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Ich werde mir nochmal den Verstärker vornehmen. Eventuell werde ich das Poti auslöten und statt dessen einen Trimmer einbauen, den man dann einfach einmal einstellt.


    Die Idee mit dem Trimmer habe ich umgesetzt.

    Bilder

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Die Idee mit dem Trimmer habe ich umgesetzt.

    schaut gut aus. :) bezüglich SD-Karten Reader.. hast du die Löcher auf 2,5mm aufgebohrt ?

    (huch.. hier ist ja nur Software .... -> gibt es wirklich mit SD-Reader und "Software" schon versuche ?)

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • bezüglich SD-Karten Reader.. hast du die Löcher auf 2,5mm aufgebohrt ?

    Ich hab jetzt nochmal meine vermeindlichen M2 Schrauben nachgemessen. Sind tatsächlich M2,5, da gehen 2,1mm Bohrungen natürlich schlecht. Die Jungs bei Mükra in Karlsruhe haben dann wohl die falsche Schublade befüllt. Also nein, ich hab nichts aufgebohrt und besorg mir einfach neue Schrauben. Bisher geht es aber auh ganz gut ohne.


    huch.. hier ist ja nur Software .... -> gibt es wirklich mit SD-Reader und "Software" schon versuche ?

    Ja, Schrauben kommen eigentlich schlechthin aus dem Hardware Store :) . Aber wir wollen mal für dich eine Ausnahme machen ;) .

    Bezüglich SD-Karte hab ich jetzt noch nichts angefangen. Mit der Datasette werde ich mich diese Woche auseinandersetzen und hoffentlich bald ein Ergebnis zu haben. Wenn das dann abgeschlossen ist, setzt ich mich an die SD-Karten Problematik dran.

  • EDIT: das Grundgeräusch ist bei mir auch noch da, ist ein Gemisch aus mindestens zwei sich überlagernden Tönen.

    Super... der "Game-Sound" klappt bei mir auch... (auch EPROM Tausch auf 0.91)


    nach dem "Einschalten" haben ich aber auch ein starkes brummen.. (solange ich auch noch nicht am Terminal hänge)...

    wenn man z.B. 1111 11 auf dem JUNIOR eingibt,.. ist der Sound geringer...


    wenn ich dann "im Terminal-Modus" gehe .. ist es einiges leiser..


    ich habe keinen Lautsprecher angeschlossen... sondern "3,5mm Klinge Ohr-Stöppsel"...


    aber klasse,.. der Sound ist retro "Gameboy" Style :D

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • Hallo Jörg,..


    hast du die X-Modem Lade Routine abgeändert,.. ich bilde mir ein, früher hat Sie abgebrochen,

    wenn man ca. 30 Sekunden nichts gesendet hat,.. jetzt scheint Sie "unbegrenzt" (? / bzw. lange) zu warten ?


    ich hatte Probleme, die Datei "hallo2022.bin" zu laden... ("hallo*.bin" ging dann unter Telix.. weiß aber nicht warum ?)

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • Hallo Micha,

    an den XModem Routinen habe ich schon lange nichts mehr geändert. Einen Abbruch nach 30 Sekunden hatte ich, so weit ich mich erinnern kann nur bei Lesefehlern eingebaut, aber nicht, wenn nichts gesendet wird. Da kannst du dann entweder im Senden Dialog (von TeraTerm) auf Abbrechen drücken oder direkt im Terminal ESC drücken, sonst wartet die Routine bis zur Endabschaltung. Wenn du möchtest, kannst du mir ja mal die hallo2022.bin von dir zusenden, dann probiere ich mal aus, ob die bei mir auch rumzickt.

  • Hier nun die finale Version 1.0 des Junior System ROMs.

    Die einzelnen Systemaufrufe bin ich euch leider immer noch schuldig. Die werde ich aber ab morgen zusammenschreiben und nacchliefern.

    Die wichtigste Neuerung ist jetzt die vollständige Datasettenunterstützung. Da ich bzgl. Handbuch auch noch nichts erneuert habe, hier nur die Lade- und Speicherbefehle als Kurzbeschreibung:


    Speichern auf Band mit dem Befehl ST - Save Tape


    startadresse . endadresse ST ["Filename"]


    Der Dateiname kann weggelassen werden, nur leere Anführungszeichen ("") oder ein Asterisk ("*") sein, dann wird die Datei jeweils als "*" gespeichert.


    Also z.B.


    2000.2100 ST "Hexdump"

    2000.2100 ST

    2000.2100 ST ""

    2000.2100 ST"*"


    Das schließende Anführungszeichen kann auch weggelassen werden, dann geht der Dateiname bis zum Zeilenende.


    Laden von Band mit LT - Load Tape


    LT ["Filename"]


    Der Dateiname kann wie beim Speichern weggelassen werden, nur aus leere Anführungszeichen ("") bestehen, oder ein Asterisk ("*") sein, dann wird die jeweils nächste auf dem Band gefundene Datei geladen. Der Asterisk kann auch zum Teilmaskiere genommen werden, also z.B. "Test*", was dann die erste Datei lädt, die mit Test beginnt.


    Also z.B.


    LT

    LT ""

    LT "*"

    LT "File*"

    LT "File_1"


    Sowohl beim Speichern, als auch beim Laden wird der eingegebene Dateiname in Großbuchstaben umgewandelt.


    In der angehängten ZIP Datei befinden sich nochmals (mit angepassten Adressen) die Sound Demo und die LED Laufband Demo, die dann zum Testen mal gespeichert werden können. In der jeweiligen Help Datei stehen dann auch die Speicheradressen drin.


    Als weiteren Test kann auch mal das EhBasic aus dem ROM gespeichert werden:


    B000.DFFF ST "EhBasic"


    danach könnt ihr das Basic ROM mit dem Befehl


    E049 G


    deaktivieren und das RAM zwischen B000 bis DFFF wieder einblenden.


    Dann ladet ihr das Basic mit


    LT "EhBasic"


    in das RAM und startet Basic mit


    B000 G


    Basic werde ich dann in den nächsten Tagen hoffentlich auch ein paar neue Befehle, wie LOAD und SAVE beibringen.


    So weit erst mal viel Spass beim Probieren

  • Ich kann mich Thomas nur anschließen - Danke.

    Hoffentlich komme ich endlich dazu die Platine zu bestücken.

  • Ich schließe mich ebenso an. Das Speichern/Laden funktioniert einwandfrei - klasse!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)