bräuchte bitte einige Pokes

  • bräuchte bitte einige Pokes

    Hallo miteinander,

    mit poke 36866,x kann ich den screen Richtung rechts ausdehnen, klar
    mit poke 36867,x kann ich den screen nach unten erweitern, klar

    a) aber welche pokes gibt es, dass ich den Bildschirmrand in alle 4 Richtungen bewegen kann, denn ich weiß das es da was gibt, nur fällt mir es nicht mehr ein
    b) gibt es auch Pokes, wo ich den screen nach oben, bzw. links erweitern kann ?

    dann c) angenommen der screen ist größer, habe ich dann auch mehr Zeichen als die 506, oder kann ich den extra Platz nicht ansprechen ?

    Im Grunde genommen geht es darum. ich bräuchte von links nach rechts nen fetten screen, evtl. mit ein wenig Rand und wenn möglich in der horizontalen 3-4 Zeilen mehr, geht das überhaupt ?

    weil ich habe ein Programm, wo ich horizontal extra Platz bekomme und da auch was hinein schreiben darf, so dass es sichtbar wird .

    - zum laden bitte 8K Erweiterung rein und von oben nach unten laden.

    So, und eben mit diesem Programm dachte ich, ich benutze die horizontale Länge und in die breite Poke ich mich rein, weil dann hätt ich für das Game, was mir vorschwebt end viel Platz für das Spiel und oben oder unten kann ich Punkte, Infos ect. anzeigen lassen, oder auch nicht.

    Nun tät ich bitte um die Meinung von euch bitten, ob so etwas möglich ist, oder nicht, weil dann versuche ich es anders, bevor ich mich verzettle.

    danke schon Mal.

    Lg. Toni

    edit cp2: Datei hier angehängt und externen Hoster gelöscht - bitte alle Uploads hier im Forum erledigen (s. Post 2. Danke)
    Dateien
    • TONI-PRG.D64

      (174,85 kB, 3 mal heruntergeladen, zuletzt: )
    :cry: ......42, what else ?? :cry:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von controlport2 ()

  • Guck am bestem mal da unter 'Programming': sleepingelephant.com/ipw-web/bulletin/bb/index.php

    Wenn du da über Beiträge von 'Mike' stolperst, bist du schon mal ziemlich richtig. Wenn nicht er - wer dann... :hatsoff:
    Read'n'Blast my jump'n'stop-text-sprite-scroller Select A Move

    Ex-TLI (The Level 99 Industries) & Ex-TNP (The New Patriots) & Ex-TEA (The East Agents) & ?
  • Hab dir schon im Denial-Forum versucht zu erklären, dass es nach links und oben erweitern nicht gibt als Extra-Funktion. So gesehen gibt es nach rechts und unten erweitern auch nicht.

    Es gibt:

    POKE36864,x -> X-Position des Bildschirms
    POKE36865,y -> Y-Position des Bildschirms
    POKE36866,c -> Anzahl Zeichen pro Zeile
    POKE36867,z*2 -> Anzahl Zeilen Bildschirm

    Probier einfach mal auf einem PAL-VC20 mit mindestens 8K-Erweiterung

    Quellcode

    1. POKE36864,8:POKE36865,21:POKE36866,26:POKE36867,64:POKE44,20:POKE5120,0:NEW
    Das verschiebt den BASIC-Start um 512 Byte nach hinten (POKE44,20) und erweitert den Schirm auf 26 x 32 = 832 Zeichen (POKE36866 und 36867). Außerdem positioniert es dem Bildschirm nach links oben (POKE36864 und 36865). Dies ist so ziemlich die maximale Auflösung, die auf TVs und Monitoren noch sichtbar ist. Im Emulator bekommst Du auch die Overscan-Area drumherum angezeigt, aber wenn dein Programm auch auf echten Geräten noch komplett zu erkennen sein soll ist 26 x 32 hart am Limit.

    An die hinteren Zeichen kommst du nur per POKE ran.

    Quellcode

    1. FORI=0TO831:POKE4096+I,0:POKE37888+I,2:NEXT
    füllt z. B. den Schirm mit dem Klammeraffen (0) in Farbe rot (2)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tokra ()

  • danke, das habe ich ja alles kapiert soweit, in Deutsch ist es etwas leichter für mich, also ich erkläre Dir, was ich eigentlich machen will;

    zuerst wollte ich für ein Spiel den Bildschirm sehr groß machen, mehr als die 21 Zeichen, und ich dachte, wenn ich 40 Zeichen nehme + den extra Platz vom Bildschirm dann passt es, dann hätte ich die Buchstaben umgeändert und wäre zufrieden gewesen.
    ABER DAS GEHT JA NICHT.

    Jedoch hatte ich vom Boray ein Programm, wo man Sachen in den expandierten Bildschirm reinschreiben kann und vor sehr vielen Jahren ( ich war noch a Bub ) sah in einem Spiel, wo die Punkte, Level, Leben und Zeit am Bildschirmhintergrund gestanden ist. Somit wusste ich, das es irgendwie gehen müsste.

    Jetzt will ich es so machen;

    1. den Screen von links nach rechts, bis auf einen kleinen Rand erweitern, dann habe ich immer noch alle Farben und bin nicht im 40 Zeichenmodus, dann will ich einige Zeichen kreieren und das
    Game dann starten, somit habe ich auch noch Platz
    2. wenn dies geht, vom Boray den extra Platz benutzen, wo ich die Punkte ect. reinschreibe, weil jede Zeile die ich spare, kann ich für das Game hernehmen.

    Jedoch meine Frage lautet, ich kann die einzelnen Zeichen umdefinieren, aber kann ich auch z.B. wenn ich hochauflösendes Bild habe, welches aus einzelnen Pixeln besteht, kann ich dann eigentlich die einzelnen Pixel ansprechen mit POKE und PEEK ? ( natürlich unter Maschinensprache )
    Weil dann wäre es viel einfacher für mich.

    dann will ich mich nochmals bei Dir für die ausführliche Info bedanken und ich hoffe, falls ich noch Fragen habe, dass ich mich an Dich wenden kann.

    IN diesem Sinne,
    Wirsching Toni :prout:
    :cry: ......42, what else ?? :cry:
  • :freude tausend dank für die Pokes, so ungefähr wollte ich es haben, ist sogar noch besser, als meine Vorstellung, bist ein Genie :juhu:

    Nun noch ne kleine Frage, als Bub haben wir immer mittels Poke die Bildschirmränder verschoben usw, haste die zufällig auch noch auswendig ?

    Ähh, ich kann doch in den extra Raum in Spielen benutzen, bzw auch mit einer 16 K / 32 K Erweiterung, und geht das auch auf einem realen VIC-20 ? Weil das sollte der
    Sinn von dem Game sein.

    Ich seh es schon, da werden noch viele Fragen kommen, Sorry vorab.

    LG & Dank Toni :winke:
    :cry: ......42, what else ?? :cry:
  • aturnwald schrieb:

    Nun noch ne kleine Frage, als Bub haben wir immer mittels Poke die Bildschirmränder verschoben usw, haste die zufällig auch noch auswendig ?
    und geht das auch auf einem realen VIC-20 ? Weil das sollte der
    Also zum Einstellen der Bildschirmränder nimmst Du die schon erwähnten POKE 36864,x und POKE 36865,y - spiel da einfach mal mit rum.
    Und ja, das alles läuft natürlich auf einem echten VC-20 genau so.

    ich kann die einzelnen Zeichen umdefinieren, aber kann ich auch z.B. wenn ich hochauflösendes Bild habe, welches aus einzelnen Pixeln besteht, kann ich dann eigentlich die einzelnen Pixel ansprechen mit POKE und PEEK ? ( natürlich unter Maschinensprache )
    Ein hochauflösendes Bild beim VC-20 besteht immer aus umdefinierten Zeichen. Man malt einfach den Bildschirm mit allen Zeichen voll und muss die dann alle umdefinieren. Das klappt natürlich erstmal nur mit den 256 Zeichen, es gibt aber einen speziellen Modus im VC-20 wo immer zwei Zeichen auf einmal dargestellt werden, dann kann man 512 Zeichen umdefinieren.

    Für Details arbeite am besten mal das Grafik-Kapitel im Buch VC-20 Tips & Tricks durch, das würde hier den Rahmen sprengen.
  • Hexworx schrieb:

    Wenn du da über Beiträge von 'Mike' stolperst, bist du schon mal ziemlich richtig. Wenn nicht er - wer dann ...
    :D

    Tokra hat ja schon geantwortet, nochmals: die POKEs die Du suchst gehen von 36864 bis 36867. Nachfolgend jetzt nochmal mein letzter Beitrag im gleichnamigen Thread im Denial-Forum, diesmal in deutsch: :saint:

    Mike schrieb:

    Du hängst immer noch der Fehlvorstellung nach, daß der VIC-I Chip einen Rahmen hätte, der zu allen Seiten "geöffnet" werden könnte, ähnlich so wie es auf dem C64 gemacht wird.

    Das ist falsch, beim VC-20 ist es nicht möglich, irgendwas im Rahmen anzuzeigen.

    Es *ist* aber möglich, die Größe des Anzeigefensters zu verändern und man kann es an eine andere Position schieben. Natürlich erlaubt diese Vorrichtung dann, Text an Stellen auf den Bildschirm anzuzeigen, wo vorher mit der Standard-Registerbelegung am VIC nur der Rahmen sichtbar war.

    Der BASIC-Editor bekommt von den geänderten VIC Registern aber nichts mit, er nimmt immer das 22x23 Format an, wodurch die Anordnung verzogen und die unteren Teile unerreichbar bleiben. Ein Programm, daß das Bildschirmformat ändert, kann das aber berücksichtigen und immer noch PRINT für die "erreichbaren" Teile der Anzeige hernehmen, und POKEs oder Maschinencode für die "nicht-erreichbaren" Teile.

    Wegen der verfügbaren Zeichengrößen: nur 8x8 und 8x16 werden direkt vom VIC-I Chip unterstützt. Wenn Du eine andere Zeichengröße verwenden willst, mußt Du es selbst programmieren. Das bedeutet im Regelfall, daß Du die Anzeige als Bitmap aufsetzen mußt, und die Zeichen pixelweise hineinschreibst. Im Grafikmodus wird die Farbauflösung immer noch von dem zugrundeliegenden Textbildschirm bestimmt. Du kannst die Zeichenfarbe nur alle 8x8 oder 8x16 Pixel wechseln.

    Dein 6-Punkte-Plan geht sicher mit dem richtigen Code, aber mit ein paar POKEs ist es da nicht mehr getan. Du kannst dir aber mal meine Spielesammlung anschauen: viele der Spiele sind in BASIC geschrieben, und man kann einiges (sich wieder an)lernen, indem man sich die Listings anschaut. Der Titelbildschirm von "Dangerous Planet" z.B. nutzt einen erweiterten Schirm, um den Titel über die komplette horizontale Breite darzustellen.
    Ach ja,

    :wilkommen:

    im Forum64.
    Dateien
    • games.zip

      (50,52 kB, 4 mal heruntergeladen, zuletzt: )
  • Yep, das habe ich, danke, nee ich wollte nur mal wissen, ob dies überhaupt geht, das mit den doppelten Zeichen weis ich.
    Was ich meine den Bildschirmrand kann ich doch auch mittels Poke verschieben in alle nur denkbaren Richtungen, klar,
    aber kann ich den ganzen Bildschirm z.B. mit Pokes nach oben, unten, links & rechts verschieben, ohne dass er größer wird, da gab's doch mal Pokes, ich kenne nur die Nummern nicht mehr
    :cry: ......42, what else ?? :cry:
  • jep, das ist alles klar und so wollte / will ich es auch machen, im Englischen habe ich es schon verstanden. Es ist nur so.
    Sorry, warum ich da festklammere, ich glaube einfach, das wir damals als Kinder das gesamte Bild verschieben konnten, mit Pokes, warum sich dass so in mein Hirn reingebrannt hat, ich kann's ned sagen, aber wenn Du meinst, dass es so etwas beim VC-20 nicht gäbe,
    dann glaube ich Dir das.
    Hab vielen Dank für all die Infos, wenn's ist, werde ich mich wieder melden.
    :cry: ......42, what else ?? :cry:
  • Hi Mike,

    danke für die D64, die meiste n Programme kenne ich, zumal einige vom VC20 Handbuch sind, jedoch vielen Dank.
    nur noch kurz, alle Erweiterungen über 3K ( ab 8K + ) da verschieben sich doch das Basic ect. aber die ganzen Adressen sind ja dann gleich, egal ob ich 8, 16, 24 oder 32 K benutze, oder liege ich da falsch ?
    und dann noch ganz wichtig, ich kann so lange ich die Datasette nicht benutze auch diesen Speicher nehmen um Routinen hinein zuschreiben.( SYS828 ), oder ? da ist die Erweiterung, wurst ?
    :cry: ......42, what else ?? :cry:
  • aturnwald schrieb:

    aber kann ich den ganzen Bildschirm z.B. mit Pokes nach oben, unten, links & rechts verschieben, ohne dass er größer wird, da gab's doch mal Pokes, ich kenne nur die Nummern nicht mehr
    POKE 36864,x und POKE 36865,y <- das sind die POKEs, die Du suchst. Schau dir bitte mal die vorherigen Posts von mir an, schreib das jetzt sicher schon zum 3. Mal :D
  • aturnwald schrieb:

    nur noch kurz, alle Erweiterungen über 3K ( ab 8K + ) da verschieben sich doch das Basic ect. aber die ganzen Adressen sind ja dann gleich, egal ob ich 8, 16, 24 oder 32 K benutze, oder liege ich da falsch?

    Sobald eine größere Erweiterung ab 8K benutzt wird, verschiebt sich da einiges und gerade um umdefinierte Zeichen zu benutzen, muß man etwas mehr Aufwand betreiben.

    Worauf es da ankommt, und warum das so ist, hab ich genauer in einem etwas größeren Post im Denial-Forum beschrieben:

    sleepingelephant.com/ipw-web/b…wtopic.php?t=7442&start=7
  • Das denke ich auch. ;) Wichtig ist aber vor allem, daß und ob es dir weiterhilft.

    Davon ab ist die Spielesammlung tatsächlich ein Sack voller Gold - ich denke mal, 20 Minuten reichen nicht aus, um herauszufinden, was da alles drinsteckt.

    Falls Du es noch nicht gemacht hast, aktivier' mal eine +24K Erweiterung und starte die Datei "READ ME" auf der Disk. Dann erfährst Du auch was über die Hintergründe. :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mike ()

  • noch ein paar Fragen am Rande, wie würdet Ihr das machen, oder was ist möglich

    a) ich würde gerne für das Spiel die Graphic aus dem Zeichensatz definieren, soweit so gut, nun kann ich dann z.B. wenn ich eine andere Graphic brauche diese dann wieder umdefinieren ?
    a1.1) also ich meine z.B. Bild 1-5 mit der gleichen Graphic, dann lädt das Programm den nächsten Teil vom Spiel nach und ich will ne etwas andere Graphic, dann Teil 3 usw.
    a1.2) ich für das laden, damit es nicht so lange dauert, nen Fastloader benutze

    b) ich ne 27K Erweiterung rein stecke und die Graphic dann immer wenn's nötig ist ändere nur nur ab und an mal was nachlade, bzw. speichere

    c) wie viele Zeichen kann ich denn überhaupt ne definieren, also ich meine die Buchstaben, logisch, aber kann ich auch den 2. Zeichensatz umändern, so dass mir die Schrift erhalten bleibt ?
    also alles was man mit SHIFT bzw. der Commodore Taste aufrufen kann, oder geht das nicht, weil dann wenn's gehen sollt, hätte ich genug Zeichen zur Verfügung?

    So, wie würdet es Ihr machen? Weil das Spiel soll ja auch auf einem richtigen VIC-20 funktionieren, so mit max 16 oder 24 K, weil ich denke, die meisten haben so etwas noch rumliegen.

    danke
    :cry: ......42, what else ?? :cry: