diff --git a/src/Library/src/Audio/CDDA.cpp b/src/Library/src/Audio/CDDA.cpp index 532dfe82..6ef3cd24 100644 --- a/src/Library/src/Audio/CDDA.cpp +++ b/src/Library/src/Audio/CDDA.cpp @@ -5,8 +5,8 @@ namespace JabyEngine { namespace CDDA { namespace CD = JabyEngine::CD::internal; - static CD::BCDTimeStamp playing_track; static CD::BCDTimeStamp last_track; + CD::BCDTimeStamp playing_track; TrackList get_tracks() { CD::Command::send_wait_response(CD_IO::Command::GetTN); diff --git a/src/Library/src/CD/cd.cpp b/src/Library/src/CD/cd.cpp index fab139fe..7cbee843 100644 --- a/src/Library/src/CD/cd.cpp +++ b/src/Library/src/CD/cd.cpp @@ -6,6 +6,10 @@ #include namespace JabyEngine { + namespace CDDA { + extern CD::internal::BCDTimeStamp playing_track; + } + namespace CDXA { CD::internal::State interrupt_handler(uint8_t irq); } @@ -148,8 +152,7 @@ namespace JabyEngine { } break; case CD_IO::Interrupt::DataEnd: { - // TODO: Fix this!! This is a freaking static time - resume_at0(BCDTimeStamp{.min = 0x0, .sec = 0x09, .sector = 0x0}); + resume_at0(CDDA::playing_track); Command::send(CD_IO::Command::Play); } break;