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.

1

Sunday, September 11th 2011, 7:12pm

FizzBuzz Compo - und die Gewinner sind ...

peiselulli und peiselulli =)

Falls ich nix vergessen habe, findet ihr alles im Dateianhang. D64 Images für die jeweiligen Kategorien, ergebnisse.txt, gueltig.txt und ungueltig.txt und ein weiteres ZIP-File mit den kompletten Beiträgen und Sourcecodes.
Ich hoffe vor allem, ich habe nirgends einen Fehler gemacht. Ansonsten bitte melden.

Den Inhalt der ergebnisse.txt pack ich eben hier rein:

------------------

Auswahl der Beiträge:
Letztenendes ist von denjenigen, die zwei oder mehr gültige Programme abgegeben haben logischerweise das jeweils "schnellste" und das jeweils "kürzeste" in der entsprechenden Kategorie gewertet worden. Wenn jemand nur ein Programm abgegeben hat, so taucht dieses der Vollständigkeit halber in beiden Kategorien auf.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Kategorie Größe

01.) peiselulli        fizzbuzz_dirty    53 Bytes
02.) skoe              fb-skoe           64 Bytes
03.) Colt Seavers      shortbuzz         82 Bytes
04.) DirkVroomen       buzzfizz-24.bas   84 Bytes
05.) enthusi           asm05             89 Bytes
06.) The Joker         tj-fizz1          95 Bytes
07.) Unseen            fizzbuzz5         96 Bytes
08.) drazil            fizzbuzz083       97 Bytes
     hobbycoder        fizzbuzz-basic2   97 Bytes
09.) neuRomancer       fizzbuzzasm      108 Bytes
10.) JMP$FCE2          fizzbuzz.bas     111 Bytes
11.) Robert            robert           123 Bytes
12.) Soulstealer       fizzbuzz  !      124 Bytes
13.) The Ryk           fizz             446 Bytes

Kategorie Geschwindigkeit

01.) peiselulli        fizzbuzz_fast    TI($A2): 00
02.) The Joker         tj-fizz3         TI($A2): 01
03.) TheRyk            fizz             TI($A2): 01
   [ robert            robert           Pi*Daumen ]   
04.) Soulstealer       fizzbuzz  !      TI($A2): 09
05.) neuRomancer       fizzbuzzasm      TI($A2): 21
06.) JMP$FCE2          fizzbuzz.asm     TI($A2): 23
07.) enthusi           asm05            TI($A2): 25
   [ skoe              fb-skoe          Pi*Daumen ]
08.) Colt Seavers      shortbuzz        TI($A2): 2F
09.) Unseen            fizzfast1        TI($A2): 34
10.) drazil            fizzbuzz083      TI($A2): 36
11.) DirkVroomen       buzzfizz-24.bas  TI($A2): 43
12.) hobbycoder        fizzbuzz-basic2  TI($A2): A1


Durchführung der Zeitmessung:
- LOAD"Dateiname",8,1
- VICE Monitor Breakpoint auf $e38b (nur bei enthusi auf das bvc)
- TI$="000000":RUN
- und im VICE Monitor Speicherstelle $A2 ausgelesen

The Joker ist einen Platz vor TheRyk, weil sein Programm 2 Bytes kürzer ist. Wenn man Zyklen zählen würde, wäre es noch eindeutiger, weil dort eine Schleife weniger benutzt wurde.

Die Zeitmessung gestaltete sich leider beim Eintrag von skoe und robert etwas schwierig. Da beide auch Kernal Routinen nutzen, wäre Zyklen zählen ziemlich mühsehlig.

Pi*Daumen heisst: ich habe alle Einträge mit Autostart INJECT aus dem Dateibrowser mit VICE gestartet und so schnell wie möglich den Monitor angeworfen und den Wert aus $A2 notiert. Das ganze habe ich 5 mal wiederholt und dann den Mittelwert errechnet.
Die Einträge von skoe und robert wurden bei den Beiträgen einsortiert, die "ungefähr" bei dieser Methode die gleichen Werte hatten.

------------------

Vielen Dank für die rege Beteiligung. War eine sehr interessante Compo. Insbesondere bin ich überrascht, dass doch tatsächlich 3 ASM Progs auch in der Kategorie Größe führen, bevor ein Basic Prog kommt.
spider-j has attached the following file:

