From bd9211e1ea332a8fe91fd0f26f410c3e057d5714 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sat, 27 Jun 2020 12:01:51 +0200 Subject: [PATCH] explained all similarities >3 --- strings/012CA9022CA9032CA9042CA9052CA9062CA9072CA9082CA909 | 3 +++ strings/021860A90085 | 5 +++++ strings/0285B960 | 3 +++ strings/0980856A | 3 +++ strings/1860A900 | 5 +++++ strings/209EAD20 | 3 +++ strings/278563A5 | 3 +++ strings/288564A5 | 3 +++ strings/309004C93C90 | 3 +++ strings/48A56348 | 3 +++ strings/60A9012CA9 | 3 +++ strings/60A9012CA900 | 3 +++ strings/60C922D0 | 3 +++ strings/60C922D008A5D449 | 3 +++ strings/61A56585 | 3 +++ strings/62666366646665 | 3 +++ strings/626663666466656670 | 3 +++ strings/65358535 | 3 +++ strings/6662666366646665 | 3 +++ strings/6662666366646665667060A5 | 3 +++ strings/6663666466656670 | 3 +++ strings/68856A6885 | 3 +++ strings/68856B6885 | 3 +++ strings/69D0034C | 3 +++ strings/85358436 | 3 +++ strings/85658564 | 3 +++ strings/91F38810F5 | 3 +++ strings/A001B1B285 | 3 +++ strings/A004B12285 | 3 +++ strings/A004B122856588B122856488B122856388B122 | 3 +++ strings/A004B122856D88B122856C88B122856B88B122 | 3 +++ strings/A2198616 | 3 +++ strings/A5012910F0 | 3 +++ strings/A56248A5 | 4 ++++ strings/A5648563 | 3 +++ strings/A62DA42E | 3 +++ strings/A63AE8D0 | 3 +++ strings/A63AE8F0 | 3 +++ strings/A9EFA0E2 | 3 +++ strings/AE209EAD | 3 +++ strings/AE209EAD20 | 3 +++ strings/B7F00A20 | 3 +++ strings/C4B7F00A | 3 +++ strings/C4D3D0EF | 3 +++ strings/CAA000B1 | 3 +++ strings/D0FBC898 | 3 +++ strings/F9F00720 | 3 +++ strings/FF00000000000000000000 | 3 +++ 48 files changed, 149 insertions(+) create mode 100644 strings/012CA9022CA9032CA9042CA9052CA9062CA9072CA9082CA909 create mode 100644 strings/021860A90085 create mode 100644 strings/0285B960 create mode 100644 strings/0980856A create mode 100644 strings/1860A900 create mode 100644 strings/209EAD20 create mode 100644 strings/278563A5 create mode 100644 strings/288564A5 create mode 100644 strings/309004C93C90 create mode 100644 strings/48A56348 create mode 100644 strings/60A9012CA9 create mode 100644 strings/60A9012CA900 create mode 100644 strings/60C922D0 create mode 100644 strings/60C922D008A5D449 create mode 100644 strings/61A56585 create mode 100644 strings/62666366646665 create mode 100644 strings/626663666466656670 create mode 100644 strings/65358535 create mode 100644 strings/6662666366646665 create mode 100644 strings/6662666366646665667060A5 create mode 100644 strings/6663666466656670 create mode 100644 strings/68856A6885 create mode 100644 strings/68856B6885 create mode 100644 strings/69D0034C create mode 100644 strings/85358436 create mode 100644 strings/85658564 create mode 100644 strings/91F38810F5 create mode 100644 strings/A001B1B285 create mode 100644 strings/A004B12285 create mode 100644 strings/A004B122856588B122856488B122856388B122 create mode 100644 strings/A004B122856D88B122856C88B122856B88B122 create mode 100644 strings/A2198616 create mode 100644 strings/A5012910F0 create mode 100644 strings/A56248A5 create mode 100644 strings/A5648563 create mode 100644 strings/A62DA42E create mode 100644 strings/A63AE8D0 create mode 100644 strings/A63AE8F0 create mode 100644 strings/A9EFA0E2 create mode 100644 strings/AE209EAD create mode 100644 strings/AE209EAD20 create mode 100644 strings/B7F00A20 create mode 100644 strings/C4B7F00A create mode 100644 strings/C4D3D0EF create mode 100644 strings/CAA000B1 create mode 100644 strings/D0FBC898 create mode 100644 strings/F9F00720 create mode 100644 strings/FF00000000000000000000 diff --git a/strings/012CA9022CA9032CA9042CA9052CA9062CA9072CA9082CA909 b/strings/012CA9022CA9032CA9042CA9052CA9062CA9072CA9082CA909 new file mode 100644 index 00000000..ca77c0d2 --- /dev/null +++ b/strings/012CA9022CA9032CA9042CA9052CA9062CA9072CA9082CA909 @@ -0,0 +1,3 @@ +$01 + BIT + LDA #$02 + BIT + LDA #$03 + ... + LDA #$09 + +Ledder of LDA's and BIT's - a common 6502 space-saving trick to set the CPU register value depending on the jump address and perform common action. Not creative - not copyrightable. diff --git a/strings/021860A90085 b/strings/021860A90085 new file mode 100644 index 00000000..046d28ca --- /dev/null +++ b/strings/021860A90085 @@ -0,0 +1,5 @@ +$18 + CLC + RTS + LDA #$00 + STA (zeropage address does not match) + +End of a routine reporting a success (by clearing Carry) followed by start of another routine, starting from putting 0 into .A register - plus some parts. Trivial - not copyrightable. + +BTW, most of the time the routines are placed in the order determined by algorithm, using a specialized tool (without human intervention), and this order can undergo major changes after a small code modification - and this similarity is most likely caused by the currently determined ROM layout. diff --git a/strings/0285B960 b/strings/0285B960 new file mode 100644 index 00000000..981bab45 --- /dev/null +++ b/strings/0285B960 @@ -0,0 +1,3 @@ +$02 + STA $B9 + RTS + +Routine ending by setting a zeropage variable + plus some part. Trivial - not copyrightable. diff --git a/strings/0980856A b/strings/0980856A new file mode 100644 index 00000000..d63a76be --- /dev/null +++ b/strings/0980856A @@ -0,0 +1,3 @@ +ORA #$80 + STA $6A + +Part of the code setting highest bit in a zeropage variable. Trivial - not copyrightable. diff --git a/strings/1860A900 b/strings/1860A900 new file mode 100644 index 00000000..15604581 --- /dev/null +++ b/strings/1860A900 @@ -0,0 +1,5 @@ +CLC + RTS + LDA #$00 + +End of a routine reporting a success (by clearing Carry) followed by start of another routine, starting from putting 0 into .A register. Trivial - not copyrightable. + +BTW, most of the time the routines are placed in the order determined by algorithm, using a specialized tool (without human intervention), and this order can undergo major changes after a small code modification - and this similarity is most likely caused by the currently determined ROM layout. diff --git a/strings/209EAD20 b/strings/209EAD20 new file mode 100644 index 00000000..03ccdf59 --- /dev/null +++ b/strings/209EAD20 @@ -0,0 +1,3 @@ +JSR $AD9E (CHRGOT) + JSR (address does not match) + +Call of a well-known subroutine + some part of other instruction. Trivial - not copyrightable. diff --git a/strings/278563A5 b/strings/278563A5 new file mode 100644 index 00000000..975d4737 --- /dev/null +++ b/strings/278563A5 @@ -0,0 +1,3 @@ +$27 + STA $63 + LDA (zeropage address does not match) + +Instruction (accessing well-known zeropage location) + some parts. Trivial - not copyrightable. diff --git a/strings/288564A5 b/strings/288564A5 new file mode 100644 index 00000000..d246494e --- /dev/null +++ b/strings/288564A5 @@ -0,0 +1,3 @@ +$28 + STA $64 + LDA (zeropage address does not match) + +Instruction (accessing well-known zeropage location) + some parts. Trivial - not copyrightable. diff --git a/strings/309004C93C90 b/strings/309004C93C90 new file mode 100644 index 00000000..17bda5a2 --- /dev/null +++ b/strings/309004C93C90 @@ -0,0 +1,3 @@ +$30 + BCC (offset matches) + CMP #$3C + BCC (offset does not match) + +Part of code checking whether the valu is within the given range. Not creative - not copyrightable. diff --git a/strings/48A56348 b/strings/48A56348 new file mode 100644 index 00000000..6a8bda71 --- /dev/null +++ b/strings/48A56348 @@ -0,0 +1,3 @@ +PHA + LDA $63 + PHA + +Part of the code storing several values on stack. Trivial - not copyrightable. diff --git a/strings/60A9012CA9 b/strings/60A9012CA9 new file mode 100644 index 00000000..b332d9e6 --- /dev/null +++ b/strings/60A9012CA9 @@ -0,0 +1,3 @@ +RTS + LDA #$01 + BIT + LDA + +Routine starting by setting .A to 1 or some other value, depending on entry address (common 6502 trick to save memoryy using BIT instruction). Not creative - not copyrightable. diff --git a/strings/60A9012CA900 b/strings/60A9012CA900 new file mode 100644 index 00000000..b98146f4 --- /dev/null +++ b/strings/60A9012CA900 @@ -0,0 +1,3 @@ +RTS + LDA #$01 + BIT + LDA #$00 + +Routine starting by setting .A to 0 or 1 depending on entry address (common 6502 trick to save memoryy using BIT instruction). Not creative - not copyrightable. diff --git a/strings/60C922D0 b/strings/60C922D0 new file mode 100644 index 00000000..7ae0b049 --- /dev/null +++ b/strings/60C922D0 @@ -0,0 +1,3 @@ +RTS + CMP #$22 + BNE (offset does not match) + +Routine starting by comparing accumulator to a predefined value - trivial, not copyrightable. diff --git a/strings/60C922D008A5D449 b/strings/60C922D008A5D449 new file mode 100644 index 00000000..cf26cf03 --- /dev/null +++ b/strings/60C922D008A5D449 @@ -0,0 +1,3 @@ +RTS + CMP #$22 + BNE (offset matches) + LDA $D4 + EOR (value does not match) + +Part of a routine handling quote flag (QTSW - $D4 on zeropage) depending on quote symbol ($22). Not creative (nothing complicated here and the similarity doesn't even cover the whole flow) - not copyrightable. diff --git a/strings/61A56585 b/strings/61A56585 new file mode 100644 index 00000000..e57488f7 --- /dev/null +++ b/strings/61A56585 @@ -0,0 +1,3 @@ +$61 + LDA $65 + STA (zeropage addres does not match) + +Instruction (accessing well-known zeropage location) + some parts. Trivial - not copyrightable. diff --git a/strings/62666366646665 b/strings/62666366646665 new file mode 100644 index 00000000..26e602d9 --- /dev/null +++ b/strings/62666366646665 @@ -0,0 +1,3 @@ +$62 + ROR $63 + ROR $64 + ROR $65 + +Right-rotate on a multibyte variable (typical 6502 code) - trivial, not copyrightable. diff --git a/strings/626663666466656670 b/strings/626663666466656670 new file mode 100644 index 00000000..21a369de --- /dev/null +++ b/strings/626663666466656670 @@ -0,0 +1,3 @@ +$62 + ROR $63 + ROR $64 + ROR $65 + ROR $70 + +Right-rotate on a multibyte variable (typical 6502 code) - trivial, not copyrightable. diff --git a/strings/65358535 b/strings/65358535 new file mode 100644 index 00000000..a2dfcd26 --- /dev/null +++ b/strings/65358535 @@ -0,0 +1,3 @@ +ADC $35 + STA $35 + +Adding a value to a zeropage variable. Trivial - not copyrightable. diff --git a/strings/6662666366646665 b/strings/6662666366646665 new file mode 100644 index 00000000..0f61ac66 --- /dev/null +++ b/strings/6662666366646665 @@ -0,0 +1,3 @@ +ROR $62 + ROR $63 + ROR $64 + ROR $65 + +Rotate-right operation done on a 32-bit value (floating point accumulator mantissa) - trivial, not copyrightable. diff --git a/strings/6662666366646665667060A5 b/strings/6662666366646665667060A5 new file mode 100644 index 00000000..43e94fa5 --- /dev/null +++ b/strings/6662666366646665667060A5 @@ -0,0 +1,3 @@ +ROR $62 + ROR $63 + ROR $64 + ROR $65 + ROR $70 + RTS + LDA (zeropage address does not match) + +Unrolled loop that performs a simple operation (shift by one bit) on a well-known variable - floating point accumulator mantissa. Plus some p[art of another instruction, from a different subroutine. Not creative and rather trivial - not copyrightable. diff --git a/strings/6663666466656670 b/strings/6663666466656670 new file mode 100644 index 00000000..8f8d4226 --- /dev/null +++ b/strings/6663666466656670 @@ -0,0 +1,3 @@ +ROR $63 + ROR $64 + ROR $65 + ROR $70 + +Right-rotate on a multibyte variable (typical 6502 code) - trivial, not copyrightable. diff --git a/strings/68856A6885 b/strings/68856A6885 new file mode 100644 index 00000000..0d77a3f6 --- /dev/null +++ b/strings/68856A6885 @@ -0,0 +1,3 @@ +PLA + STA $6A + PLA + STA (address does not match) + +Part of sequence storing several values on the stack. Trivial - not copyrightable. diff --git a/strings/68856B6885 b/strings/68856B6885 new file mode 100644 index 00000000..bf7bcfd1 --- /dev/null +++ b/strings/68856B6885 @@ -0,0 +1,3 @@ +PLA + STA $6B + PLA + STA (address does not match) + +Part of sequence storing several values on the stack. Trivial - not copyrightable. diff --git a/strings/69D0034C b/strings/69D0034C new file mode 100644 index 00000000..a2e1eabc --- /dev/null +++ b/strings/69D0034C @@ -0,0 +1,3 @@ +$69 + BNE (skip next instruction) + JMP (address does not match) + +Instruction plus some parts - trivial, not copyrightable. diff --git a/strings/85358436 b/strings/85358436 new file mode 100644 index 00000000..c61d15cc --- /dev/null +++ b/strings/85358436 @@ -0,0 +1,3 @@ +STA $35 + STY $36 + +Store two CPU registers in a 16-bit zeropage variable (FRESPC). Trivial - not copyrightable. diff --git a/strings/85658564 b/strings/85658564 new file mode 100644 index 00000000..1fe03e76 --- /dev/null +++ b/strings/85658564 @@ -0,0 +1,3 @@ +STA $65 + STA $64 + +Part of the code zeroing a temporary storage on zeropage. Trivial - not copyrightable. diff --git a/strings/91F38810F5 b/strings/91F38810F5 new file mode 100644 index 00000000..eadda531 --- /dev/null +++ b/strings/91F38810F5 @@ -0,0 +1,3 @@ +STA ($F3),Y + DEY + BPL (offset matches) + +Small part of the loop moving screen content. Not creative - not copyrightable. diff --git a/strings/A001B1B285 b/strings/A001B1B285 new file mode 100644 index 00000000..44f9cfdc --- /dev/null +++ b/strings/A001B1B285 @@ -0,0 +1,3 @@ +LDY #$01 + LDA ($B2),Y + STA (zeropage address does not match) + +Small part of the code (only 2 instructions fully match) fetching multi-byte value via zeropage pointer - trivial, not copyrightable. diff --git a/strings/A004B12285 b/strings/A004B12285 new file mode 100644 index 00000000..dd3688f6 --- /dev/null +++ b/strings/A004B12285 @@ -0,0 +1,3 @@ +LDY #$04 + LDA ($22),Y + STA (address does not match) + +Small part of the code (only 2 instructions fully match) fetching multi-byte value via zeropage pointer - trivial, not copyrightable. diff --git a/strings/A004B122856588B122856488B122856388B122 b/strings/A004B122856588B122856488B122856388B122 new file mode 100644 index 00000000..11b6c674 --- /dev/null +++ b/strings/A004B122856588B122856488B122856388B122 @@ -0,0 +1,3 @@ +LDY #$04 + LDA ($22),Y + STA $65 + DEY + LDA ($22),Y + STA $64 + DEY + LDA ($22),Y + STA $63 + DEY + LDA ($22),Y + +Unrolled loop that performs a simple operation (fetch from memory) on a well-known variable - floating point accumulator. Not creative and rather trivial - not copyrightable. diff --git a/strings/A004B122856D88B122856C88B122856B88B122 b/strings/A004B122856D88B122856C88B122856B88B122 new file mode 100644 index 00000000..316de38e --- /dev/null +++ b/strings/A004B122856D88B122856C88B122856B88B122 @@ -0,0 +1,3 @@ +LDY #$04 + LDA ($22),Y + STA $6D + DEY + LDA ($22),Y + STA $6C + DEY + LDA ($22),Y + STA $6B + DEY + LDA ($22),Y + +Part of unrolled loop that performs a simple operation (shift by one bit) on a well-known variable - floating point accumulator mantissa. Not creative and rather trivial - not copyrightable. diff --git a/strings/A2198616 b/strings/A2198616 new file mode 100644 index 00000000..b32f9e0f --- /dev/null +++ b/strings/A2198616 @@ -0,0 +1,3 @@ +LDX #$19 + STX $16 + +Store predefined value in a well-known zeropage location. Trivial - not copyrightable. diff --git a/strings/A5012910F0 b/strings/A5012910F0 new file mode 100644 index 00000000..4c011c4d --- /dev/null +++ b/strings/A5012910F0 @@ -0,0 +1,3 @@ +LDA $01 + AND #$10 + BEQ (offset does not match) + +Decision based on a state of a bit in a documented hardware register. Trivial - not copyrightable. diff --git a/strings/A56248A5 b/strings/A56248A5 new file mode 100644 index 00000000..13add0f8 --- /dev/null +++ b/strings/A56248A5 @@ -0,0 +1,4 @@ +LDA $62 + PHA + LDA (zeropage address does not match) + +Store zeropage variable on stack + some part - trivial, not copyrightable. + diff --git a/strings/A5648563 b/strings/A5648563 new file mode 100644 index 00000000..026aecf8 --- /dev/null +++ b/strings/A5648563 @@ -0,0 +1,3 @@ +LDA $64 + STA $63 + +Small part (2 instructions) of code manipulating a floating code mantissa. Trivial - not copyrightable. diff --git a/strings/A62DA42E b/strings/A62DA42E new file mode 100644 index 00000000..60368dc1 --- /dev/null +++ b/strings/A62DA42E @@ -0,0 +1,3 @@ +LDX $2D + LDY $2E + +2 instructions to fetch zeropage variable (VARTAB) for usage by Kernal documented API. Trivial - not copyrightable. diff --git a/strings/A63AE8D0 b/strings/A63AE8D0 new file mode 100644 index 00000000..cc32abeb --- /dev/null +++ b/strings/A63AE8D0 @@ -0,0 +1,3 @@ +LDX $3A + INX + BNE (offset does not match) + +Check whether a zeropage variable contains $FF. Trivial - not copyrightable. diff --git a/strings/A63AE8F0 b/strings/A63AE8F0 new file mode 100644 index 00000000..361fd785 --- /dev/null +++ b/strings/A63AE8F0 @@ -0,0 +1,3 @@ +LDX $3A + INX + BEQ (offset does not match) + +Check whether a zeropage variable contains $FF. Trivial - not copyrightable. diff --git a/strings/A9EFA0E2 b/strings/A9EFA0E2 new file mode 100644 index 00000000..bc12528b --- /dev/null +++ b/strings/A9EFA0E2 @@ -0,0 +1,3 @@ +LDA #$EF + LDY #$E2 + +2 instructions fetching known zeropage variables. Trivial - not copyrightable. diff --git a/strings/AE209EAD b/strings/AE209EAD new file mode 100644 index 00000000..a797f38b --- /dev/null +++ b/strings/AE209EAD @@ -0,0 +1,3 @@ +$AE + JSR $AD9E (FRMEVL) + +Instruction (calls a well-known routine) + some part. Trivial - not copyrightable. diff --git a/strings/AE209EAD20 b/strings/AE209EAD20 new file mode 100644 index 00000000..271509c4 --- /dev/null +++ b/strings/AE209EAD20 @@ -0,0 +1,3 @@ +$AE + JSR $AD9E (FRMEVL) + JSR (address does not match) + +Instruction (calls a well-known routine) + some parts. Trivial - not copyrightable. diff --git a/strings/B7F00A20 b/strings/B7F00A20 new file mode 100644 index 00000000..1dfc3334 --- /dev/null +++ b/strings/B7F00A20 @@ -0,0 +1,3 @@ +$B7 + BEQ (offset matches) + JSR (address does not match) + +Instruction + some parts - trivial, not copyrightable. diff --git a/strings/C4B7F00A b/strings/C4B7F00A new file mode 100644 index 00000000..b84110a2 --- /dev/null +++ b/strings/C4B7F00A @@ -0,0 +1,3 @@ +CPY $B7 + BEQ (offset matches) + +Decision based on a fact whether CPU register is equal to zeropage variable. Trivial - not copyrightable. diff --git a/strings/C4D3D0EF b/strings/C4D3D0EF new file mode 100644 index 00000000..4200de6e --- /dev/null +++ b/strings/C4D3D0EF @@ -0,0 +1,3 @@ +CPY $D3 + BNE (offset matches) + +Decision based on a fact whether CPU register is equal to zeropage variable. Trivial - not copyrightable. diff --git a/strings/CAA000B1 b/strings/CAA000B1 new file mode 100644 index 00000000..a3bc6511 --- /dev/null +++ b/strings/CAA000B1 @@ -0,0 +1,3 @@ +$CA + LDY #$00 + LDA (zeropage address does not match), Y + +Instruction + some parts. Trivial - not copyrightable. diff --git a/strings/D0FBC898 b/strings/D0FBC898 new file mode 100644 index 00000000..2b7528bb --- /dev/null +++ b/strings/D0FBC898 @@ -0,0 +1,3 @@ +BNE (offset matches) + INY + TYA + +Check for zero in some variable (or CPU register - similarity does not cover this part) + simple register manipulation. Not creative (too small fragment, this can be a piece of various routines) - not copyrightable. diff --git a/strings/F9F00720 b/strings/F9F00720 new file mode 100644 index 00000000..fce8ac5e --- /dev/null +++ b/strings/F9F00720 @@ -0,0 +1,3 @@ +$F9 + BEQ (offset matches) + JSR (address does not match) + +Instruction + some parts - trivial, not copyrightable. diff --git a/strings/FF00000000000000000000 b/strings/FF00000000000000000000 new file mode 100644 index 00000000..2c98882f --- /dev/null +++ b/strings/FF00000000000000000000 @@ -0,0 +1,3 @@ +$FF followed by several 0's + +Meaningless sequence of bytes, most likely caused by ROM not being full to the last byte. Not copyrightable.