Posts by norbert_kehrer

    Das Mailüfterl ist ein volltransistorisierter, serieller, dezimal-binärer Trommelspeicherrechner mit 50 Worten Kernspeicher für den Schnellzugriff. Die mit 3.000 Umdrehungen pro Minute rotierende Trommel konnte 10.000 48-Bit-Worte speichern. Der Rechner wurde von Dr. Heinz Zemanek und seinem Team in Wien zwischen 1956 und 1958 gebaut. Es war der erste volltransistorisierte Computer auf dem europäischen Festland und somit ein echter Pionier. Sonst gab es damals hier nur Relais- und Röhren-Computer.


    Ich habe jetzt einen Emulator dafür in JavaScript geschrieben, mit dem man sich an so einer uralten Maschine (in einer schrecklichen Assembler-Sprache) versuchen kann.


    Wer Interesse hat, kann auf members.aon.at/nkehrer mehr zum Rechner und dessen Befehlssatz lesen und den Emulator im Browser ausprobieren.


    Viel Spass!


    Norbert


    Hi,


    danke an GenerationCBM für die "Kehrer-Compilation". Jetzt habe ich schon so viel Zeit in die Programmierung hineingesteckt und dennoch ist erst eine einzige Diskette voll.


    Danke auch and spider-j und tilobyte für das Interesse an der technischen Umsetzung.


    Dazu möchte ich zuerst einmal Werbung für die "Retropulsiv" machen. Das ist ein sehr nettes und interessantes Retro-Computing-Meeting in Augsburg, das Christian Krenner und Thorsten Schöler halbjährlich veranstalten. Die nächste Retropulsiv ist schon am 21. und 22. November 2015, und ich darf dort in einem Vortrag über meine Sprint-Portierung berichten. Allen, die Zeit haben und nicht allzu weit zu fahren haben, kann ich das Meeting nur wärmstens empfehlen Die Details findet ihr hier: http://www.hs-augsburg.de/retr…lsiv/RETROpulsiv_6.0.html.


    Vorab aber schon ganz kurz zur Technik der Portierung für einen groben Eindruck:


    Die Sprint-Automatenhardware basiert wie der C64 auf dem 6502-Mikroprozessor. Daher kann man das Original-Spielprogramm direkt auf dem C64 ausführen. Der Automat hat seinen Bildschirmspeicher ab Adresse $0400 in 32x28 Zeichen. Man kann jetzt bei laufenden Spielprogramm periodisch den Speicherbereich ab $0400 umgelegt auf das 40x25-Zeichen-Layout des C64 an die Screen-RAM-Adresse des C64 kopieren (über VIC-Register ziemlich frei wählbar). Dadurch wird das, was das Sprint-Spielprogramm anzeigen möchte, 1:1 auf dem Commodore 64 sichtbar.


    Noch mehr dazu auf der Retropulsiv, aber auch (zumindest für mich) hochinteressante weitere Aspekte und Einsichten, die man in dem eher primitiven "Sprint"-Spiel nicht vermuten würde. Ich würde mich freuen, den einen oder anderen von euch dort persönlich zu treffen.


    Bis bald


    Norbert


    Und wo es nach dem Fix noch einen Block grösser geworden ist, passen diverse Kehrer-Sachen auch haargenau auf eine Diskettenseite, 0 blocks free. :)


    Danke für die Umsetzung. Was war denn deine Motivation dahinter? Wieviel Zeit hat es dich insgesamt gekostet? Vielleicht magst du mal ewas dazu schreiben, ich habe keinerlei Vorstellung davon, was es bedeutet, ein Spiel so zu konvertieren.
    Das Original kommt glaube ich ja mit Lenkrad und könnte noch mit einem Exemplar im Verein in Seligenstadt vertreten sein? Wie hat denn da die Steuerung funktioniert?


    Coole Sache Deine Ports Norbert! Mich würden ebenfalls Details interessieren, wie Du die Grafik-/Soundhardware emulierst...


    @C16: 29,19 KB wird etwas fummelig beim C16 ;-)


    Und wo es nach dem Fix noch einen Block grösser geworden ist, passen diverse Kehrer-Sachen auch haargenau auf eine Diskettenseite, 0 blocks free. :)

    Hi,


    vielen Dank für das Interesse und das nette Feedback zu Sprint.


    Dirk hat mir per Email zwei kleinere Bugs gemeldet: Die Auswahl der Runden pro Strecke am Beginn funktionierte nicht richtig und mit dem Spielerauto konnte man über den oberen Bildschirmrand hinausfahren. Vielen Dank dafür, Dirk.


    Ich habe beides korrigiert (und dabei hoffentlich nicht wieder weitere Bugs eingebaut).


    Ihr findet das neue PRG-File im Anhang oder könnt es von meiner Homepage http://members.aon.at/nkehrer herunterladen.


    Viele Grüße


    Norbert

    Files

    • sprint1.prg

      (29.22 kB, downloaded 23 times, last: )

    Hi,


    ähnlich zu meiner früheren Konversion von Asteroids habe ich jetzt das ziemlich alte, aber dennoch ganz nette Autorennspiel "Sprint" auf den Commodore 64 portiert. Das Originalspiel aus 1976 (Sprint 2) bzw. 1978 (Sprint 1) stammt von Atari und basiert wie der C64 auf dem 6502-Prozessor.


    Die Übertragung erfolgte in der Art, dass das Originalspielprogramm eins-zu-eins auf dem Commodore 64 abläuft. Die Grafik- und Soundhardware des Arcade-Automaten habe ich durch entsprechende C64-Routinen emuliert.


    Das PRG-File des Spiels findet ihr im Anhang oder auf meiner Homepage: http://members.aon.at/nkehrer


    Hier noch ein Screenshot des Spiels auf dem C64:


    [imgintern]http://members.aon.at/nkehrer/sprint_c64/game2.png[/imgintern]


    Viel Spaß!


    Norbert

    Files

    • sprint1.prg

      (29.19 kB, downloaded 890 times, last: )

    Die IBM 5100 (aus dem Jahr 1975) und 5110 (1978 erschienen) waren IBMs erste "tragbare" Computer. Sie hatten Interpreter für die Maschinensprachen der weit größeren IBM-Rechner System/3 und System/360 im ROM eingebaut und konnten dadurch die BASIC- und APL-Sprachimplementationen der Großmaschinen ausführen.


    Ich habe Christian Cortis IBM-5110-Emulator auf JavaScript portiert, und so kann man diese alte Maschine direkt im (HTML5-fähigen) Webbrowser ausprobieren und ein paar BASIC oder APL-Programme eingeben. Es fehlen allerdings noch die Routinen für Disketten- und Bandlaufwerke und wahrscheinlich gibt es noch Bugs. Wenn jemand Dumps vom IBM-5110-Disketten oder -Magnetbändern haben sollte, wäre das sehr interessant für mich zum Testen.


    Wer Interesse hat, kann den Emulator auf members.aon.at/nkehrer ausprobieren.


    Viele Grüße


    Norbert

    Wieso isses aufm Atari nicht auch in Farbe?


    Hallo oobdoo,


    auf dem C64 ist es ganz einfach zu erreichen, dass Zeichen, die am Bildschirm nebeneinander stehen, unterschiedliche Farben haben. Auf den Atari-Rechnern ist das allerdings hardwarebedingt eine echte Herausforderung (zumindest für mich), wenn man die maximale Auflösung beibehalten will. Ich glaube sogar, dass die Art der Darstellung wie sie hier auf dem C64 umgesetzt ist, auf dem Atari gar nicht machbar ist (gemeint ist: Auflösung 320x192 + überall tiefschwarzer Hintergrund + nebeinander stehende Zeichen in unterschiedlichen Farben und nicht nur in Grautönen).


    Oder doch? Vielleicht mit raffinierten Demo-Tricks?


    Norbert

    Ich habe Emulatoren für vier klassische Hewlett-Packard-Taschenrechner aus den 1970er-Jahren geschrieben, die auf dem Atari 800XL und auf dem Commodore 64 laufen. Sie emulieren die Modelle HP-35 (naturwissenschaftlich), HP-45 (naturwissenschaftlich, erweitert), HP-55 (programmierbar) und HP-80 (betriebswirtschaftlich) indem sie die Original-ROM-Programme der HP-Taschenrechner ausführen, sodass man auf dem Atari 800 und dem C64 genau wie auf den großartigen klassischen HP-Taschenrechnern mit ihren ausgefeilten naturwissenschaftlichen und betriebswirtschaftlichen Funktionen
    arbeiten kann.


    Wer Interesse hat, mehr darüber zu lesen, sich Atari- und C64-Screenshots davon anzusehen oder sich die Programme herunterzuladen, kann mich auf meiner Homepage http://members.aon.at/nkehrer/ besuchen.


    Have fun!


    Norbert

    Hallo Ossi,


    danke für dein Sommerevent-Angebot Nummer 2. Das ist eine super Idee und wäre eine perfekte Kombination. Wenn es zustande kommt und der Termin passt, wäre ich jedenfalls auch gerne dabei.


    Servus


    Norbert

    Im Jahr 1982 hat der deutsche Programmierer Henrik Wening eine tolle Version von
    Galaga für den Commodore-PET-Computer geschrieben. Der PET war eher für professionelle
    Anwendungen ausgelegt und hatte nur eingeschränkte Grafik- und Soundfähigkeiten.
    Daher ist das Galaga-Programm auch grafisch sehr einfach gehalten, aber es spielt sich
    trotzdem super und hat mich in den 80er-Jahren Stunden lang an den C64 gefesselt, auf den
    es damals auch übertragen worden war.


    Ich habe dieses coole Spiel jetzt auf den Atari 800XL portiert, und es steht auf
    http://web.utanet.at/nkehrer/ zum Download bereit.


    Hier ist ein Screenshot (mit PET-Font):


    Viele Grüße


    Norbert

    Hi,


    ich möchte ein paar Sourcecodes im DASM-Format assemblieren.
    Gibt es ein gescheites Manual von DASM, was die commandline-Parameter genau beschreibt ?
    Die Ausgabe von DASM is mir n bißchen dürftig.
    Was z.B. bedeutet -f# output format ? Für "#" werden hier Werte von 1-3 akzeptiert.


    Hi GI-Joe,


    die Werte bei "-f" bedeuten Untenstehendes. Das ist ein Auszug aus dem Manual von 1995. Neuere Infos findet man sicherlich über http://dasm-dillon.sourceforge.net/.


    Servus


    Norbert



    FORMAT OPTIONS:


    1 (DEFAULT)


    The output file contains a two byte origin in LSB,MSB order, then
    data until the end of the file.


    Restrictions: Any instructions which generate output (within an
    initialized segment) must do so with an ascending PC. Initialized
    segments must occur in ascending order.


    2 RAS (Random Access Segment)


    The output file contains one or more hunks. Each hunk consists
    of a 2 byte origin (LSB,MSB), 2 byte length (LSB,MSB), and that
    number of data bytes. The hunks occur in the same order as
    initialized segments in the assembly. There are no restrictions
    to segment ordering. The next hunk begins after the previous
    hunk's data, until the end of the file.


    3 RAW (Raw)


    The output file contains data only (format #1 without the 2 byte
    header). Restrictions are the same as for format #1.


    Format 3 RAW (Raw format)
    Same as format 1, but NO header origin is generated. You get
    nothing but data.

    Im Jahr 1979 hat die Firma Atari das Programm "Atari Calculator" für ihre Atari-800-Reihe auf den Markt gebracht. Es stellt viele Funktionen leistungsfähiger wissenschaftlicher und finanzmathematischer Taschenrechner auf Atari-Rechnern zur Verfügung. Ich habe das Programm auf den Commodore 64 portiert. Die Fließkommabibliothek im Atari-800-ROM, die der Calculator verwendet, und den Atari-800-Zeichensatz habe ich dazu ebenfalls auf den C64 übertragen.


    Wer Interesse hat, kann auf meiner Homepage mehr erfahren und sich das C64-Programm herunterladen: http://web.utanet.at/nkehrer/


    Viele Grüße


    Norbert

    Hmm, hab's grad mal getestet. Die Linie ist weg, dafür scheint es jetzt aber wieder deutlich langsamer zu laufen, so als ob gar nicht in den 2 Mhz-Modus geschaltet wird ?( Könnte mich auch täuschen, aber die Variante mit der "Linie" spielt sich deutlich griffiger. Das kann eigentlich nicht an 2 Rasterlinien liegen denke ich...


    Danke für den Test, tokra. Du hast Recht. Es war noch ein Bug drinnen, den ich jetzt gefixt habe. Die neue Version ist online, und es scheint jetzt zu laufen, aber komischerweise nicht jedes Mal. Manchmal stürzt das Programm leider ab (zumindest unter VICE). Da muss ich wohl noch etwas Arbeit in die Interrupt-Routine beim C128 stecken.


    Bis dann


    Norbert

    Mir ist bei der C128-Version auf der echten Maschine aufgefallen, dass dort am oberen Rand eine weiße Linie ist. Ist das auf allen echten Rechnern so oder nur bei meinem? In VICE ist diese Linie nicht zu sehen.


    Danke für den Hinweis. Ich konnte bisher leider nur auf VICE testen, und offenbar ist hier die Emulation nicht exakt.


    Wenn der Rasterstrahl den sichtbaren Bereich erreicht, schalte ich die C128-Taktfrequenz auf 1 MHz zurück, damit die Bildschirmausgabe richtig funktioniert. Vielleicht ist die Umschaltung etwas zu spät. In der letzten Version des Asteroids-Emulators habe ich das Umschalten jetzt 2 Rasterzeilen früher eingebaut. Könnte jemand von euch so nett sein, und nochmals auf realer Hardware testen (aber bitte das alte PRG-File vorher sichern ;)). Die letzte Version ist hier: http://web.utanet.at/nkehrer/asteroid.prg


    Danke.


    Norbert

    Liebes Forum!


    Ich habe meinen C64-Asteroids-Emulator jetzt auch auf den Commodore Plus/4 portiert.


    Eine Beschreibung mit Screenshots und das PRG-File zum Downloaden ist wieder auf meiner Homepage http://web.utanet.at/nkehrer/ zu finden.


    Ich hoffe das Programm läuft auch auf der realen Hardware. Ich konnte bis jetzt nur auf dem Emulator testen. Für Feedback dazu wäre ich dankbar.


    Übrigens:
    Wer sich näher für die technische Umsetzung der Asteroids-Emulatoren für Atari 800XL, Commodore 64 und Commodore Plus/4 interessiert, den lade ich ganz herzlich ein, am 27. und 28. April 2013 nach München zum VCFE zu kommen. Ich habe die Ehre, dort einen kurzen Vortrag über das Projekt zu halten. Daneben gibt es dort viele weitere interessante Ausstellungen und Präsentationen, sodass diese tolle Veranstaltung jedenfalls eine Reise wert ist.


    Viel Spaß!


    Norbert

    Etwas häufiger als eine SuperCPU findet man den C128 ;)


    Wenn man den Code für den C64 ein bisschen modifiziert, könnte er im C64-Modus des C128 das FAST-Register (2 MHz) im VIC IIe ansprechen. Wenn man das im oberen und unteren Border macht, bleibt der Bildschirm sichtbar und es ergibt sich ein Geschwindigkeitsgewinn von ca. 30% (so im Mittel ca. 1,3 MHz). Solche Tricks verwenden verschiedene Programme. Elite z.B. auch. Der Aufwand ist gering, der Effekt kann beträchtlich sein.


    Danke dir, WTE, für die Anregung. Ich habe die Methode eingebaut, und der Asteroids-Emulator ist dadurch auf einem Commodore 128 im C64-Modus tatsächlich deutlich schneller. Im Spiel schlägt sich das in wesentlich sanfteren Bewegungen der Objekte nieder. Auf dem Original-C64 bleibt natürlich alles beim Alten.


    Wer will, kann sich die aktualisierte Version wieder von http://web.utanet/at/nkehrer/ herunterladen.


    Viele Grüße


    Norbert

    ...oder eine SuperCPU nutzen. Warum dann nicht gleich einen Amiga/Atari ST/80286er?


    Ich habe den Gedanken aufgegriffen und jetzt auch eine Version des Asteroids-Emulators für die SuperCPU online gestellt (http://web.utanet.at/nkehrer/). Das ist, wie Thorsten Günther richtig sagt, natürlich nicht ein ganz "echter" 64er, aber mit dieser vergleichsweise enormen Rechenleistung läuft der Emulator ziemlich flüssig (zumindest im SuperCPU-Emulator, auf der realen Hardware kann ich leider nicht testen).


    Norbert