2

Sunday, September 11th 2011, 7:39pm

Huch?
Warum ist mein schnellstes so langsam?
Ach so. Was wurde denn aus asm01 ?
Hast Du bankswitch-Varianten rausgeworfen.
Ich hege Zweifel and der TI-Methode.
Sehr SEI-Abhaengig :)
Zu Robert wollte ich noch schreiben, dass es KEINE Kernal-calls verwendet :)

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

Posts: 3,614

Date of registration: Nov 21st 2009

Location: Schömberg/Langenbrand

Marketplace entries: 1

  • Send private message

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

3

Sunday, September 11th 2011, 7:48pm

Hab mir grade mal die Programme angeschaut. Leute, was fresst ihr fürn Zeug um auf solche Lösungen zu kommen?



(Ich hoffe das Posten ist ok, Dirk, aber WTF? Wie kommt man auf so eine Variablenorgie hinter dem Print Befehl???)


Meinen grössten Respekt an Euch Hirnakrobaten :)
Hardware (Retro): Amiga 1000 (NTSC), Amiga 1200 (PAL), Amiga 2000 (PAL), Amiga 4000 (PAL), Schneider CPC 464, Atari Portfolio, Sharp PC E 220 / Hardware (aktuell) : 2 Gaming PC,iMac 20", Powerbook, Amigaone 500 (eingetroffen) / Software: C64 (Power64),Amiga (E-UAE, WinUAE, JanusUAE), AROS (auf altem IBM Thinkpad)

4

Sunday, September 11th 2011, 8:04pm


Ach so. Was wurde denn aus asm01 ?
Hast Du bankswitch-Varianten rausgeworfen.

siehe Begründung in ungueltig.txt. peiselulli hat angekreidet, dass es nicht auf dem alten Kernal läuft. Da keiner widersprochen hat, habe ich das so akzeptiert.

Quoted


Ich hege Zweifel and der TI-Methode.
Sehr SEI-Abhaengig :)


Ich hab Stichprobenartig die "Probe aufs Exempel" gemacht. Hatte nirgends Schwankungen drin. [also nur bei der manuellen natürlich - deswegen hab ich die auch vermieden].
EDIT: außerdem könnte sich da eher Colt beschweren. Der ist nicht so weit unter Dir und bei Dir musste ich den Breakpoint auf das bvc setzen.

Quoted


Zu Robert wollte ich noch schreiben, dass es KEINE Kernal-calls verwendet :)

Au, da hab ich mich verschrieben. Dennoch meine ich, dass es ungefähr richtig einsortiert ist. Könnte auch auf 2. gehören. Ich war da unentschlossen.

Soulstealer

-=Retro Junkie=-

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

Posts: 320

Date of registration: Aug 11th 2010

Location: uɹǝ08 uǝp uı

  • Send private message

member since 36 month member since 36 month

5

Sunday, September 11th 2011, 9:12pm

Da gratuliere ich doch mal peiselulli ganz herzlich zu seinem Doppelsieg. :bia Danke auch an Spider-Jerusalem für die nette Idee der Compo. :respect:

Dirk Vroomen

Professional

  • "Dirk Vroomen" is male
  • »Dirk Vroomen« is a verified user

Posts: 1,014

Date of registration: Feb 7th 2010

Location: Westhofen

  • Send private message

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

6

Sunday, September 11th 2011, 9:14pm

Leute, was fresst ihr fürn Zeug um auf solche Lösungen zu kommen?

Keine Ahnung, muss mal überlegen, ob die Tage was Spezielles dabei war? War bestimmt irgendetwas völlig Ungesundes.

Ingesamt hat das richtig Spaß gemacht, insbesondere das "Rennen" mit Drazil, der als Erster die 90 geknackt hat. Die ersten Versuche waren knapp unter 200 Byte, ein paar Tage später schien die 100 Byte-Grenze unüberwindbar und zum Schluß waren es dann 84 Byte. Ob da noch mehr gegangen wäre, wollte ich dann nicht mehr wissen ;-)
Die Ergebnisse hier sind echt erstaunlich und hätte ich so nie für möglich gehalten. Hut ab!

