Skip to content

Commit

Permalink
vgm: fix ym2612 bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Federico Berti committed Sep 30, 2019
1 parent bf8a3a6 commit bc5df9a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/uk/co/omgdrv/simplevgm/Runner.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class Runner {

private static boolean DISABLE_PSG = false;
private static String VGM_FOLDER = "vgm/psg";
private static String VGM_FILE = null; //"vgm/flash/Flash, The - 01 - Title Screen.vgz";
private static String VGM_FILE = null; //"vgm/test03.vgm"; //"vgm/flash/Flash, The - 01 - Title Screen.vgz";
private static boolean runPsgCompare = false;

private static Predicate<Path> vgmFilesPredicate = p ->
Expand Down
7 changes: 3 additions & 4 deletions src/uk/co/omgdrv/simplevgm/VgmEmu.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,9 @@ protected int parseHeader(byte[] data)

// PSG clock rate
int clockRate = vgmHeader.getSn76489Clk();
if (clockRate > 0) {
psg = psg == VgmPsgProvider.NO_SOUND ? new SmsApu() : psg;
}
//this needs to be set even if there is no psg
clockRate = clockRate > 0 ? clockRate : 3579545;
psg = new SmsApu(); //this needs to be created even if there is no psg
psgFactor = (int) ((float) psgTimeUnit / vgmRate * clockRate + 0.5);

// FM clock rate
Expand All @@ -90,6 +88,7 @@ protected int parseHeader(byte[] data)
psg.setOutput(buf.center(), buf.left(), buf.right());
pos = vgmHeader.getDataOffset();

System.out.println(vgmHeader.toString());
return 1;
}

Expand Down Expand Up @@ -156,7 +155,7 @@ private int toFMTime(int vgmTime)
if (fm instanceof Ym2413Provider) {
return (int) Math.round(vgmTime / vgmSamplesPerMs);
} else {
return countSamples(toPSGTime(vgmTime));
return countSamples(toPSGTimeGreen(vgmTime));
}
}

Expand Down

0 comments on commit bc5df9a

Please sign in to comment.