trunk/src/mess/drivers/pc9801.c
| r19452 | r19453 | |
| 317 | 317 | int m_dack; |
| 318 | 318 | |
| 319 | 319 | UINT8 m_vrtc_irq_mask; |
| 320 | | UINT8 m_video_ff[8]; |
| 320 | UINT8 m_video_ff[8],m_gfx_ff; |
| 321 | 321 | UINT8 m_video_reg[6]; |
| 322 | 322 | UINT8 m_pal_clut[4]; |
| 323 | 323 | |
| r19452 | r19453 | |
| 1051 | 1051 | |
| 1052 | 1052 | WRITE8_MEMBER(pc9801_state::pc9801_video_ff_w) |
| 1053 | 1053 | { |
| 1054 | | |
| 1055 | 1054 | if((offset & 1) == 0) |
| 1056 | 1055 | { |
| 1057 | | m_video_ff[(data & 0x0e) >> 1] = data & 1; |
| 1056 | /* |
| 1057 | TODO: this is my best bet so far. Register 4 is annoying, the pattern always is: |
| 1058 | Write to video FF register Graphic -> 00 |
| 1059 | Write to video FF register 200 lines -> 0x |
| 1060 | Write to video FF register 200 lines -> 00 |
| 1058 | 1061 | |
| 1062 | where x is the current mode. |
| 1063 | */ |
| 1064 | switch((data & 0x0e) >> 1) |
| 1065 | { |
| 1066 | case 1: |
| 1067 | m_gfx_ff = 1; |
| 1068 | if(data & 1) |
| 1069 | printf("Graphic f/f actually enabled!\n"); |
| 1070 | break; |
| 1071 | case 4: |
| 1072 | if(m_gfx_ff) |
| 1073 | { |
| 1074 | m_video_ff[(data & 0x0e) >> 1] = data & 1; |
| 1075 | m_gfx_ff = 0; |
| 1076 | } |
| 1077 | break; |
| 1078 | default: m_video_ff[(data & 0x0e) >> 1] = data & 1; break; |
| 1079 | } |
| 1080 | |
| 1081 | |
| 1059 | 1082 | if(1) |
| 1060 | 1083 | { |
| 1061 | 1084 | static const char *const video_ff_regnames[] = |