Gruß Dirk
gesendet über Robotron Lochbandtechnik mit A 5120

7

Sunday, September 11th 2011, 9:17pm

Danke auch an Spider-Jerusalem für die nette Idee der Compo.

Ach siehste, ich hab bislang ja auch gar nicht den Link gepostet, wie ich eigentlich drauf gekommen bin:
http://imranontech.com/2007/01/24/using-…ho-grok-coding/
Eigentlich ne ganz witzige Story.

Colt Seavers

Blödmann

  • "Colt Seavers" is male

Posts: 2,055

Date of registration: Jan 17th 2008

Location:

  • Send private message

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

8

Sunday, September 11th 2011, 9:28pm

Ich seh da noch keine 6502-ASM-Lösung bei den Kommentaren, vielleicht sollte man mal den Gewinnercode von hier dort posten? :D
Der weise Elch warnt: Vorsicht vor Grauimporten! :prof:

peiselulli

Professional

  • "peiselulli" is male

Posts: 1,196

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

9

Sunday, September 11th 2011, 9:35pm

Bitteschön ...

Der kürzeste ...

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        !to "fizzbuzz_dirty.prg",cbm
        !cpu 6510


         *= $0801
        !by $0a,$08,$00,$00,$9e,$32,$30,$36,$39,$0

loop:	
	cpx #$00
	bne no_line_number
	jsr $bdc9 ; print out current basic line
no_line_number:     
	jsr $e6b6 ; curser go right
entry:
	inc $39	;increment line number
endless:	
	bmi endless	;endless loop if >= 128
	lsr $0f
	bcc no_fizz
	ldy #$00
	ldx #$04
	stx $0f
print_string:
	stx $b7
	jsr $f5c7	;print out part of the filename
no_fizz:	
	asl $30
	bcc loop
	ldy #$04
	ldx #$08
        sty $30
	bne print_string


Den schellsten habe ich gerade nicht hier, der ist aber auch zu trivial ...
BTW, der "cpx #00" muss sein, ansonsten verhapselt sich eventuell der Basic-Interpreter nach dem Laden in eine Endlosschleife ...
(Deshalb läuft die 51 Byte Variante eventuell nicht)

10

Sunday, September 11th 2011, 9:40pm

Habs mal dort gepostet. Muss aber scheinbar noch freigeschaltet werden ... :)

Colt Seavers

Blödmann

  • "Colt Seavers" is male

Posts: 2,055

Date of registration: Jan 17th 2008

Location:

  • Send private message

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

11

Sunday, September 11th 2011, 9:41pm

Oh, ich meinte eigentlich nicht diesen Thread, sondern den Artikel, den Spider-J verlinkt hatte. Aber trotzdem danke, den schnellsten kann ich vmtl. auch im Vice-Monitor nachlesen, mehr als 2-3 Befehle dürften das ja nicht sein :)

Edit: Ah, Problem gelöst :)
Der weise Elch warnt: Vorsicht vor Grauimporten! :prof:

12

Sunday, September 11th 2011, 9:46pm


Den schellsten habe ich gerade nicht hier, der ist aber auch zu trivial ...

Na eben ja doch nicht so ganz trivial. Das mit dem alten Kernal hatte ja irgendwie niemand auf dem Schirm [ich übrigens auch nicht, hab allerdings drauf verzichtet meine Version zu posten, da die 1:1 enthusis asm01 entsprach]. Dabei ist das eigentlich *bekannt*, dass Commodore da später noch ein bisschen was glattgebügelt hatte.

Colt Seavers

Blödmann

  • "Colt Seavers" is male

Posts: 2,055

Date of registration: Jan 17th 2008

Location:

  • Send private message

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

13

Sunday, September 11th 2011, 9:48pm

Naja, ich dachte "läuft auf 2/3 Kernals" reicht. Das ist immerhin ne 2/3 Mehrheit :)
Der weise Elch warnt: Vorsicht vor Grauimporten! :prof:

peiselulli

Professional

  • "peiselulli" is male

Posts: 1,196

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

14

Sunday, September 11th 2011, 9:53pm

Ich bin halt damals, als ich Flaschbier programmiert habe, auf die Fresse gefallen.
Bei dem "neuen" Kernel gibt es zwischen den Leveln immer so zwei sinnlose Zeichen, die ich mit meinem alten Kernal nie gesehen hatte ...
Ärgert mich heute noch :-<

