Started Adding Template on YMF262 HAL to allow GPIO Manipulation thru policies
This commit is contained in:
parent
92b9f02577
commit
8010c9355b
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,43 @@
|
|||
#ifndef YMF262_HAL
|
||||
#define YMF262_HAL
|
||||
#ifndef YMF262_HAL_HPP
|
||||
#define YMF262_HAL_HPP
|
||||
|
||||
class YMF262_HAL;
|
||||
#include <cstdint>
|
||||
|
||||
template <class GPIOPolicy>
|
||||
class YMF262_HAL{
|
||||
private:
|
||||
GPIOPolicy _gpio;
|
||||
uint32_t _t_icw_ticks;
|
||||
uint32_t _t_as_ticks;
|
||||
uint32_t _t_ah_ticks;
|
||||
uint32_t _t_csw_ticks;
|
||||
uint32_t _t_csr_ticks;
|
||||
uint32_t _t_ww_ticks;
|
||||
uint32_t _t_wds_ticks;
|
||||
uint32_t _t_wdh_ticks;
|
||||
uint32_t _t_rw_ticks;
|
||||
uint32_t _t_acc_ticks;
|
||||
uint32_t _t_rdh_ticks;
|
||||
uint32_t _t_recovery_ticks;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
YMF262_HAL(GPIOPolicy policy, uint32_t opl_clock, uint32_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);
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -1,33 +1,5 @@
|
|||
#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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue