|
|
1.1 ! root 1: #pragma once ! 2: ! 3: #ifndef __NEXT_BUS_H__ ! 4: #define __NEXT_BUS_H__ ! 5: ! 6: #include <SDL_stdinc.h> ! 7: #include "log.h" ! 8: #include "cycInt.h" ! 9: ! 10: #define LOG_NEXTBUS_LEVEL LOG_NONE ! 11: ! 12: #ifdef __cplusplus ! 13: extern "C" { ! 14: #endif /* __cplusplus */ ! 15: void nextbus_init(void); ! 16: ! 17: Uint32 nextbus_slot_lget(Uint32 addr); ! 18: Uint32 nextbus_slot_wget(Uint32 addr); ! 19: Uint32 nextbus_slot_bget(Uint32 addr); ! 20: void nextbus_slot_lput(Uint32 addr, Uint32 val); ! 21: void nextbus_slot_wput(Uint32 addr, Uint32 val); ! 22: void nextbus_slot_bput(Uint32 addr, Uint32 val); ! 23: ! 24: Uint32 nextbus_board_lget(Uint32 addr); ! 25: Uint32 nextbus_board_wget(Uint32 addr); ! 26: Uint32 nextbus_board_bget(Uint32 addr); ! 27: void nextbus_board_lput(Uint32 addr, Uint32 val); ! 28: void nextbus_board_wput(Uint32 addr, Uint32 val); ! 29: void nextbus_board_bput(Uint32 addr, Uint32 val); ! 30: ! 31: void NextBus_Reset(void); ! 32: void NextBus_Pause(bool pause); ! 33: #ifdef __cplusplus ! 34: } ! 35: #endif /* __cplusplus */ ! 36: ! 37: #ifdef __cplusplus ! 38: ! 39: #define FOR_EACH_SLOT(slot) for(int (slot) = 2; (slot) < 8; (slot) += 2) ! 40: #define IF_NEXT_DIMENSION(slot, nd) if(NextDimension* nd = dynamic_cast<NextDimension*>(nextbus[(slot)])) ! 41: ! 42: class NextBusSlot { ! 43: public: ! 44: int slot; ! 45: ! 46: NextBusSlot(int slot); ! 47: ! 48: virtual ~NextBusSlot(); ! 49: ! 50: virtual Uint32 slot_lget(Uint32 addr); ! 51: virtual Uint16 slot_wget(Uint32 addr); ! 52: virtual Uint8 slot_bget(Uint32 addr); ! 53: virtual void slot_lput(Uint32 addr, Uint32 val); ! 54: virtual void slot_wput(Uint32 addr, Uint16 val); ! 55: virtual void slot_bput(Uint32 addr, Uint8 val); ! 56: ! 57: virtual Uint32 board_lget(Uint32 addr); ! 58: virtual Uint16 board_wget(Uint32 addr); ! 59: virtual Uint8 board_bget(Uint32 addr); ! 60: virtual void board_lput(Uint32 addr, Uint32 val); ! 61: virtual void board_wput(Uint32 addr, Uint16 val); ! 62: virtual void board_bput(Uint32 addr, Uint8 val); ! 63: ! 64: virtual void reset(void); ! 65: virtual void pause(bool pause); ! 66: }; ! 67: ! 68: class NextBusBoard : public NextBusSlot { ! 69: public: ! 70: NextBusBoard(int slot); ! 71: }; ! 72: ! 73: extern NextBusSlot* nextbus[]; ! 74: ! 75: #endif /* __cplusplus */ ! 76: ! 77: #endif /* __NEXT_BUS_H__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.