root/src/dps8/dps8_iefp.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * vim: filetype=c:tabstop=4:ai:expandtab
   3  * SPDX-License-Identifier: ICU
   4  * scspell-id: 79aba365-f62e-11ec-b567-80ee73e9b8e7
   5  *
   6  * ---------------------------------------------------------------------------
   7  *
   8  * Copyright (c) 2007-2013 Michael Mondy
   9  * Copyright (c) 2012-2016 Harry Reed
  10  * Copyright (c) 2013-2016 Charles Anthony
  11  * Copyright (c) 2015 Eric Swenson
  12  * Copyright (c) 2021-2024 The DPS8M Development Team
  13  *
  14  * This software is made available under the terms of the ICU License.
  15  * See the LICENSE.md file at the top-level directory of this distribution.
  16  *
  17  * ---------------------------------------------------------------------------
  18  */
  19 
  20 #if defined(OLDAPP)
  21 void Read (word18 addr, word36 *dat, processor_cycle_type cyctyp);
  22 void Read2 (word18 addr, word36 *dat, processor_cycle_type cyctyp);
  23 void Write (word18 addr, word36 dat, processor_cycle_type cyctyp);
  24 void Write2 (word18 address, word36 * data, processor_cycle_type cyctyp);
  25 # define ReadAPUDataRead(addr,data) Read (addr, data, APU_DATA_READ)
  26 # define ReadOperandRead(addr,data) Read (addr, data, OPERAND_READ)
  27 # if defined(LOCKLESS)
  28 #  define ReadOperandRMW(addr,data) Read (addr, data, OPERAND_RMW)
  29 #  define ReadAPUDataRMW(addr,data) Read (addr, data, APU_DATA_RMW)
  30 # else
  31 #  define ReadOperandRMW ReadOperandRead
  32 #  define ReadAPUDataRMW ReadAPUDataRead
  33 # endif /* if defined(LOCKLESS) */
  34 # define ReadInstructionFetch(addr,data) Read (addr, data, INSTRUCTION_FETCH)
  35 # define ReadIndirectWordFetch(addr,data) Read2 (addr, data, INDIRECT_WORD_FETCH)
  36 # define Read2OperandRead(addr,data) Read2 (addr, data, OPERAND_READ)
  37 # if defined(LOCKLESS)
  38 #  define Read2OperandRMW(addr,data) Read2 (addr, data, OPERAND_RMW)
  39 # endif /* if defined(LOCKLESS) */
  40 # define Read2InstructionFetch(addr,data) Read2 (addr, data, INSTRUCTION_FETCH)
  41 # define Read2RTCDOperandFetch(addr,data) Read2 (addr, data, RTCD_OPERAND_FETCH)
  42 # define Read2IndirectWordFetch(addr,data) Read2 (addr, data, INDIRECT_WORD_FETCH)
  43 # define WriteAPUDataStore(addr,data) Write (addr, data, APU_DATA_STORE)
  44 # define WriteOperandStore(addr,data) Write (addr, data, OPERAND_STORE)
  45 # define Write2OperandStore(addr,data) Write2 (addr, data, OPERAND_STORE)
  46 #else
  47 void ReadAPUDataRead (cpu_state_t * cpup, word18 addr, word36 *dat);
  48 void ReadOperandRead (cpu_state_t * cpup, word18 addr, word36 *dat);
  49 # if defined(LOCKLESS)
  50 void ReadOperandRMW (cpu_state_t * cpup, word18 addr, word36 *dat);
  51 void ReadAPUDataRMW (cpu_state_t * cpup, word18 addr, word36 *dat);
  52 # else
  53 #  define ReadOperandRMW ReadOperandRead
  54 #  define ReadAPUDataRMW ReadAPUDataRead
  55 # endif /* if defined(LOCKLESS) */
  56 void ReadInstructionFetch (cpu_state_t * cpup, word18 addr, word36 *dat);
  57 void ReadIndirectWordFetch (cpu_state_t * cpup, word18 address, word36 * result);
  58 void Read2OperandRead (cpu_state_t * cpup, word18 address, word36 * result);
  59 # if defined(LOCKLESS)
  60 void Read2OperandRMW (cpu_state_t * cpup, word18 address, word36 * result);
  61 # endif /* if defined(LOCKLESS) */
  62 void Read2InstructionFetch (cpu_state_t * cpup, word18 address, word36 * result);
  63 void Read2RTCDOperandFetch (cpu_state_t * cpup, word18 address, word36 * result);
  64 void Read2IndirectWordFetch (cpu_state_t * cpup, word18 address, word36 * result);
  65 void WriteAPUDataStore (cpu_state_t * cpup, word18 addr, word36 dat);
  66 void WriteOperandStore (cpu_state_t * cpup, word18 addr, word36 dat);
  67 void Write2OperandStore (cpu_state_t * cpup, word18 address, word36 * data);
  68 #endif /* if defined(OLDAPP) */
  69 void Write1 (cpu_state_t * cpup, word18 address, word36 data, bool isAR);
  70 void Write8 (cpu_state_t * cpup, word18 address, word36 * data, bool isAR);
  71 void Write16 (cpu_state_t * cpup, word18 address, word36 * data);
  72 void Write32 (cpu_state_t * cpup, word18 address, word36 * data);
  73 void Read8 (cpu_state_t * cpup, word18 address, word36 * result, bool isAR);
  74 void Read16 (cpu_state_t * cpup, word18 address, word36 * result);
  75 void WritePage (cpu_state_t * cpup, word18 address, word36 * data, bool isAR);
  76 void ReadPage (cpu_state_t * cpup, word18 address, word36 * result, bool isAR);
  77 void ReadIndirect (cpu_state_t * cpup);

/* [previous][next][first][last][top][bottom][index][help] */