#662

Nato 02

Nato

1.099 lines of code

RasterbarsRSTRScrollerSCRL

History

Released
3 March 1988
Code
Zero
Music
Jeroen Tel, Demon (Neil Baldwin), Rob Hubbard
Group
NATO — United Kingdom, founded 1 January 1988

Released on 3 March 1988 — just two months after NATO's founding — this crack intro is catalogued on CSDb as release #103128 under the name "NATO Intro 01." Zero coded the intro, while the music features four SID tunes from three composers: Jeroen Tel contributing "Noisy Pillars (tune 1)" and "Scout," Demon (Neil Baldwin) providing "Music Demo Number One," and Rob Hubbard's iconic "Lightforce" — all preserved in the HVSC. Doc Snyder's page lists this as NATO Crack Intro #02 and confirms Zero as coder and Jeroen Tel as musician. The scrolltext reveals it accompanied a crack of "Wizard Warz" and sends greetings to Ace, Beastie Boys, Ikari, Triad, NEC, and others. NATO — whose tagline read "Nobodies Are Taking Over" — was a UK-based group. The inclusion of Rob Hubbard's "Lightforce" — one of the most famous SID compositions ever written — alongside Jeroen Tel's work reflects the era's practice of incorporating ripped professional game music.

Sources: CSDb · docsnyderspage

nato-02.asm 1.099 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:57
// 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:  $1000 (4096)
// IRQ handler:  $10bc (irq_10bc)
// IRQ handler:  $10ec (irq_10ec)
// IRQ handler:  $111c (irq_111c)
// IRQ handler:  $114c (irq_114c)
//
// Code: 945 bytes, Data: 62543 bytes
// Labels: 84, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$11cf ---
.pc = $1000 "main_1000"

main_1000:
        sei
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        jsr sub_1248
        lda #$e1
        sta $0328
        lda #$08
        jsr $ffd2
        ldx #$07

loc_101b:
        lda $1200,x
        sta $0410,x
        lda $1208,x
        sta $0438,x
        dex
        bpl loc_101b
        ldx #$0f

loc_102c:
        lda $1210,x
        sta $0484,x
        lda $1220,x
        sta $04ac,x
        dex
        bpl loc_102c
        ldx #$00
        ldy #$00

loc_103f:
        lda $1230,x
        sta $0524,y
        clc
        adc #$40
        sta $0525,y
        adc #$40
        sta $054c,y
        adc #$40
        sta $054d,y
        iny
        iny
        inx
        cpx #$08
        bne loc_103f
        lda #$bc
        sta $0314
        lda #$10
        sta $0315
        lda #$01
        sta $dc0d
        sta $d01a
        lda #$1b
        sta $d011
        lda #$32
        sta $d012
        cli
        lda #$ef

loc_107b:
        cmp $dc01
        bne loc_107b
        sei
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        ldx #$1f

loc_108c:
        lda dat_109c,x
        sta $0334,x
        dex
        bpl loc_108c
        lda #$34
        sta $01
        jmp $0334

dat_109c:
        .byte $a2,$00                               // ..

loc_109e:
        lda $1330,x
        sta $0801,x
        inx
        bne loc_109e
        inc $0338
        inc $033b
        lda $0338

loc_10b0:
        cmp #$c3
        bne loc_109e
        lda #$37
        sta $01
        cli
        jmp loc_fce2
irq_10bc: {
        inc $d019
        lda #$c8
        sta $d016
        ldx #$00
loop1:
        lda $11f0,x
        ldy dat_11d0,x
loop2:
        dey
        bne loop2
        sta $d021
        sta $d021
        inx
        cpx #$10
        bne loop1
        lda #$4a
        sta $d012
        lda #$ec
        sta $0314
        lda #$10
        sta $0315
        jmp loc_ea81
}
irq_10ec: {
        inc $d019