History
- Released
- September 1989
- Code
- Deejay
- Music
- Paul Norman — "Beyond the Forbidden Forest"
- Group
- Matrix — Germany, founded 1988
Deejay coded this Matrix intro, released in September 1989, with a ripped soundtrack from Paul Norman's "Beyond the Forbidden Forest" — a classic C64 game whose atmospheric music is preserved in the HVSC. Paul Norman was both a game designer and composer, and his work appeared in several commercial C64 titles of the mid-1980s. Matrix was a German group founded in 1988 under the abbreviation MAX, and this September 1989 release came during their second year of activity. The group is not documented on Doc Snyder's page, and no other archival sources beyond CSDb and intros.c64.org returned results. The choice of "Beyond the Forbidden Forest" — a 1985 game known for its eerie sound design — shows a preference for moody, atmospheric music over the more common up-tempo crack intro fare. CSDb lists only this single intro for Matrix, suggesting the group had a limited documented output or that other productions remain uncatalogued.
Sources: CSDb
// ============================================ // output - Disassembled Source // ============================================ // KickAssembler syntax // Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:55 // https://restore64.dev by datucker / Rabenauge // // Load address: $0800 End: $ffff (63488 bytes) // Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation // Packer entry: $0810 (via BASIC SYS 2064) // Entry point: $0f00 (3840) // IRQ handler: $1920 (irq_1920) // // Code: 790 bytes, Data: 62698 bytes // Labels: 189, Subroutines: 8 // // Cross-references: all OK // ============================================ // --- Region $0f00-$0f9c --- .pc = $0f00 "main_0f00" main_0f00: ldx #$00 lda #$00 loc_0f04: sta $033c,x inx cpx #$30 bne loc_0f04 lda #$00 sta $d020 sta $d021 lda #$08 jsr $ffd2 jsr $e544 ldx #$00 lda #$17 loc_0f20: sta $0400,x inx cpx #$c8 bne loc_0f20 ldx #$00 lda #$0e loc_0f2c: sta $d800,x sta $d900,x inx bne loc_0f2c ldx #$00 loc_0f37: lda $0a00,x sta $04c8,x lda $0a40,x sta $0508,x inx bne loc_0f37 ldx #$00 lda #$00 loc_0f4a: sta $d9e0,x inx cpx #$50 bne loc_0f4a jsr sub_1500 ldx #$00 loc_0f57: lda txt_0b90,x sta $0608,x inx cpx #$28 bne loc_0f57 ldx #$00 lda #$00 loc_0f66: sta $da80,x inx cpx #$28 bne loc_0f66 lda #$01 sta $0341 jsr sub_1900 loc_0f76: jmp loc_0f76 scr_0f79: // === Screen RAM (7 bytes, $0f79-$0f7f) === .encoding "screencode_mixed" .text "@@@@@@@" .encoding "petscii_upper" loc_0f80: sei jsr $ff5b jsr $fd15 jsr $e3bf jsr $fda3 cli ldx #$50 loc_0f90: lda scr_0f9c,x sta $033c,x dex bpl loc_0f90 jmp $033c scr_0f9c: // === Screen RAM (1 bytes, $0f9c-$0f9c) === .byte $78 // scrcode: . // --- Region $148d-$148d --- .pc = $148d "Segment $148d" brk // --- Region $1500-$1517 --- .pc = $1500 "sub_1500" // Referenced by: jsr from $0f52 sub_1500: ldx #$24 loc_1502: lda #$00 sta $d400,x lda dat_15d3,x sta $d400,x dex bpl loc_1502 lda #$08 sta $78 jmp loc_15a4 dat_1517: .byte $00 // . // --- Region $1520-$15d2 --- .pc = $1520 "sub_1520" // Referenced by: jsr from $195f