Super New Year Cart 15-in-1
Super New Year Cart 15-in-1 |
---|
Also known as: 15-in-1 This game has uncompiled source code. |
Super New Year Cart 15-in-1 is a multicart released in 2005 with a word salad for a name which contains Hummer Team's all time "classics", including Somari, Titenic and more.
Contents
Unused Audio
The menu uses the same version of Hummer's sound engine as Donkey Kong Country 4, and as a result some of its music and sound effects are still here, albeit completely unused. The menu's music can be replaced with them by using FCEUX cheat 070D:XX, with XX being replaced with with 01-1D for sound effects and 21-2F for music.
Unused Text
Street Fighter IV Leftover
At 0xC0B0, 0x1C0B0, 0x6C0B0, and 0x7C0B0 is the credits from Hummer's Street Fighter IV, partially overwritten:
APHIC MONTIGO K LIGHT LIN MUSIC COMPOSE RICHARD C B B KING SOUND DESING JAMS LUE DIRECTOR ICHAEL K SPECIAL THANK MANTAL SAN THE END
Compiler Output
At 0x14EBD and 0x74EBD are what seems to be output from the compiler. It seems to be the same output, though.
Lines Assembled : 2947 Assembly Errors : 0 ------------------------------------------------ Input Filename : main.asm Output Filename : main.obj
At 0x319BD there's a different compiler output, likely for the game Rings, a Panda Adventure hack split into multiple "games" on this multicart:
Lines Assembled : 3819 Assembly Errors : 0 ------------------------------------------------ Input Filename : rigame.ASM Output Filename : rigame.obj
Source Code
To do: There's much more in the ROM than what's here. |
Around 0xC88A in the ROM starts a huge amount of source code for the menu and some of the games.
LDA ?NextNoTbl1,X STA ItemNo JMP SetSprCursor ?NextNoTbl1: DB †“dQ 00� ,$05,$03,$04 CursorDown: LDX ItemNo LDA PageNo CMP #$03 BCC ?1 BEQ ?2 ÿÿDA ?NextNoTbl,X STA ItemNo JMP SetSprCursor ?NextNoTbl: DB $01,$02,$03,$04,$05,$06,$07,$00,$09,$0A,$0B,$0C,$0D,$0ÿÿ$0 t•dQ LDA ?NextNoTbl0,X STA ItemNo JMP SetSprCursor ?NextNoTbl0: DB $01,$02,$03,$00,$05,$06,$07,$0±•dQ � Ü—dQDA ?NextNoTbl1,X STA ItemNo JMP SetSprCursor ?NextNoTbl1: DB $01,$02,$00,$04,$05,$03 CursorLeft: �˜dQ � ItemNo LDA PageNo CMP #$03 BEQ ?2 BCS ?1 LDA NextNoTbl00,X STA ÿÿte JMP SetSprCursor ?1 LDA NextNoTbl0,X STA ItemNo JMP SetSprCursor ?2 LDA NextNoTbl01,Xÿÿ STA ItemNo JMP SetSprCursor EntryGame ;2 LDA ItemNo ASL A STA a0 ASL ÿÿ A DšdQ CLC ADC a0 STA a0 LDA PageNo ASL A TAY LDA ?SwitchGameTbl,Y šdQ � ¬œdQ ADC a0 STA r0 LDA ?SwitchGameTbl+1,Y ADC #$00 STA r0+1 LDY éœdQ � �ŸdQLDA (r0),Y STA rg6000Buf,Y INY CPY #$06 BCC ?1 LDX #$00 ?2 LDQŸdQ Ne� |¡dQint,x STA $0300,X INX CPX #EndEntryPoint-NewEntryPoint BCC ?2 JMP $0300 ¹¡dQ hG� ä£dQ DW ?SwitchGame0C,?SwitchGame0B,?SwitchGame0A,?SwitchGame0D,?SwitchGame00 ?SwitchGame0C DB $00,$20,$1F,$F0,$0^¤dQ ;$� L¦dQIC) DB $00,$10,$0E,$F0,$00,$00 ;$01(PINK of RINGS) DB $80,$40,$0E,$F0,$00,$00 ;$02(WAR) DB $00‰¦dQ 0E� ,$00,$02 ;$03(Duck0 of RINGS) DB $00,$10,$0E,$F0,$01,$02 ;$04(Duck1 of RINGS) DB $00,$10,$0E,$F0,$01,$00 ;$05(PINK1 ÿÿ R ) DB $00,$10,$0E,$F0,$02,$00 ;$06(PINK2 of RINGS) DB $00,$10,$0E,$F0,$03,$00 ;$07(PINK3 of RINGS) ?SwitchGame0B ÿÿ $00,$60,$3F,$E0,$00,$00 ;$00(SONIC) DB $00,$10,$0E,$F0,$00,$00 ;$01(PINK of RINGS) DB $80,$40,$0E,$F0,$00,$00 ÿÿ02 ) DB $00,$10,$0E,$F0,$00,$02 ;$03(Duck0 of RINGS) DB $00,$10,$0E,$F0,$01,$02 ;$04(Duck1 of RINGS) DB $ÿÿ,$ ´¨dQF0,$01,$00 ;$05(PINK1 of RINGS) DB $00,$10,$0E,$F0,$02,$00 ;$06(PINK2 of RINGS) DB $00,$10,$0E,$F0,$03,$00 ;.©dQ NK� �«dQGS) ?SwitchGame0A DB $00,$50,$2F,$F0,$00,$00 ;$00(SF4) DB $00,$10,$0E,$F0,$00,$00 ;$01(PINK of RINGS) Y«dQ � „dQ$40,$0E,$F0,$00,$00 ;$02(WAR) DB $00,$10,$0E,$F0,$00,$02 ;$03(Duck0 of RINGS) DB $00,$10,$0E,$F0,$01,$02 ;$0ÁdQ 1 � ì¯dQ) DB $00,$10,$0E,$F0,$01,$00 ;$05(PINK1 of RINGS) DB $00,$10,$0E,$F0,$02,$00 ;$06(PINK2 of RINGS) D)°dQ $� T²dQ0E,$F0,$03,$00 ;$07(PINK3 of RINGS) ?SwitchGame00 ;Chr*$400,Pro*$2000,HIHG*$40000(Chr) Low(Chr Size),Program Size ,$110,$111 ‘²dQ � ¼´dQ$2F,$F0,$00,$00 ;$00(SF4) DB $00,$60,$3F,$E0,$00,$00 ;$01(SONIC) DB $00,$10,$0E,$F0,$00,$00 ;$02(PINK of RIN6µdQ � $·dQ $80,$40,$0E,$F0,$00,$00 ;$03(WAR) DB $00,$20,$1F,$F0,$00,$00 ;$04(TITANIC) DB $00,$20,$1F,$F0,$01,$00 ;a·dQ TA� Œ¹dQ DB $00,$10,$0E,$F0,$00,$02 ;$06(Duck0 of RINGS) DB $00,$10,$0E,$F0,$01,$02 ;$07(Duck1 of RINGS) DB CºdQ $1� E,$F0,$01,$00 ;$08(PINK1 of RINGS) DB $00,$10,$0E,$F0,$02,$00 ;$09(PINK2 of RINGS) DB $00,$10,$0E,$F0,$03,$00 ;$0A(PÿÿK3 RINGS) DB $00,$10,$0E,$F0,$00,$01 ;$0B(RINGS0) DB $00,$10,$0E,$F0,$01,$01 ;$0C(RINGS1) DB $00,$10,$0E,ÿÿ0, ô»dQ;$0D(RINGS2) DB $00,$10,$0E,$F0,$03,$01 ;$0E(RINGS3) ?SwitchGame0D DB $00,$50,$2F,$F0,$00,$00 ;$00(SF4) 1¼dQ DB� \¾dQ0,$60,$3F,$E0,$00,$00 ;$01(SONIC) DB $00,$10,$0E,$F0,$00,$00 ;$02(PINK of RINGS) DB $80,$40,$0E,$F0,$00,$00 ™¾dQ AR� DB $00,$20,$1F,$F0,$00,$00 ;$04(TITANIC) DB $00,$10,$0E,$F0,$01,$02 ;$05(Duck1 of RINGS) NewEntryPoint: LDA ÿÿ 00Buf+4 STA $0110 LDA rg6000Buf+5 STA $0111 LDY #$00 ?1 LDA rg6000Buf,Y Sÿÿ ÄÀdQ INY CPY #$04 BCC ?1 JMP ($FFFC) NOP NOP EndEntryPoint: ;JumpMenuT�ÁdQ C � ,ÃdQ DW $6010,$6020,$6040,$6080 ; DW $6100,$6200,$6400,$6800 ;;;;;;library RamProgram: .ENDS ¦ÃdQ MB� ”ÅdQ � EOR #$01 STA page0_1 RTS ?1 LDA tog1 AND #kA+kB+kST BEQ ?2 ÑÅdQ A � #$0E STA _Sound INC case RTS ?2 LDA tog1 AND #kU BEQ ?3 ;;;;Up ÿÿP üÇdQorUP ?3 LDA tog1 AND #kD BEQ ?4 JMP CursorDown ?4 LDA tog1 AND #vÈdQ � BEQ ?5 JMP CursorLeft ?5 LDA tog1 AND #kR BNE ?6 RTS ?6 ;;;Right Mode.... ÿÿ L dÊdQtemNo LDA PageNo CMP #$03 BEQ ?9 BCS ?7 LDA NextNoTbl00,X JMP �ËdQ � ÌÌdQ LDA NextNoTbl01,X JMP ?8 ?7 LDA NextNoTbl0,X ?8 STA ItemNo SetSprCursor L
At 0xF1BF is a small fragment of code:
,$00,$1E DB $06,$05,$00,$04,$1F‰ódQ 09� ´õdQ DB $8
At around 0xF7B1 there's more!
$8000 sty $8001 §�\a � Ò�\a iny stx $8000 sty $8001 inx iny L�\a st� $8000 sty $8001 rts ;===================================================================== ;Dragon runÿÿng . ;===================================================================== Irq2: lda Irq_Cnt bne Irq21ÿÿ; irqoff irqon lda #$78 irqlong ; ldy #$02 ?1 ÿÿ :�\a dey bne ?1 ; lda $2002 lda scr2_x sta $2005 ñ�\a � da #$00 sta $2005 lda rg2000 and #%11111100 ora page0_1+ÿÿ ¢ \a sta $2000 ;;;Switch Bank ldx #$00 stx $8000 lda #$DC Y \a � $8001 inx stx $8000 lda #$DE sta $8001 ; ÿÿin Irq_Cnt rts ; Irq21: irqoff ldy #$02 ?1 dey bne ÿÿ �\a lda $2002 lda #$00 sta $2005 sta $2005 „�\a � r�\a and #%11111110 ora page0_1 sta $2000 ; lda #$00 f�\a � sta Irq_Cnt rts ; ;===================================================================== ;Strike Mouse ;============ÿÿ== ================================================= Irq3: irqoff ; ldy #$02 ?1 dey ÿÿ Ú�\abne ?1 ; ;;;ldy #$60 ldy #$78 ldx #$8!ó òYõ stx $8000 ��\a � B�\asty $8001 inx iny stx $8000 sty $8001 i?�\a � ª�\a iny stx $8000 sty $8001 inx iny stx ç�\a � sty $8001 lda #$00 sta Irq_Cnt rts ;==============================ÿÿ== =============================== ; ;===================================================================== Irq5: irqoff ÿÿ lda #$00 sta Irq_Cnt ; ;;; lda Scr_mapx ;;; sta $2005 rts ;====ÿÿ== ========================================================= ; ;===================================================================== Irq6: ÿÿ ��\a lda Irq_Cnt bne Irq61 ; Middle Area irqoff irqon lda #O�\a � z�\a irqlong ; ldy #$02 ?1 dey bne ?1 ;;;; ldy #$88 ô�\a � ;;;;ldy #$8C ;;;;;;;;ldy #$90 ldx #$82 stx $8000 sty $8001 ÿÿ inx iny stx $8000 sty $8001 inx ;;;;; ldy mid_bnkÿÿ ldy #$80 stx $8000 sty $8001 inx iny ÿÿx $8000 sty $8001 inc Irq_Cnt rts ; Irq61: ;;;Bottom irqoff ÿÿ â�\aldy #$02 ?1 dey bne ?1 ; ldy #$84 ldx #$82 P�\a st� J�\a000 sty $8001 inx iny stx $8000 sty $80‡�\a � ²!\a in
At 0x109A8 there's a bunch of variable names:
ArroW BROWSE BackCursorNo BallFunNo BgSprPal CHREGH CheckKey Chreg0 Chr reg2 Chreg3 Chreg4 Chreg4h Chreg5 Chreg5h Chreg6 Chreg6h Chreg7h ChregIh ChregIl ChregTh ClrSprite ClrVram Color00 ColorT OldCol CursorDown CursorFlg CursorLeft CursorUP CursorX CursorY DebugBuf DogFunNo ENEMYNO EndEntryPoint EntryGame FillPage FillText GameRoutine GetMenuPage Gun1X Gun1Y Gun2X Gun2Y HA6611 Incad Irq0 Irq1 Irq2 Irq21 Irq3 Irq4 Irq5 Irq6 Irq6l5 IrqCtl IrqTbl Irq_Cnt Irq_Ctl Irq_Line Irq_Sub ItemCnt ItemNo ItÿÿUs ItemUseY J_ABUTTON J_BBUTTON J_DOWN J_LEFT J_RIGHT J_SELECT J_SÿÿRT J_UP Joy1 Joy2 JoyOne KeyIndex LETTER LOOPING LightGunX Lÿÿht MANLIFE MASCR01 MASCR02 MBSCR01 MBSCR02 MC3 MCSCR01 MCSCR02 DSCR01 MDSCR02 MEMORY MSCR01 MSCR02 Main MainFlow MaxItem NScr_mÿÿx NUMBER NewEntryPoint NewLocation NextNoTbl0 NextNoTbl00 NextNoTbl01 Nmi rd NullBuffer ONLYBOSS PRG_Reg PRIORITY PageAddress PageNo PageTbl P dexNo READ4017 RamProgram SOONPASS SPDS105A SPEED SPTP SZLMAX SZÿÿIN ScanPort Scr_mapx Scr_mapy SelPal SelectSub SetSprCursor Sound Sounÿÿni SwitchDA TEST TESTPAD TestSndNo TestSoundMode TestSprBuf TitleInit ÿÿit op TwoBank UPMIN _DBuffer _Music _Pause _SBuffer _Sound a0 a a2 a3 a4 atmp ball_flg ball_size bally_project bankcnt nk c0 case cleanidle cleanmode clp00 col_msk col_ndx cs000 datah datah1 datah2 datal datal1 datal2 dhi dhv dlo ag_flg dog_flg2 dogmode dogsndx dogx_dir dogx_pos dogxf_ do‚ÿMAIN F200 0 100 300 400 500 600 FFFA E000 HZ fade_wcnt fadetbl fp00 fp10 fp20 fp40 fp50 joytemp kA kB kD kL kR kSE kST kU key keycnt keyreg lastpad lastpos lasttog name nmi_cnt noa old_nmi p0 pad1 page0_1 prtidx r0 r01fdc6 r01fdcb r01fde0 r01fded r1 r2 random rg2000 rg2001 rg6000Buf s200ndx sbuflen sch scl scm scr2_x scr_x scr_y second sfc sflash shi sindex smt sndx sndx2 sndxprt snm sno sprt sptmode stayidle swd sxh sxhmap sxl sxlmap syh syhmap syl sylmap t0 tall tog1 tr0 tr1 tr2 tr3 tr4 tr5 tubsndx w0 w1 wait_1v wide x0 x1 x2 x_dir x_pos x_speed xadd xf_pos xtemp y0 y1 y2 y_acc y_pos y_speed yadd yf_pos ytemp z_acc z_dir z_pos z_speed zf_pos zf_speed dogz_speed Irq_Ctl fadetbl Irq_Sub dogy_project a0 a1 a2 c0 a3 a4 page0_1 col_ndx ItemCnt ItemNo bankcnt CursorX CursorY dog_flg p0 sbuflen r0 sflash lastpad r1 r2 t0 random dogmode col_msk old_nmi w0 keycnt nmi_cnt x0 w1 x1 y0 bnkreg keyreg x2 y1 dogsndx y2 second x_speed y_speed
At 0x14CBD, another small fragment of code:
SYMBOLS OFF 0,$6200,$6400,$6800 ;$05(Duck1 of RINGS) ze ,$110,$111 itchGame00
At 0x150BE (almost directly after the compiler output) there's even MORE ASM to be found:
sei ;; DISABLE IRQ. cld ldx #$ff ;; INITIAL STACK POINTER. txs lda #$00 sta $2001 ;; SCREEN OFF. sta $2000 ;; NMI OFF. ; sta $8000 ;Try IF MC3 lda #$00 sta $8000 ;; SET MAP MODE 0. ELSE sta $C002 ;;; RESET IRQ OFF. sta $2001 sta $2000 sta $D000 sta $C006 ENDIF ENDM ? lda #$00 ldx #$00 a# ;;-------------- clear system ram. sta $00,x sta $100,x sta $200,x sta $300,x sta $400,x sta $500,x sta $600,x sta $700,x inx bne a# ENDM ? txa tay ENDM ? clc adc € ENDM ? sec sbc € ENDM ? bne ?1# jmp € ?1# endm ? beq ?1# jmp € ?1# endm ? bmi ?1# jmp € ?1# endm ? bpl ?1# jmp € ?1# endm ? IF MC3 sta $e000 lda $2002 lda #$10 tax init_1H: ;;; sta $2006 sta $2006 eor #$10 dex bne init_1H sta $e000 ELSE lda #$3e sta $8002 lda #$3f sta $8003 lda #$85 sta $c001 lda #%00111110 sta $d000 lda #$00 sta $b000 lda #$01 sta $b001 lda #$02 sta $b002 lda #$03 sta $b003 lda #$01 sta $b004 sta $b005 sta $b006 sta $b007 lda #$00 sta $c006 lda #$00 sta $d002 lda #%00100000 sta $d003 ENDIF ENDM ? lda #$00 ldx #$00 a# ;;-------------- clear system ram. sta $100,x inx bne a# ENDM ? lda nmi_cnt cmp old_nmi bne ?z# rts ?z# sta old_nmi ENDM ? lda #$0f sta $4015 ;sound off. lda #$00 sta $4010 lda #$40 sta $4017 ENDM ? pha txa pha tya pha ;; save status. ENDM ? pla ;; restore status. tay pla tax pla ENDM ? lda #%00000000 sta $2003 lda #$02 sta $4014 ENDM ? lda € asl a tay lda ,y sta r0 lda +1,y sta r0+1 jmp (r0) ENDM ? lda € asl a tay lda SubTbl#,y sta r0 lda SubTbl#+1,y sta r0+1 jmp (r0) SubTbl#: ENDM ? lda € jsr SelectSub ENDM ? lda € jsr ShowNo ENDM ? sec lda sbc ƒ lda € sbc ‚ ENDM ? sec lda ,x sbc ƒ,y lda €,x sbc ‚,y ENDM ? ldx sbuflen lda € sta snm,x lda sta sxhmap,x sta sxh,x lda ‚ sta sxlmap,x sta sxl,x lda ƒ sta sylmap,x ; lda „ ; sta szlmap,x sta syl,x jsr InitSPub ENDM ? ldx sbuflen lda € sta snm,x lda sta sxhmap,x sta sxh,x lda ‚ sta sxlmap,x sta sxl,x lda ƒ sta syhmap,x sta syh,x lda „ sta sylmap,x sta syl,x ; lda … ; sta szlmap,x jsr InitSPub ENDM ? ldx #€ ldy # jsr Delay bcs ‚ ENDM ? IF MC3 lda #€ sta $a000 ELSE nop ENDIF ENDM ? lda #$00 sta $2000 ;;; nmi off. sta $2001 ;;; screen off. lda #$00 sta Irq_Ctl ;;; irq off. ENDM ? lda #$1e sta rg2001 ;;; screen on. lda #€ sta $2000 ;;; nmi on. sta rg2000 ENDM ? lda #€ sta _Music ENDM ? lda #€ sta _Sound ENDM ? IF MC3 sei lda #$06 sta $8000 lda € sta DATA_Reg sta PRG_Reg sta $8001 inc PRG_Reg lda #$07 sta $8000 lda PRG_Reg sta $8001 cli ELSE lda € sta DATA_Reg sta PRG_Reg sta $8000 ;;; SET DATA SEGMENT, $8000-$9FFF. inc PRG_Reg lda PRG_Reg sta $8001 ;;; SET PRG SEGMENT, $A000-$BFFF. ENDIF ENDM ? IF MC3 sei lda #$06 sta $8000 lda € sta DATA_Reg sta $8001 cli ELSE lda € sta DATA_Reg sta $8000 ;;; SET DATA SEGMENT, $8000-$9FFF. ENDIF ENDM ? IF MC3 sei lda #$07 sta $8000 lda € sta PRG_Reg sta $8001 cli ELSE lda € sta PRG_Reg sta $8001 ;;; SET PRG SEGMENT, $A000-$BFFF. ENDIF ENDM ? lda € sta HOME_Reg sta $8002 ;;; SET HOME SEGMENT, $C000-$DFFF. ENDM ? lda € sta $8003 ;;; SET HOME SEGMENT, $C000-$DFFF. ENDM ? lda € sta dlo lda sta dhi lda ‚ sta dwide lda ƒ sta dtall lda „ sta dhv ENDM ? DB € ENDM ? DB $00 endm ? LDA $201C STA Gun1X LDA $201D STA Gun1Y LDA $201E STA Gun2X LDA $201F STA Gun2Y STA $2019 ;Reset Gun1 & Gun2 ENDM ? ldx € ;4 .if FourBank stx Chreg0 inx inx stx Chreg2 .else stx Chreg0 inx stx Chreg1 inx stx Chreg2 inx stx Chreg3 inx .endif endm ? lda #BankValue ;bnk sta r1 lda € ;from stage1 ldy jsr Back1Page SCR_ON $C8 ;$E8 lda ‚ sta Irq_Ctl ;;; fade init. endm ? lda #BankValue ;bnk sta r1 lda € ldy þ jsr Back1Pageÿÿ´±²³·¶ ages,irqlines,irqsub ;,bnk
- Pages missing developer references
- Games developed by Hummer Team
- Pages missing publisher references
- Games published by Hong Jing
- Unlicensed NES games
- Pages missing date references
- Games released in 2005
- Games with uncompiled source code
- Games with hidden development-related text
- Games with unused music
- Games with unused sounds
- Games with unused text
- To do
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with uncompiled source code
Games > Games by content > Games with unused music
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Hummer Team
Games > Games by platform
Games > Games by publisher > Games published by Hong Jing
Games > Games by release date > Games released in 2005
Games > Unlicensed games > Unlicensed NES games
The Cutting Room Floor > Unimportant Awards > NES games