Hello, Guest the thread was called3.1k times and contains 37 replays

last post from :TheRyk at the

2-3 kleine JPEG -> am C64 anzeigen

  • Wie bringe ich denn am Besten ein oder einige JPEG (Anzahl jetzt egal) auf dem C64 zum Ansehen ?
    Bzw. auch so als Vorspann für ein kleines Spiel ...


    Hab da schon diverse Web-Bilderkonverter gesehen, aber ich blicke da nicht recht durch.


    Vorallem, wie ich das dann mit Maschinensprache "anzeige", das Bild (eventuell) von Diskette "lade",
    und optimal dann per [Space] oder [Feuertaste] weitergehe zum nächsten Bild ... oder zum "Spielemenü", usw.


    Im Detail hätte ich vor, ein paar Bilder mit 300x100px anzuzeigen, darunter etwas Text,
    "Irgendwie" im Hintergrund dann ein paar SID sachen ... das wars ... für mich im Moment eine Big Question ?!


    Ich habe auch das SD2IEC, also kann ich dementsprechend auch von-zu PC irgendwie Bilddateien oder Bilddaten
    laden ...


    Ich wäre Euch sehr dankbar, wenn damit wer Erfahrung hat, oder mir Anhaltspunkte gibt.
    Ihr müsst das keinesfalls für mich lösen ;) das "will" ich ja auch gerne selber machen, aber je genauer die Info,
    umso weniger muss ich so und so für meine Ideen abwandeln ...

  • JPEG selbst _kann_der C64 zwar anzeigen, aber das willst Du sicher nicht.
    Also konvertieren in ein anderes gfx format. Je nach Inhalt der Grafiken in Hires Bitmap oder wahrscheinlicher Multicolor Bitmap auch oft 'Koala'-Format genannt.
    Wenn Du das in Assembler machen willst, musst Du Dich ohnehin ein ganzes Ende schlauer machen un einlesen.
    Hier findest Du alles was Du fuer das von Dir Beschriebene brauchst:
    http://codebase64.org


    Speziell hier:
    Koala-Bild in Assembler anzeigen und auf Tastendruck warten:
    http://www.codebase64.org/doku…aying_a_picture_at_2000&s[]=koala


    Files laden:
    http://www.codebase64.org/doku.php?id=base:dos_examples


    Grafikmodi:
    http://www.codebase64.org/doku…ase:built_in_screen_modes


    Grafikformate:
    http://www.codebase64.org/doku…_files_specs_list_v0.03&s[]=koala


    Und ja, das ist das das absolut Notwendige (aber in Deinem Fall auch Hinreichende :-).

  • Moin,
    zum Thema JPG u.a. Formate am C64:
    GoDot ist ein ziemlich gutes Tool zum konvertieren von Grafiken, schau doch mal hier ins C64-Wiki: http://www.c64-wiki.de/index.php/GoDot
    Dort findest Du umfangreiche Beispiele, Infos und Links zur Software.


    HTH,
    SID Kidd

    <C64 I +MixSID +Keyman64 +Reprom +TC64 +RRNET +WiModem...Ultimate64 +SX64 Style Case +Rear Admiral Thunderdrive +Nunchuk64 ...MorphOS PowerBook G4...Acorn A3000 +4MB +IDE RiscPC700 +StrongARM +5x86 AlephOne PC Card>
    <Icebird: Acorn Demogroup - Mini Mag Diskmag - TRT The Retro Team aus Oldenburg>

    <Retrospieleabend@Attraktor e.V. Hamburg>

    <Retrokompott Podcast Stammtisch http://www.retrokompott.de>

  • Ja das GoDot habe ich schon mal gesehen und auf meine Liste gesetzt.


    Bin eigentlich gerade dabei, mich mit anderen Routinen am C64 zu beschäftigen (Scroll, Spielestory, Musik),
    aber ich hätte gerne zwischendurch einmal was "gesehen" ... deswegen die Bilderfrage.


    Codebase64 kenn ich bereits, aber hier muss man schon etwas erfahrener sein, ich sehe mir zwar hier mal einige
    Sachen an ob ich da was ableiten kann, aber im Moment komme ich da wohl zu keinem 100% Ergebnis.


    Step by Step hätte vielleicht wer Zeit ? :(


    (nicht im vollem Umfang, aber soweit man dann klar kommen könnte ... )


    Edit:
    Also was ich da so aus Codebase64 sehe, sollte ich om Koala Paint ein .prg File speichern können,
    wo ich zuvor über das GoDot ein JPEG einlade und umwandle ... :?:
    Habe derzeit nichts zum Testen hier, wage mich aber in einigen Stunden dran.
    Wenn es nicht stimmt, vielleicht korrigiert mich wer bitte - danke aus Österreich ^^

  • Danke, InsertDisk2, ich werd das (nochmals genauer) ansehen, habe mir einige C64er Sonderhefte besorgt,
    auch das "64er Assembler" Buch besorgt, alles mal reingezogen in Theorie pur ...


    Ich habe in "Zeiten des C64" sehr viel gemacht, zwar 50% gespielt, aber auch 50% programmiert, und das
    in 99% Basic ... nun will ich mich eben wieder an ein Spiel wagen - rein als Hobbie - und die Interessante Assemblerwelt
    nun nicht ausser Acht lassen ...


    Versuche eben gerade, bestimmte Zusammenhänge zwischen "Assembler" und eben der Eigenschaften des C64 zu erlernen.
    Unter Basic (1997) hatte ich bereits ein "ansehbares" Elfmeterschiessen mit Sprites geschrieben, sah nicht mal sooo schlecht aus,
    was ich mich erinnere ...
    Ja nun solls eben mehr können, mein "Werk" ... ;) ... aber ich hab ZEIT und irgendwann soll halt mal was rauskommen ...


    PS: Ist ja nicht so, das ich vom "Programmieren" keine Ahnung hätte, ich habe in PHP/mySQL einen kleinen "Fbook Clone"
    geschrieben, ist zwar jetzt abseits des C64, aber ich wüsste dann schon, was ich wo machen muss :whistling:
    Es sind halt dann oft die gewissen Tipps & Tricks, wo was schneller geht oder schon mal "einfach gemacht wurde",
    um die ich Euch hier bitten würde ... bzw. Unterstützung dazu.
    Bzw. meine Seite wie hier angesprochen www.digisystems.at

  • Dann kann ich dir nur den Assemblerkurs aus einem 64er Assembler Sonderheft (Assembler ist keine Alchimie) empfehlen. Den gibt es auch irgendwo im Netz zum DL, wenn nicht sogar hier im Forum. Den hatte ich früher mal gemacht und jetzt einfach nochmal mit angefangen.


    Da gibt es auch einen Thread hier im Forum zu.
    Such such : Hier isser:
    Suche ASM Kurs


    Heute ist es am einfachsten du codest unter einer Enticklungsumgebung:
    C64 Studio - Entwicklungsumgebung - Beta

  • Am PC nimm doch einfach ProjectOne. Bild einladen und mit wenig Einstellungen in ein Koala-Bild konvertieren. Als .kla oder .koa abspeichern und in deinen Quellcode einbinden. Für den Maschinenspracheteil nimm z.B. das C64 Studio (siehe obrigen Post). Ein einfaches Quellcode-Beispiel zum Testen gab´s hier mal: SID & Kla... :)


    PS: Evtl. lassen sich die Bilder auch per speichersparendem Zeichensatz darstellen.

  • Habe dazu gerade mehr geschrieben ... Admin muss es erst freigeben, weil ein Link darin ist.


    Assemblerkurs - das Buch habe ich sogar ... ich kenn die Grundsachen und die Speichersachen vom C64 auch,
    auch wenn ich diese oft Nachschlagen muss ...


    Bewege mich aber derzeit in einer Try&Error Phase, so viel hab ich eigentlich gar nicht vor.


    Es muss nicht unbedigt ein JPEG sein, vieleicht nur ein Bild selbstgemalt im Koala Paint oder was weiss ich mit was (egal),
    na ich setz mich einfach mal vor das CMB und "male" mal was, und dann probier ich herum ... den roten Faden habe ich allerdings
    noch nicht ...


    In HTML/Flash/PHP/mySQL ... wäre mein Spiel allerdings schon fertig 8)


    DANKE für Eure Tipps, die nehme ich natürlich an, und sehe was ich daraus ziehen kann, thanks Leute !

  • Es muss nicht unbedigt ein JPEG sein, vieleicht nur ein Bild selbstgemalt im Koala Paint oder was weiss ich mit was (egal),
    na ich setz mich einfach mal vor das CMB und "male" mal was, und dann probier ich herum ... den roten Faden habe ich allerdings
    noch nicht ...

    Ein kleines Beispielprogramm fürs CBM prg Studio habe ich hier sogar rumliegen. Es ist eine kleine Slideshow, die unkomprimierte Koala-Bilder von der Disk lädt und anzeigt.


    Wenn es hilft, kann ich es mal raussuchen und dir schicken. Ist aber nicht wirklich 'hübsch', sehr verquaster Source.

  • Wenn es dann in Richtung Spielprogrammierung geht, kann ich Endurions Schritt-für-Schritt Tutorial sehr empfehlen. Finde ich das beste, was es in der Richtung gibt! Und auch wenn Dein Spiel anders aussehen soll, kann man enorm viel dabei lernen...

  • Du musst dir ansehen wie die Bilder im Speicher liegen das der VIC sie sieht und auf dem Monitor anzeigt.


    Das musst du dir ein wenig selbst zusammen Bauen.


    und jetzt kommt der "bla bla..." den ich auch erst lernen/verstehen musste damit man so was machen kann:


    -Der VIC kann von den 64k RAM nur ein Viertel (16k) sehen, welches Viertel das ist entscheidest du.
    an Adresse $DD00 kannst du mit den letzten zwei bits (xxxxxx00) enscheiden ob es das 1. 2. 3. 4. Viertel ist.


    -In dem Bereich mit das Bild dann liegen. also zwischen $0000-$3FFF, $4000-$7fff, $8000-$Bfff, $C000-$FFFF


    -An $D011 muss bit5 auf 1 damit der VIC von Textmodus in Bitmap Modus umschaltet. (zb $3b)


    -An $D016 muss bit4 auf 1 damit der VIC in den Multicolor Modus stellt. (zb $18)


    -An $D018 stellt man die Adresse ein wo die Daten liegen (aber aus Sicht des VIC, der sieht nur 16k). (zb $18)


    - Ein kleines Programm muss du dann schrieben das deine Bild Daten dahin Pack wo du sie brauchst, (oder du hast FarbRAM, screen RAM und Bitmap getrennt )
    Die Bitmap muss in den Bereich den du dem VIC dafür gesagt hast (zb $2000)
    Der Sceen RAM muss in den Bereich den du auch an $D018 gestellt hast (zB $0400)
    Der FarbRAM muss nach $D800, immer das sitzt fest da.


    -Dann noch rahmen Farbe und Hintergundfarbe mit $D021 und $D021


    das dürfte es sein, dann hast du dein Bild auf dem Monitor, in dem Fall jetzt ein Mulitcolor/Koala.


    ist nicht so simpel, aber man schriebt das Programm dazu einmal und dann hat man das bzw. kopiere dir es aus der codebase.

  • Erstmal das hier lesen
    http://www.c64-wiki.de/index.php/Grafikmodus


    Project One ist eigentlich kein Konverter, sondern eher eine C64-Bildbearbeitung für Windows mit Importfunktion (und auch in dem Genre schon nicht mehr der letzte Schrei, man nimmt eher http://csdb.dk/release/?id=122077 PixCen und wartet auf die nächste Version davon).


    Viel sinnhafter als mit JPEG rumzuwursteln ist dieses Format von Vornherein am PC umzuwandeln in Bitmap in der richtigen Auflösung und Farbtiefe/-palette. Anschließend eine Konvertersoftware wie z.B. BMP2KLA nehmen, fertig.


    Commercial Break +++ Oder Du wartest noch 9 Tage, dann wird auf der BCC etwas releast (und vmtl später auf der CSDb downloadbar sein), was Dir womöglich hilft. End of Commercial. +++

  • Kiri - ja gerne danke !


    Danke Leite, danke auch Green, so in etwa habe ich das schon in meinen Heften hier gelesen,
    danke für die Zusammenfassung.


    Weil Ihr gerade BITMAP erwähnt, also würde es auch genügen, im Photoshop ein JPEG in ein BMP umwandeln ?
    ich bin ja u.a. auch im Photoshop recht fit, also hab ich kein Problem, wenn ich ein 300x100.bmp draus mache ?


    Jetzt nehmen wir mal an ich habe ein test.bmp ... auf der SD Karte ... in dem SD2IEC ...


    Aber ich werde zunächst Eure Sachen ansehen, und Kiris Test lesen ( Thank you again ;) )

  • Kiri - ja gerne danke !
    ...
    Aber ich werde zunächst Eure Sachen ansehen, und Kiris Test lesen ( Thank you again ;) )

    Ich habe dir eben eine PN mit dem Projekt geschickt.
    ShowKoala_000 verwendet ein eingebundenes Bild
    ShowKoala_001 lädt Bilder von Disk nach und zeigt diese an (Beispiel über ShowKoala.D64)


    Kommentare im Source sind hier relativ dünn gesäht, bei Bedarf kann ich aber noch nacharbeiten.
    Außerdem ist das Programm in keinster Weise optimiert, es ging mir nur darum mal schnell ein Bild anzuzeigen.

  • Verabschiede dich größtenteils von den üblichen Bildformaten. Am C64 bringt dir das alles nur was in völlig entpackter Form. Und so eine Grafik besteht je nach Ausführung aus mind. einem 8000 Byte grossen Datenblöcken und optional zwei 1000 Byte grossen Datenblöcken.


    Wie man die an die sinnvollen Zieladressen bekommt, ist das Hauptproblem. Ob die jetzt aus einem File einzeln gelesen werden, oder aus drei Files, ein bißchen Umkopieren bleibt fast nicht aus.