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-2023 The DPS8M Development Team
  13  *
  14  * All rights reserved.
  15  *
  16  * This software is made available under the terms of the ICU
  17  * License, version 1.8.1 or later.  For more details, see the
  18  * LICENSE.md file at the top-level directory of this distribution.
  19  *
  20  * ---------------------------------------------------------------------------
  21  */
  22 
  23 #ifdef OLDAPP
  24 void Read (word18 addr, word36 *dat, processor_cycle_type cyctyp);
  25 void Read2 (word18 addr, word36 *dat, processor_cycle_type cyctyp);
  26 void Write (word18 addr, word36 dat, processor_cycle_type cyctyp);
  27 void Write2 (word18 address, word36 * data, processor_cycle_type cyctyp);
  28 # define ReadAPUDataRead(addr,data) Read (addr, data, APU_DATA_READ)
  29 # define ReadOperandRead(addr,data) Read (addr, data, OPERAND_READ)
  30 # ifdef LOCKLESS
  31 #  define ReadOperandRMW(addr,data) Read (addr, data, OPERAND_RMW)
  32 #  define ReadAPUDataRMW(addr,data) Read (addr, data, APU_DATA_RMW)
  33 # else
  34 #  define ReadOperandRMW ReadOperandRead
  35 #  define ReadAPUDataRMW ReadAPUDataRead
  36 # endif
  37 # define ReadInstructionFetch(addr,data) Read (addr, data, INSTRUCTION_FETCH)
  38 # define ReadIndirectWordFetch(addr,data) Read2 (addr, data, INDIRECT_WORD_FETCH)
  39 # define Read2OperandRead(addr,data) Read2 (addr, data, OPERAND_READ)
  40 # ifdef LOCKLESS
  41 #  define Read2OperandRMW(addr,data) Read2 (addr, data, OPERAND_RMW)
  42 # endif
  43 # define Read2InstructionFetch(addr,data) Read2 (addr, data, INSTRUCTION_FETCH)
  44 # define Read2RTCDOperandFetch(addr,data) Read2 (addr, data, RTCD_OPERAND_FETCH)
  45 # define Read2IndirectWordFetch(addr,data) Read2 (addr, data, INDIRECT_WORD_FETCH)
  46 # define WriteAPUDataStore(addr,data) Write (addr, data, APU_DATA_STORE)
  47 # define WriteOperandStore(addr,data) Write (addr, data, OPERAND_STORE)
  48 # define Write2OperandStore(addr,data) Write2 (addr, data, OPERAND_STORE)
  49 #else // !OLDAPP
  50 void ReadAPUDataRead (word18 addr, word36 *dat);
  51 void ReadOperandRead (word18 addr, word36 *dat);
  52 # ifdef LOCKLESS
  53 void ReadOperandRMW (word18 addr, word36 *dat);
  54 void ReadAPUDataRMW (word18 addr, word36 *dat);
  55 # else
  56 #  define ReadOperandRMW ReadOperandRead
  57 #  define ReadAPUDataRMW ReadAPUDataRead
  58 # endif
  59 void ReadInstructionFetch (word18 addr, word36 *dat);
  60 void ReadIndirectWordFetch (word18 address, word36 * result);
  61 void Read2OperandRead (word18 address, word36 * result);
  62 # ifdef LOCKLESS
  63 void Read2OperandRMW (word18 address, word36 * result);
  64 # endif
  65 void Read2InstructionFetch (word18 address, word36 * result);
  66 void Read2RTCDOperandFetch (word18 address, word36 * result);
  67 void Read2IndirectWordFetch (word18 address, word36 * result);
  68 void WriteAPUDataStore (word18 addr, word36 dat);
  69 void WriteOperandStore (word18 addr, word36 dat);
  70 void Write2OperandStore (word18 address, word36 * data);
  71 #endif // !OLDAPP
  72 void Write1 (word18 address, word36 data, bool isAR);
  73 void Write8 (word18 address, word36 * data, bool isAR);
  74 void Write16 (word18 address, word36 * data);
  75 void Write32 (word18 address, word36 * data);
  76 void Read8 (word18 address, word36 * result, bool isAR);
  77 void Read16 (word18 address, word36 * result);
  78 void WritePage (word18 address, word36 * data, bool isAR);
  79 void ReadPage (word18 address, word36 * result, bool isAR);
  80 void ReadIndirect (void);

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