delete fio;
}
+uint32_t MSDOSROM::read_dma_data8w(uint32_t addr, int* wait)
+{
+ uint32_t val = read_memory_mapped_io8(addr); // OK?
+ __LIKELY_IF(wait != NULL) {
+ *wait = 0; // Discard WAIT VALUE(s) for DMA transfer.
+ }
+ return val;
+}
+
+uint32_t MSDOSROM::read_dma_data16w(uint32_t addr, int* wait)
+{
+ uint32_t val = read_memory_mapped_io16(addr); // OK?
+ __LIKELY_IF(wait != NULL) {
+ *wait = 0; // Discard WAIT VALUE(s) for DMA transfer.
+ }
+ return val;
+}
+
+uint32_t MSDOSROM::read_dma_data32w(uint32_t addr, int* wait)
+{
+ uint32_t val = read_memory_mapped_io32(addr); // OK?
+ __LIKELY_IF(wait != NULL) {
+ *wait = 0; // Discard WAIT VALUE(s) for DMA transfer.
+ }
+ return val;
+}
+
uint32_t MSDOSROM::read_memory_mapped_io8(uint32_t addr)
{
__LIKELY_IF(addr < 0x80000) {
return rom[addr];
}
return 0xff;
- #if 0
- uint8_t d = 0xff;
- if((addr >= 0xc2000000) && (addr < 0xc2080000)) {
- d = rom[addr & 0x7ffff];
- } else if((addr >= 0x000b0000) && (addr < 0x000c0000)) {
- d = rom[addr & 0x0ffff];
- }
- return (uint32_t)d;
- #endif
}
uint32_t MSDOSROM::read_memory_mapped_io16(uint32_t addr)
~MSDOSROM() {}
void initialize() override;
+
+ uint32_t __FASTCALL read_dma_data8w(uint32_t addr, int* wait) override;
+ uint32_t __FASTCALL read_dma_data16w(uint32_t addr, int* wait) override;
+ uint32_t __FASTCALL read_dma_data32w(uint32_t addr, int* wait) override;
uint32_t __FASTCALL read_memory_mapped_io8(uint32_t addr) override;
uint32_t __FASTCALL read_memory_mapped_io16(uint32_t addr) override;
uint32_t __FASTCALL read_memory_mapped_io32(uint32_t addr) override;