#84

Nato 03

Nato

577 lines of code

RasterbarsRSTRScrollerSCRLCharsetCHAR

History

Released
March 1989
Charset
801 DC
Group
Nato — United Kingdom, founded 1 January 1988

A minimalist British intro — only 801 DC is credited for the charset, with no coder or musician listed on CSDb. Nato was a UK group founded on 1 January 1988, part of the wave of British cracking operations that emerged during the scene's most competitive year. The absence of music and coding credits may indicate a solo production by 801 DC who handled all aspects, or simply lost attribution. Released in March 1989, this arrived during the tail end of UK C64 cracking's golden period. Doc Snyder's page documents Nato's output. The group name — shared with the military alliance — follows the era's convention of adopting imposing three-letter abbreviations. Despite the sparse credits, the intro achieved significant popularity on intros.c64.org based on visual impact alone.

Sources: CSDb · docsnyderspage

nato-03.asm 577 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:27
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $11ff  (2560 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $11d0 (4560)
// IRQ handler:  $0f11 (irq_0f11)
//
// Code: 401 bytes, Data: 2159 bytes
// Labels: 47, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0ede-$0fe4 ---
.pc = $0ede "loc_0ede"

loc_0ede:
        jsr sub_102b
        stx $fb

loc_0ee3:
        lda $0cb8,x
        sta $04cc,x
        lda $0db8,x
        sta $05cc,x
        lda $0dde,x
        sta $05f2,x
        lda #$01
        sta $d800,x
        sta $d900,x
        sta $da00,x
        inx
        bne loc_0ee3
        lda #$11
        sta $0314
        lda #$0f
        sta $0315
        cli

loc_0f0e:
        jmp loc_0f0e

irq_0f11:
        lda #$13
        sta $d018
        ldy #$00

loc_0f18:
        .byte $af,$12,$d0                           // lax $d012 // ILLEGAL
        .byte $2b,$07                               // anc #$07 // ILLEGAL
        eor #$08
        sta $d011
        lda $0c90,y
        sta $d021
        sta $d020
        iny
        cpy #$16
        bne loc_0f18
        lda #$1b
        sta $d011
        dec $fa
        bne loc_0f53
        lda #$02
        sta $fa
        ldx #$07

loc_0f3f:
        lda $0c00,x
        sta $0c80,x
        dex
        bne loc_0f3f

loc_0f48:
        lda $0c08,x
        sta $0c00,x
        inx
        cpx #$88
        bne loc_0f48

loc_0f53:
        .byte $a7,$d4                               // lax $d4 // ILLEGAL
        tay
        .byte $c7,$fb                               // dcp $fb // ILLEGAL
        lda $fb
        bpl loc_0fa0
        lda #$07
        sta $fb

loc_0f60:
        lda $0771,x
        sta $0770,x
        sta $0400,x
        lda $0799,x
        sta $0798,x
        sta $0428,x
        lda #$0e
        sta $db70,x
        sta $d828,x
        lda #$01
        sta $db98,x
        sta $d800,x
        inx
        cpx #$27
        bne loc_0f60

loc_0f87:
        lda ($fc),y
        beq loc_0f8d
        bne loc_0f92

loc_0f8d:
        jsr sub_1034
        beq loc_0f87

loc_0f92:
        sta $0797
        eor #$40
        sta $07bf
        inc $fc
        bne loc_0fa0
        .byte $e7,$fd                               // isc $fd // ILLEGAL

loc_0fa0:
        .byte $af,$12,$d0                           // lax $d012 // ILLEGAL
        cmp #$cc
        bne loc_0fa0
        ldy #$00

loc_0fa9:
        .byte $af,$12,$d0                           // lax $d012 // ILLEGAL
        .byte $2b,$07                               // anc #$07 // ILLEGAL
        eor #$08
        sta $d011
        lda $0c9f,y
        sta $d021
        sta $d020
        iny
        cpy #$16
        bne loc_0fa9
        lda #$1b
        sta $d011
        .byte $a7,$fb                               // lax $fb // ILLEGAL
        sta $d016