Fix auto repeat of CDDA
This commit is contained in:
parent
aa343d1ccd
commit
582e0d9f34
|
@ -5,8 +5,8 @@ namespace JabyEngine {
|
||||||
namespace CDDA {
|
namespace CDDA {
|
||||||
namespace CD = JabyEngine::CD::internal;
|
namespace CD = JabyEngine::CD::internal;
|
||||||
|
|
||||||
static CD::BCDTimeStamp playing_track;
|
|
||||||
static CD::BCDTimeStamp last_track;
|
static CD::BCDTimeStamp last_track;
|
||||||
|
CD::BCDTimeStamp playing_track;
|
||||||
|
|
||||||
TrackList get_tracks() {
|
TrackList get_tracks() {
|
||||||
CD::Command::send_wait_response(CD_IO::Command::GetTN);
|
CD::Command::send_wait_response(CD_IO::Command::GetTN);
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
#include <stdio.hpp>
|
#include <stdio.hpp>
|
||||||
|
|
||||||
namespace JabyEngine {
|
namespace JabyEngine {
|
||||||
|
namespace CDDA {
|
||||||
|
extern CD::internal::BCDTimeStamp playing_track;
|
||||||
|
}
|
||||||
|
|
||||||
namespace CDXA {
|
namespace CDXA {
|
||||||
CD::internal::State interrupt_handler(uint8_t irq);
|
CD::internal::State interrupt_handler(uint8_t irq);
|
||||||
}
|
}
|
||||||
|
@ -148,8 +152,7 @@ namespace JabyEngine {
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case CD_IO::Interrupt::DataEnd: {
|
case CD_IO::Interrupt::DataEnd: {
|
||||||
// TODO: Fix this!! This is a freaking static time
|
resume_at0(CDDA::playing_track);
|
||||||
resume_at0(BCDTimeStamp{.min = 0x0, .sec = 0x09, .sector = 0x0});
|
|
||||||
Command::send(CD_IO::Command::Play);
|
Command::send(CD_IO::Command::Play);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue