das ist doch mal eine wirklich schöne sache!
![]()
Es gibt 42 Antworten in diesem Thema, welches 7.249 mal aufgerufen wurde. Der letzte Beitrag (
das ist doch mal eine wirklich schöne sache!
![]()
Super Idee von Dir !! Auf sowas hab ich schon lang gewartet.
![]()
Finde ich auch sehr interessant. Bisher komme ich noch gut mit. ![]()
Tolle Idee!
Mit spieltypischen Programmiertechniken hab ich mich eher weniger beschäftigt, da kann ich noch was lernen. Danke schonmal für deine Bemühungen! ![]()
Kleiner Wermutstropfen für mich: dass du Adressen dezimal angibst. Wo immer es auf die Bitebene geht, ist es für mich leichter, hexadezimale Zahlen zu interpretieren, im Moment müsste ich immer genauer gucken, was du eigentlich meinst. Aber ich bin bereit, mich zu arrangieren, wenn es für dich und/oder die meisten Mitleser im Dezimalsystem einfacher ist. ![]()
BTW: Es wäre auch möglich, so zu kommentieren, dass beide Systeme abgedeckt wären, aber das ist ein erheblicher Mehraufwand, den du dir nicht machen müsstest, war nur so eine Idee.
Gibt mittlerweile sehr viele Online-Konverter, z.B. Bitte melde dich an, um diesen Link zu sehen. . Falls jemand kurz umwandeln möchte.
Ist ein altes Basic-Leiden von mir, 53248 kann ich so besser einordnen. Sehe ich mir aber mal an, die meisten Adressen habe ich später mal umgemappt, aber die noch nicht. Da gibt's ja auch allgemein gängige Aliase.
Super Idee...
Kann der Thread gepinnt werden, damit man Ihn auch schnell wiederfindet?
Vielleicht auch für jeden Schritt ein neuer Thread, der gepinnt wird - dann verschwinden die einzelnen Schritte nicht in 20 - 50 Seiten...
Nur so ein Gedanke...
Super Idee, Danke! Bisher kann ich sogar (glaube ich) noch folgen!
Nicht nur gepinnt. Ich finde das Tutorial und die Diskussion drumherum sollten getrennte Threads sein. Sonst passiert dass das wieder unübersichtlich wird. Geht das Konform? Dann würde ein SuperMod das Tut in einen eigenen Thread kopieren und die Diskussion samt Verweis auf das Tut in einen anderen Thread.
Sehe ich auch so, in diesem Thread am besten nur die Kursinfos, alles Gelabere einfach in einen OT Thread. Sonst geht die Übersicht wirklich flöten. Ich bin zwar sonst auch n Labersack, aber in manchen Threads wärs echt besser...
!zone WaitFrame
;wait for the raster to reach line $f8
;this is keeping our timing stable
;are we on line $F8 already? if so, wait for the next full screen
;prevents mistimings if called too fast
WaitFrame
lda $d012
cmp #$F8
beq WaitFrame
;wait for the raster to reach line $f8 (should be closer to the start of this line this way)
.WaitStep2
lda $d012
cmp #$F8
bne .WaitStep2
rts
Alles anzeigen
"!zone" Was bedeutet das?
wieso wird hier 2x auf linie $f8 gewartet?
einmal bei WAITFRAME und einmal bei .WaitStep2
wo ist da der Unterschied?
Wieso hat .WaitStep eine Punkt davor und WaitFrame nicht?
Kann mir das bitte jemand erklären?
wieso wird hier 2x auf linie $f8 gewartet?
einmal bei WAITFRAME und einmal bei .WaitStep2
wo ist da der Unterschied?
Das steht in den Kommentaren darüber: Es ist der Garant dafür, dass beim eigentlichen Aufruf (.WaitStep2) genug Zeit zur Verfügung steht. Stell dir einfach mal vor, dieser Teil würde mitten in der gewünschten Zeile ausgeführt werden, das könnte zu unerwünschten Timing-Glitches führen, z.B. würde der Farbwechsel dann unsauber. WaitFrame verhindert das ("wait for the next full screen, prevents mistimings if called too fast"), indem dieser Teil, wenn man schon in der gewünschten Zeile $f8 ist, nochmal eine Extrarunde dreht.
Das Aufteilen des Threads fände ich sehr nett, das müßte allerdings ein Mod in die Hand nehmen *winkwinknudgenudgeknowwhatimean*
giben:
!zone ist für Acme die Kennzeichnung einer in sich geschlossenen Label-Gruppe. Alle Labels, die ein . davor haben, sind nur innerhalb dieser Zone sichtbar. Alle Labels ohne Punkt sind global sichtbar.
Das hilft sehr schön, wenn man Labels für Loops verwendet. Da gibt es dann nicht loop1 bis loop32000, sondern kann noch relativ aussagekräftige Namen verwenden.
Das zweimal auf $f8 warten hat hobbycoder sehr schön erklärt. Das Problem würde auftreten, wenn man es zweimal direkt hintereinander aufruft (für eine Zeitpause o.ä.). Der zweite Aufruf könnte tatsächlich noch innerhalb der $f8 erfolgen.
Klar doch, das eigentliche tutorial ist nun ein sticky und die Diskussionen/Kommentare dazu ausgelagert.
Lasst aber bitte auch den Sticky sauber damit Endurion seine weiteren Schritte dort nacheinander posten kann.
Super, danke!
Das steht in den Kommentaren darüber: Es ist der Garant dafür, dass beim eigentlichen Aufruf (.WaitStep2) genug Zeit zur Verfügung steht. Stell dir einfach mal vor, dieser Teil würde mitten in der gewünschten Zeile ausgeführt werden, das könnte zu unerwünschten Timing-Glitches führen, z.B. würde der Farbwechsel dann unsauber. WaitFrame verhindert das ("wait for the next full screen, prevents mistimings if called too fast"), indem dieser Teil, wenn man schon in der gewünschten Zeile $f8 ist, nochmal eine Extrarunde dreht.
Tja mein Englisch ist leider nicht so gut ![]()
Mich iritiert noch das "!zone" ,
Noch hab ichs net ganz gerafft, aber das wird schon noch ![]()
Danke Dir
Ich illustriere mal anhand eines sinnfreien Beispiels:
!zone FuelleZeichenBlau
FuelleZeichenBlau
ldx #0
lda #0
.loop
sta 1024,x
inx
cpx #8
bne .loop
rts
!zone FuelleZeichenRot
FuelleZeichenRot
ldx #0
lda #5
.loop
sta 1024,x
inx
cpx #8
bne .loop
rts
Alles anzeigen
Würde das !zone bei FuelleZeichenRot nicht stehen, könnte ich das Schleifenlabel dort nicht auch .loop nennen, da der Name oben schon benutzt wurde.
!zone ist Geschmackssache. Ich persönlich würde lieber die .loop jeweils anders nennen, weil es imho bei größerem Codevolumen eindeutiger ist Sachen mit STRG+F wiederzufinden, aber letztlich ist das gehupft wie gesprungen.
So oder so freue ich mich über/auf den Fred!
Ah, jetzt hab ichs`s ![]()
Geht mit ACME auch so :
FuelleZeichenBlau:
ldx #0
lda #0
-
sta 1024,x
inx
cpx #8
bne -
rts
FuelleZeichenRot:
ldx #0
lda #5
-
sta 1024,x
inx
cpx #8
bne -
rts
Alles anzeigen
Entsprechend mit Sprüngen nach vorne:
Noch einen Tip : Ich schreibe hinter den Sprunglabels immer die Doppelpunkte, aus den einfachen Grund, dass man die dann schneller finden kann (Sprünge dort hin ohne Doppelpunkt, Sprungziel mit Doppelpunkt).
Ist natürlich alles Geschmacksache ...