;**************************************************************** ;* MEMORY GAME - simon * ;* BY KEITH WILSON * ;* VERSION 1 * ;**************************************************************** ;Port A definitions PORTA_CONFIG1 equ 0x11 ;bit4: in,out,out,out,in :bit0 RANDOM_PULSE equ 0 ;random pulse input BUZZER equ 1 ;buzzer output LED_REMEMBER equ 2 ;play status - remember LED_REPEAT equ 3 ;play status - repeat LEVEL equ 4 ;level of difficulty input ;Port B definitions PORTB_CONFIG1 equ 0x0f ;bit7: out,out,out,out,in,in,in,in :bit0 KEY_RED equ 0 ;red key input - bit0 KEY_GREEN equ 1 ;green key input - bit1 KEY_YELLOW equ 2 ;yellow key input - bit2 KEY_ORANGE equ 3 ;orange key input - bit3 LED_RED equ 4 ;red led output - bit4 LED_GREEN equ 5 ;green led output - bit5 LED_YELLOW equ 6 ;yellow led output- bit6 LED_ORANGE equ 7 ;orange led output- bit7 RAM_START equ 0x0C ;start of global variable ram LINE_OFFSET equ 0x1A ;start of step memory in ram area RECORD_STEPS equ 0x00 ;eeprom address for step record ;Data for song notes ;NOTE ;Value= 10's of microseconds ;octave 1 NOTE_G0 equ D'255' ;196 Hz NOTE_A0 equ D'227' ;220 Hz NOTE_B0 equ D'202' ;247 Hz ;octave 2 NOTE_C1 equ D'191' ;262 Hz NOTE_D1 equ D'170' ;294 Hz NOTE_E1 equ D'152' ;330 Hz NOTE_F1 equ D'143' ;349 Hz NOTE_G1 equ D'128' ;392 Hz NOTE_A1 equ D'114' ;440 Hz NOTE_B1 equ D'101' ;494 Hz ;octave 3 NOTE_C2 equ D'95' ;524 Hz NOTE_D2 equ D'85' ;588 Hz NOTE_E2 equ D'76' ;660 Hz NOTE_F2 equ D'72' ;698 Hz NOTE_G2 equ D'64' ;784 Hz NOTE_A2 equ D'57' ;880 Hz NOTE_B2 equ D'51' ;988 Hz ;octave 4 NOTE_C3 equ D'48' ;1048 Hz NOTE_D3 equ D'43' ;1176 Hz NOTE_E3 equ D'38' ;1320 Hz NOTE_F3 equ D'36' ;1396 Hz NOTE_G3 equ D'32' ;1568 Hz NOTE_A3 equ D'28' ;1760 Hz NOTE_B3 equ D'25' ;1976 Hz ;length of notes ;"tempo"(nomalized) length is set in SoundPlay function by timerb LENGTH_SEMIBREVE equ 0x20 ;tempo LENGTH_MINIM equ 0x10 ;tempo/2 LENGTH_CROTCHET equ 0x08 ;tempo/4 LENGTH_QUAVER equ 0x04 ;tempo/8 LENGTH_SEMIQUAVER equ 0x02 ;tempo/16 LENGTH_DEMISEMIQUAVER equ 0x01 ;tempo/32 SONG_HEY_JUDE_LEN equ D'68' ;total number of notes + lengths SONG_OSUSANA_LEN equ D'108' SONG_DEATHMARCH_LEN equ D'22' KEY_RED_SOUND equ NOTE_C2 KEY_GREEN_SOUND equ NOTE_E2 KEY_YELLOW_SOUND equ NOTE_G2 KEY_ORANGE_SOUND equ NOTE_B2