MaugliEDC Creative Commons License 2002.09.15 0 0 592
Látom azóta MC is kinyilvánította a véleményét. Nem baj MC, tudod ez csak amolyan lokális "szénnéoptimalizálomverseny" nem pedig globális, mindent elsöprő. (Azt úgy lehetne megrendezni, hogy a ROM-ot optimalizálnánk, és van egy olyan érzésem, hogy felére tuti lemenne :)) )
Tehát Csabó! Sikerült még leszednem belőle :))) Íme:

. 2000 88 DEY
. 2001 98 TYA
. 2002 29 07 AND #$07
. 2004 D0 03 BNE $2009
. 2006 EE 14 20 INC $2014
. 2009 8D 07 FF STA $FF07
. 200C A2 27 LDX #$27
. 200E EC 1D FF CPX $FF1D
. 2011 D0 FB BNE $200E
. 2013 BD 00 21 LDA $2100,X
. 2016 9D 00 0C STA $0C00,X
. 2019 CA DEX
. 201A 10 F7 BPL $2013
. 201C 30 E2 BMI $2000
. 201E

Így már csak 30 byte.
Csakhát a Te optimalizálásodban volt egy olyan "megkötés", ami az enyémben nem. Nevezetesen, hogy a rasztervárás csak #$27 lehet. Elfogadom, ez egy jó trükk, mert a #$27-et felhasználod a sorkiíratáshoz is, de akkor engedd meg, hogy én is éljek egy újabbal:

Íme a 28 byte-os verzió:

. 2000 CA DEX
. 2001 8A TXA
. 2002 29 07 AND #$07
. 2004 D0 02 BNE $2008
. 2006 E6 D0 INC $D0
. 2008 8D 07 FF STA $FF07
. 200B A0 27 LDY #$27
. 200D CC 1D FF CPY $FF1D
. 2010 D0 FB BNE $200D
. 2012 B1 D0 LDA ($D0),Y
. 2014 99 00 0C STA $0C00,Y
. 2017 88 DEY
. 2018 10 F8 BPL $2012
. 201A 30 E4 BMI $2000
. 201C

Itt a scroll forrása $d0-$d1 ugye. Ha azt mondod, nem fogadod el, belegyezek. (még akkor is 1 byte-al döntelek :)) )
A sta$0c00,y -t is le lehetne cserélni egy sta($d2),y-ra, egy újabb byte nyerése érdekében, de ez már tényleg nem lenne etikus. :)

Maugli

Előzmény: CsaboLOD (584)