You are not logged in.

maltes

Beginner

Posts: 8

Date of registration: Mar 15th 2010

  • Send private message

member since 36 month member since 36 month

41

Monday, September 12th 2011, 11:37pm

Ich hatte leider letzte Woche zu viel um die Ohren um mich länger mit der Aufgabe zu beschäftigen, daher hat's für einen eigenen Beitrag nicht gereicht. Und auf so etwas abgefahrenes wäre ich vermutlich eh nicht gekommen. ;-)

Auf der Basis von Roland habe ich aber eben noch eine 50 Byte-Version hinbekommen:

Basic-Zeile:

Source code

1
>C:0801  32 08 00 00  9e 32 30 36  37


und dann

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.C:080a   A8     	TAY
.C:080b   D0 03  	BNE $0810
.C:080d   20 C9 BD   JSR $BDC9
.C:0810   20 B6 E6   JSR $E6B6
.C:0813   E6 39  	INC $39
.C:0815   30 FE  	BMI $0815
.C:0817   46 0F  	LSR $0F
.C:0819   A7 0A  	LAX $0A
.C:081b   90 0A  	BCC $0827
.C:081d   A8     	TAY
.C:081e   69 03  	ADC #$03
.C:0820   95 0F  	STA $0F,X
.C:0822   85 B7  	STA $B7
.C:0824   20 C7 F5   JSR $F5C7
.C:0827   16 30  	ASL $30,X
.C:0829   90 DF  	BCC $080A
.C:082b   A9 04  	LDA #$04
.C:082d   A2 21  	LDX #$21
.C:082f   D0 EC  	BNE $081D


Zumindest bei mir lief's...

peiselulli

Professional

  • "peiselulli" is male

Posts: 1,129

Date of registration: Sep 14th 2006

  • Send private message

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

42

Tuesday, September 13th 2011, 12:10am

@Roland, nö, tust Du nicht ...
Versucht mal, Eure Versionen in den Speicher zu laden, wenn von 0800-0a00 KEINE Null im speicher steht ...
Deshalb habe ich meine 51 Byte Version aus dem Rennen genommen ...
Und der Opcode AB ... ich weiß ja nicht, ob das wirklich immer funktioniert ...
(Deshalb der cpx #00 am Anfang ...)
Speicher Eure Programme mal ab,
dann f 0801 9fff ff
und dann nochmal laden ...

edit : @roland : warum LSR $000F und nicht lsr $0f

Unseen

Hätte gerne 'n Ersa X-Tool

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

Posts: 5,233

Date of registration: Jun 16th 2007

Location: Debara Hamtar

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

43

Tuesday, September 13th 2011, 12:35am

Und der Opcode AB ... ich weiß ja nicht, ob das wirklich immer funktioniert ...

Och, notfalls muss man eben mit etwas Kältespray oder einem anderen Netzteil nachhelfen. ;)

Quellcode

1
2
3
10 x=rnd(-1963):fori=1to81:y=rnd(1):next
20 forj=1to5:printchr$(rnd(1)*16+70);:next
30 printint(rnd(1)*328)-217

sd2iec Homepage

Roland

Master

Posts: 2,532

Date of registration: Sep 27th 2005

Location: Vergangenheit

  • Send private message

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

44

Tuesday, September 13th 2011, 7:41am

@peiselulli: na tut eben doch.
Der LSR $000F ist eben der Trick (gefolgt von LDX #00).
Du brauchst halt irgendwo ein 00 xx 00.
Und das ist somit erreicht (und ich brauche den 00 cmp #00 am Anfang nicht).

Daher tut die 50 Byte Version natürlich nicht (das war mir schon klar :) )

Und der AB 00 ist wohl auch nicht schlimm. Der verliert eventuell Bits. Aber da ich sowieso 00 lade, macht das ja nix

peiselulli

Professional

  • "peiselulli" is male

Posts: 1,129

Date of registration: Sep 14th 2006

  • Send private message

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

45

Tuesday, September 13th 2011, 8:41am

Egal, dein 51er ist ja eh nur n Abstauber ...
Ich hatte von dir den total anderen Ansatz und 30 Bytes erwartet.

46

Tuesday, September 13th 2011, 9:47am

Hehe, Peiselulli gewinnt haushoch und wen deprimert das am meisten? Peiselulli.
DAS ist Forschergeist ;-)

skoe (inactive)

macht komische Sachen

  • "skoe (inactive)" is male
  • »skoe (inactive)« is a verified user

Posts: 2,051

Date of registration: Nov 12th 2003

Location: Berlin

  • Send private message

member since 126 month member since 126 month member since 126 month member since 126 month member since 126 month member since 126 month member since 126 month

47

Tuesday, September 13th 2011, 3:54pm

So, und jetzt noch mein SYS-Zeilen-ersparenden Schmuddeltrick mit rein und schon ist die < 50 Byte "Community-Edition" fertig ;)

Quoted

Och, notfalls muss man eben mit etwas Kältespray oder einem anderen Netzteil nachhelfen. ;)

lol
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vergiss BASIC und lern C! C lernen mit cc65 und C64
Bau Dir ein eigenes Modul! EasyFlash

maltes

Beginner

Posts: 8

Date of registration: Mar 15th 2010

  • Send private message

member since 36 month member since 36 month

48

Tuesday, September 13th 2011, 8:00pm

Versucht mal, Eure Versionen in den Speicher zu laden, wenn von 0800-0a00 KEINE Null im speicher steht ...
Mist. Das hatte ich übersehen. Ich war so stolz, dass ich alle 0-Bytes aus dem Code raus hatte, damit bei Rechain nach dem LOAD keine neue Link-Adresse geschrieben wird (die einem dann den Code zerhäkselt...). Mit 00 xx 00 erkennt er da natürlich das "Ende" und hört auf.

Naja, War halt schon spät... ;)