diff options
Diffstat (limited to 'src-68k/core')
| -rw-r--r-- | src-68k/core/entry.68k | 170 | ||||
| -rw-r--r-- | src-68k/core/header.68k | 37 | ||||
| -rw-r--r-- | src-68k/core/menu.68k | 141 | ||||
| -rw-r--r-- | src-68k/core/songlist.68k | 73 | ||||
| -rw-r--r-- | src-68k/core/vars.68k | 12 |
5 files changed, 0 insertions, 433 deletions
diff --git a/src-68k/core/entry.68k b/src-68k/core/entry.68k deleted file mode 100644 index 5da6abc..0000000 --- a/src-68k/core/entry.68k +++ /dev/null @@ -1,170 +0,0 @@ -;**************************************************************************** -; EntryPoint -; Where the program starts -;**************************************************************************** - -EntryPoint: - move.w #$2700, sr ; Disable interrupts - - move.b ($A10001), d0 ; Disable TMSS if needed - and.b #$0F, d0 - beq.s @NoTMSS - move.l #"SEGA", ($A14000) -@NoTMSS: - - bsr InitJoypad ; Init joypad - - lea ($C00004), a0 ; Init VDP - move.w #$8004, (a0) ; No IRQ4, no HV latch - move.w #$8114, (a0) ; Disable display - move.w #$8230, (a0) ; Scroll A: $C000 - move.w #$8407, (a0) ; Scroll B: $E000 - move.w #$8578, (a0) ; Sprites: $F000 - move.w #$8700, (a0) ; Background: pal 0, color 0 - move.w #$8B00, (a0) ; No IRQ2, full scroll - move.w #$8C81, (a0) ; H40, no S/H, no interlace - move.w #$8D3E, (a0) ; HScroll: $F800 - move.w #$8F02, (a0) ; Autoincrement: 2 bytes - move.w #$9001, (a0) ; Scroll size: 64x32 - move.w #$9100, (a0) ; Hide window plane - move.w #$9200, (a0) ; " " " - - moveq #0, d0 ; Clear VRAM - move.l #$40000000, (a0) - lea ($C00000), a1 - move.w #$800-1, d1 -@ClearVRAM: - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - dbf d1, @ClearVRAM - - move.l #$C0000000, (a0) ; Clear CRAM - moveq #8-1, d1 -@ClearCRAM: - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - move.l d0, (a1) - dbf d1, @ClearCRAM - - move.l #$40000010, (a0) ; Clear VSRAM - move.l d0, (a1) - - lea (PointerList), a0 ; Initialize Echo - bsr Echo_Init - - bsr LoadFont ; Load font - - lea ($C00004), a0 ; Load palette - lea ($C00000), a1 - move.l #$C0020000, (a0) - move.l #$066600CE, (a1) - move.l #$000E000E, (a1) - move.l #$C0220000, (a0) - move.l #$06660EEE, (a1) - move.l #$000E000E, (a1) - move.l #$C0420000, (a0) - move.l #$04440E88, (a1) - move.l #$C0620000, (a0) - move.l #$04440888, (a1) - - move.l #$C00A0000, (a0) - move.l #$02220444, (a1) - move.l #$02240024, (a1) - move.l #$02440020, (a1) - move.w #$0040, (a1) - - move.l #$58000000, (a0) ; Load graphics - lea (@Gfx_Arrows), a2 - moveq #12-1, d7 -@LoadGfx: - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - move.l (a2)+, (a1) - dbf d7, @LoadGfx - - move.l #$44880003, (a0) ; Write left arrow - move.l #$00C000C1, (a1) - move.l #$45080003, (a0) - move.l #$00C200C3, (a1) - - move.l #$44C40003, (a0) ; Write right arrow - move.l #$28C128C0, (a1) - move.l #$45440003, (a0) - move.l #$28C328C2, (a1) - - moveq #2, d0 ; Write title - moveq #1, d1 - move.w #$8000, d2 - lea (@Str_Title1), a0 - bsr WriteString - addq.w #2, d1 - move.w #$E000, d2 - lea (@Str_Title2), a0 - bsr WriteString - - moveq #20-(24/2), d0 ; Write instructions - moveq #23, d1 - lea (@Str_Instr1), a0 - bsr WriteString - moveq #20-(18/2), d0 - addq.w #2, d1 - lea (@Str_Instr2), a0 - bsr WriteString - - bsr DrawBG ; Draw background - - move.w #$8154, ($C00004) ; Enable display - bra MainMenu ; Go into the main menu - -;**************************************************************************** - -@Gfx_Arrows: - dc.l $00000000, $00000000, $00000000, $00000000 - dc.l $00000034, $00004343, $00343434, $43434343 - dc.l $00000034, $00004343, $00343434, $43434343 - dc.l $34343434, $43434343, $34343434, $43434343 - dc.l $34343434, $00434343, $00003434, $00000043 - dc.l $00000000, $00000000, $00000000, $00000000 - dc.l $34343434, $43434343, $34343434, $43434343 - dc.l $34343434, $00434343, $00003434, $00000043 - -@Gfx_BG: - dc.l $55555555, $55555555, $55555555, $55555555 - dc.l $55555555, $55555555, $55555555, $55555555 - dc.l $00000000, $00000000, $00000000, $00000000 - dc.l $00000000, $00000000, $00000000, $00000000 - dc.l $66666666, $66666666, $66666666, $66666666 - dc.l $66666666, $66666666, $66666666, $66666666 - - dc.l $78787878, $87878787, $78787878, $87878787 - dc.l $78787878, $87878787, $78787878, $87878787 - dc.l $79797979, $97979797, $79797979, $97979797 - dc.l $79797979, $97979797, $79797979, $97979797 - - dc.l $AAAAAAAA, $AAAAAAAA, $AAAAAAAA, $AAAAAAAA - dc.l $AAAAAAAA, $AAAAAAAA, $AAAAAAAA, $AAAAAAAA - dc.l $BABABABA, $ABABABAB, $BABABABA, $ABABABAB - dc.l $BABABABA, $ABABABAB, $BABABABA, $ABABABAB - - dc.l $56565656, $65656565, $56565656, $65656565 - dc.l $56565656, $65656565, $56565656, $65656565 - - ; 123456789012345678901234567890123456 - -@Str_Title1: dc.b "Echo sound engine", 0 -@Str_Title2: dc.b "Version 0.9 by Sik", 0 -@Str_Instr1: dc.b "Use D-pad to select song", 0 -@Str_Instr2: dc.b "A/C: play, B: stop", 0 - even diff --git a/src-68k/core/header.68k b/src-68k/core/header.68k deleted file mode 100644 index fde18ee..0000000 --- a/src-68k/core/header.68k +++ /dev/null @@ -1,37 +0,0 @@ -;**************************************************************************** -; 68000 vectors -;**************************************************************************** - - dc.l $1000000 - dc.l EntryPoint - dcb.l 62, ErrorInt - -;**************************************************************************** -; Mega Drive header -;**************************************************************************** - - dc.b "SEGA MEGA DRIVE " - dc.b "(C) SIK 2010.NOV" - dc.b "ECHO TESTER PROGRAM" - dcb.b $150-*, $20 - dc.b "ECHO TESTER PROGRAM" - dcb.b $180-*, $20 - dc.b "XX XXXXXXXX-00" - dc.w $0000 - dc.b "J" - dcb.b $1A0-*, $20 - dc.l $000000, $3FFFFF - dc.l $FF0000, $FFFFFF - dcb.b 12, $20 - dcb.b 12, $20 - dcb.b 40, $20 - dc.b "JUE" - dcb.b $200-*, $20 - -;**************************************************************************** -; ErrorInt -; Generic error handler routine (hangs up) -;**************************************************************************** - -ErrorInt: - bra.s * diff --git a/src-68k/core/menu.68k b/src-68k/core/menu.68k deleted file mode 100644 index d5f7914..0000000 --- a/src-68k/core/menu.68k +++ /dev/null @@ -1,141 +0,0 @@ -;**************************************************************************** -; MainMenu -; Menu where you get to select the song and such -; The main screen, bah... -;**************************************************************************** - -MainMenu: - move.w #0, (RAM_CurrSong) ; Selected song - bsr UpdateMenu ; Show description of first song - - move.l #0, (RAM_LArrowAnim) ; Reset arrows anim - move.w #$8407, (RAM_BGAnim) ; Reset background anim - -@MainLoop: - move.b (RAM_JoyPress), d0 ; Get joypad input - - btst.l #2, d0 ; Previous song? - beq.s @NoLeft - - move.w (RAM_CurrSong), d7 ; Select previous song - bne.s @NotTooLeft - move.w #NumSongs, d7 -@NotTooLeft: - subq.w #1, d7 - move.w d7, (RAM_CurrSong) - - bsr UpdateMenu ; Update current song - move.w #28, (RAM_LArrowAnim) ; Animate left arrow - lea (SFX_Beep), a0 ; Beep! - bsr Echo_PlaySFX -@NoLeft: - - btst.l #3, d0 ; Next song? - beq.s @NoRight - - move.w (RAM_CurrSong), d7 ; Select next song - addq.w #1, d7 - cmp.w #NumSongs, d7 - blt.s @NotTooRight - moveq #0, d7 -@NotTooRight: - move.w d7, (RAM_CurrSong) - bsr UpdateMenu ; Update current song - - move.w #28, (RAM_RArrowAnim) ; Animate right arrow - lea (SFX_Beep), a0 ; Beep! - bsr Echo_PlaySFX -@NoRight: - - btst.l #5, d0 ; Play song? - bne.s @DoPlay - btst.l #6, d0 - beq.s @NoPlay -@DoPlay: - lea (SongList), a1 ; Get song address - move.w (RAM_CurrSong), d7 - lsl.w #4, d7 - lea (a1,d7.w), a1 - move.l (a1), a0 - bsr Echo_PlayBGM ; Play song -@NoPlay: - - btst.l #4, d0 ; Stop song? - beq.s @NoStop - bsr Echo_StopBGM -@NoStop: - - btst.l #7, d0 ; Debug key - beq.s @NoDebug - lea (BGM_Test), a0 ; Play test BGM - ;bsr Echo_PlayBGM - lea (SFX_Test), a0 ; Play test SFX - bsr Echo_PlaySFX -@NoDebug: - - lea (@ArrowPal), a0 - - move.w (RAM_LArrowAnim), d0 ; Animate left arrow - move.l (a0,d0.w), d1 - move.l #$C0060000, ($C00004) - move.l d1, ($C00000) - subq.w #2, d0 - bge.s @NoLArrowOver - moveq #0, d0 -@NoLArrowOver: - move.w d0, (RAM_LArrowAnim) - - move.w (RAM_RArrowAnim), d0 ; Animate right arrow - move.l (a0,d0.w), d1 - move.l #$C0260000, ($C00004) - move.l d1, ($C00000) - subq.w #2, d0 - bge.s @NoRArrowOver - moveq #0, d0 -@NoRArrowOver: - move.w d0, (RAM_RArrowAnim) - - move.w (RAM_BGAnim), d0 ; Animate background - bchg.l #1, d0 - move.w d0, (RAM_BGAnim) - move.w d0, ($C00004) - - bsr VSync ; Next frame - bsr ReadJoypad - bra @MainLoop - -;**************************************************************************** - -@ArrowPal: - dc.w $00E, $00E, $02E, $02E, $04E, $04E, $06E, $06E - dc.w $28E, $28E, $4AE, $4AE, $6CE, $6CE, $8EE, $8EE - -;**************************************************************************** -; UpdateMenu -; Shows the current option on screen -;**************************************************************************** - -UpdateMenu: - bsr ClearLines ; Clear lines - - lea (SongList), a1 ; Get address of song data - move.w (RAM_CurrSong), d0 - lsl.w #4, d0 - lea (a1,d0.w), a1 - addq.l #4, a1 - - moveq #7, d0 ; Write song title - moveq #9, d1 - move.w #$A000, d2 - move.l (a1)+, a0 - bsr WriteString - - addq.w #2, d1 ; Write song description - move.w #$C000, d2 - move.l (a1)+, a0 - bsr WriteString - addq.w #2, d1 - move.l (a1)+, a0 - bsr WriteString - - rts ; End of subroutine diff --git a/src-68k/core/songlist.68k b/src-68k/core/songlist.68k deleted file mode 100644 index 527ea6d..0000000 --- a/src-68k/core/songlist.68k +++ /dev/null @@ -1,73 +0,0 @@ -;**************************************************************************** -; SongList -; List of songs that appear on the menu -;**************************************************************************** - -SongList: - dc.l BGM_Midnas, @Str_Midnas_1, @Str_Midnas_2, @Str_Midnas_3 - dc.l BGM_Nelpel, @Str_Nelpel_1, @Str_Nelpel_2, @Str_Nelpel_3 - dc.l BGM_Megajysays, @Str_Megajysays_1, @Str_Megajysays_2, @Str_Megajysays_3 - dc.l BGM_Doomsday, @Str_Doomsday_1, @Str_Doomsday_2, @Str_Doomsday_3 - dc.l BGM_PianoTest, @Str_PianoTest_1, @Str_PianoTest_2, @Str_Null - dc.l BGM_SquSawTest2, @Str_SquSawTest_1a, @Str_SquSawTest_2, @Str_SquSawTest_3a - dc.l BGM_SquSawTest1, @Str_SquSawTest_1b, @Str_SquSawTest_2, @Str_SquSawTest_3b - dc.l BGM_PSGTest, @Str_PSGTest_1, @Str_PSGTest_2, @Str_Null - dc.l BGM_DrumTest, @Str_DrumTest_1, @Str_DrumTest_2, @Str_Null - dc.l BGM_FluteTest, @Str_FluteTest_1, @Str_FluteTest_2, @Str_FluteTest_3 - - ; 012345678901234567890123456 -@Str_Null: dc.b 0 -@Str_Untitled: dc.b "[untitled]", 0 - - ; 012345678901234567890123456 -@Str_Midnas_1: dc.b "Midna's Desperate Hour", 0 -@Str_Midnas_2: dc.b "Composed by Koji Kondo", 0 -@Str_Midnas_3: dc.b "Transcribed by Aivi Tran", 0 - - ; 012345678901234567890123456 -@Str_Nelpel_1: dc.b "Nelpel Four (crappy ver.)", 0 -@Str_Nelpel_2: dc.b "XM > MIDI > ESF conversion", 0 -@Str_Nelpel_3: dc.b "and really bad instruments", 0 - - ; 012345678901234567890123456 -@Str_Megajysays_1: dc.b "Megajysays", 0 -@Str_Megajysays_2: dc.b "That second A should have", 0 -@Str_Megajysays_3: dc.b "two dots on top of it.", 0 - - ; 012345678901234567890123456 -@Str_Doomsday_1: dc.b "The Doomsday Project", 0 -@Str_Doomsday_2: dc.b "Another module conversion.", 0 -@Str_Doomsday_3: dc.b "Like I give a crap :P", 0 - - ; 012345678901234567890123456 -@Str_PianoTest_1: dc.b "test-piano.mid", 0 -@Str_PianoTest_2: dc.b "Some generic piano...", 0 - - ; 012345678901234567890123456 -@Str_SquSawTest_1a: dc.b "test-squsaw-2ch.mid", 0 -@Str_SquSawTest_1b: dc.b "test-squsaw-1ch.mid", 0 -@Str_SquSawTest_2: dc.b "FM square and sawtooth", 0 -@Str_SquSawTest_3a: dc.b "2 channels version", 0 -@Str_SquSawTest_3b: dc.b "1 channel version", 0 - - ; 012345678901234567890123456 -@Str_PSGTest_1: dc.b "test-psg.mid", 0 -@Str_PSGTest_2: dc.b "Two square PSG channels.", 0 - - ; 012345678901234567890123456 -@Str_DrumTest_1: dc.b "test-drums.mid", 0 -@Str_DrumTest_2: dc.b "Snare and kicks!", 0 - - ; 012345678901234567890123456 -@Str_FluteTest_1: dc.b "test-flute.mid", 0 -@Str_FluteTest_2: dc.b "Flute and a seashore.", 0 -@Str_FluteTest_3: dc.b "Feels so calm...", 0 - - even - -;**************************************************************************** -; NumSongs -; Number of songs in song list -;**************************************************************************** - -NumSongs equ 10 diff --git a/src-68k/core/vars.68k b/src-68k/core/vars.68k deleted file mode 100644 index 8097c73..0000000 --- a/src-68k/core/vars.68k +++ /dev/null @@ -1,12 +0,0 @@ -;**************************************************************************** -; Where program variables are defined -;**************************************************************************** - - rsset $FF0000 - -RAM_JoyHold rs.b 1 ; Current "held" joypad status -RAM_JoyPress rs.b 1 ; Current "pressed" joypad status -RAM_LArrowAnim rs.w 1 ; Animation for left arrow -RAM_RArrowAnim rs.w 1 ; Animation for right arrow -RAM_BGAnim rs.w 1 ; Animation for background -RAM_CurrSong rs.w 1 ; Selected song |
