updated ROM binaries, explained all similarities longer than 3 bytes

This commit is contained in:
FeralChild64 committed 2019-08-09 21:55:38 +02:00
1 parent 689e4b46d4
commit 1053e13112
26 files changed
+77 -2

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
$01 + STA $02A6 (PAL/NTSC flag)
Instruction and a part (storing data into a decumented variable). Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$02 + LDA #$01 + STA (address does not match)
Instruction + some parts. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$02 + LDA #$7F + STA (address does not match)
Instruction + some parts. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$03 + JMP $F409
Instruction + some part. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$03 + JMP ($8000) (jump via cartridge vector)
Instruction (jump via a documented vector) + some part. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$03 + JMP ($8002) (cartridge vector) + JSR (address does not match, part of other branch)
Instruction and some parts. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$03 + JMP ($0314) (jump via CINV)
Instruction (jump via documented vector) + some part. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
PHP + LDA #$00 + JSR (address does not match)
Two very simple instructions (one without argument, second zeroing a register) + a part. Not creative - not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
JSR $FFE1 (STOP routine jumptable address) + BCS (offset does not match)
Instruction (call of documented subroutine) and a half - not copyrightable.
@@ -0,0 +1,7 @@
RTS (from previous routine) + a list of vectors to be copied starting from $0314
Values of the vectors are already present in many autostart software - as it often overrides them,
sometimes changing one to trigger autostart (one of the possible techniques). We have to use the same
vector values to be compatible (in fact, it even complicates our implementation) - see *.interop files
for more details.
+5
View File
@@ -0,0 +1,5 @@
RTS (from previous routine) + STA $0285 (TIMOUT variable) + RTS
SETTMO routine (+ RTS from previous one). There really is just one sane way to
implement a subroutine storing accumulator in a fixed memory location.
Not creative - not copyrightable.
+4
View File
@@ -0,0 +1,4 @@
RTS (from previous routine) + LDA $BA (current device number) + CMP $02 + BNE (offset does not match)
Routine starts by checking whether the device is RS-232 - nothing creative, not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
RTS (from previous routine) + TAX + JSR (address does not match)
Routine starting from TAX + some subroutine jump. Not copyrightable.
+2 -2
View File
@@ -1,6 +1,6 @@
CBM80 cartridge signature
RTS + CBM80 PETSCII string
This is the string used to compare with the signature block of
CBM80 is the string used to compare with the signature block of
a cartridge. It is required for interoperability with C64 cartridges,
and the requirement for this string is explicit, and is well documented,
including the string itself, in many places, such as:
@@ -0,0 +1 @@
This is a part of Kernal jumptable - series of jumps, sometimes to the well known addreses (or through documented vectors). No business logic, part of the Kernal API itself - not copyrightable.
+1
View File
@@ -0,0 +1 @@
This is a part of Kernal jumptable - series of jumps, sometimes to the well known addreses (or through documented vectors). No business logic, part of the Kernal API itself - not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
LDA $02A6 (PALNTSC) + BEQ (offset does not match)
Instruction (read of a documented routine) + a half - not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$B8 + BNE (offset match) + JMP (address does not match)
Instruction + some parts. Not copyrightable.
+3
View File
@@ -0,0 +1,3 @@
$C3 + STA $0314, Y + DEY + BPL (offset does not match)
Part of the loop processing a documented array, but only two instructions fully match. Nothing creative - not copyrightable.
+5
View File
@@ -0,0 +1,5 @@
$DD + ORA #$20 + STA $DD00
$DD00 is a hardware register, where one typically set/unset/read individual bits.
Having a set of trivial helper subroutines to set/clear individual bits (or groups of bits) is an obvious solution (thus not copyrightable), some similarities are unevitable.
Besides, in this case (since the similarity does not even cover a single subroutine from start to end) it is clear that the similar code actually performs slightly different actions.
+5
View File
@@ -0,0 +1,5 @@
$DD + AND #$DF + STA $DD00
$DD00 is a hardware register, where one typically set/unset/read individual bits.
Having a set of trivial helper subroutines to set/clear individual bits (or groups of bits) is an obvious solution (thus not copyrightable), some similarities are unevitable.
Besides, in this case (since the similarity does not even cover a single subroutine from start to end) it is clear that the similar code actually performs slightly different actions.
+5
View File
@@ -0,0 +1,5 @@
$DD + AND #$DF + STA $DD00 + RTS
$DD00 is a hardware register, where one typically set/unset/read individual bits.
Having a set of trivial helper subroutines to set/clear individual bits (or groups of bits) is an obvious solution (thus not copyrightable), some similarities are unevitable.
Besides, in this case (since the similarity does not even cover a single subroutine from start to end) it is clear that the similar code actually performs slightly different actions.
+3
View File
@@ -0,0 +1,3 @@
$F6 + JMP $F654
Instruction and a part - not copyrightable.