Submission Text Full Submission Page
Bad Apple, for Shiren GB1.
The initial payload is rather simple, it simply switches the SRAM bank to 3, then proceeds to jump to $A006. This uses the following payload:
; save file name
ld hl,$5003
ld [hl],l
; rng bytes
add hl,hl
jp hl ; jump to $A006
The next payload is in SRAM, in bank 3. This game keeps a "replay" of the last room done. This is stored within bank 3 of SRAM. This gives some leeway towards writing a larger payload, but ultimately it's just barely good enough to write a better payload. Here's a tracelog of this "large" payload:
A006:  01 8B 00  ld bc, $008B        A:01 F:00 B:28 C:01 D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792318
A009:  44        ld b, h             A:01 F:00 B:00 C:8b D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792324
A00A:  0B        dec bc              A:01 F:00 B:a0 C:8b D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792326
A00B:  00        nop                 A:01 F:00 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792330
A00C:  84        add a, h            A:01 F:00 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792332
A00D:  84        add a, h            A:a1 F:00 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792334
A00E:  07        rlca                A:41 F:10 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792336
A00F:  07        rlca                A:82 F:00 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792338
A010:  2B        dec hl              A:05 F:10 B:a0 C:8a D:cb E:08 H:a0 L:06 LY:2e SP:dfdd  Cy:56792340
A011:  20 03     jr nz, $A016        A:05 F:10 B:a0 C:8a D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792344
A016:  02        ld [bc], a          A:05 F:10 B:a0 C:8a D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792350
A017:  00        nop                 A:05 F:10 B:a0 C:8a D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792354
A018:  0B        dec bc              A:05 F:10 B:a0 C:8a D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792356
A019:  07        rlca                A:05 F:10 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792360
A01A:  07        rlca                A:0a F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792362
A01B:  00        nop                 A:14 F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792364
A01C:  84        add a, h            A:14 F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792366
A01D:  84        add a, h            A:b4 F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792368
A01E:  07        rlca                A:54 F:10 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792370
A01F:  07        rlca                A:a8 F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792372
A020:  07        rlca                A:51 F:10 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792374
A021:  84        add a, h            A:a2 F:00 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792376
A022:  2B        dec hl              A:42 F:10 B:a0 C:89 D:cb E:08 H:a0 L:05 LY:2e SP:dfdd  Cy:56792378
A023:  20 03     jr nz, $A028        A:42 F:10 B:a0 C:89 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792382
A028:  02        ld [bc], a          A:42 F:10 B:a0 C:89 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792388
A029:  00        nop                 A:42 F:10 B:a0 C:89 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792392
A02A:  0B        dec bc              A:42 F:10 B:a0 C:89 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792394
A02B:  00        nop                 A:42 F:10 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792398
A02C:  84        add a, h            A:42 F:10 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792400
A02D:  84        add a, h            A:e2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792402
A02E:  84        add a, h            A:82 F:10 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792404
A02F:  84        add a, h            A:22 F:10 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792406
A030:  2B        dec hl              A:c2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:04 LY:2e SP:dfdd  Cy:56792408
A031:  20 03     jr nz, $A036        A:c2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792412
A036:  02        ld [bc], a          A:c2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792418
A037:  00        nop                 A:c2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792422
A038:  0B        dec bc              A:c2 F:00 B:a0 C:88 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792424
A039:  07        rlca                A:c2 F:00 B:a0 C:87 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792428
A03A:  84        add a, h            A:85 F:10 B:a0 C:87 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792430
A03B:  84        add a, h            A:25 F:10 B:a0 C:87 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792432
A03C:  2B        dec hl              A:c5 F:00 B:a0 C:87 D:cb E:08 H:a0 L:03 LY:2e SP:dfdd  Cy:56792434
A03D:  20 03     jr nz, $A042        A:c5 F:00 B:a0 C:87 D:cb E:08 H:a0 L:02 LY:2e SP:dfdd  Cy:56792438
A042:  02        ld [bc], a          A:c5 F:00 B:a0 C:87 D:cb E:08 H:a0 L:02 LY:2e SP:dfdd  Cy:56792444
A043:  00        nop                 A:c5 F:00 B:a0 C:87 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792448
A044:  0B        dec bc              A:c5 F:00 B:a0 C:87 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792450
A045:  00        nop                 A:c5 F:00 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792454
A046:  84        add a, h            A:c5 F:00 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792456
A047:  07        rlca                A:65 F:10 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792458
A048:  84        add a, h            A:ca F:00 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792460
A049:  07        rlca                A:6a F:10 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792462
A04A:  07        rlca                A:d4 F:00 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792464
A04B:  84        add a, h            A:a9 F:10 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792466
A04C:  07        rlca                A:49 F:10 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792468
A04D:  84        add a, h            A:92 F:00 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792470
A04E:  2B        dec hl              A:32 F:10 B:a0 C:86 D:cb E:08 H:a0 L:02 LY:2f SP:dfdd  Cy:56792472
A04F:  20 03     jr nz, $A054        A:32 F:10 B:a0 C:86 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792476
A054:  02        ld [bc], a          A:32 F:10 B:a0 C:86 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792482
A055:  00        nop                 A:32 F:10 B:a0 C:86 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792486
A056:  0B        dec bc              A:32 F:10 B:a0 C:86 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792488
A057:  00        nop                 A:32 F:10 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792492
A058:  84        add a, h            A:32 F:10 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792494
A059:  84        add a, h            A:d2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792496
A05A:  84        add a, h            A:72 F:10 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792498
A05B:  84        add a, h            A:12 F:10 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792500
A05C:  84        add a, h            A:b2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792502
A05D:  84        add a, h            A:52 F:10 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792504
A05E:  2B        dec hl              A:f2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:01 LY:2f SP:dfdd  Cy:56792506
A05F:  20 03     jr nz, $A064        A:f2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792510
A064:  02        ld [bc], a          A:f2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792516
A065:  00        nop                 A:f2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792520
A066:  0B        dec bc              A:f2 F:00 B:a0 C:85 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792522
A067:  07        rlca                A:f2 F:00 B:a0 C:84 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792526
A068:  07        rlca                A:e5 F:10 B:a0 C:84 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792528
A069:  24        inc h               A:cb F:10 B:a0 C:84 D:cb E:08 H:a0 L:00 LY:2f SP:dfdd  Cy:56792530
A06A:  84        add a, h            A:cb F:10 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792532
A06B:  07        rlca                A:6c F:10 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792534
A06C:  07        rlca                A:d8 F:00 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792536
A06D:  84        add a, h            A:b1 F:10 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792538
A06E:  84        add a, h            A:52 F:10 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792540
A06F:  2B        dec hl              A:f3 F:00 B:a0 C:84 D:cb E:08 H:a1 L:00 LY:2f SP:dfdd  Cy:56792542
A070:  20 03     jr nz, $A075        A:f3 F:00 B:a0 C:84 D:cb E:08 H:a0 L:ff LY:2f SP:dfdd  Cy:56792546
A075:  02        ld [bc], a          A:f3 F:00 B:a0 C:84 D:cb E:08 H:a0 L:ff LY:2f SP:dfdd  Cy:56792552
A076:  00        nop                 A:f3 F:00 B:a0 C:84 D:cb E:08 H:a0 L:ff LY:2f SP:dfdd  Cy:56792556
A077:  2B        dec hl              A:f3 F:00 B:a0 C:84 D:cb E:08 H:a0 L:ff LY:2f SP:dfdd  Cy:56792558
A078:  20 0B     jr nz, $A085        A:f3 F:00 B:a0 C:84 D:cb E:08 H:a0 L:fe LY:2f SP:dfdd  Cy:56792562
All this is actually rather simple: write a small payload at $A084 which writes in the next payload:
di ; timer interrupt changes SRAM banks, so a di needs to happen before such
ldh a,[c] ; c = $84, $FF84 holds joypad routine input byte
ld [hl-],a ; writes backwards starting from $A0FE, only $A08B-$A09E have the actual next payload here
push bc ; bc = $A084, the start of this routine
jp nz,$0542 ; joypad routine, returns back to the pushed $A084, jump doesn't occur if no buttons are pressed
The next payload is another small payload which writes in the final payload as fast as it can. That next payload along with the final payload main payload is (mostly) the as ones in Red, with minor adjustments to deal with game specific details: https://tasvideos.org/9604S
Actual movie is too big, what's submitted is a truncated movie, full movie can be found here: https://mega.nz/file/ttlQ3Q5I#ZcF4etI-2MdXm_R1jSxlaAyAem6nXnan_Ir1yWGpjHE


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 16191
Location: 127.0.0.1
Editor, Reviewer, Skilled player (1379)
Joined: 9/12/2016
Posts: 1652
Location: Italy
I think everyone completely missed my post in the other thread, so I'll paste it here:
ThunderAxe31 wrote:
TiKevin83 wrote:
But at the same time, reductio would say it would be crazy to accept 50 TASes of Yellow like this that ACE in different videos.
I think any ACE payload TAS should be published as a new branch, as long as it features a new unique software. I think the real point behind this kind of ACE TASes is in the programming, not in the visual result. And since there there has been put a lot of effort and uniqueness in the technical aspects of this TAS, I think it achieves its actual purpose, and thus should be published. Unless anyone can point out if its code is too much similar to MrWint's ACE.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Spikestuff
They/Them
Editor, Expert player (2896)
Joined: 10/12/2011
Posts: 6533
Location: The land down under.
Honestly. Yeah it should start being distinguished that this is just "injecting Bad Apple!! into everything", since this is now the fifth TAS. I'll put a vote for "arbitrary code execution, Bad Apple!!", but also coming from me of all people this is just turning into "abuse, and boot into video". There's a lack of style and flare going on compared to what MrWint did 8 years ago (and the obsoleted movies), to what Masterjun did 10 years ago, to what Lord_Tom did 9 years ago, and what the original one that started the Bad Apple!! trend with what OnehundredthCoin did. I'm personally going to start voting Meh, and it'll probably start devolving into No votes from me if this "lack of substance" and flare continues.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Former player
Joined: 6/30/2010
Posts: 1115
Location: Zurich, Switzerland
I'm starting to agree with Spike here, these ACE TASes aren't very creative anymore when they just repeat the same payload over and over. So my solution for the voting is to put more emphasis on the set up. In this case, it didn't look very interesting but it also wasn't irritating or anything like that, and it's very short too, so a "meh" it is.
Spikestuff wrote:
I'll put a vote for "arbitrary code execution, Bad Apple!!", but also coming from me of all people this is just turning into "abuse, and boot into video".
Just wait for someone to get Bad Apple into Myst.
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
Skilled player (1788)
Joined: 9/17/2009
Posts: 5010
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
How much of the larger payload is actually the payload? What's the shortest possible input reader?
Emulator Coder, Judge, Experienced player (996)
Joined: 2/26/2020
Posts: 840
Location: California
jlun2 wrote:
How much of the larger payload is actually the payload? What's the shortest possible input reader?
The "shortest" possible input reader in terms of size is the 3rd payload here (well, without the di I guess, that just needs to run once), using the game's own joypad routine, totalling 6 bytes (not including the di and the previous setup of registers in the previous payload). The "shortest" in terms of time is the 4th payload, which has the same fundemental loop as before in Red's penultimate payload, which actually writes the final payload.
Skilled player (1788)
Joined: 9/17/2009
Posts: 5010
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
CasualPokePlayer wrote:
jlun2 wrote:
How much of the larger payload is actually the payload? What's the shortest possible input reader?
The "shortest" possible input reader in terms of size is the 3rd payload here (well, without the di I guess, that just needs to run once), using the game's own joypad routine, totalling 6 bytes (not including the di and the previous setup of registers in the previous payload). The "shortest" in terms of time is the 4th payload, which has the same fundemental loop as before in Red's penultimate payload, which actually writes the final payload.
Thanks. That's
.loop
	ldh a,[c] ; 2
	swap a ; 2
	ld b,a ; 1
	ldh a,[c] ; 2
	xor a,b ; 1
	ld [hl-],a ; 2
	bit 5,h ; 2
	jr nz,.loop ; 3
	jp MainPayload
