Das ist auch die eleganteste Lösung, die es gibt. ![]()
Beiträge von Stephan Scheuer im Thema „Meine ersten Gehversuche - mal wieder“
-
-
Die XOR-Verschlüsselung hatte nur den Sinn, es den Crackern schwer zu mache, den Code zu ändern. An dem Coden im Floppy-Ram war zudem auch recht schwer
ranzukommen. In gegensatz zum C64 , da kann man mittels Frezzer Cartridge einen Monitor aufrufen und den Code ändern, gibt es sogut wie keine Möglichkeit, den Code
im Floppy-RAM auszulesen, auch mit dem Action Replay nicht. Der IRQ-Lader verhindert das. Heute geht das ganz einfach mit dem Monitor im WinVice.

Übrigens, die meisten Kopierschutzverfahren waren einfach nur Schice und eine Geldverschwendung. Ich kenne gerademal 8 Kopierschutze, die man als sehr gut bezeichnen kann.

-
Richtig. Bei der Input64 waren alle Programme auf der Disk so verschlüsselt. Die XOR-Verschlüsselung wurde recht häufig bei diversen Kopierschutzverfahren genutzt.
Bei dem Game Portal von Activision ist jeder Sektor mit eine unterschiedlichen XOR-Wert verschlüsselt. Das entschlüsseln findet im Floppy-RAM, während der Ladens statt.
-
Achso, das wusste ich nicht.
Mit der unteren Spielerei kann man Breiche im RAM verschlüsseln oder entschlüsseln. Bei der Input64 wurde das so gemacht.Das untere kleine Beispiel kann die Programme auf der Input64 entschüsseln.
LDA #$00
STA $FC
TAY
LDA #$10
STA $FD
LOOP1
LDA ($FC),Y
EOR #$55
STA ($FC),Y
INI
BNE LOOP1
RTS
-
Ist so ziemlich dasselbe wie im post 4 von mir. Das wäre doch auch mal was. Die kürzeste Varriante um den Bildschirmspeicher zu löschen.
Jetzt aber nicht "PRINT"{clr}"

-
Ich hatte auch mal so angefangen und dann jede Woche, wenn es möglich war, irgendwas gecodet.
Nur ZP-Adressen um den Bildschirmspeicher zu löschen, würde ich nicht unbedingt machen. Das ist sowas wie mit Kanonen auf Spatzen zu schiessen.

-
Ja, ok da hat du recht. in dem fall werden die spritepointer gelöscht. Wird aber recht häufig so gemacht.
so, bitteschön.


ldx #$00
lda #$34
loop1
sta $0400,x
sta $0500,x
sta $0600,x
inx
bne loop1
ldx #$e9
loop2
sta $06ff,x
dex
bne loop2
rts
-
Sowas hier? Naja, nach 35 Jahren wüsste ich vom Assembler auch nicht mehr viel.
Also immer fleißig üben.ldx #$00
lda #$34
loop
sta $0400,x
sta $0500,x
sta $0600,x
sta $0700,x
inx
bne loop
rts