Einer meiner Favoriten ist "Hotstyle Takeover" von Loonies aus 2001:
https://www.youtube.com/watch?v=8vboX6Cf40M
Außerdem mag ich die kranken Da Jormas Sachen aus den 90ern..
Findet man auch auf pouet.net
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
Einer meiner Favoriten ist "Hotstyle Takeover" von Loonies aus 2001:
https://www.youtube.com/watch?v=8vboX6Cf40M
Außerdem mag ich die kranken Da Jormas Sachen aus den 90ern..
Findet man auch auf pouet.net
IRQ Basic und Handbuch hab ich mir runtergeladen.
Mal sehen was ich damit anfangen kann.
Ich werde aber, sobald ich das Buch "Wunderland der C64 Grafik" durch habe, mit Assembler anfangen. Man stößt imme röfter an Grenzen je mehr man sich beschäftigt.
Aus methodischen Gründen mach ich aber das eine Buch noch zu Ende. Sogar da drin fängt der Autor dann mit Assembler an und stellt seine eigene Grafik-Erweiterung vor.
Tolles Tribar!
Auch wenn das jetzt OT ist:
Wie kann man denn Textausgabe im Grafikmodus bewirken?
Dann könnte man Mikes Scroll-Routine nehmen und zugleich den Cevi etwas Schönes zeichnen lassen wie das Tribar. Der Scrolltext würde dadurch auch lesbarer werden, da verlangsamt.
Idealerweise noch ein SID dazu und schon hätte man ein Intro.
Ich befürchte aber dass man da wohl Assembler braucht weil es zuviele Routinen sind, die zyklisch angesprungen werden müssen. Aber ohne Ton müsste es in Basic doch hinkriegbar sein - ohne dass da bunte Rechtecke scrollen sondern lesbare Buchstaben während sich das Tribar zeichnet.
ZitatOS 3.9 mit 2MB Chipram? Mal sehen, wie weit er kommt.
hab mal schnell in WinUAE geguckt.
324 kb Chip bleiben übrig bei einer OS3.9 Basis Installation A1200, 68020, 2 MB ChipRAM.
Ob das für einfache Kopiervorgänge reicht und wie lange die dauern ist fraglich. Evtl. 4 Farb-Workbench nehmen, keine 256 Farben usw.
Oder von einer resetfesten RAM-Disk booten und nur ganz wenig Befehle in die Startup-Sequence machen a la
mount cf0:
loadwb
Dann müsste mehr RAM übrig sein.
Ein Versuch wär es aus meiner Sicht allemal wert, sowas ist schnell auf Machbarkeit geprüft.
ZitatMal sehen. Denke mal mein OS3.9 läuft ohne die Turbokarte gar nicht.
Unter WinUAE bootet OS3.9 auch mit 020 Prozessor, d.h. ohne TK, sogar bis in die Workbench.
Sollte also auch am Echten klappen.
ZitatEher umgekehrt. Es funktionieren weniger Karten am PCMCIA Port, als am internen IDE Anschluß.
Woher weißt du das?
Mir wurde von Guido Does / Vesalia Computer am Telefon gesagt, dass intern der Amiga wählerisch ist und PMCIA-mäßig ist es ihm mehr oder weniger egal welche CF Karte. Und so war es dann auch. Intern hab ich die Agfa-Karte genommen die Herr Does mir empfohlen hat, extern hab ich irgendeine Sandisk oder weiß nicht mehr Karte.
Ich denke dass Guido Does es als jahrzehntelanger Amiga Fachhändler doch wissen muss.
Zum Thema Turbokarte und PCMCIA-Problem kann ich keine Aussage machen. Das Problem hatte ich nie, ich habe aber auch eine Blizzard, und keine Apollo oder was es sonst noch so gibt.
ODER Du schaltest Du Turbokarte beim Booten per Tastenkombination ab wenn das möglich ist. Dann musst Du das ding nicht mal ausbauen.
Bei meiner Blizzard muss ich beim Booten die "2" drücken, dann schaltet sie sich aus und es ist dann so als wär sie gar nicht da.
Statt den Amiga aufzumachen, nimm doch die Turbokarte raus und boote den Amiga "blank".
Bei mir fehlt die Abdeckklappe vom Trapdoor-Slot schon allein aus Kühlungsgründen. Die Turbokarte raus, am Amiga selber von extern nach intern kopieren, Turbokarte rein.
Besser als den Amiga aufzumachen, interne CF raus, an den PC... etc.
Das Kopieren am Amiga ist halt von Natur aus langsam, ob mit oder ohne Turbokarte, das ist die Geschwindigkeit vom PCMCIA Bus, die erhöht sich glaub ich nicht wenn ne schnellere CPU drin ist.
Also alles gesetzt den Fall, die Turbokarte stört wirklich den Adressbereich vom PCMCIA Bus. Es zu probieren macht wenig Aufwand und wär die Sache doch wert.
Es kann sein, dass Du beim Booten ohne TK nicht bis zur Workbench kommst wegen Prozessor-Libraries (68040.library, 68060.library, etc.). Dann probier es einfach mit
mount cf0:
loadwb
Ich habe mir für solche Fälle ein Skript gemacht, das noch MUI mit initialisiert und ein paar zusätzliche Assigns macht.
Ich habe eine blizzard 060/50. Daher wohl auch nie Probleme bei mir.
Ich nutze eine 4gb no Name Karte.
Für den internen verbau dürfen es nur bestimmte Karten sein z. B. Von agfa.
Extern ist egal wenn die richtige turbo Karte drin ist.
Ich nehme an es gab zum PCMCIA Adapter eine Installationsdiskette? Cf0 muss beim Systemstart gemountet werden über einen PCMCIA Gerätetreiber, das scheint bei dir auch der Fall.
Kannst du die CF Karte mal unter Windows formatieren bei der Arbeit? Und dann mit dem Mac drauf schreiben? I
Wenn das Cf0 device richtig installiert ist muss es an der Karte liegen oder am Format, das der Mac schreibt beim formatieren.
Ich habe einen a1200 mit PCMCIA CF Adapter es klappt super, Austausch über Windows PC. Adf schreibe ich mit Trans adf auf Diskette. Whd load geht auch.
Paraplot befindet sich auf dieser D64 Datei:
http://retrocomputerscene.com/…535bc473bd3effedbb4f9e17f
ZitatAh, habs gefunden. Auch wenn es sauteuer ist, solltes Du zuschlagen.
Hab gerade zugeschlagen. 1 Euro plus 3 Euro Versand passt gerade noch in mein Budget.
Edit:
Der Basic Raytracer ist ja krass. Probiere ich aus.
Hallo,
hat sich schonmal jemand mit FN Formeln beschäftigt, die man über eine Plot-Routine ausgeben kann?
Es gibt Graphen, die sehen aus wie Blumen oder schöne Muster wenn man sie plottet.
Anbei ein Beispiel mit einer Sinus-Funktion, einer Cosinus-Funktion und einer Parabel.
Ich selbst bin Mathe-Legastheniker, aber ich weiß dass es Coder gibt, die Mathe sofort verstehen als würden sie Zeitung lesen.
Vielleicht bekommen wir eine Sammlung schöner (und komplexer) Figuren zusammen?
Edit: Unter VICE mit Alt-W beschleunigen, das kriecht arg, ist halt BASIC.
Gruß
Drei Zeilen Code und das Ding rennt sofort los. Cool.
Edit:
In Mikes POKE-Listing auf Seite 2 fährt er eine sich 2x wiederholende (für sauberes Loopen) lange im RAM liegende Textzeile entlang mit einem 40-Zeichen-Sichtfenster, das per Print Befehl ausgegeben wird. Der Pointer (A) wird zwar umgebogen auf die neue "Cursor-Position" durch die POKEs in Zeile 19, das Basic denkt aber immer noch, a$ ist 40 Zeichen lang, daher klappt das mit den Ausschnitten. Mike setzt das Ende des Basic-Listings auf Adresse 16384 durch die POKEs in die Adressen 46 und 45 ganz zu Beginn. Dadurch setzt Basic den String-Start auf 16387, was Mike weiß und in seinem Code schon fest eingeplant hat durch Definition A=16387.
Der CLR-Befehl am Anfang ist zwingend nötig, warum weiß ich nicht. Ich habe nur ausprobiert, dass das Programm ohne diesen Befehl nicht läuft.
On- (Bedingung) Goto13:Goto14
heißt, dass bei Nichterfüllen der Bedingung der Interpreter hinter dem Doppelpunkt weitermacht. Dadurch kommt es zu der Kopieraktion ins RAM, von der ich zwar gewusst habe dass sie stattfinden muss, aber nirgendes eine funktionierende Schleife dazu entdeckt hatte, weil ich die BASIC Syntax "On-" nicht kannte.
Ich habe eben jetzt erst wirklich verstanden was das Programm macht. Ich dachte davor an so Sachen wie "Mike schreibt in die Bitplane" wegen der Adressen die er benutzt hat. und mich dann gewundert warum er ohne Grafikmodus auskommt. Naja, Anfänger-Schnellschuss-Denken.
Ich schreibe diese Zeilen auch für oobdoo und alle anderen, die offen von sich sagen, dass sie hier und da noch dazulernen wollen, weil sie noch nicht alles wissen. Wer weiß wer von den Mitlesern noch in ähnliche Denkfallen getappt ist.
@ BIF
Und wenn man mehrere 40-Zeichen-Strings hat (a$,ab$,c$..), dann steht in 34/35 der Initiale Wert ab dem die Strings anfangen? d.h. man kommt per Offset an jeden Buchstaben ran?
@ BIF:
Danke für die info mit der String-Adresse.
Wozu aber die Wahr/Falsch-Abfrage ob a$>"", d.h. ob a$ nicht leer ist? Wenn es nicht der Fall ist, wird 0 hinzuaddiert und es passiert nichts. Wenn a$ aber leer ist, werden durch Subtraktion (-1) Hi-Byte und Low-Byte des String-Zeigers verändert und damit die Adresse, die wir bisher für den String Zeiger gehalten haben. Das bisherige Low byte wird zum Hi Byte und das neue Low Byte ist in Adresse 33 - gehört also gar nicht zum String-Zeiger, den Du als 34 und 35 beziffert hast. Nix verstehn. Help.
@ Mike:
Das ist ja geil. Klartext mit mehreren $DATAs. Hexworx' Ansatz fand ich zwar gut, ich hätte aber nur an String Variablen gedacht die ich irgendwie hätte durchnudeln müssen und nicht an $DATAs, was ja natürlich geht, ich aber vor lauter CHR$ nicht mehr im Kopf hatte. Die Routine braucht viel Initalisierungszeit durchs Kopieren in den geschützen Bereich und ist dann sehr schnell. Meine Routine rennt von Anfang an (Zwei Zeilen voller Leerzeichen am anfang sorgen für Verzögerung und die Sprite-Abfrage verlangsamt den Scroller zusätzlich für bessere Lesbarkeit), dafür kriegt man Augenkrebs bei der manuellen Erstellung der CHR$-Datas.
Ich versteh schon warum am Ende alle Assembler lernen..
Trotzdem sehr geil. Danke, viel gelernt.
@ WTE
Dem "Typer-Effekt" am Anfang der Scrollroutine beuge ich vor durch vorheriges Einschieben von Leerzeichen in den Scrolltext. Dann wirkt es optisch so als würde der Text wirklich rechts rein und links rauslaufen. Ich habe denselben Effekt auch in meinem Code.
@ Mike
Ähm, was ist denn der bevorzugte Weg, Assembler-Code zu verarbeiten? Prg-Dateien mit CBM Prg Studio generieren? Oder einen C64 Assembler nehmen wie TurboAssembler? Wie machen die Leute das außerdem, dass wenn man LIST eintippt, eine SYS-Anweisung steht mit einer Sprung-Adresse auf den Maschinencode?
Wollte nicht zu sehr OT werden und bin da thematisch auch noch gar nicht. Es war nur weil ich nicht weiß, wie ich den Assembler Code von Dir überhaupt benutzen kann.
@ Mike, Hexworx
Gröl! Ihr hattet recht!
Es geht um die richtigen Zeitpunkte wann man peekt und poked. Wenn ich gleich nach dem Sprite-Read peeke klappt es.
Bitte findet die korrekte PRG im Anhang. Mit Alt-W könnt ihr in VICE vorspulen bis zu dem Moment wo die blaue Schrift gleich verschwindet. Ab dann sieht man den flüssigen Übergang. Endlosschleife gelungen, Basic V2 überlistet.
@ mc71
Ich habe nach Auslesen der Sprite-Daten in den Quelltext eingesetzt:
d1=peek(63)
d2=peek(64)
d3=peek(65)
d4=peek(66)
Denn hier fängt der "Scrolltext" an.
Wenn der DATA-Bereich zuende ist, springt das Pogramm eigentlich ganz an den Anfang und initialisiert vorher alle relevanten Variablen und resettet den DATA-Zeiger per Restore-Befehl.
Stattdessen initialisiere ich die relevanten Variablen und schreibe statt Restore
poke 63,d1
poke 64,d2
poke 65,d3
poke 66,d4
Und lasse dann nicht an den Anfang springen, sondern an den Beginn der Sprite-Abfrage. Das soll eine flüssige Dauer-Wiederholung bewirken ohne ruckeln und Neuzeichnen der "Rasterbars" durch den Komplett-Neustart bei DATA-Ende.
Ich bekomme aber eine "Out of Data" Meldung sobald sich das Programm an den "umgestellten" DATA-Zeigern bedienen soll.
Sind die Adressen 63-66 wirklich die richtigen? Wenn ja liegt es an mir und ich muss nochmal in den Code gucken.
Edit:
Oder aber das Programm verändert sich dynamisch im Speicher während der Ausführung und das Beschreiben mit den alten Zeiger-Adressen führt ins Leere weil da gar kein DATA-Bereich mehr ist (?!). Ein V3.5/V7 Basic-Befehl mit dem man den Zeiger beeinflussen kann, fängt diese "Dynamik" womöglich ab. Ist aber alles Spekulation meinerseits vielleicht hab ich auch nur Tomaten auf den Augen.
Cool. Das wusste ich nicht. Ich hab nur gesehen es gibt keinen BASIC V2 Befehl, der diesen Zeiger anfasst.
Wenn man weiß wo der überhaupt ist, sieht die Sache wieder anders aus.