Annotation of nono/m680x0/m68030bus.h, revision 1.1.1.2

1.1       root        1: //
                      2: // nono
1.1.1.2 ! root        3: // Copyright (C) 2020 nono project
        !             4: // Licensed under nono-license.txt
1.1       root        5: //
                      6: 
                      7: #pragma once
                      8: 
                      9: #include "bus.h"
                     10: 
                     11: // 基本アクセス
                     12: extern uint32 m68030_fetch_8(m68kcpu *cpu);
                     13: extern uint32 m68030_fetch_16(m68kcpu *cpu);
                     14: extern uint32 m68030_fetch_32(m68kcpu *cpu);
                     15: extern uint32 m68030_read_8(m68kcpu *cpu, uint32 addr);
                     16: extern uint32 m68030_read_16(m68kcpu *cpu, uint32 addr);
                     17: extern uint32 m68030_read_32(m68kcpu *cpu, uint32 addr);
                     18: extern void m68030_write_8(m68kcpu *cpu, uint32 addr, uint32 data);
                     19: extern void m68030_write_16(m68kcpu *cpu, uint32 addr, uint32 data);
                     20: extern void m68030_write_32(m68kcpu *cpu, uint32 addr, uint32 data);
                     21: // FC 指定
                     22: extern uint32 m68030_read_8_fc(m68kcpu *cpu, uint32 addr);
                     23: extern uint32 m68030_read_16_fc(m68kcpu *cpu, uint32 addr);
                     24: extern uint32 m68030_read_32_fc(m68kcpu *cpu, uint32 addr);
                     25: extern void m68030_write_8_fc(m68kcpu *cpu, uint32 addr, uint32 data);
                     26: extern void m68030_write_16_fc(m68kcpu *cpu, uint32 addr, uint32 data);
                     27: extern void m68030_write_32_fc(m68kcpu *cpu, uint32 addr, uint32 data);
                     28: 
                     29: // 基本アクセスルーチンを使った便利サブルーチン
                     30: static inline void
                     31: m68030_push_16(m68kcpu *cpu, uint32 data)
                     32: {
                     33:        RegA(7) -= 2;
                     34:        m68030_write_16(cpu, RegA(7), data);
                     35: }
                     36: static inline void
                     37: m68030_push_32(m68kcpu *cpu, uint32 data)
                     38: {
                     39:        RegA(7) -= 4;
                     40:        m68030_write_32(cpu, RegA(7), data);
                     41: }
                     42: 
                     43: static inline uint32
                     44: m68030_pop_16(m68kcpu *cpu)
                     45: {
                     46:        uint32 data = m68030_read_16(cpu, RegA(7));
                     47:        RegA(7) += 2;
                     48:        return data;
                     49: }
                     50: 
                     51: static inline uint32
                     52: m68030_pop_32(m68kcpu *cpu)
                     53: {
                     54:        uint32 data = m68030_read_32(cpu, RegA(7));
                     55:        RegA(7) += 4;
                     56:        return data;
                     57: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.