MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / IORead_C07x

Function IORead_C07x

source/Memory.cpp:753–781  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

751//-------------------------------------
752
753static BYTE __stdcall IORead_C07x(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nExecutedCycles)
754{
755 // Apple//e TRM, pg-258: "Reading or writing any address in the range $C070-$C07F also triggers the paddle timer and resets the VBLINT(*)." (*) //c only!
756 JoyResetPosition(nExecutedCycles); //$C07X Analog input reset
757
758 switch (addr & 0xf)
759 {
760 case 0x0: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
761 case 0x1: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
762 case 0x2: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
763 case 0x3: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
764 case 0x4: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
765 case 0x5: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
766 case 0x6: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
767 case 0x7: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
768 case 0x8: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
769 case 0x9: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
770 case 0xA: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
771 case 0xB: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
772 case 0xC: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
773 case 0xD: return IO_Null(pc, addr, bWrite, d, nExecutedCycles);
774 case 0xE: return IS_APPLE2C() ? MemReadFloatingBus(SW_IOUDIS ? true : false, nExecutedCycles) // GH#636
775 : IO_Null(pc, addr, bWrite, d, nExecutedCycles);
776 case 0xF: return IsEnhancedIIEorIIC() ? MemReadFloatingBus(GetVideo().VideoGetSWDHIRES(), nExecutedCycles) // GH#636
777 : IO_Null(pc, addr, bWrite, d, nExecutedCycles);
778 }
779
780 return 0;
781}
782
783static BYTE __stdcall IOWrite_C07x(WORD pc, WORD addr, BYTE bWrite, BYTE d, ULONG nExecutedCycles)
784{

Callers

nothing calls this directly

Calls 5

JoyResetPositionFunction · 0.85
IO_NullFunction · 0.85
IsEnhancedIIEorIICFunction · 0.85
VideoGetSWDHIRESMethod · 0.80
MemReadFloatingBusFunction · 0.70

Tested by

no test coverage detected