6 Games Programs

From Software Archive
Revision as of 21:50, 1 May 2026 by Enigma (talk | contribs)
Jump to navigation Jump to search


Content

Side 0
Side 1

Side 1 is empty.

Source 1

Property Data
Title 6 Games Programs
Publisher and/or Developer Commodore UK Ltd.
Year 1983?
Disk(s) 1
Number of Index Holes ?
Media Type 5.25 DSDD
Retail, Budget or Compilation (with name) Compilation
Country of Release UK
Language(s) English
Platform C64
NTSC or PAL PAL
Protection Checks for error on track 1 sector 5
Working? Yes
Archived 14 Mar 2026 enigma/parser, provided by @rndt@F64
Verified by enigma
Streams

File:Streams Commodore 6GamesPrograms arndt.zip

G64

File:Commodore 6GamesPrograms arndt s0.g64

Disk side 1 is empty.

Additional Information

From internet:

The initial loader loads to $9E80 and then decrypts with

0225 a2 00    ldx #$00
0227 a0 08    ldy #$08
0229 bd 80 9e lda $9e80,x
022c 8d 3f 02 sta $023f
022f 0e 3f 02 asl $023f
0232 6a       ror a
0233 88       dey 
0234 d0 f9    bne $022f
0236 9d 80 9e sta $9e80,x
0239 e8       inx 
023a d0 eb    bne $0227
023c 4c 80 9e jmp $9e80

The routine is the same for all games.

The decrypted routine that loads the game looks like this:

