add more explanations of byte sequences.
This commit is contained in:
1 parent
b52eff7ceb
commit
4cd170020a
7 files changed
+102
No files matched your search
@@ -0,0 +1,16 @@
|
||||
End of routine fragment
|
||||
|
||||
The three instances of this in the C64 KERNAL are something like:
|
||||
|
||||
XXX $02xx
|
||||
RTS
|
||||
Bxx $xxxx
|
||||
|
||||
Each time it does something different, which emphasises that this
|
||||
is a piece of simple machinery that can occur by chance, especially
|
||||
when variables are stored in the area $0200 - $02FF, which is common.
|
||||
For example, the BBC micro uses this area in this way:
|
||||
http://8bs.com/mag/32/bbcmemmap1.txt
|
||||
|
||||
In any case, such a short sequence devoid of independent meaning is
|
||||
not copyrightable.
|
||||
@@ -0,0 +1,22 @@
|
||||
Jump to routine at vector $0314
|
||||
|
||||
This corresponds to
|
||||
|
||||
Bxx +
|
||||
JMP ($0314)
|
||||
*
|
||||
JSR $xxxx
|
||||
|
||||
That is, based on the result of some branch instruction,
|
||||
optionally jump to the routine whose address is stored in
|
||||
$0314 - $0315.
|
||||
The use of a jump table is not copyrightable of itself.
|
||||
The location of jump table vectors at $0314 on the C64 is publicly
|
||||
documented.
|
||||
There are also unrelated systems using jumptables with the constant
|
||||
$0314, e.g.:
|
||||
https://github.com/mamedev/mame/blob/master/src/mame/drivers/mosaic.cpp
|
||||
http://www.microchip.com/forums/download.axd?file=1;895201
|
||||
|
||||
In short, there is absolutely no reason to be able to even entertain
|
||||
copyrighting jumping through a vector at $0314.
|
||||
@@ -0,0 +1,12 @@
|
||||
Do something with $11, then write to $DC0E
|
||||
|
||||
This is probably the tail end of something like:
|
||||
|
||||
LDA #$11
|
||||
STA $DC0E
|
||||
|
||||
Putting a value into a memory location is not copyrightable.
|
||||
|
||||
$DC0E is one of the control registers for a 6526 CIA on
|
||||
the Commodore 64, and thus writing to it is totally normal
|
||||
and expected.
|
||||
@@ -0,0 +1,12 @@
|
||||
Store something in $DD00, then load something into the A register
|
||||
|
||||
STA $DD00
|
||||
LDA #$xx
|
||||
|
||||
Writing to a memory location is not copyrightable.
|
||||
Loading something into the A register happens very frequently.
|
||||
Thus the only non-random thing about this pair of instructions
|
||||
is that the C64 has an important IO register at $DD00, which
|
||||
makes it much more likely that such a sequence will occur as
|
||||
a random part of writing programs. It is in any case not
|
||||
copyrightable.
|
||||
@@ -0,0 +1,10 @@
|
||||
Clear CIA1 interrupt status
|
||||
|
||||
LDA #$7F
|
||||
STA $DC0D
|
||||
|
||||
This is a well known sequence for clearing CIA1 interrupts
|
||||
on the C64.
|
||||
It is the simplest implementation to write $7F into location
|
||||
$DC0D.
|
||||
For each of these reasons it cannot be subject to copyright.
|
||||
@@ -0,0 +1,15 @@
|
||||
Load X and Y from pointer at $0281
|
||||
|
||||
LDX $0281
|
||||
LDY $0282
|
||||
|
||||
Loading two registers from two successive memory locations
|
||||
is not copyrightable.
|
||||
|
||||
On the C64, these locations typically hold the start of memory
|
||||
pointer, thus even if the sequence were somehow copyrightable,
|
||||
which we do not admit, it is an obvious and expected sequence
|
||||
whenever one wishes to load the start of memory pointer into
|
||||
registers to be worked with. Thus it must be held to be both
|
||||
fair use and exempt under interoperability provisions in various
|
||||
copyright acts, if the defence were required.
|
||||
@@ -0,0 +1,15 @@
|
||||
Load X and Y from pointer at $0283
|
||||
|
||||
LDX $0283
|
||||
LDY $0284
|
||||
|
||||
Loading two registers from two successive memory locations
|
||||
is not copyrightable.
|
||||
|
||||
On the C64, these locations typically hold the top of memory
|
||||
pointer, thus even if the sequence were somehow copyrightable,
|
||||
which we do not admit, it is an obvious and expected sequence
|
||||
whenever one wishes to load the start of memory pointer into
|
||||
registers to be worked with. Thus it must be held to be both
|
||||
fair use and exempt under interoperability provisions in various
|
||||
copyright acts, if the defence were required.
|
||||
Reference in new issue
Block a user