interconnect.h (780B)
1 #pragma once 2 3 #include "bios.h" 4 #include "mem.h" 5 #include "gpu.h" 6 #include "types.h" 7 #include "cdrom.h" 8 #include "irq.h" 9 10 struct Interconnect { 11 BIOS* bios; 12 RAM* ram; 13 DMA* dma; 14 GPU* gpu; 15 cdrom* cdrom; 16 irq irq; 17 }; 18 19 typedef struct Interconnect Interconnect; 20 21 Interconnect* new_interconnect(void); 22 u32 INTER_load32(Interconnect*, u32); 23 u16 INTER_load16(Interconnect*, u32); 24 u8 INTER_load8(Interconnect*, u32); 25 void INTER_store32(Interconnect*, u32, u32); 26 void INTER_store16(Interconnect*, u32, u16); 27 void INTER_store8(Interconnect*, u32, u8); 28 29 u32 INTER_dma_reg(Interconnect*, u32); 30 void INTER_set_dma_reg(Interconnect*, u32, u32); 31 void INTER_do_dma(Interconnect*, Port); 32 void INTER_do_dma_block(Interconnect*, Port); 33 void INTER_do_dma_linked_list(Interconnect*, Port);