rainbow49 by Genesis Project [web]
[nfo]
|
||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 56% |
|||||||
alltime top: #12502 |
|
|||||||
|
||||||||
added on the 2020-09-27 22:48:37 by wertstahl |
popularity helper
comments
🏳️🌈
rulez added on the 2020-09-28 02:55:51 by DevEd
🏳️🌈 on the c64
Quote:
🏳️🌈
wait this isnt german flag
Well... At least this isn't openly named after a particular pretentious sect.
23 byte version, might or might not be rule-bending:
Hex: 7c 00 78 ad 12 d0 29 e0 aa 9d 11 d0 bc 55 a3 5b 51 a6 8d 20 d0 d0 ec
Load normally, ignore the load error (it overwrites system variables in the zeropage which confuses the system), start with RUN.
This abuses the ROM as a source of pseudo randomness for computing the intended color from the current rasterline. Plus a few tweaks for stabilizing the timing so it does not flicker.
Code:
* = $7c
SEI
loop:
LDA $D012
AND #$E0
TAX
STA $D011,X
LDY $A355,X
SRE $A651,Y
STA $D020
BNE loop
Hex: 7c 00 78 ad 12 d0 29 e0 aa 9d 11 d0 bc 55 a3 5b 51 a6 8d 20 d0 d0 ec
Load normally, ignore the load error (it overwrites system variables in the zeropage which confuses the system), start with RUN.
This abuses the ROM as a source of pseudo randomness for computing the intended color from the current rasterline. Plus a few tweaks for stabilizing the timing so it does not flicker.
Sizecoding and 🏳️🌈!
🏳️🌈
Wertstahl: brute-force search that emulates a number of potential useful opcodes :-)
19-byte 🏳️🌈 - no more LOAD ERROR but this "waves" a bit, couldn't find a way of stabilizing this without increasing its size:
Hex: 7C 00 78 5F BE EC 3D A9 ED 99 10 D0 AF 12 D0 0A A8 50 F0
1st run: starts with A=$52, X=$FF, Y=$01. Will end up writing $20 to $D011 to disable the screen.
Further runs: ASL / TAY ensures that Y is always even (-> will never write $D011 again) and writes go to the border register every 32 rasterlines.
19-byte 🏳️🌈 - no more LOAD ERROR but this "waves" a bit, couldn't find a way of stabilizing this without increasing its size:
Code:
* = $7c
SEI
loop:
SRE $ECBE,X
AND $EDA9,X
STA $D010,Y
LAX $D012
ASL
TAY
BVC loop
Hex: 7C 00 78 5F BE EC 3D A9 ED 99 10 D0 AF 12 D0 0A A8 50 F0
1st run: starts with A=$52, X=$FF, Y=$01. Will end up writing $20 to $D011 to disable the screen.
Further runs: ASL / TAY ensures that Y is always even (-> will never write $D011 again) and writes go to the border register every 32 rasterlines.
Size coding, 🏳️🌈 and code golfing in a good way. Love seeing this happen :)
🏳️🌈 and respect for the 19b! Amazing to see this outside DOS =)
🏳️🌈
🏳️🌈
🏳️🌈
..and compliments to Kabuto!
submit changes
if this prod is a fake, some info is false or the download link is broken,
do not post about it in the comments, it will get lost.
instead, click here !