From 28d0fa5ecf85131beeb4d3b95b5c4f142ab90cf4 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Fri, 25 Oct 2019 18:25:59 +0200 Subject: [PATCH] handled all similarities >3, updated binaries --- bin/basic_generic.rom | Bin 8192 -> 8192 bytes bin/basic_mega65.rom | Bin 8192 -> 8192 bytes bin/basic_testing.rom | Bin 0 -> 8192 bytes bin/basic_ultimate64.rom | Bin 8192 -> 8192 bytes bin/kernal_generic.rom | Bin 8192 -> 8192 bytes bin/kernal_mega65.rom | Bin 8192 -> 8192 bytes bin/kernal_testing.rom | Bin 0 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes c64/aliases/,aliases_petscii_codes.s | 2 +- strings/008D9102 | 3 +++ strings/009D0002 | 3 +++ strings/028C8202 | 3 +++ strings/028C8402 | 3 +++ strings/028D18D04C | 3 +++ strings/028E8102 | 3 +++ strings/0BA90085 | 3 +++ strings/13D00620 | 3 +++ strings/20000000 | 1 + strings/204D49534D415443C8 | 3 +++ strings/205BFF586C | 3 +++ strings/20A0E54C | 3 +++ strings/29EF8D00DD | 5 +++++ strings/49432042 | 3 +++ strings/4C25FE4C | 3 +++ strings/6020A0E5 | 3 +++ strings/7BA9FF85 | 3 +++ strings/80000000 | 1 + strings/8000000000 | 1 + strings/81028C8202 | 3 +++ strings/857AA52C | 3 +++ strings/85F46020 | 3 +++ strings/8D8D02A0 | 3 +++ strings/8D9002A9 | 3 +++ strings/8D91024C | 3 +++ strings/8E03DC8E | 3 +++ strings/A59AC903D0 | 3 +++ strings/A68BE383A47CA51AA7E4A786AE | 6 ++++++ strings/A6D8F0034C | 3 +++ strings/A9802090FF | 3 +++ strings/ABA000B1 | 3 +++ strings/C903F008 | 3 +++ strings/C90ED007AD18D00902D0 | 3 +++ strings/C912D004A9 | 3 +++ strings/C913D00620 | 3 +++ strings/C98ED00BAD18D029 | 3 +++ strings/CA8E02DC | 3 +++ strings/D0036C0080 | 3 +++ strings/D0E4A90085 | 3 +++ strings/D185F3A5 | 3 +++ strings/D8F0034C | 3 +++ strings/DD29EF8D00DD60AD00DD | 5 +++++ strings/DD29EF8D00DD60AD00DD09108D00DD | 5 +++++ strings/DDA93F8D02DD | 3 +++ strings/DF8D00DD60 | 5 +++++ strings/E4A90085 | 3 +++ strings/E9A027B1 | 3 +++ strings/EAAD00DD | 3 +++ strings/EAAD00DD29DF | 5 +++++ strings/EF8D00DD60AD00DD09108D00DD | 5 +++++ strings/F88D00DC | 3 +++ strings/FF000000000000000000000000 | 1 + 61 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 bin/basic_testing.rom create mode 100644 bin/kernal_testing.rom create mode 100644 strings/008D9102 create mode 100644 strings/009D0002 create mode 100644 strings/028C8202 create mode 100644 strings/028C8402 create mode 100644 strings/028D18D04C create mode 100644 strings/028E8102 create mode 100644 strings/0BA90085 create mode 100644 strings/13D00620 create mode 100644 strings/20000000 create mode 100644 strings/204D49534D415443C8 create mode 100644 strings/205BFF586C create mode 100644 strings/20A0E54C create mode 100644 strings/29EF8D00DD create mode 100644 strings/49432042 create mode 100644 strings/4C25FE4C create mode 100644 strings/6020A0E5 create mode 100644 strings/7BA9FF85 create mode 100644 strings/80000000 create mode 100644 strings/8000000000 create mode 100644 strings/81028C8202 create mode 100644 strings/857AA52C create mode 100644 strings/85F46020 create mode 100644 strings/8D8D02A0 create mode 100644 strings/8D9002A9 create mode 100644 strings/8D91024C create mode 100644 strings/8E03DC8E create mode 100644 strings/A59AC903D0 create mode 100644 strings/A68BE383A47CA51AA7E4A786AE create mode 100644 strings/A6D8F0034C create mode 100644 strings/A9802090FF create mode 100644 strings/ABA000B1 create mode 100644 strings/C903F008 create mode 100644 strings/C90ED007AD18D00902D0 create mode 100644 strings/C912D004A9 create mode 100644 strings/C913D00620 create mode 100644 strings/C98ED00BAD18D029 create mode 100644 strings/CA8E02DC create mode 100644 strings/D0036C0080 create mode 100644 strings/D0E4A90085 create mode 100644 strings/D185F3A5 create mode 100644 strings/D8F0034C create mode 100644 strings/DD29EF8D00DD60AD00DD create mode 100644 strings/DD29EF8D00DD60AD00DD09108D00DD create mode 100644 strings/DDA93F8D02DD create mode 100644 strings/DF8D00DD60 create mode 100644 strings/E4A90085 create mode 100644 strings/E9A027B1 create mode 100644 strings/EAAD00DD create mode 100644 strings/EAAD00DD29DF create mode 100644 strings/EF8D00DD60AD00DD09108D00DD create mode 100644 strings/F88D00DC create mode 100644 strings/FF000000000000000000000000 diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 62534b2457d423f89bc7d5aa521cb8f44c5c3fb5..a1e9f2ef200d36b7de03b125b40723d57fa07889 100644 GIT binary patch delta 1687 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 diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index 6b0c3983e3ee9b57ae9710a134089331e592eb34..2d95059dd1eb7f836d29cec3993ca15e6f59061c 100644 GIT binary patch delta 2512 zcmZ`*4Qx}_6+ZThv4ittz)201cZ^F?)jK$1oDhL@Qc~w3=g0c= zq;7)z#@orTb3S(69k;$e;5!3MyWx>Lu7ALHh5;l+_OyW!pPXLAh`!T{8In1{ULFTd z$m1OBNbfpQ(Mt}8*|$6#xiY>~Y(?AMKt7>; zk3)&FVRU<^raP7W(C2c;WjYRr1+9Gj0;oe)N#oVB2S>^FtIB6_r!};$uTs$RIuUp+ zjuuhPpG4<{7GCSs4j>Pan7h)$Q(BA=BkE(wEw7;cNGCJo&^7iQ&zCYdTlgxG^6S~5 zF+{+T0oNSukH$er4UL1eqdfajl=dCwPsX6e-S=@6E$B{*CHv z2(CS+Q{x|I(|S%7yj4h^6EG^o+x4NU0`rZ2g3{b%^W@VN03pwOPsO(g`S*Z7`Bm=SOu+I{iX7KxloH#K zG$I)F+9k&Y1VLe|U6r$Zi#e3y(eM`67VMj%R#c2r&RZdGx=WC`$J>L}6q2?nwO~5xJ zLzBYL?6e3?Sgp-`mEzb42f)UAelq?;&-a97z6sx{-~V;u+}+=*#GALpACT78lkA*%Zg)=7M#Tld&onM_K4By>MeQH`T{iJ7UnXAQ z%iqp*_}!Ge?zi{YLmiUlpV@Kzji59jejlv|rAzGLuq&+H>}c^KvTlea$rQ_x0&)|k z1X2EfsNFJgf>u(SIrK}%>#^rZiXY2)hoG01-W9YVmCT4VUyKfufT-*SME0@h(e;BW zKKTr&CY9ceiKXJsyW+e^+%Pf?BRm1oRh3Yj^{(jA%gJAtVt*zos!(7^i^Xw3bU71J z9B^JT3?}t4!7grad7q}s)HKco2bW8eB5)#g)8Ht`N&VU9LsU`?4^ruYnd`E}zGXc* zq$Jng6O{g87mWxF=NHc*g6H}2dBOBRS+3Hls^LIcC@QIkgNm9Usu`OsXJ7YsnH-H} ze3?+*1Thih0{O*IRNjJV*^(>E)u=!Y$@2C<**Ed=ci9GLuToe&ie@=0lq@g7#nEJW zA^N%C>zlY0kA`}&bz_5_@dvwXfwGu1r-+-HlKi?Z8$0S(S|Lrp)Rh?j?ApQJvuaiQ zuwmNHzS`T~-o9|q(fN0~J3Hj)OtE#xnFc_0;#Tijc*^tRUe~_(73$7j*NOO79GmL4 zy|{Vj#$D_;UU+Hy)|%S->fN@Ld-r5-*^!mAuP`yMU`^5fDoZ7()Rc*%j7Av?s8*w+ zns|n47BWYY<3fPGM%3LF1L=5{`;Bp11k`fA5s zXvjYZQ|3>qp^`igzHE5%m+GC<4%o0ewSU7N7#lxU57*CK%XYUNPcxF47IIolTg|Fcm`#0o8eA>V&@xR6qlq&Ojx7LnFmnv&$(D3ii#CY-5+e7ZqrTPRFha!j1DIM28|NTK;5|@0D{?cmcku7M1#bZ#ht~Inga$c5NXCX_2#m6ptN3;;OUuyg7$w>} zE^At|ewQfdLWWKT4|3O~wEEn$7o_mr;821z<<$>kzbzRaIC}xxP_N9`wG8{{s=F0w zS4H}2M@d=X3pIsn@yN5-gese$Gl#XNCJi1)%YAlJV}WuQVc!?pV;2IqS}-a{Op4Po zsf*o2CbdC4Zt&_M$wN9k31c?`>Qh3vJ#$T36ljr|pfn{W@J3O`r(hU$6R|6nV8kny U;CiwkHEC#!o-Z#ee~QU}0I|zPqyPW_ literal 8192 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 diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom new file mode 100644 index 0000000000000000000000000000000000000000..efbebfcd46f8d65523fecc88de0db137c5d62131 GIT binary patch literal 8192 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 delta 1885 zcmcgtZ)_7~7{B(`-Hj`4C&P>}#>+(5SefI`Mi~@0&{6S_!9WCwoR$uds8#c(A#@kf=kpRuPFQ~M-7MC3?1n8=%2g%N+~L0$myy6Xd0|{yHPqmn$C? zuW9<4qRTK@o{V#+_8!|g?E4*`@rto=ru@|2H+CM|J8{@|n}%O{P7c$s;VhR(TToQ?cNQM;H3H}xnzYk zGMOf&H{%QJH8_b^{O$>{JE8nkyxh}uhrCSVT#OOjV~o^O8tfsicJW}ET+BpS@xwI6 z=)95wqqMKnWb?*N)h(B)ygb`r5nEL};$vyqky4hR z%cjHzhq8Y0Vk%jdm~9j#{K-0%AwO8Wjd{2x8gXgE;^*l@OS|jI3W{~x6?29&AfX># z7LbhOw2Gm(Qo)!rK{?%Fva01*?+%j=)jsV|#gl4+?`Iq(-s6m8+$Qyu86LE%(-uX; zs56X#J5(vbqgK9~mvmolVIm?J!VLUONew>1&tV*RP6dQfFsjCR^pOxu@BIP9m8u;T zouB8hY==q(lO5;Lb6#bpQb2-Txi(_>hCDeo-zyEx&AEEZ_m4{Xp}EGm%3y6LG4pE{ z+3iRw>t>E4tFQ*-mY0kd0kg z2hOvxP5e{4zX>|;bLCj^cv>D1TeDd9Kh|+CIX~?u#tgNaW#qJFc*!Fdre((&XI^|= zlQ2M>IowcU<9o@PFn+@TDw7T&RS3PzCdW zzyerRSXroshhQN*4DXG06c)i^crjH2wXg*0zz<8I9t!Yg;SqQq8ekbLht~@$U?ns{ z6Rd&&tcGS-18X4&>)=snfmT=#8{jc`9NJ(bgy0F-1W$qpo8hSlY=L&z3frIqw!;p1 z8g{}nunTs>v#{rX`0{oThG8W9_gd@ik!G-B)rexut6kvFPQl+0{SJAr(-%xP^&$gU za*K+=Gx)1iR4s6|B@t4krRo*ut(20f+FR3o)fk(|pLZKKlfp0(XV&mw_tjdjDcGxi m7rSuhOss3LTWOlVxOCa-`nC=A%NT~%$wBIu*C`d;`+oseRz|!4 diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index ae78c8eab543dd76f8c2401fb2ab7e957aa00bc8..3833498b8ba3a685af33e9f0c9e9224c07810087 100644 GIT binary patch delta 3221 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 delta 3256 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 U7^j4NA%S2C;wSp0?_P=h2f=kKbpQYW diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index e4fa473e69fac98fd7c4c7228572a2bee083765a..b4a039f8693a6509294b033acb81c7eed02911f3 100644 GIT binary patch delta 4284 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 F{r?-0U8Vp4 diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom new file mode 100644 index 0000000000000000000000000000000000000000..6731edb1ecea8081446de218eee3a534c7f6fbda GIT binary patch literal 8192 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 delta 3216 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 H;K+Xg6ixbr 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.