File:  [Isaki's NoNo m68k/m88k emulator] / nono / m680x0 / m68030fpu.h
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:05:26 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v020, HEAD
nono 1.0.0

//
// nono
// Copyright (C) 2020 nono project
// Licensed under nono-license.txt
//

#pragma once

#define SIZE_L	(0)
#define SIZE_S	(1)
#define SIZE_X	(2)
#define SIZE_P	(3)
#define SIZE_W	(4)
#define SIZE_D	(5)
#define SIZE_B	(6)

	void fpu_init();
	void fpu_reset();
	uint32 cea_fpu(int bytes);
	void read_8(uint32 addr, uint32 *data);
	void read_12(uint32 addr, uint32 *data);
	void write_8(uint32 addr, const uint32 *data);
	void write_12(uint32 addr, const uint32 *data);
	bool readSRC(int size_id, struct fpn *);

	void fpu_op_illg();
	void fpu_op_illg2();

	void fpu_op_fgen_reg();
	void fpu_op_fgen_mem();
	void fgen();
	void fpu_op_fmovecr();
	void fpu_op_fmove_b_mem();
	void fpu_op_fmove_w_mem();
	void fpu_op_fmove_l_mem();
	void fpu_op_fmove_s_mem();
	void fpu_op_fmove_d_mem();
	void fpu_op_fmove_x_mem();
	void fpu_op_fmove_p_mem();
	void fpu_op_fmove_ea2ctl();
	void fpu_op_fmovem_ea2ctl();
	void fpu_op_fmove_ctl2ea();
	void fpu_op_fmovem_ctl2ea();
	void fpu_op_fmovem_ea2reg();
	void fpu_op_fmovem_reg2ea();
	void fpu_op_fscc();
	void fpu_op_fdbcc();
	void fpu_op_ftrapcc_w();
	void fpu_op_ftrapcc_l();
	void fpu_op_ftrapcc();
	void fpu_op_fbcc_w();
	void fpu_op_fbcc_l();
	void fpu_op_fsave();
	void fpu_op_frestore();

	static struct fpframe initial_fpframe;
	static const uint32 fsave_frame_null[1];
	static const uint32 fsave_frame_idle[7];

unix.superglobalmegacorp.com

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