updated ROM binaries, explained all similarities longer than 3 bytes
This commit is contained in:
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.
@@ -0,0 +1,3 @@
|
||||
$01 + STA $02A6 (PAL/NTSC flag)
|
||||
|
||||
Instruction and a part (storing data into a decumented variable). Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$02 + LDA #$01 + STA (address does not match)
|
||||
|
||||
Instruction + some parts. Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$02 + LDA #$7F + STA (address does not match)
|
||||
|
||||
Instruction + some parts. Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$03 + JMP $F409
|
||||
|
||||
Instruction + some part. Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$03 + JMP ($8000) (jump via cartridge vector)
|
||||
|
||||
Instruction (jump via a documented vector) + some part. Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$03 + JMP ($8002) (cartridge vector) + JSR (address does not match, part of other branch)
|
||||
|
||||
Instruction and some parts. Not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$03 + JMP ($0314) (jump via CINV)
|
||||
|
||||
Instruction (jump via documented vector) + some part. Not copyrightable.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
RTS (from previous routine) + TAX + JSR (address does not match)
|
||||
|
||||
Routine starting from TAX + some subroutine jump. Not copyrightable.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,3 @@
|
||||
LDA $02A6 (PALNTSC) + BEQ (offset does not match)
|
||||
|
||||
Instruction (read of a documented routine) + a half - not copyrightable.
|
||||
@@ -0,0 +1,3 @@
|
||||
$B8 + BNE (offset match) + JMP (address does not match)
|
||||
|
||||
Instruction + some parts. Not copyrightable.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,3 @@
|
||||
$F6 + JMP $F654
|
||||
|
||||
Instruction and a part - not copyrightable.
|
||||
Reference in new issue
Block a user