Beiträge von Drachen

    Hi Endurion,

    bräuchte mal eine kurze Erklärung für eine Löschroutine im Bereich von $20000 des Mega65.

    Hier ist meine kleine Routine

    Mir war schon klar das dies falsch ist "STA $20000,x"

    Aber in der Hilfe habe ich nichts gefunden das mir weiter helfen kann.

    Wie mache ich das im C64-Studio korrekt, damit die Schleife funktioniert.

    Da hätte ich mal eine Frage zu GROK:

    Wenn du GROK schon mit Infos für den C64´er fütterst,

    hat das dann nur Auswirkung auf deinen Chat oder kommen alle in den Genuss davon?

    Aber leider kann ich mir selber die Antwort liefern, es wirkt sich nur auf dein Konto aus.

    Aber ich finde dein Idee nicht schlecht.

    Hallo Arndt,

    kann eins deiner Grafiktools aus einen PNG-Bilddatei (320x100 Pixeln und 32 Farben) ein FCM-Bild erstellen für den Mega65?

    Damit ich es per Bload in den Speicher an einer bestimmten Adresse laden kann?

    Noch eleganter? :D

    Meinst du mit einer Konstanten? Sowas in der Art?

    Das > ist nach der ACME-Vorlage das High-Byte, auch wenn da noch highere Bytes im Wert vorkommen.

    Code
    !src <mega65.asm>
    
    SCREEN_GFX = $20000
    
              lda #<SCREEN_GFX 
              sta VIC3.SCRNPTR_LO
              lda #>SCREEN_GFX 
              sta VIC3.SCRNPTR_HI
              lda #( SCREEN_GFX >> 16 )
              sta VIC3.SCRNPTR_BANK

    Jetzt noch mal Klartext, wo ich immer draus komme ist die blöde Bezeichnung LO und HI, TR welche Adressen sind das denn jetzt?

    So wie ich es bezeichnet habe:

    vic4_scrlo = $d060 ; VIC-IV Screenadresse LOW

    vic4_scrmd = $d061 ; VIC-IV Screenadresse MIDH

    vic4_scrhi = $d062 ; VIC-IV Screenadresse HIGH

    oder ist die Reihenfolge eine ganz andere. :gruebel

    Oh mein Kopf :encolere20:

    Hi Endurion,

    eine Frage zum Assembler für den Mega65:

    Wenn ich eine Adresse habe für eine Grafik, sagen wir mal $20000 und ich möchte das auf die VIC-IV Register $d060 bis $d062 verteilen.

    Erledige ich das in Moment ja so:

    Geht das auch etwas eleganter, habe leider in der Hilfe nichts diesbezüglich gefunden.

    Ich habe das Spiel früher sehr gerne gespielt.

    Denn nach Kaiser war das das auch eine sehr gute Wirtschaftssimulation.

    Kann ich nur jeden empfehlen, der soche Spiele mag, und jetzt sogar auf englisch echt klasse

    Hi,

    hast du schon mal das S-Basic versucht von Snoopy?

    Da gibt es den FC-Modus für die Sprites, da kann dann jeder Sprite 16 haben. Ist aber dann nur 16x21 Pixel groß.

    Aber es läst sich sehr gut programmieren.

    Hallo Leute,

    Ja das mit Char-Befehl habe ich schon hinbekommen.

    Aber was mich bei dieser ganze Sache stört, immer wenn der Text geändert werden spoll, muss ich vorher den Text, das mit Char geschrieben worden ist, erst mal löschen. Und dann kann ich den neuen Text schreiben. Wenn das nur 2 bis dreimal passiert, gar kein Ding.

    Aber beim Adventure wo sich laufend der Text ändert, ist das sehr anschrenkend immer daran zu Denken vorher die Textzeile mit der Farbe des Hintergunds zu löschen, vielmehr wird er ja übermalt. Beim reinen String weis ich, das der alte Text einfach überschrieben wird.

    Die Idee von Bitte melde dich an, um diesen Link zu sehen. ist nur leider halb zu gut für mich. Wenn ich das in mein Basicprogramm einbinden möchte muss ich ja immer wieder diese Routine duchlaufen.

    Im Grunde brauche ich dieses Basic Programm von dddaaannn als IRQ-Routine.

    Man bräuchte für den Grafikbildschirm sowas in Art wie der Window-Befehl. Damit läst sich wunderbar der Textbildschirm auf eine bestimmte Größe einstellen. Aber leider überdeckt der Grafikbildschirm ja den gesamten Textbildschirm. Somit wäre mein Window-Fenster hinter dem Grafikschirm.

    Muß schauen ob ich da noch eine brauchbare Lösungfinde.

    Wenn sowas beim C64 funktioniert, sollte das auch beim Mega65 ohne große Probleme funktionieren.

    Habe nur noch nicht die richtige Rezeptur dafür gefunden.

    Wenn ich was gefunden habe, gebe ich hier Bescheid.

    Aber habt Dank für alle eure Tipps.

    Hallo an alle,

    ich brauche mal wieder Hilfe für mein Problem.

    Wie immer bastle ich immer noch meine mein kleines Adventure. Vor geraumer Zeit kam ich auf die glorreiche Idee das Adventure mit Bilder zu gestallten. Da der Mega65 dafür

    schöne Basic-Befehle hat.

    Nur hat sich die Freude schnell verflogen. Ich konnte zwar auf die schnelle ein Bild auf den Bildschirm zauberen, auber das bezog immer auf den gesamten Bildschirm.

    Habe also gar keine Möglichkeit Text einzugeben. Obwohl stimmt nicht ganz, im Forum hat man mich aufmerksam gemacht auf den Char-Befehl.

    Damit läst sich sehr wohl Text auf den Bildschrim zaubern. Aber auch dort war die Freude schnell verflogen. Denn der Char-Befehl malt immer über vorhandenen Grafikdaten.

    Also wenn ich einen neuen lesbaren Text haben möchte, mußte vorher mit einen Revers-Space den alten Text übermalen, damit ich eine saubere Stelle bekomme.

    Ist für micht nicht die Bestre Lösung.

    Dann kam ich auf die Glorreiche Idee einen Split-Screen zu machen, Oben Grafik und unten normler Text-Bildschirm.

    Um jetzt hier einen ganzen Roman zu schreiben - hier mal der CODE-vom Assemblerprogramm

    Die Ursprungsroutine stammt von einen Rastersplit mit 2 Farben. Diesen Code habe ich dann mit Hilfe von KI auf meine Bedürfnisse angepasst.

    Der Grafik-Bereich liegt bei $40000, Text-Bereich bei $0800 (Standart)

    Bitte melde dich an, um diesen Anhang zu sehen.

    Dann habe ich aber festgestellt, das ich den LOADIFF-Befehl nicht mehr ausführen kann. Denn dieser setzt immer die Basic-Befehle Graphic und Screen vorraus.

    Denn sonst gibt es eine Fehlermeldung "screen not oben error"

    Wenn ich dann kleines Basic-Programm starte um meine Bilder anzeigen zu lasse,

    überlagert der Graphic-Befehl meine Splitscreen-Routine.

    Dann gibt es ja noch den Basic-Befehl Bload übrig, der kann Daten an gewünschte Adressen laden.

    Aber nun sind aber meine Bilder in das IFF-Format gespeichert, habe sie trotzdem mal mit den Bload nach $40000 geladen.

    Ein kurzes aufblinken, aber es hat sich im oberen Bereich nichts geändert.

    Jetzt meine Frage, ist die Assemblerroutine so in Ordnung, oder ist da was falsch?

    Und wie soll ich meine Bilder speichern, damit ich die nach $40000 laden kann und dann auch sehen kann.

    Wenn ihr die Routine Testen wollt mit SYS 5632 starten

    Den selben Text noch mal in schwarz ausgeben funktioniert nicht ?

    Doch das geht. Ist auch einfacher.

    Was mir heute Morgen noch dazu eingefallen ist, ich müsste es Mal mit ein Revers Space versuchen, das müsste den Text übermalen.


    So ich habe mich für die einfache Variante endschieden mit einen Revers Space

    So dann kann ich ja am Wochenende damit anfangen, den Code zu ändern.

    Habe mir das Programm mal angeschaut, das ist mir ein wenig zu umständlich jedes mal um zu schalten auf den jeweiligen Schrim.

    Könnte man damit vielleicht zwei Grafikbildschirme aufbauen, also eins wo angezeigt wird, während dessen kann man das Zweite Bild auf den zweiten Schirm laden, und dann beim gebrauch umschalten.

    Mmmmmmmh sollte ich auch mal testen, damit kann man dann den Bildaufbau beim Laden umgehen.

    Den selben Text noch mal in schwarz ausgeben funktioniert nicht ?

    Doch das geht. Ist auch einfacher.

    Was mir heute Morgen noch dazu eingefallen ist, ich müsste es Mal mit ein Revers Space versuchen, das müsste den Text übermalen.

    Schaue ich mir heute Abend an. Danke für diesen Tipp

    oder an der gleichen Stelle mit char Leerzeichen ausgeben?

    Das war mein erster Gedanke, hat aber nicht geholfen weil auch die Leerzeichen darüber gemalt werden und nichst wird dabei gelöscht.


    Eine schwarze Box malen, falls es sowas gibt in Basic.?(

    Muss ich mal testen, heute Abend.

    Werde ich heute Abend auch mal testen.


    Bezieht sich der Befehl Screen nicht immer auf den gesamten Bildschirm?

    Denn wenn ich einen Screen spliten könnte in Oben Grafik und unden ganz normaler Texteingabe, wäre mir eine solche Version lieber.

    Und das mit den zwei Screen, könntest du da ein kurze Beispiel liefern.

    Da gibt es leider nichts im Handbuch dazu.

    Hallo Leute,

    ich tüftle nun seit geraumer Zeit an ein Adventure auf den Mega65. Dafür benutze ich das Tutorial vom C64´er Sonderheft - Adventure -1985-02.

    Das Basic war rasch an den Mega65 angepasst.

    Desweiteren kam ich dann auf die Idee Grafikbilder in das Adventure einzubauen. Das Format war auch rasch gefunden "IFF"

    Dafür gibt es extra einen schönen Loadbefehl vom Mega65.

    Das erste Problem war die Größe des Bildes, ich meine die Datengröße. Ich möchte nämlich alle meine Bilder auf der Disk D81 haben.

    Mein erster versuch 320x200 Pixeln mit 256 Farben lag bei ca. 240 Block. Das war deutlich zuviel.

    Aber im Grunde brauche ich ja nur die hälfte vom Bild, also 320x100 Pixeln mit 128 Farben und schon lag ich mit Dateigröße nur noch bei ca. 140 Blocks.

    Aber das ist immer noch zuviel für mich. Ich benötige ca. 15 - 20 Bilder. Das würde zwar reichen, aber ich hätte da nur noch wenig reserve, wenn es mehr werden würde.

    Und das Laden etwas länger daueren. Ich habe darauf hin Arndt gefragt ob sein Tool Godot mir da helfen kann die Bilder noch kleiner zu bekommen.

    Am Ende kam mir dann TD1334 zur hilfe, er konnte mit sein Grafikprogramm das Bild mit 320x100 Pixeln und 32 Farben auf 85 Block schrumpfen lassen.

    Somit ist das Problem mit den Bildern gelöst.

    Und als ich es dann ausprobierte wie das dann so ausschaut, kamm schon auch das nächste Problem.

    Und da seit ihr mal gefragt:

    Bild 1

    Bitte melde dich an, um diesen Anhang zu sehen.

    Bild 2:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Und ist euch was aufgefallen......................


    Ja richtig - Der Text sieht beim 2 Bild etwas eigenartig aus. Das habe ich mir auch gedacht.

    Das liegt nämlich daran, das der Text nicht gelöscht wird beim Laden eines neuen Bildes, und der Charbefehl schreibt dann über den vorhandenen Text.

    Ich habe echt gedacht das mit dem Laden vom zweiten Bild der Text gelöscht wird. :/

    Ich müsste bei jeder Textänderung den Befehl SCNLR 0 ausführen zum Löschen, aber dann lösche ich auch mein Bild damit

    Was sehr blöd ist. Ich habe leider keinen Befehl gefunden wo mir der untere Teil löscht und den oberen Teil beibehält.

    Jetzt hoffe ich, das einer von euch was weis wie ich das lösen kann.