diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 62534b24..a1e9f2ef 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index 6b0c3983..2d95059d 100644 Binary files a/bin/basic_mega65.rom and b/bin/basic_mega65.rom differ diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom new file mode 100644 index 00000000..efbebfcd Binary files /dev/null and b/bin/basic_testing.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index e146a1a9..d9cdeaf9 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index ae78c8ea..3833498b 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index e4fa473e..b4a039f8 100644 Binary files a/bin/kernal_mega65.rom and b/bin/kernal_mega65.rom differ diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom new file mode 100644 index 00000000..6731edb1 Binary files /dev/null and b/bin/kernal_testing.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 65b2cde4..90de039e 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/c64/aliases/,aliases_petscii_codes.s b/c64/aliases/,aliases_petscii_codes.s index 48e3abda..d62bf4ec 100644 --- a/c64/aliases/,aliases_petscii_codes.s +++ b/c64/aliases/,aliases_petscii_codes.s @@ -31,7 +31,7 @@ // PETSCII codes for our extended screen editor XXX implement these -.const KEY_BOTTOM = $02 // CTRL+B - DolphinDOS compatible +.const KEY_BOTTOM = $02 // CTRL+B - Open ROMs unofficial, DolphinDOS compatible .const KEY_TAB_FW = $8F // CTRL+>, TAB - Open ROMs unofficial, original TAB conflicts with C64 PETSCII .const KEY_TAB_BW = $80 // CTRL+<, SHIFT+TAB - Open ROMs unofficial, original TAB conflicts with C64 PETSCII diff --git a/strings/008D9102 b/strings/008D9102 new file mode 100644 index 00000000..7ed9bd93 --- /dev/null +++ b/strings/008D9102 @@ -0,0 +1,3 @@ +$00 + STA $0291 + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/009D0002 b/strings/009D0002 new file mode 100644 index 00000000..ddb5420f --- /dev/null +++ b/strings/009D0002 @@ -0,0 +1,3 @@ +$00 + STA $0200,X + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/028C8202 b/strings/028C8202 new file mode 100644 index 00000000..9a916a11 --- /dev/null +++ b/strings/028C8202 @@ -0,0 +1,3 @@ +$02 + STY $0282 + +Instruction (storing data in a well-known location) + some part. Trivial, not copyrightable. diff --git a/strings/028C8402 b/strings/028C8402 new file mode 100644 index 00000000..24ced153 --- /dev/null +++ b/strings/028C8402 @@ -0,0 +1,3 @@ +$02 + STY $0284 + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/028D18D04C b/strings/028D18D04C new file mode 100644 index 00000000..7afc5a69 --- /dev/null +++ b/strings/028D18D04C @@ -0,0 +1,3 @@ +$02 + STA $D018 + JMP (addres does not match) + +One instruction (storing data in a docummented I/O register) + some parts. Not copyrightable. diff --git a/strings/028E8102 b/strings/028E8102 new file mode 100644 index 00000000..bfb09227 --- /dev/null +++ b/strings/028E8102 @@ -0,0 +1,3 @@ +$02 + STX $0281 + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/0BA90085 b/strings/0BA90085 new file mode 100644 index 00000000..bd9b77af --- /dev/null +++ b/strings/0BA90085 @@ -0,0 +1,3 @@ +$0B + LDA #$00 + STA (zeropage addreess does not match) + +One instruction + some parts. Not copyrightable. diff --git a/strings/13D00620 b/strings/13D00620 new file mode 100644 index 00000000..abb8e442 --- /dev/null +++ b/strings/13D00620 @@ -0,0 +1,3 @@ +$13 + BNE (offset match) + JSR (address does not match) + +Instruction + some parts. Not copyrightable. diff --git a/strings/20000000 b/strings/20000000 new file mode 100644 index 00000000..39095a19 --- /dev/null +++ b/strings/20000000 @@ -0,0 +1 @@ +A byte followed by some 0's - accidental result of ROMs not being full to the last byte. Nothing creative - not copyrightable. diff --git a/strings/204D49534D415443C8 b/strings/204D49534D415443C8 new file mode 100644 index 00000000..24490224 --- /dev/null +++ b/strings/204D49534D415443C8 @@ -0,0 +1,3 @@ +PETSCII: (space) MISMATCH + +Single word with a space character is not copyrightable. What's more, the MISMATCH word in our BASIC is stored in compressed form - this one must come from Kernal, from out 'panic screen' implementation, something not even present in the original ROM. diff --git a/strings/205BFF586C b/strings/205BFF586C new file mode 100644 index 00000000..4b9adedc --- /dev/null +++ b/strings/205BFF586C @@ -0,0 +1,3 @@ +JSR $FF5B (CINT) + CLI + JMP (vector does not match) + +Small part of the initialization routine, basically a sequence of 2 calls. Not creative - not copyrightable. diff --git a/strings/20A0E54C b/strings/20A0E54C new file mode 100644 index 00000000..edc5f21f --- /dev/null +++ b/strings/20A0E54C @@ -0,0 +1,3 @@ +JSR $E5A0 + JMP (address does not match) + +Instruction (call to unofficial, but a well-known routine) + some part. Trivial, not copyrightable. diff --git a/strings/29EF8D00DD b/strings/29EF8D00DD new file mode 100644 index 00000000..23471546 --- /dev/null +++ b/strings/29EF8D00DD @@ -0,0 +1,5 @@ +AND #$EF + 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. diff --git a/strings/49432042 b/strings/49432042 new file mode 100644 index 00000000..b61392d7 --- /dev/null +++ b/strings/49432042 @@ -0,0 +1,3 @@ +PETSCII: IC (space) B + +Short text fragment, not even a full syllable. Not copyrightable. diff --git a/strings/4C25FE4C b/strings/4C25FE4C new file mode 100644 index 00000000..fa745bee --- /dev/null +++ b/strings/4C25FE4C @@ -0,0 +1,3 @@ +JMP $FE25 (MEMTOP) + JMP (address doees not match) + +Very small part of Kernal jumptable - part of Kernal API, list of facts without any logic (see also fe25.interop). Not copyrightable. diff --git a/strings/6020A0E5 b/strings/6020A0E5 new file mode 100644 index 00000000..a44b9d86 --- /dev/null +++ b/strings/6020A0E5 @@ -0,0 +1,3 @@ +RTS (end of routine) + JSR $E5A0 (setup VIC and I/O) + +Similarity only because a routine starts with video chipset initialization - trivial, not copyrightable. diff --git a/strings/7BA9FF85 b/strings/7BA9FF85 new file mode 100644 index 00000000..acd243cc --- /dev/null +++ b/strings/7BA9FF85 @@ -0,0 +1,3 @@ +$7B + LDA #$FF + STA (zeropage address does not match) + +One instruction + some parts. Not copyrightable. diff --git a/strings/80000000 b/strings/80000000 new file mode 100644 index 00000000..39095a19 --- /dev/null +++ b/strings/80000000 @@ -0,0 +1 @@ +A byte followed by some 0's - accidental result of ROMs not being full to the last byte. Nothing creative - not copyrightable. diff --git a/strings/8000000000 b/strings/8000000000 new file mode 100644 index 00000000..39095a19 --- /dev/null +++ b/strings/8000000000 @@ -0,0 +1 @@ +A byte followed by some 0's - accidental result of ROMs not being full to the last byte. Nothing creative - not copyrightable. diff --git a/strings/81028C8202 b/strings/81028C8202 new file mode 100644 index 00000000..6b2ce942 --- /dev/null +++ b/strings/81028C8202 @@ -0,0 +1,3 @@ +$0281 + STY $0282 + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/857AA52C b/strings/857AA52C new file mode 100644 index 00000000..972422ee --- /dev/null +++ b/strings/857AA52C @@ -0,0 +1,3 @@ +STA $7A (TXTPTR low byte) + LDA $2C (TXTAB high byte) + +$7A and $2C are documented zeropage locations, they are related so it's normal that they are read/written one after another. Here the similarity is limited to just 2 instructions (does not even cover full access of the variables) - this is trivial and thus not copyrightable. diff --git a/strings/85F46020 b/strings/85F46020 new file mode 100644 index 00000000..3745a819 --- /dev/null +++ b/strings/85F46020 @@ -0,0 +1,3 @@ +STA $F4 + RTS (end of subroutine) + JSR (address does not match) + +Storing value in a documented memory location, followed by next subroutine started by JSR - not creative, not copyrightable. diff --git a/strings/8D8D02A0 b/strings/8D8D02A0 new file mode 100644 index 00000000..86535945 --- /dev/null +++ b/strings/8D8D02A0 @@ -0,0 +1,3 @@ +STA $028D + LDY #(value does not match) + +Instruction (storing data in a docummented location) + some part. Trivial, not copyrgihtable. diff --git a/strings/8D9002A9 b/strings/8D9002A9 new file mode 100644 index 00000000..0c47ce26 --- /dev/null +++ b/strings/8D9002A9 @@ -0,0 +1,3 @@ +STA $0290 + LDA (value does not match) + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/8D91024C b/strings/8D91024C new file mode 100644 index 00000000..54ac819b --- /dev/null +++ b/strings/8D91024C @@ -0,0 +1,3 @@ +STA $0291 + JMP (address does not match) + +Instruction (storing data in a well-known location) + some part. Trivial, not copyrightable. diff --git a/strings/8E03DC8E b/strings/8E03DC8E new file mode 100644 index 00000000..efbed2ba --- /dev/null +++ b/strings/8E03DC8E @@ -0,0 +1,3 @@ +STX $DC03 + STX (address does not match) + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/A59AC903D0 b/strings/A59AC903D0 new file mode 100644 index 00000000..7f7a8188 --- /dev/null +++ b/strings/A59AC903D0 @@ -0,0 +1,3 @@ +LDA $9A + CMP #$03 + BNE (offset does not match) + +Just a check whether the default output device is screen - trivial, not copyrightable. diff --git a/strings/A68BE383A47CA51AA7E4A786AE b/strings/A68BE383A47CA51AA7E4A786AE new file mode 100644 index 00000000..72f8a1d7 --- /dev/null +++ b/strings/A68BE383A47CA51AA7E4A786AE @@ -0,0 +1,6 @@ +$A6 (part of other compilation unit) + a list of vectors to be copied starting from $0300 + +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. diff --git a/strings/A6D8F0034C b/strings/A6D8F0034C new file mode 100644 index 00000000..d9e0b07c --- /dev/null +++ b/strings/A6D8F0034C @@ -0,0 +1,3 @@ +LDX $D8 + BEQ (skip next instruction) + JMP (address does not match) + +Just a check whether insert mode is active - trivial, not copyrightable. diff --git a/strings/A9802090FF b/strings/A9802090FF new file mode 100644 index 00000000..8757cd5a --- /dev/null +++ b/strings/A9802090FF @@ -0,0 +1,3 @@ +LDA #$80 + JSR $FF90 (SETMSG) + +There are just two standard parameters of SETMSG - $00 and $80 (to tell Kernal wheether to print out messages or not). This is typical call of Kernal API, not copyrightable. diff --git a/strings/ABA000B1 b/strings/ABA000B1 new file mode 100644 index 00000000..57f6b686 --- /dev/null +++ b/strings/ABA000B1 @@ -0,0 +1,3 @@ +$AB + LDY #$00 + LDA (zeropage addres does not match), Y + +Instruction + some parts. Not copyrightable. diff --git a/strings/C903F008 b/strings/C903F008 new file mode 100644 index 00000000..bfaddbf3 --- /dev/null +++ b/strings/C903F008 @@ -0,0 +1,3 @@ +CMP #$03 + BEQ (skip 8 bytes) + +Skip few bytes if accumulator value is 3 - not creative, not copyrightable. diff --git a/strings/C90ED007AD18D00902D0 b/strings/C90ED007AD18D00902D0 new file mode 100644 index 00000000..dff00ea1 --- /dev/null +++ b/strings/C90ED007AD18D00902D0 @@ -0,0 +1,3 @@ +CMP #$0E + BNE (7 bytes forward) + LDA $D018 + ORA #$02 + BNE (offset does not match) + +A piece of code that (depending on the PETSCII character) sets/unsets lowercase mode. Not many sane ways exists to do this, some similarities are unevitable. Overall, this code is trivial (and not even fully the same) - not copyrightable. diff --git a/strings/C912D004A9 b/strings/C912D004A9 new file mode 100644 index 00000000..d15f0f7d --- /dev/null +++ b/strings/C912D004A9 @@ -0,0 +1,3 @@ +CMP #$12 + BNE (skip 4 bytes) + LDA #(value does not match) + +Small part of the PETSCII control codes handling routine - do something if handling character $12 (not even the same thing is done). Not creative - not copyrightable. diff --git a/strings/C913D00620 b/strings/C913D00620 new file mode 100644 index 00000000..df6b9e6c --- /dev/null +++ b/strings/C913D00620 @@ -0,0 +1,3 @@ +CMP #$13 + BNE (skip 6 bytes) + JSR (address does not match) + +Small part of the PETSCII control codes handling routine - do something if handling character $13. Not creative - not copyrightable. diff --git a/strings/C98ED00BAD18D029 b/strings/C98ED00BAD18D029 new file mode 100644 index 00000000..fba842ca --- /dev/null +++ b/strings/C98ED00BAD18D029 @@ -0,0 +1,3 @@ +CMP #$8E + BNE (skip 11 bytes) + LDA $D018 + AND#(value does not match) + +A piece of code that (depending on the PETSCII character) sets/unsets lowercase mode. Not many sane ways exists to do this, some similarities are unevitable. Overall, this code is trivial (and not even fully the same) - not copyrightable. diff --git a/strings/CA8E02DC b/strings/CA8E02DC new file mode 100644 index 00000000..e0240c1e --- /dev/null +++ b/strings/CA8E02DC @@ -0,0 +1,3 @@ +DEX + STX $DC02 + +Optimization to store $FF in I/O register, when X is known to be $00 - trivial, not copyrightable. diff --git a/strings/D0036C0080 b/strings/D0036C0080 new file mode 100644 index 00000000..2ea7d000 --- /dev/null +++ b/strings/D0036C0080 @@ -0,0 +1,3 @@ +BNE (skip 3 bytes) + JMP ($8000) + +Jump through official (documented) vector depending on the flag state, could be 1 instruction in other architectures. Trivial, not copyrightable. diff --git a/strings/D0E4A90085 b/strings/D0E4A90085 new file mode 100644 index 00000000..2821832d --- /dev/null +++ b/strings/D0E4A90085 @@ -0,0 +1,3 @@ +BNE (offset match) + LDA #$00 + STA (zeropage address does not match) + +If value is 0, clear some zeropage addres (not even the same in original ROMs and our implementation). Nothing creative - not copyrightable. diff --git a/strings/D185F3A5 b/strings/D185F3A5 new file mode 100644 index 00000000..40a03bfd --- /dev/null +++ b/strings/D185F3A5 @@ -0,0 +1,3 @@ +$D1 + STA $F3 + LDA (zeropage address does not match) + +Instruction (storing data in a doccumented memory location) + some parts. Not copyrightable. diff --git a/strings/D8F0034C b/strings/D8F0034C new file mode 100644 index 00000000..7689027b --- /dev/null +++ b/strings/D8F0034C @@ -0,0 +1,3 @@ +$D8 + BEQ (skip next instruction) + JMP (address does not match) + +One instruction + some parts. Not copyrightable. diff --git a/strings/DD29EF8D00DD60AD00DD b/strings/DD29EF8D00DD60AD00DD new file mode 100644 index 00000000..44850259 --- /dev/null +++ b/strings/DD29EF8D00DD60AD00DD @@ -0,0 +1,5 @@ +$DD + AND #$EF + STA $DD00 + RTS (end of routine) + LDA $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. diff --git a/strings/DD29EF8D00DD60AD00DD09108D00DD b/strings/DD29EF8D00DD60AD00DD09108D00DD new file mode 100644 index 00000000..bd196812 --- /dev/null +++ b/strings/DD29EF8D00DD60AD00DD09108D00DD @@ -0,0 +1,5 @@ +$DD + AND #$EF + STA $DD00 + RTS (end of routine) + LDA $DD00 + ORA #$10 + 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. diff --git a/strings/DDA93F8D02DD b/strings/DDA93F8D02DD new file mode 100644 index 00000000..42fb9c20 --- /dev/null +++ b/strings/DDA93F8D02DD @@ -0,0 +1,3 @@ +$DD + LDA #$3F + STA $DD02 + +Some part + storing a default value in a documented I/O register - trivial, not copyrightablee. diff --git a/strings/DF8D00DD60 b/strings/DF8D00DD60 new file mode 100644 index 00000000..cfb40212 --- /dev/null +++ b/strings/DF8D00DD60 @@ -0,0 +1,5 @@ +$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. diff --git a/strings/E4A90085 b/strings/E4A90085 new file mode 100644 index 00000000..9c6a0d4f --- /dev/null +++ b/strings/E4A90085 @@ -0,0 +1,3 @@ +$E4 + LDA #$00 + STA (zeropage address does not match) + +Instruction + some parts. Not copyrightable. diff --git a/strings/E9A027B1 b/strings/E9A027B1 new file mode 100644 index 00000000..a541b31c --- /dev/null +++ b/strings/E9A027B1 @@ -0,0 +1,3 @@ +$E9 + LDY #$27 + LDA (zeropage address does not match),Y + +Instruction + some parts. Not copyrightable. diff --git a/strings/EAAD00DD b/strings/EAAD00DD new file mode 100644 index 00000000..444e31fa --- /dev/null +++ b/strings/EAAD00DD @@ -0,0 +1,3 @@ +$EA + LDA $DD00 + +Instruction and some part - trivial, not copyrightable. diff --git a/strings/EAAD00DD29DF b/strings/EAAD00DD29DF new file mode 100644 index 00000000..323da94a --- /dev/null +++ b/strings/EAAD00DD29DF @@ -0,0 +1,5 @@ +$EA + LDA $DD00 + AND #$DF + +$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. diff --git a/strings/EF8D00DD60AD00DD09108D00DD b/strings/EF8D00DD60AD00DD09108D00DD new file mode 100644 index 00000000..930e2b7f --- /dev/null +++ b/strings/EF8D00DD60AD00DD09108D00DD @@ -0,0 +1,5 @@ +$EF + STA $DD00 + RTS (end of a routine) + LDA $DD00 + ORA #$10 + 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. diff --git a/strings/F88D00DC b/strings/F88D00DC new file mode 100644 index 00000000..5a861c89 --- /dev/null +++ b/strings/F88D00DC @@ -0,0 +1,3 @@ +$F8 + STA $DC00 + +Instruction (storing data in a documented location) and a part. Not copyrightable. diff --git a/strings/FF000000000000000000000000 b/strings/FF000000000000000000000000 new file mode 100644 index 00000000..39095a19 --- /dev/null +++ b/strings/FF000000000000000000000000 @@ -0,0 +1 @@ +A byte followed by some 0's - accidental result of ROMs not being full to the last byte. Nothing creative - not copyrightable.