You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

1

Friday, September 9th 2011, 1:27pm

schlonkel und ASM - Er blickt nicht durch!

Vorweg: Wieder VC20 :) - Den unten aufgeführen Code hab ich mir zusammengeschlonkelt. Nachdem ich gestern schon verzweifelt einen Fehler gesucht - und nach 5h gefunden hab - hänge ich hier nun fest. Der folgende Code soll 19 Zeichen "cyan" färben, dann 10 Zeichen weiterspringen -> wieder 19 Zeichen cyan färben, 10 Zeichen weiterspringen etc... Das über 9 Zeilen (zZ sind es testweise nur 4 Reihen). Damit soll das 2011 gefärbt werden. Dass er die ersten zwei Reihen korrekt darstellt ist nicht zu übersehen. Warum jedoch beginnt er ab der dritten Reihe ein Char vorher (und jeder weitere Reihe auch)? Die Routine ist doch immer die Gleiche, wenn der Sprung von der 1. zur 2. Reihe stimmt -> wieso dann nicht von der 2. zur 3. Reihe, resp. alle weiteren?!

BTW: Ich habe mal "C" statt den Farbcode reingeschrieben, zur Veranschaulichung - siehe Bild!

Edit: Eigentlich müsste die zweite Reihe schon "falsch" anfangen...

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cc2011_logo_farbe: ; Farbe für 2011 setzen

	lda #$03 ; cyan
	ldx #$00
	ldy #$13 ; 19 Zeichen pro Zeile

cc2011_logo_farbe_2:

	inx
	sta $126f,x ; 966f
	dey
	bne cc2011_logo_farbe_2
	pha
	txa
	adc #$08
	tax
	pla
	ldy #$13
	cpx #$6d ; 4 Reihen - Test bei y=$13/adc $08 ; 1c, 37, 52, 6d
	bne cc2011_logo_farbe_2
schlonkel has attached the following image:
  • komcode.jpg

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,339

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

2

Friday, September 9th 2011, 1:47pm

Quoted

Der folgende Code soll 19 Zeichen "cyan" färben, dann 10 Zeichen weiterspringen -> wieder 19 Zeichen cyan färben, 10 Zeichen weiterspringen etc...

ich würde damit anfangen nach jedem durchlauf der inneren schleife 10 statt 8 dazu zu rechnen :)
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

3

Friday, September 9th 2011, 1:48pm

probier mal clc vor adc.
Gruss,
enthusi

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,339

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

4

Friday, September 9th 2011, 1:50pm

LOL, das hab ich garnicht gesehen =) betriebsblind wohl =D
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

Colt Seavers

Blödmann

  • "Colt Seavers" is male

Posts: 1,723

Date of registration: Jan 17th 2008

Location:

  • Send private message

member since 54 month member since 54 month member since 54 month

5

Friday, September 9th 2011, 1:51pm

Wenn die Schleife das erste mal TXA, ADC #8, TAX macht ist das Carry-Bit noch von irgend ner vorherigen Operation gesetzt, daher wird dann zum x Register 9 addiert.
Durch das CPX #$6d wird das Carry-Bit dann gelöscht, so dass bei allen folgenden Durchläufen nur noch 8 addiert wird.

Mach mal testweise irgendwo vor der Addition noch n CLC rein, dann sollten alle Zeilen um 1 Zeichen nach links versetzt sein.
"Wer Ahnung hat, soll zum Arzt gehen." (H. Schmidt)

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

6

Friday, September 9th 2011, 1:52pm

Äh, jo, warum steht da eigentlich 8?! Und CLC hatte ich auch schon probiert, das war zu Zeiten wo ich noch einen anderen Fehler gesucht hatte... Und es dann mangels Erfolg wieder gelöscht. Nun, ich prüfe das mal und gebe Bescheid. Dank schon mal euch beiden.

Edit: Euch dreien :)

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

sauhund

ist falsch abgebogen

  • "sauhund" is male

Posts: 20,339

Date of registration: Jul 16th 2005

Location: zuhause

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

7

Friday, September 9th 2011, 1:54pm

clc solltest du quasi schon aus gewohnheit vor jedes adc schreiben =) ausser du willst wirklich irgendeinen übertrag dazu rechnen (oder du weisst wirklich sicher das carry an der stelle 0 ist)
http://www.hitmen-console.org http://magicdisk.untergrund.net
Die Furcht vor der freimütigen Antwort kann auch robuste Charaktere befallen.

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

8

Friday, September 9th 2011, 2:02pm

Toll, genau daran lag es - erst schmeiß ich es raus weil es aufgrund eines anderen Problems kein Erfolg liefert und dann sowas. BTW $08 war nicht richtig, es ist allerdings "nur" $09 :)

Merci beaucoup euch :)

Edit:

clc solltest du quasi schon aus gewohnheit vor jedes adc schreiben

Ich werde mich in Zukunft dran halten!

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

  • "Gerrit" is male
  • »Gerrit« is a verified user