.C:9e80  20 CC FF    JSR $FFCC // CLRCHN
.C:9e83  A9 0F       LDA #$0F
.C:9e85  A2 08       LDX #$08
.C:9e87  A0 0F       LDY #$0F
.C:9e89  20 BA FF    JSR $FFBA // SETLFS
.C:9e8c  A9 02       LDA #$02
.C:9e8e  A2 DD       LDX #$DD
.C:9e90  A0 9E       LDY #$9E
.C:9e92  20 BD FF    JSR $FFBD // SETNAM
.C:9e95  20 C0 FF    JSR $FFC0 // OPEN
.C:9e98  A9 02       LDA #$02
.C:9e9a  A2 08       LDX #$08
.C:9e9c  A0 02       LDY #$02
.C:9e9e  20 BA FF    JSR $FFBA // SETLFS
.C:9ea1  A9 01       LDA #$01
.C:9ea3  A2 DF       LDX #$DF
.C:9ea5  A0 9E       LDY #$9E
.C:9ea7  20 BD FF    JSR $FFBD // SETNAM
.C:9eaa  20 C0 FF    JSR $FFC0 // OPEN
.C:9ead  A2 0F       LDX #$0F
.C:9eaf  20 C9 FF    JSR $FFC9 // CHKOUT
.C:9eb2  A0 00       LDY #$00
.C:9eb4  B9 D1 9E    LDA $9ED1,Y
.C:9eb7  F0 06       BEQ $9EBF
.C:9eb9  20 D2 FF    JSR $FFD2 // CHROUT
.C:9ebc  C8          INY
.C:9ebd  D0 F5       BNE $9EB4
.C:9ebf  20 CC FF    JSR $FFCC // CLRCHN
.C:9ec2  A2 0F       LDX #$0F
.C:9ec4  20 C6 FF    JSR $FFC6 // CHKIN
.C:9ec7  20 CF FF    JSR $FFCF // CHRIN
.C:9eca  C9 32       CMP #$32
.C:9ecc  F0 12       BEQ $9EE0
.C:9ece  6C FC FF    JMP ($FFFC) // RESET
.C:9ed1  55 31       EOR $31,X // This is sent to disk drive
.C:9ed3  3A          NOOP
.C:9ed4  32          JAM
.C:9ed5  20 30 20    JSR $2030
.C:9ed8  31 20       AND ($20),Y
.C:9eda  35 0D       AND $0D,X
.C:9edc  00          BRK
.C:9edd  49 30       EOR #$30
.C:9edf  23 20       RLA ($20,X)
.C:9ee1  CC FF A9    CPY $A9FF
.C:9ee4  0F 20 C3    SLO $C320
.C:9ee7  FF A9 02    ISB $02A9,X
.C:9eea  20 C3 FF    JSR $FFC3 // CLOSE
.C:9eed  A2 01       LDX #$01
.C:9eef  A0 08       LDY #$08
.C:9ef1  18          CLC
.C:9ef2  20 9C FF    JSR $FF9C // MEMBOT
.C:9ef5  A9 01       LDA #$01
.C:9ef7  A2 08       LDX #$08
.C:9ef9  A0 00       LDY #$00
.C:9efb  20 BA FF    JSR $FFBA // SETLFS
.C:9efe  AD 86 9F    LDA $9F86
.C:9f01  A2 87       LDX #$87
.C:9f03  A0 9F       LDY #$9F
.C:9f05  20 BD FF    JSR $FFBD // SETNAM
.C:9f08  A9 00       LDA #$00
.C:9f0a  A2 01       LDX #$01
.C:9f0c  A0 08       LDY #$08
.C:9f0e  20 D5 FF    JSR $FFD5 // LOAD
.C:9f11  90 03       BCC $9F16
.C:9f13  6C FC FF    JMP ($FFFC) // RESET
.C:9f16  86 2D       STX $2D
.C:9f18  84 2E       STY $2E
.C:9f1a  A5 2B       LDA $2B
.C:9f1c  48          PHA
.C:9f1d  A5 2C       LDA $2C
.C:9f1f  48          PHA
.C:9f20  A0 00       LDY #$00
.C:9f22  A2 08       LDX #$08
.C:9f24  B1 2B       LDA ($2B),Y
.C:9f26  0A          ASL A
.C:9f27  6E 79 9F    ROR $9F79
.C:9f2a  CA          DEX
.C:9f2b  D0 F9       BNE $9F26
.C:9f2d  AD 79 9F    LDA $9F79
.C:9f30  91 2B       STA ($2B),Y
.C:9f32  E6 2B       INC $2B
.C:9f34  D0 02       BNE $9F38
.C:9f36  E6 2C       INC $2C
.C:9f38  A5 2C       LDA $2C
.C:9f3a  C5 2E       CMP $2E
.C:9f3c  D0 E4       BNE $9F22
.C:9f3e  A5 2B       LDA $2B
.C:9f40  C5 2D       CMP $2D
.C:9f42  D0 DE       BNE $9F22
.C:9f44  68          PLA
.C:9f45  85 2C       STA $2C
.C:9f47  68          PLA
.C:9f48  85 2B       STA $2B
.C:9f4a  20 33 A5    JSR $A533 // 	Re-link BASIC program
.C:9f4d  A2 15       LDX #$15
.C:9f4f  BD 6A 9F    LDA $9F6A,X
.C:9f55  CA          DEX
.C:9f56  10 F7       BPL $9F4F
.C:9f58  A9 4C       LDA #$4C
.C:9f5a  85 73       STA $73
.C:9f5c  A9 AD       LDA #$AD
.C:9f5e  85 74       STA $74
.C:9f60  A9 02       LDA #$02
.C:9f62  85 75       STA $75
.C:9f64  20 8E A6    JSR $A68E // Set program pointer to BASIC-start
.C:9f67  4C AE A7    JMP $A7AE // Interpreter loop, set up next statement for execution
.C:9f6a  A5 3A       LDA $3A
.C:9f6c  C9 FF       CMP #$FF
.C:9f6e  F0 F4       BEQ $9F64
.C:9f70  E6 7A       INC $7A
.C:9f72  D0 02       BNE $9F76
.C:9f74  E6 7B       INC $7B
.C:9f76  4C 79 00    JMP $0079
.C:9f79  00          BRK
.C:9f7a  00          BRK
.C:9f7b  00          BRK
.C:9f7c  00          BRK
.C:9f7d  00          BRK
.C:9f7e  00          BRK
.C:9f7f  00          BRK
.C:9f80  00          BRK
.C:9f81  00          BRK 
.C:9f82  00          BRK
.C:9f83  00          BRK
.C:9f84  00          BRK
.C:9f85  00          BRK
.C:9f86  0D 53 4F    ORA $4F53 // File Name with suffix 2
.C:9f89  4F 50 45    SRE $4550
.C:9f8c  52          JAM
.C:9f8d  20 46 52    JSR $5246
.C:9f90  4F 4F 54    SRE $544F
.C:9f93  32          JAM