Start Implenting the YMF262 HAL layer

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda
2026-04-29 22:55:41 -03:00
parent 49fd6664cc
commit 92b9f02577
4 changed files with 39 additions and 3 deletions
-1
View File
@@ -1 +0,0 @@
#include "YMF262-HAL.h"
+33
View File
@@ -0,0 +1,33 @@
#include "YMF262-HAL.hpp"
#include <cstdint>
class YMF262_HAL{
private:
uint_32_t _t_icw_ticks;
uint_32_t _t_as_ticks;
uint_32_t _t_ah_ticks;
uint_32_t _t_csw_ticks;
uint_32_t _t_csr_ticks;
uint_32_t _t_ww_ticks;
uint_32_t _t_wds_ticks;
uint_32_t _t_wdh_ticks;
uint_32_t _t_rw_ticks;
uint_32_t _t_acc_ticks;
uint_32_t _t_rdh__ticks;
uint_32_t _t_recovery_ticks;
YMF262_HAL(uint_32_t opl_clock, uint_32_t cpu_clock){
_t_icw_ticks = (400 * cpu_clock) / opl_clock;
_t_recovery_ticks = (32 * cpu_clock) / opl_clock;
double ticks_per_ns = (double)cpu_clock / 1.0e9;
_t_as_ticks = (uint32_t)(10 * ticks_per_ns);
_t_ah_ticks = (uint32_t)(10 * ticks_per_ns);
_t_csw_ticks = (uint32_t)(100 * ticks_per_ns);
_t_ww_ticks = (uint32_t)(100 * ticks_per_ns);
_t_wds_ticks = (uint32_t)(10 * ticks_per_ns);
_t_wdh_ticks = (uint32_t)(20 * ticks_per_ns);
_t_csr_ticks = (uint32_t)(150 * ticks_per_ns);
_t_rw_ticks = (uint32_t)(150 * ticks_per_ns);
_t_acc_ticks = (uint32_t)(150 * ticks_per_ns);
_t_rdh__ticks = (uint32_t)(10 * ticks_per_ns);
}