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

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

unix.superglobalmegacorp.com

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