Posts: 4,410

Date of registration: Mar 27th 2011

Location: Holzgerlingen

  • Send private message

member since 18 member since

9

Friday, September 9th 2011, 2:02pm

Wenn du jeweils 10 Zeichen überspringen willst, warum nimmst du dann

ADC #$08

und nicht

ADC #$0A

Ausserdem soll man vor jedem ADC immer ein CLC stellen damit das Carry garantiert nicht gesetzt ist (es sei denn, man braucht es).

Statt dem BNE auf Zeile 20 könnte man es auch mit einem BCC probieren. (CPX setzt Carry wenn Inhalt X grösser oder gleich Operand ist)

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

10

Friday, September 9th 2011, 2:05pm

Naja, eigentlich will ich nur neun Zeichen überspringen. Sauhund macht schon drauf aufmerksam dass der Wert in adc nicht stimmt. Dadurch dass aber das Carry gesetzt war war relativ gesehen beim ersten Durchlauf ja eine 9, die war erst im zweiten Durchlauf weg. Etwas kompliziert das Ganze - warum eigentlich nicht Basic ;)

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

11

Friday, September 9th 2011, 2:08pm

Na also. :)
schlonkel has attached the following image:
  • komcode_2.jpg

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

12

Friday, September 9th 2011, 2:13pm

HUI ! Welch schönes Bild :)

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

13

Friday, September 9th 2011, 2:14pm

Wenn ich den Rest bis zum 1. hingekomme ist vielleicht sogar noch mehr zu sehen :)

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

14

Thursday, September 29th 2011, 3:12pm

Huhu Schlonkel?
Gibt es schon Neues? Das sah doch schon ganz manierlich aus fuer erste Schritte.
Viel Erfolg weiterhin allemal :)

sidguy

Trainee

  • "sidguy" is male

Posts: 90

Date of registration: Sep 27th 2011

  • Send private message

member since 18 member since

15

Thursday, September 29th 2011, 8:46pm

Find ich auch gut :)
Das ruft nach einem Scroller mittem im schwarzen Balken und im oberen Teil sonst noch was feines :D

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

16

Thursday, September 29th 2011, 8:52pm

Och, ich bin schon fertig :) - Der schwarze Balken ist nun eine "wabernde" Fläche, tatsächlich läuft dort das Scrolling durch. Allerdings liegt da noch etwas Arbeit, das soll schlussendlich ein Softscrolling werden, in Basic hab ich es hinbekommen, ich werde die Vorlage für eine DoReCo verwenden - der VC20 ist da nicht so leicht zu handhaben (kommt mir zumindest so vor). Leider war die Zeit zu knapp, die Woche bin ich zu nix gekommen.

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

17

Wednesday, October 5th 2011, 7:40pm

Diesmal ist mein Problem eher der Syntax zuzuschreiben. ZZ schreibe ich ein Softscrolling, was auf einem VC20 nicht so profan ist ;) - Wie üblich zeichne ich das erst mal im Kopf auf und mal dann den Code. Jedoch gibt es mit diesem Codeausschnitt beim kompilieren Probleme...

Source code

1
2
3
4
5
6
7
8
[...]
lda $1a9a
and #$3f
lsr a
nop
nop
lda $1a9b,x
[...]

Beim kompilieren meldet ACME bei _lsr a_ "Value not defined" - Es ist zwar noch eine ältere ACME-Version (0.86) -> Aber irgendwie kann es doch kaum sein dass das damals nicht ging. Andere Codezeilen mit lsr a sind mit gleichem Fehlerbild betroffen. Wer weiß Rat?

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

18

Wednesday, October 5th 2011, 7:41pm

acme mag lieber 'lsr' statt 'lsr a'.
Ist auch viel schoener ohne das extra 'A'.
Der Fehler steht da indirekt ja auch. Der wert a ist nicht definiert.
Wenn Du a=$c000 machst dann compiliert bzw assembliert acme das, aber falsch.
Bei opcodes die unter anderem OHNE Adresse moeglich sind, benoetigen einige (meist aeltere) Assembler die explizite Angabe von A fuer Akkumulator.
Das betrifft auch ror, rol, asl, lsr.

schlonkel

Landgräfin Schnorchel von Möhren

  • "schlonkel" is male
  • »schlonkel« is a verified user
  • "schlonkel" started this thread

Posts: 10,747

Date of registration: Jul 6th 2004

Location: Gießen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

19

Wednesday, October 5th 2011, 7:43pm

Öcht? Also darauf wäre ich nie gekommen, das teste ich mal... Sekunde... Tatsächlich. Danke für den Tipp :)

DoReCo #37: 22.06.2013 - INFO - Stammtisch #28: 18.05.2013 - INFO

20

Wednesday, October 5th 2011, 7:45pm

Gern gescheh'n und weiter so :) (also mit Assembler, nicht mit bugs :)