diff --git a/intro/conv_nsb_resample.py b/intro/conv_nsb_resample.py new file mode 100644 index 0000000..edaee99 --- /dev/null +++ b/intro/conv_nsb_resample.py @@ -0,0 +1,82 @@ +import sys + +import numpy as np +from scipy.io import wavfile +from scipy import signal + + + +def resample_audio(audio, original_sr, target_sr): + number_of_samples = round(len(audio) * float(target_sr) / original_sr) + return signal.resample(audio, number_of_samples) + + +def noise_shape_and_quantize(signal, bits): + steps = 2 ** bits + step_size = (signal.max() - signal.min()) / steps + + shaped = np.zeros_like(signal) + error = np.zeros_like(signal) + + for i in range(len(signal)): + shaped[i] = signal[i] - error[i] + quantized = np.round(shaped[i] / step_size) * step_size + error[i] = quantized - signal[i] + if i < len(signal) - 1: + error[i + 1] = error[i] * 0.5 # Simple first-order noise shaping + + shaped[i] = quantized + + return np.clip(shaped, signal.min(), signal.max()) + + +# Read the WAV file +original_sr, data = wavfile.read(sys.argv[1]) +data = data.astype(float) +data = data / np.max(np.abs(data)) + +# Define target sample rate +target_sr = 5000 # 6 kHz + +# Resample the audio +resampled_data = resample_audio(data, original_sr, target_sr) + +# Apply noise shaping and quantization +quantized = noise_shape_and_quantize(resampled_data, 4) + +# Scale to 0-15 range and round to integers +scaled = np.round((quantized - quantized.min()) / (quantized.max() - quantized.min()) * 15).astype(int) +scaled = np.clip(scaled, 0, 15) + +print("Min value:", scaled.min()) +print("Max value:", scaled.max()) +print("Unique values:", np.unique(scaled)) + +# Pack 4-bit values into bytes +packed = [] +for i in range(0, len(scaled), 2): + if i + 1 < len(scaled): + byte = (scaled[i] << 4) | scaled[i + 1] + else: + byte = scaled[i] << 4 + packed.append(byte) + +# Write packed data to binary file +with open(sys.argv[1]+'.bin', 'wb') as f: + f.write(bytes(packed)) + +print(f"Packed 4-bit data written to output.bin") +print(f"Original sample rate: {original_sr} Hz") +print(f"New sample rate: {target_sr} Hz") +print(f"Number of samples: {len(scaled)}") +print(f"Duration: {len(scaled) / target_sr:.2f} seconds") + +# Print first few bytes in hex +print("First 10 bytes in hex:") +print(" ".join(f"{b:02X}" for b in packed[:10])) + +# Save the resampled audio as a WAV file for verification +# Correctly scale back to 16-bit audio range +wav_output = (scaled.astype(float) - 7.5) / 7.5 # Center around 0 +wav_output = (wav_output * 32767).astype(np.int16) # Scale to 16-bit range +#wavfile.write('resampled_output.wav', target_sr, wav_output) diff --git a/intro/tech_diff.asm b/intro/tech_diff.asm index 7887e55..8b467d0 100644 --- a/intro/tech_diff.asm +++ b/intro/tech_diff.asm @@ -39,7 +39,136 @@ start mva #0 COLOR2 sta COLBAK mva #15 COLOR1 - halt + POKEY_INIT + lda #0 + ;sta dmactls + ;sta dmactl + lda #0 + sta $d40e ; wylaczamy NMI + sei ; oraz IRQ + + + ;-----playa-da-sampla----- + ldx #0 + +please_wait_loop + lda samples_l,x + sta sample_load + lda samples_h,x + sta sample_load+1 + + lda samples_end_l,x + sta temp_w + lda samples_end_h,x + sta temp_w+1 + +@ + lda sample_load: $ffff + tay + sec + :4 ror + sta AUDC1 + sta AUDC2 + sta AUDC3 + ;sta AUDC4 + :3 sta wsync + tya + and #$0F + ora #$10 + sta AUDC1 + sta AUDC2 + sta AUDC3 + ;sta AUDC4 + + + inw sample_load + sta wsync + cpw sample_load temp_w + sta wsync + beq @+ + sta wsync + jmp @- +@ + inx + cpx #13 + sne:ldx #0 + jmp please_wait_loop + + +sample1 + ins 'wait1.wav.bin' +sample_end1 +sample2 + ins 'wait2.wav.bin' +sample_end2 +sample3 + ins 'wait3.wav.bin' +sample_end3 +sample4 + ins 'wait4.wav.bin' +sample_end4 +sample5 + ins 'wait5.wav.bin' +sample_end5 +sample6 + ins 'wait6.wav.bin' +sample_end6 + +samples_l + .by sample1 + .by >sample2 + .by >sample3 + .by >sample2 + .by >sample4 + .by >sample2 + .by >sample5 + .by >sample2 + .by >sample3 + .by >sample2 + .by >sample4 + .by >sample2 + .by >sample6 +samples_end_l + .by sample_end1 + .by >sample_end2 + .by >sample_end3 + .by >sample_end2 + .by >sample_end4 + .by >sample_end2 + .by >sample_end5 + .by >sample_end2 + .by >sample_end3 + .by >sample_end2 + .by >sample_end4 + .by >sample_end2 + .by >sample_end6 ini start - \ No newline at end of file diff --git a/intro/tech_diff.xex b/intro/tech_diff.xex new file mode 100644 index 0000000..f2aed4c Binary files /dev/null and b/intro/tech_diff.xex differ diff --git a/intro/wait1.wav.bin b/intro/wait1.wav.bin new file mode 100644 index 0000000..431f0bd Binary files /dev/null and b/intro/wait1.wav.bin differ diff --git a/intro/wait2.wav.bin b/intro/wait2.wav.bin new file mode 100644 index 0000000..edd9ce0 --- /dev/null +++ b/intro/wait2.wav.bin @@ -0,0 +1 @@ +C3333333336xšš»ËʼÌÌ©ª»ÝÛ»˜vWš«½Ì¹‡eTUyª¼ÍË™‡eD3F™ºº»Ìº¨—fTC35x›¼ÌÝîíº˜vT32#5y«ÌÝÞîîܹ˜vdC323Ei›¼ÝÝÝÞîÜʘwUC32"#6x«¼ÜÝÝÞÝË™‡eD32"3Ehš»ÌÝÝííÝÌ»©ˆfUUUUeefeefVfgwˆ™«¼ÍÝííÝÜÌ»©‡eT33""#35Vxš»ÌÌÍÍÝÝÜ˺™vdC32"#3Eg‰›¼ÌÜÝÝÝÝÜÜ»©—vTC333333DUfwˆ™ª»»ËË»»«ªª™˜‡vfUUUefww‡ˆ‡‡wwwˆˆ˜˜vUD33333333333333333333333333333333333334DUUUVUfVefffgffgffffffffvvvvgvfffffffffffffggvvwgvffVUUUUUUEUUUUUUUUUUUUeeUeeeeeeeeeeefffeefffffffffeeeUUUUUUUUUeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxˆ‰™™™©©ªªªªªªšššš™ªš©©©™©©©©™™™™™©™š™©™©©ª©ª™™™™™™˜ˆˆ‡‡‡‡xxxw‡‡wwwwwxwxxxxˆxwxwwwwwwwwwxxxxw‡ww‡xxxwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡ww‡‹ÝÜÝÎÿÿÿÿÿþìÿÿÿÿÿÿÿþîîî̬îÿÿÿÿÿîíííÌ˺Ìîÿÿÿÿýì˺©œªË¾Þÿÿÿÿïüº˜vfeš½Þÿýîïͺ—vef‰­ÞÿîíÍË˹©††gXšÍÞïÜÝ̺˜wfexy©ºÌÌÌÌ»‰ˆvvgyм¼Ì½Ìº™‡uefW‰«ÍÍݼ©™xˆ™ªªª«ª»ÊË«ª™ˆ—ˆˆx˜™š¨ª˜‡…wxˆ‡‡ˆˆˆˆ™š˜˜‡—‡ˆˆ™š«ªª™˜™ˆˆˆ™y‰‰˜fUD33""""""""#######33333333333333333333333333333333333333333334444444444444DDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvv{ÌîïÿþÿÿÿÿîÞïÿÿíÛº›ÝïÿÿîÌ»™™ÍÞîÿî˺˜‡wzÌîÞîþîÌÊ™wveh¬Íîïÿÿÿܺ™wfTEh›Íîþÿÿÿþ̺˜weTCDWмÞïþþÿÿþܺ˜veDC3EhšÌÞîîîïîܪ˜vUC333UxªÌÝÞÞîîîÝ˺˜wfffffgggfvvwxˆ™ª»ÌÝÞÞÞÝÝÌ»©—vTC32"33DVxš¼ÌÍÍÝÝÝÜ˺¨†dC32""3Eg‰›»ÌÍÍÝÝÝÜÌ»©—vTC33#333DEVwˆ™ªº»»»»ºªª©™ˆwveUUUVfgww‡‡wwwwxˆˆ˜fTC333#"""""""""#####333333333333333333333DDDTTUeUUUVUUUUUVUVUUeVUUUVUUVVVeeVVVVVVVVVeffffVUUTTDDEEEDEDEDDDTTUUTUTTTUUUUUUUTUEUUUUUTUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvffffeiª«ÎþþþÿþÜÞþîîïÿíÍÞïîîîÝÞܺª¼½ÍÍÍÍÌíË©ª»ÍÍÜÜÜÌÞË©šª¼»»»«»¼¹˜‰™¬»»¼¼¼Ëɘˆ©»»«»¼Ë¹™™ªªª»Ìª‰š«ªª«¼»™™ªªªš«©‡ˆ‰™‰‰š©—x‰©˜™š¹‡ˆŠ˜˜˜š™w‡‰˜ˆ˜š©‡‡‰˜˜ˆ™©—wˆ˜˜ˆ‰šˆgw‰˜ˆ‰‰©‡wx˜ˆˆˆš¨†v‡˜ˆxˆ‰¨†fwˆˆˆˆˆªˆfwyˆxxˆš‡fgxxwxxˆ˜†fgw—ˆˆˆˆŠ‡fVg‡‡‡ˆˆŠ˜vVghxxxˆˆˆveVfx‡ˆˆˆˆ˜veUfw‡‡ˆˆ‡‰‡fEVfxˆˆˆ‡‡x—fTUfw˜ˆˆˆ‡‡˜vUDVgˆˆˆˆxwˆwUEUfxyxˆˆxxˆeSEVg—ˆˆˆxw‰vU5Uv‰xˆˆxwx—UDefxˆˆˆˆxwˆvTDUfxˆˆ‡‡wvwvUCEVw‰‰ˆˆwvvwfEDEVw˜˜ˆˆwvfwfTDEVw‰™‰ˆwvffwUECUgx™˜ˆ‡wfffvUE4Ugx‰™ˆwvfeefwVETVgˆ™©˜‡vfUUUgfUTEWxˆš˜‡wfVUUWfUEDUgx‰˜‡vfUUUUguTEDVwˆ‰šˆveUDDTUfvUUTFgxˆ‰˜‡fUEDDEVgeUUEfw‡˜˜‡veTDDDUWfUTTEfxˆ™˜‡vUTDDTegwfUUEfxˆ˜šˆveTDDEUewveUTVgxˆˆ˜weTD44DEVveEDDfx™™©™—veTTUVgw‡˜˜‡ggVx™š™™˜‡eTD44EVvwˆˆgggfxˆ™š™¨‡eDC33DUVggxx†fUfVw‰ššš™˜vUD44EUgwˆˆ‰‰†vffewˆ©©©˜˜uT3334EVgxxˆŠˆwfefehy‰™™ˆxeD3334EVwˆˆ‰‰˜—vffgex‰™™ˆ‡veD3334Efwˆ˜™™™‰——veeffgˆ‰‰ˆ‡vedC33DUfwˆ™™™™˜˜‡˜‡veeefggˆˆˆˆwfUETCDEUgx‰™ššš™˜ˆ‡‡†veUUUeugxˆˆ‡wfeVUEEUfwˆ™ššªªš™™™fTC33"""""""""####3333333333333333333333333333333333444444444DDDDDDDDDDDDDDDDDDDDDTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡wwgffi¼»¼®ÿÿÿþíܪÞÿÿÿÿÿîܺ™ˆwh¼Þÿÿÿÿíܺ˜‡vvš½îîïïíÛ»™‡y˜ª­Íÿÿÿÿï캘vee‰¬Ýþýîïκ˜vefˆ¬ÎïÞíÎÌͺ¹—‡ghªÌíîíÞÍ»˜wfuxyª»ÍÌÜÜË™˜vvw‰š½¼ÜÍܺ©‡vffgŠ«ÜÝݼª™ˆˆ™ªšª«ºËÊË»ºš‰‡ˆˆ‰™©ª¸º©˜†wˆˆˆ‡ˆˆ‰ˆ™©¨˜‡˜ˆxˆ™ª»ªª©™‰ˆ˜‰‰‰™™©veTC3333333333333333333333333333333CCCCDDDDCCCCCCCDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEUUUUUUUUTTTTTUffvwwwxwwxxx‡‡wvwgw‡wwwwwwwww‡‡xwwwwwwwwwwwwxwˆxx‡wgffffffVVVVeeefVeffffffffffffffvfffffffvfffvvvfgffffeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwgwwvvfffj»ÍÞþþþÿÿþíÝîÿþìË™ŠÍïÿÿí»¨‡h«ÍÞÿîË©‡uUh¼ÝÝíþý˺˜wfTgšÍÞïÿÿþÛº˜veTDgšÌíîîÿÿî˹—veDCDV‰»ÍÞîîïÿíË©—vUD334WЬÍÝíîïîܪ˜veD333Fxª¼ÝÝîîîíÜ˺˜wfffffgggfffvwx‰š«ÌÝÞÞÞÝÝÌ»©—uTC32"33DVxš¼ÌÜÜÝÝÝÜ̺¨†dC32"#3Eg‰š»ÌÍÍÝÝÝÜÌ»©ˆfT333#333DEfwˆ™ª»»»»»«ªªš™ˆwfeUUUVfgwxxxwwwwxˆ‰‰fUD33332222333333333333333333333333333333334444444444444DDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvfffei»ÝíîýþïÿþÝÍîÿîܹ˜ŠÍÞÿÿ캙‡x¬ÍÞþí»©ˆvVi¬ÍÞÞÿí˪˜weTWšÌÞîÿÿþÛº˜veT4Wš¼Þîïïÿý˪ˆfUD34V‰¼Íîîîÿÿí˪ˆfUC334WЬÍÞîîïîÌ©—uTC333Ehš¼ÍÞîïïîÝ̺˜weeeffffffffvwˆ‰ª«ÌÝÞÞÞÝÝÌ»©—uTC32"33DVxš¼ÌÜÜÝÝÝÜ̺¨†dC32"#3Egˆª¼ÌÍÍÝÝÝÜÌ»©—vTC333333DUfwˆ™ª»»»»»»ªª©™ˆwfeUUUVfgww‡‡‡wwwˆˆ‰˜fUD333333######33333333333333333333333334DDUUUeffVefeeffeVVUUUUeeeUfVffefffffffeeefVVfffVfeeUUUEEEEEEEEEEUEUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVfVeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvffgffVY««ÎîþîïþÜÞþîíþþì¼ÍÞÞÎÍÝîìË«»ÍÌÜÝÌËÜË©©»½ÍÍÍÝÝîܺ»Ëͼ»»»«¼º˜ˆš¬¼¼ÌÌÍÜÊ™‰ª»««»¼Ë©‰Š©©ªª¼ª‰š«ª««¼º˜™ªªšš«©‡ˆ‰˜˜˜™©‡x‰™‰‰š©‡xŠ˜ˆ‰š™wwˆ˜ˆˆ™©‡wˆ˜ˆˆ˜©‡wx‰ˆˆˆ™‡gh‰ˆˆˆ™©‡gx˜ˆˆˆŠ¨†wx˜ˆˆˆ‰¨†fwˆˆˆˆˆ©ˆfwyˆxxˆ™‡fgxxwxxˆ˜†fgw—‡‡ˆˆŠ‡efgxxxxˆ‰§vVghxxxˆˆ‰wUUfx‡ˆˆˆˆ˜vUUfxxxxx‡‰‡fEVgyˆˆˆˆxx—uTUfw˜ˆˆˆ‡‡˜vUDVgˆˆˆxxwˆwUDUfxˆˆˆˆxx‡eSEVg˜ˆˆˆxw‰vU4Uv‰xˆˆ‡‡x—UDUfxˆˆˆ‡‡wˆvTDUfxˆˆˆxwwwvUCEVw‰‰ˆˆwvvxfTCEfw™˜˜‡‡vv‡vUDEfxŠ™˜‡wvffweUDUvˆ™˜ˆ‡vvffwUE4Vgx‰™ˆwvfeef‡eUTVgˆ‰™˜‡vfUUVhfUU5fxˆš™ˆwfeUUWgUEDUgx‰¨—‡veeUUwvUEDfwˆ˜©˜wfUTTUUfveUTUgxˆ‰˜‡fUTDDUVgfUUEfwˆˆ¨—veTDDDUgvdTTFgx‰š˜‡veTTTUVgxfUUEfxˆ˜šˆveUDDTUfwveeTVgˆˆˆ§†fUDDDDUf†uUTVvtTFˆ™ªvT32Vxˆ˜™º‡uT3"Fxˆ™š«‡vTC2"4hˆ™š«˜‡eC23CeWh™ªªªš—eC2!!Dg™ª¹©ª‰fD322DxŠ«ª©Šˆ‰vuSC44f‰š«©ª‰wdD33EFwˆš™©©˜fUSCDVgЉ©š©‡vTC334fˆªªº™‡vefgxxxyˆ™¨©‰ˆxgeffWw‡ˆ—‰‡vdVfvvfgggwxˆ‡wuvvfv‡˜©˜˜—‡xwwwˆxˆˆˆeTC332""""""""222333333333333333333333333333CCCCCCCCCCCDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVfffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡wxwwggvv{¼ÍÞÿþþïïîÝÞïÿþîË©šÍîÿÿݺ¨†x¬Ýþÿþ̺ˆwexÌÝîïÿýÌ»™wfTg›½îÿÿÿÿܺ˜weTDg›Íîþÿÿÿî̪˜veSCDVмÝîîïïÿîܪ˜vUD334WЬÍîîîÿþ캘vdS333Vy«ÍÞîîÿÿïÞ̺™wffffvvwvvvvwxx™ª»ÌÝîîîííÜ˹˜vTC32"33EWy›¼ÍÝÝÞÞÞÝÌ»©wUC32"#3Eg‰ªÌÍÝÝÞÞÝÝÌ˪ˆvU3333333DUfw‰™ª»»»»»»«ª©™˜‡veeUUVfgwxxxxwwwˆˆ˜˜veD33333333333333333333333333333333333334DTUUeeeeeeffVfVeeeeeeeefVVfeefUefVeffffffffVffffvfUUUUTTTTUUUUUUUUUUUUUUUUUeeeeeUUUeUUUUUUUUUeeefffeeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvfvvueej¼ÍÞîýþîþþÝÍïÿþìʘ‰ÌÞïþܺ™‡x¬ÍÞþí»©‡vdh¼ÎÞîÿí˹˜vfTWš¼Ýîïÿþ˹—uTD3Wš¼ÞîîÿÿíË©—veD33U‰«ÍÞÞîîÿíÛ¹˜vdC334V‰«ÍÞÞîïîÛ¹—vTC333Exš¼ÍÝíîîÞͼª˜wfVfffgggfffvwx‰š«¼ÍÝÝÞÝÜÌ»©ˆfTC32"33DVxš»ÌÍÍÝÝÝÜ˺¨†dC32"#3Eg‰š»ÌÜÝÝÝÝÜÌ»©—vTC333333DUfwˆ™ª»»»»»»ªª©™ˆwveUUUVfgwxxxwwwwˆˆ‰˜fUD33333333233333333333333333333333333325Vhx™¨˜‰™˜wˆ«ÌË©‡eF‰«Íܹ‡eSDxš¼Ý˘vT335xš»ÌÝʘvUC324g™»ËÌÝÜ©ˆfD32"4hŠ»ÌÌÝÝ˨†dC3""3g‰«¼ÌÌÍÝ˹ˆfD32!#5hš«ËÌÌÝÜʘvTC2!"3W‰«¼ÌÍÝÝͼª™weTDTTUUUUUUUUefw‰š»ÌÍÝÝÌËʹ˜†dC3"#3Eg‰«¼¼ÌÌÜÜÌ»ªˆfD32!#4Vxš«¼ÌÍÍÝÜÌ˺¨‡eT33#"##33DUgx‰šªº»»«ªª©©˜ˆvfUUEUUefwwwwwwgwxxˆ˜fTD33322222222233333333333333333333333333DEEEUUUeffffWVffefVUeefffffffffffeefeeeffffefffffveeUUEEEDDDDDDEDDTTTTTUUUUUUUUTUEUUUUUUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeefVVVVVVVfffffffffffffffffffffffffffffffffffffffffffffffffggggggggggggggggggggggggggggwvwwvwwwwwgwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxww‡‡ww‡‡‡‡‡‡‡‡‡‡xwwwwwwwwwxww‡xww‡‡www‡‡‡‡‡wwxwwwwwwwwwxxxxw‡‡‡wwwww‡w‡‡‡‡‡xxxxxxxxxxw‡xwxwwwwxxxxxxxxxxxxxxxxwwxxw‡‡‡‡w‡xwwwwwwwwwwwwww‡‡xw‡w‡‡wwwwwwwxxxxxxxxxxxwwwwxxxxw‡‡‡wwwwww‡wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww‡‡‡wwwwwwwwwwwvy»Ê˽ÿÿÿþí˪ÎîîþïÿÝ̺™xwh¼ÝþþïÿÜ˺˜‡vfšÌÞîîÿíÛº¨‡y˜©­½ßÿÿþî몇uUTˆ¬ÍîýíÞ̹—vUUx›ÍîÞìÌÊË©©‡vWG™¼ÝÝÛÜ̪˜wfexy©ºÌ¼ËÛË™ˆ†vgy‰¼»Û½Ë¹˜‡fVVW‰«ÍÍݼ©‰w‡‰™™š›ª»º»«ªšˆ–ˆˆx˜¨ª¨ª¨‡†wˆˆ‡‡ˆˆˆˆ™š˜˜‡ˆ‡xx‰™«©ª™˜‰ˆˆˆ˜ˆ˜™™fUD3333222222223333333333333333333333333333333444444444444444444444DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDUUefgwwgwwwwwwwwwwwww‡wwwwwgwggwwwwgwwwvvwgwgwwwwwwfffVVVVUUUUUUUUUUVUUeeeeeeffVVfVVVVVVVVVVfeeffffffVVUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffvvvvvvvvvvvvvvvvvp \ No newline at end of file diff --git a/intro/wait3.wav.bin b/intro/wait3.wav.bin new file mode 100644 index 0000000..04d57b1 Binary files /dev/null and b/intro/wait3.wav.bin differ diff --git a/intro/wait4.wav.bin b/intro/wait4.wav.bin new file mode 100644 index 0000000..14852f7 Binary files /dev/null and b/intro/wait4.wav.bin differ diff --git a/intro/wait5.wav.bin b/intro/wait5.wav.bin new file mode 100644 index 0000000..f213471 Binary files /dev/null and b/intro/wait5.wav.bin differ diff --git a/intro/wait6.wav.bin b/intro/wait6.wav.bin new file mode 100644 index 0000000..2af0a8a Binary files /dev/null and b/intro/wait6.wav.bin differ diff --git a/lib/MACRO.ASM b/lib/MACRO.ASM index 1ce890a..1eaabb1 100644 --- a/lib/MACRO.ASM +++ b/lib/MACRO.ASM @@ -179,4 +179,9 @@ dex bne ?PAUSELOOP .ENDM - +;------------------------------------- + .MACRO POKEY_INIT + ; Initialises Pokey chip (required before playing sounds) + mva #0 AUDCTL + mva #3 SKSTAT + .ENDM