diff --git a/src/initdata.asm b/src/initdata.asm index dec51cd..e848f1c 100644 --- a/src/initdata.asm +++ b/src/initdata.asm @@ -28,6 +28,10 @@ ST_INTRO1 = 1 ST_INTRO2 = 2 ST_INTRO3 = 3 ST_INTRO4 = 4 +ST_INTRO5 = 5 +ST_INTRO6 = 6 +ST_INTRO7 = 7 +ST_INTRO8 = 8 ST_MENURESET = 64 ST_MENU = 65 ST_LEVEL_TITLE = 128 @@ -107,6 +111,15 @@ introStringA2: introStringA3: BYTE "GIOMBA" BYTE #$0 +introStringA4: + BYTE "PRESENT" + BYTE #$0 +introStringA5: + BYTE "A COMMODORE 64" + BYTE #$0 +introStringA6: + BYTE "VIDEOGAME" + BYTE #$0 ; Levels ; ---------------------------------------------------------------------- diff --git a/src/intro1.asm b/src/intro1.asm index 2f00f5e..7920530 100644 --- a/src/intro1.asm +++ b/src/intro1.asm @@ -245,12 +245,119 @@ statusIntro4 SUBROUTINE jsr printString lda counter - cmp #$86 + cmp #$08 bne .end lda counter + 1 - cmp #$01 + cmp #$02 bne .end - lda #ST_INTRO4 + + lda #$80 + ldy #$0 +.loop: + sta $540,y + iny + cpy #200 + bne .loop + + lda #ST_INTRO5 + sta status + +.end: + rts + +statusIntro5 SUBROUTINE + jsr setupMagicInterrupt + + ; "PRESENT" + lda #introStringA4 + sta srcStringPointer + 1 + lda #$50 + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$80 + bne .end + lda counter + 1 + cmp #$02 + bne .end + + lda #ST_INTRO6 + sta status + +.end: + rts + +statusIntro6 SUBROUTINE + jsr setupMagicInterrupt + + ; "A COMMODORE 64" + lda #introStringA5 + sta srcStringPointer + 1 + lda #$9d + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$08 + bne .end + lda counter + 1 + cmp #$03 + bne .end + + lda #ST_INTRO7 + sta status + +.end: + rts + +statusIntro7 SUBROUTINE + jsr setupMagicInterrupt + + ; "VIDEOGAME" + lda #introStringA6 + sta srcStringPointer + 1 + lda #$ef + sta dstScreenPointer + lda #$05 + sta dstScreenPointer + 1 + jsr printString + + lda counter + cmp #$80 + bne .end + lda counter + 1 + cmp #$03 + bne .end + + lda #ST_INTRO8 + sta status + +.end: + rts + +statusIntro8 SUBROUTINE + jsr setupMagicInterrupt + + ; blank wait + lda counter + cmp #$16 + bne .end + lda counter + 1 + cmp #$04 + bne .end + + lda #ST_MENURESET sta status .end: @@ -269,6 +376,14 @@ statusMenuReset SUBROUTINE cpx #$ff bne .colorShadeLoop + lda #$05 + ldy #$0 +.lastlineColorLoop: + sta $db98,y + iny + cpy #80 + bne .lastlineColorLoop + ; Print website lda #