Colt Seavers

Blödmann

  • "Colt Seavers" is male

Posts: 2,055

Date of registration: Jan 17th 2008

Location:

  • Send private message

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

15

Sunday, September 11th 2011, 10:02pm

Das Spiel an sich funktioniert aber. Release doch einfach 101% Version :)
Der weise Elch warnt: Vorsicht vor Grauimporten! :prof:

TheRyk

Jemand zu Hause?

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

Posts: 10,169

Date of registration: Mar 14th 2008

Location: Molwas

  • Send private message

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

16

Sunday, September 11th 2011, 10:14pm

The Joker ist einen Platz vor TheRyk, weil sein Programm 2 Bytes kürzer ist. Wenn man Zyklen zählen würde, wäre es noch eindeutiger, weil dort eine Schleife weniger benutzt wurde.

Nur 1 Schleife? Da würde ich ja gern den Code mal sehen, um zu checken, ob WIRKLICH von links oben nach rechts unten geschrieben wird... :) Tja, wäre mir klar gewesen dass kein RTS notwendig ist, hätte ich nur noch irgendwo 1 byte sparen müssen... aber wo...

Egal, ich gratuliere fair allen Teilnehmern und sage artig danke an Spider, war mal wieder great fun.

Mit Platz 3 in Speed muss ich mich nicht verstecken, bin zufrieden, für einen 2-jahre-asm-erfahrenen zumindest ein Zeichen, dass man ein bisschen was verstanden hat ;)
Bevor man im Forum fragt, sucht man hier: Wenn man schon alles weiß: Autoren sind dort immer willkommen!

17

Sunday, September 11th 2011, 10:19pm


Nur 1 Schleife? Da würde ich ja gern den Code mal sehen, um zu checken, ob WIRKLICH von links oben nach rechts unten geschrieben wird... :)

Sourcecodes sind alle in dem Archiv mit drin. Aber die Reihenfolge war doch wurscht, so lange es am Ende korrekt angezeigt wird.

TheRyk

Jemand zu Hause?

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

Posts: 10,169

Date of registration: Mar 14th 2008

Location: Molwas

  • Send private message

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

18

Sunday, September 11th 2011, 10:34pm


Nur 1 Schleife? Da würde ich ja gern den Code mal sehen, um zu checken, ob WIRKLICH von links oben nach rechts unten geschrieben wird... :)

Sourcecodes sind alle in dem Archiv mit drin. Aber die Reihenfolge war doch wurscht, so lange es am Ende korrekt angezeigt wird.

Uiuiui! Dann habe ich es mir zu schwer gemacht bzw. nicht dreckig genug :)
Bevor man im Forum fragt, sucht man hier: Wenn man schon alles weiß: Autoren sind dort immer willkommen!

19

Sunday, September 11th 2011, 10:51pm

Kann mir eigentlich jemand erklären, wie enthusi's Spaß POKE1,0 Beitrag funktioniert?
Also ich komme soweit, dass der Interpreter ja nach $b824 springt um den Poke abzuarbeiten. Der Code lädt nach $b82c - an der Stelle ist im ROM ein rts. Allerdings frage ich mich nun: wann wird eigentlich auf das RAM unter dem Basic-Rom umgeschaltet? Denn in das ROM wird der Code ja mit Sicherheit nicht geladen.

hobbycoder

Elektrofummler

  • "hobbycoder" is male

Posts: 2,027

Date of registration: Feb 23rd 2009

Location: Obernkirchen

  • Send private message

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

20

Sunday, September 11th 2011, 11:55pm

Herzlichen Glückwunsch an den Gewinner, super gemacht! Aber auch die anderen Beiträge sind prima, hab mir die gerade mal genüsslich durchgeschaut... :thumbsup:

Hm, meine Intention, $A2 zum Überlauf zu bringen und beim Speed wieder ganz vorn dabei zu sein, hat nicht ganz geklappt, LOL... :P Egal, dann bin ich halt der Langsamste, das muss man auch erstmal hinkriegen! ;)
How can you know where you've been?
In time, you'll see the sign
and realise your sin.