Hello, Guest the thread was called1.6k times and contains 18 replays

last post from cbm-warrior at the

Grafikmodus einstellen beim VIC20 mit ASM, wie geht das bitte?

  • wie geht das bitte?

    Gar nicht. Der VC 20 hat keinen Grafikmodus.

    Ich habe den Basic-RAM auf 28kb eingestellt.

    Dann hast Du noch nicht einmal Platz für den Textbildschirm?


    Eine Pseudo-Grafik kann man bauen, indem man Werte von 0 bis 255 ins Screen-RAM schreibt (einmal normal und einmal invers), den Zeichensatz nach $1000 verlegt und diesen als Bitmap nutzt. Literatur dazu:


    - Alles über den VC 20 (deutsch)
    - VIC 20 Programmer's Reference Guide (englisch, Vorlage zu a)
    - VC 20 Intern
    - Quelltext/Disassembly zum Super Expander Cartridge (das genaz so einen Schirm bastelt)

  • Eine Pseudo-Grafik kann man bauen, indem man Werte von 0 bis 255 ins Screen-RAM schreibt (einmal normal und einmal invers), den Zeichensatz nach $1000 verlegt und diesen als Bitmap nutzt.

    Und ich meine, man musste den Zeichensatz auch auf doppelt hohe Zeichen (8*16 Pixel) umstellen, da man sonst nicht bildschirmfüllend darstellen konnte...


    Gruß
    Thomas

  • Und ich meine, man musste den Zeichensatz auch auf doppelt hohe Zeichen (8*16 Pixel) umstellen

    Irks, stimmt, 'invers' als Attribut war ein anderer Fake-Gradik-Modus.



    Wie ensteht dann dadurch die Grafik

    Du füllst den Textschirm mit Werten 0,1,2,3,4,... und schreibst in den Zeichengenerator Deine Grafik-Pixel. Steht so auch im Datenblatt oder dem PRG. Einfach mal etwas stöbern. Oder den SEX im VICE starten und gucken, wie der Speicher dann aussieht.

  • Danke.
    Im Datenblatt steige ich nicht so durch ,kopieren, umwandeln , zurückkopieren usw.



    Code
    1. 10 for a=0 to 255
    2. 20 poke 4096+a,peek(32768+a)
    3. 30 next a

    Wie sieht jetzt bitte die routine für invers aus, wo kommen bitte die Daten hin?


    ---------------------------
    Du füllst den Textschirm mit Werten 0,1,2,3,4,... und schreibst in den Zeichengenerator Deine Grafik-Pixel.
    ---------------------------
    das kapiere ich bitte nicht



    Gruss

  • Quote from mc71

    Der VC 20 hat keinen Grafikmodus.

    Komisch. Dann machen all die Sachen in den Anhängen hier wohl irgendwas verkehrt ...

  • spacer: Die Routine, welche den entsprechenden Grafikmodus einstellt, sieht im Quellcode wie folgt aus:

    Nach deren Ausführung kannst Du auf eine Bitmap ab $1100 mit 160x192 Pixeln zugreifen, mit der Adreßfunktion AD=4352+192*INT(X/8)+Y, die Farbattribute stehen im Farb-RAM von $9400 bis $94EF und gelten für Bereiche mit 8x16 Hires-Pixeln, Hires (Bit 3 = 0) und Multicolour (Bit 3 = 1) können gemischt werden. Von $1000..$10EF wird dem VIC-Chip ein Adreßgenerator in die Bitmap zur Seite gestellt, dieser Bereich ist als schreibgeschützt zu betrachten.


    Bitmap löschen, Punkte setzen, Linien ziehen, etc. kannst Du jetzt entweder alles selbst machen oder dir anschauen, wie MINIGRAFIK das implementiert. :)


    Viele Grüße,


    Michael

  • Quote


    Von $1000..$10EF wird dem VIC-Chip ein Adreßgenerator in die Bitmap zur Seite gestellt, dieser Bereich ist als schreibgeschützt zu betrachten.


    Mein Bildschirmspeicher ist bei $1000 bei einer Erweiterung von 8kb, 16kb und 24kb.


    Also kann ich nur bis eine Erweiterung von ingesamt 6kb gehen?
    Oder gibt es noch eine Möglichkeit die Grafik ab 8kb Erweiterung zu realisieren?


    Ich kann den Bereich bei $A000 weiter nutzen ohne Basic ?


    Danke.
    Gruss

  • Dieses habe ich unten herausgeholt und kann einen leeren Screen darstellen.
    Nun komme ich noch nicht so klar , wie kann ich irgendwo einen Punkt setzen in meinem
    kleinen Programm?


    PS: Die Frage ist geklärt für die Grafik 28kb.


    Danke.
    Gruss


    Mein Programm von unten:


    Das original Program

  • Nur mal OT - falls es jemanden interessiert …


    Im 64er Sonderheft 3 - u. a. auch für den VC-20 - findet sich ab Seite 60 das Programm Hyper-Graphics. Dort findet man auch den Quellcode des Programmes ausführlich dokumentiert. Da kann man sich in das Thema sicher generell mal gut einlesen. pdf dieses Heftes ist in der Wolke zu finden, D64 der Diskette evtl. auch, dann braucht man es nicht abtippen. ;)


    Gibt in diversen Zeitschriften verschiedene kleine Grafikroutinen, meist leider nicht so sehr toll dokumentiert.

  • Wenn du auch noch das Jahr angegeben hättest, dann wäre es auch zu finden :D Ist Jahrgang 1986

    Stimmt Sonderheft 3/1986. Gebe aber die Jahreszahl gar nicht mehr an, außer bei den Sonderheften von 1985. Ab 1986 wurde ja neu von 1 ab bis zum Ende gezählt. Außerdem so viele VC-20 lastige Sonderhefte sind es nun auch wieder nicht … :D