Skip to content

Commit 3bb8ae9

Browse files
committed
Better timing calculation, et alia.
1 parent a2d9ed0 commit 3bb8ae9

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

src/main.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ void setup() {
5858
}
5959

6060
lcd.setFont(&fonts::Font2);
61-
lcd.println("NANO DRIVE DEV");
62-
lcd.println("2024, 2025 Fujix@e2j.net");
63-
lcd.printf("Firmware: 3.12\n\n");
61+
lcd.println("NANO DRIVE 7");
62+
lcd.println("2024-2026 Fujix@e2j.net");
63+
lcd.printf("Firmware: 3.14\n\n");
6464

6565
// PSRAM 初期化確認
6666
if (psramInit()) {

src/vgm.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,14 @@ bool VGM::ready() {
9494

9595
// VGM ident
9696
if (ndFile.get_ui32_at(0) != 0x206d6756) {
97-
Serial.println("ERROR: VGMファイル解析失敗");
97+
if (ndFile.get_ui16_at(0) != 0x1f8b) {
98+
lcd.printf("ERROR: The file is VGZ archive. Extract it and add a .vgm extension.\n");
99+
Serial.println("ERROR: VGZファイルです。解凍してください。");
100+
101+
} else {
102+
lcd.printf("ERROR: File format is not VGM.\n");
103+
Serial.println("ERROR: VGM以外のファイルです。");
104+
}
98105
vgmLoaded = false;
99106
return false;
100107
}
@@ -445,8 +452,8 @@ si5351Freq_t VGM::normalizeFreq(u32_t freq, t_chip chip) {
445452
case CHIP_YM2203_0:
446453
case CHIP_YM2203_1: {
447454
switch (freq) {
448-
case 1250000: // 1.25MHz
449-
case 0x041312d0: // デュアル
455+
case 1250000: // 1.25MHz
456+
case 0x0401312d0: // デュアル
450457
return SI5351_1250;
451458
break;
452459
case 1500000: // 1.5MHz
@@ -455,7 +462,6 @@ si5351Freq_t VGM::normalizeFreq(u32_t freq, t_chip chip) {
455462
return SI5351_1500;
456463
break;
457464
case 3000000: // 3MHz
458-
case 0x042dc6c0:
459465
return SI5351_3000;
460466
break;
461467
case 3072000: // 3.072MHz
@@ -690,7 +696,7 @@ void VGM::vgmProcess() {
690696
}
691697

692698
_vgmRealSamples = _vgmSamples;
693-
_vgmWaitUntil = _vgmStart + _vgmRealSamples * 22.67573696145125;
699+
_vgmWaitUntil = _vgmStart + (_vgmRealSamples * 1000000) / 44100;
694700

695701
while (_vgmWaitUntil > micros64()) {
696702
ets_delay_us(100);

0 commit comments

Comments
 (0)