Is this correct in hex? I want to see if it works on other games. Thanks!
F2		ldh a,[c]
CB 30	swap a 
47		ld b,a 
F2		ldh a,[c]
A8		xor a,b
3A		ld [hl-],a
CB 6C	bit 5,h 
20 09	r nz,.loop
Patashu
He/Him
Joined: 10/2/2005
Posts: 4066
My personal opinion is that if it's a different platform (or there's some technical reason why you have to solve the problem differently) Bad Apple is a different payload, and I don't think there's as much value in doing the same Bad Apple payload in two different games. *Doing* the ACE has value, though, so an ACE for this game should either be a different payload or if you have nothing in particular in mind just beat the game.
Puzzle gamedev https://patashu.itch.io Famitracker musician https://soundcloud.com/patashu Programmer, DDR grinder, enjoys the occasional puzzle game/shmup.
Emulator Coder, Judge, Experienced player (996)
Joined: 2/26/2020
Posts: 840
Location: California
jlun2 wrote:
Is this correct in hex? I want to see if it works on other games. Thanks!
F2		ldh a,[c]
CB 30	swap a 
47		ld b,a 
F2		ldh a,[c]
A8		xor a,b
3A		ld [hl-],a
CB 6C	bit 5,h 
20 09	r nz,.loop
The [hl-] can be substituted for [hl+] (which this movie does), depending on if you end up writing backwards from HL or forwards.
AquaBat
He/Him
Joined: 12/10/2024
Posts: 4
I would be more inclined to consider this in place of the Pokemon Yellow ACE, though that would obviously be more unfair to iXce, but it’s understandable considering Yellow already has a renowned ACE TAS with external video and audio used as gags. Although every game has its own code and its own errors and therefore its own potential for arbitrary code execution, having two Game Boy games doing the same exact silly joke ACE seems excessive. As it is, I’m sure viewers would love to see a gradual evolution of arbitrary code execution, on different consoles, with different methods of ACE acting at different times within the game, no matter how possible that would actually be. (Could you imagine a hypothetical PS1 game getting cracked open through glitches and running Bad Apple!! as an FMV?) That’s why the “can it run DOOM?” gag and even the “Bad Apple!! on [X]” gag that spurred this TAS trend thrives on the creativity of the “tool” rather than just the “product” of Bad Apple!! (or DOOM) beginning to play. Variety is the key, and Bad Apple!! at literally the exact same resolution would immediately get stale. Now, of course entertainment isn’t the only factor for a TAS, but a series of games, from the same platform, all going from Minute 1 or even Minute 0 of gameplay into Bad Apple!! would quickly become repetitive and constantly dilute the originality of the Tool-Assisted Superplay that any given submission is trying to be. (For the record, I consider the Yellow save abuse and menu glitch exploitation to be “Minute 0” gameplay, regardless of how long the glitches actually take to implement, because the player doesn’t even leave their room.)
CoolHandMike
He/Him
Editor, Judge, Skilled player (1025)
Joined: 3/9/2019
Posts: 842
For those interested the judgement notes here write a bit about these types of submissions. #9565: iXce's GB Pokémon: Yellow Version "arbitrary code execution, Bad Apple!!" in 05:24.41
discord: CoolHandMike#0352
Emulator Coder, Judge, Experienced player (996)
Joined: 2/26/2020
Posts: 840
Location: California
AquaBat wrote:
I would be more inclined to consider this in place of the Pokemon Yellow ACE
This is better compared to the Red submission from me, which I explicitly made "different" from the Yellow Bad Apple due to abusing GBC quirks in GB compatibility mode. The Red submission (and this submission) have Bad Apple at an effective 64x144 resolution with ~18396Hz ~8 bit PCM audio, while the Yellow Bad Apple is an effective 40x32 resolution with ~9709Hz 4 bit PCM audio. Of course, the Yellow submission is actually improvable (going to a full ~18396Hz ~8 bit PCM audio is definitely possible, although more annoying on a pure GB, maybe the video could be improved too but I haven't looked too much into that). But this submission is just GBC in GB compatibility mode so it shouldn't be compared to Yellow at all.
AquaBat
He/Him
Joined: 12/10/2024
Posts: 4
CasualPokePlayer wrote:
The Red submission (and this submission) have Bad Apple at an effective 64x144 resolution with ~18396Hz ~8 bit PCM audio, while the Yellow Bad Apple is an effective 40x64 resolution with ~9709Hz 4 bit PCM audio. Of course, the Yellow submission is actually improvable (going to a full ~18396Hz ~8 bit PCM audio is definitely possible[…])
I get what you’re saying, perhaps I shouldn’t have said “exactly the same resolution”, but my main point was the format and its particular constraints in general. Like, as a viewer I would find it more entertaining to see an NES version, a GB version and, say, a Genesis version, rather than an NES version and then multiple GB versions that have similar resolutions, just as a contest of who can pump up the execution to its graphical and audio limit on that particular console. But again, it’s not all about entertainment, so your point about the differences in res and audio output in the different submissions do make more sense on a technical level! That’s at least worth considering before discarding the concept completely. However, I personally would consider that to be resolved through running another Yellow ACE Bad Apple!! TAS and obsoleting the other one rather than just playing another GB game with a different ACE exploit for a similar but technically superior result. At the same time, showcasing ACE on this Shiren game should also be a priority.
Editor, Active player (474)
Joined: 2/11/2018
Posts: 264
The timeline and votes: April 1 2024: #8991: OnehundredthCoin's NES Super Mario Bros. "arbitrary code execution" in 04:52.65 (accepted, 25/2/1) March 6: #9565: iXce's GB Pokémon: Yellow Version "arbitrary code execution, Bad Apple!!" in 05:24.41 (accepted, 11/2/2) March 14: #9578: CasualPokePlayer's GBC Pokémon: Crystal Version "arbitrary code execution" in 05:49.79 (accepted, 11/1/2) March 30: #9604: CasualPokePlayer's GB Pokémon: Red Version "arbitrary code execution" in 05:09.87 (new, 6/1/2) April 25: #9675: CasualPokePlayer's GB Fushigi no Dungeon: Fuurai no Shiren GB: Tsukikage Mura no Kaibu "arbitrary code execution" in 00:27.26 (new, 1/3/5) These are all Playarounds so must be entertaining. Without a change to the movie rules I would object to publishing a Playaround with such poor votes. Personally I've not voted on any of these because I don't care for Bad Apple in the first place. I did quite like #9636: CasualPokePlayer's GBC Pokémon: Crystal Version "get sued by Disney" in 02:10.55, though that's little to do with the game, or the technical quality, but mainly because Steamboat Willie itself is entertaining, and I found the idea quite amusing as the film has recently gone into the public domain. The last two posts in 9565 bring up interesting points which could do with more discussion. In particular this part of the Movie Rules:
ACE is freely allowed in playarounds, though the spirit of the original game should be maintained, and copyright should not be infringed. Fair use applies here.
This point seems to have originated here around the time of #5384: MrWint's GBC Pokémon: Yellow Version "arbitrary code execution" in 05:48.28 (there are some more comments on this point in that submission's judgement). We don't appear to have had any submissions which use ACE to present completely new audiovisual content between 5384 and #8991: OnehundredthCoin's NES Super Mario Bros. "arbitrary code execution" in 04:52.65, and I think this point in the rules was overlooked when judging the latter. I'm not entirely sure how this rule should be interpreted and if it should just be removed. As for the fair use point, I think the legal aspect of these publications has been overlooked recently. It feels like people are forgetting the considerations that went into the description of [3358] GBC Pokémon: Yellow Version "arbitrary code execution" by MrWint in 05:48.28. These Bad Apple movies are using a work in its entirety, without transformation, unless you count the reduced graphics and sound quality due to the use of the NES/GB/GBC. The purchase links in 3358 were added due to fourth Fair Use factor in the US Copyright doctrine, which considers the "effect of the use upon the potential market for or value of the copyrighted work". Realistically, Bad Apple has a complicated origin (the original, remix and music video are all by different authors) and it has been reused many times over the years including in the demoscene. But generally I think there should be more consideration put into the legality of publishing these types of ACE playarounds.