OSDN Git Service

client 0.6.0 release
[unagi/old-svn-converted.git] / client / tag / 0.6.0 / hard_hongkongfc.h
1 #ifndef _HONGKONGFC_HARD_H_
2 #define _HONGKONGFC_HARD_H_
3 /*
4 DATA PORT
5 BIT0-BIT7: DATA IN/OUT, ADDRESS, BUS CONTROL
6 STATUS PORT:
7 BIT7: DATA ½ÐÎϳÎǧ?
8 CONTROL PORT:
9 BIT~0: DATA PORT LATCH CLOCK
10   H->L ¤Ç LATCH
11 BIT~1 2 3: DATA PORT SELECT
12 BIT4: ³ä¤ê¹þ¤ßµö²Ä MUST BE 0
13 BIT5: PORT DIRECTION
14   L PC->BUS
15   H BUS->PC
16 */
17 enum{
18         BITNUM_CONTROL_DATA_LATCH = 0,
19         BITNUM_CONTROL_DATA_SELECT,
20         BITNUM_CONTROL_INTERRUPT = 4,
21         BITNUM_CONTROL_DIRECTION
22 };
23 /*
24 DATA PORT SELECT
25 0: DATA BUS DIRECTION PC->BUS
26 1: DATA BUS DIRECTION BUS->PC
27 2: WRITE->READ ¤ËÀڤ괹¤¨¤ë¤È DATA_SELECT_A23toA16 ¤¬ÇË»¤¹¤ë
28 3: WRITE->READ ¤ËÀڤ괹¤¨¤ë¤È DATA_SELECT_CONTROL ¤¬ÇË»¤¹¤ë
29 4: LATCH cartridge control
30 5: LATCH A23-A16, fc ¤Ç¤Ï write data
31 6: LATCH A15-A8
32 7: LATCH A7-A0
33 */
34 enum{
35         DATA_SELECT_WRITE = 0,
36         DATA_SELECT_READ,
37         DATA_SELECT_BREAK_DATA,
38         DATA_SELECT_BREAK_CONTROL,
39         DATA_SELECT_A7toA0 = 4,
40         DATA_SELECT_A15toA8,
41         DATA_SELECT_A23toA16,
42         DATA_SELECT_CONTROL,
43         DATA_SELECT_WRITEDATA = DATA_SELECT_A23toA16
44 };
45 enum{
46         BITNUM_PPU_OUTPUT = 0,
47         BITNUM_PPU_SELECT,
48         BITNUM_PPU_RW,
49         //bit3̤»ÈÍÑ
50         BITNUM_WRITEDATA_OUTPUT = 4, //b0 L ¤Ç½ÐÎÏ
51         BITNUM_WRITEDATA_LATCH, //b1 L->H
52         BITNUM_CPU_RW, //b2
53         BITNUM_CPU_M2 //b3
54 };
55 #endif