Previous 199869 Revisions Next

r29546 Saturday 12th April, 2014 at 00:06:32 UTC by Angelo Salese
Some keyboard additions, nw
[src/emu/machine]aakart.c
[src/mame/machine]archimds.c
[src/mess/drivers]a310.c

trunk/src/mame/machine/archimds.c
r29545r29546
5858
5959   if (m_ioc_regs[IRQ_STATUS_B] & m_ioc_regs[IRQ_MASK_B])
6060   {
61      generic_pulse_irq_line(m_maincpu, ARM_IRQ_LINE, 1);
61      m_maincpu->set_input_line(ARM_IRQ_LINE, HOLD_LINE);
6262   }
6363}
6464
r29545r29546
6666{
6767   m_ioc_regs[FIQ_STATUS] |= mask;
6868
69   //printf("STATUS:%02x IRQ:%02x MASK:%02x\n",m_ioc_regs[FIQ_STATUS],mask,m_ioc_regs[FIQ_MASK]);
70
6971   if (m_ioc_regs[FIQ_STATUS] & m_ioc_regs[FIQ_MASK])
7072   {
71      generic_pulse_irq_line(m_maincpu, ARM_FIRQ_LINE, 1);
73      m_maincpu->set_input_line(ARM_FIRQ_LINE, HOLD_LINE);
7274   }
7375}
7476
r29545r29546
8183void archimedes_state::archimedes_clear_irq_b(int mask)
8284{
8385   m_ioc_regs[IRQ_STATUS_B] &= ~mask;
84   archimedes_request_irq_b(0);
86   //archimedes_request_irq_b(0);
8587}
8688
8789void archimedes_state::archimedes_clear_fiq(int mask)
8890{
8991   m_ioc_regs[FIQ_STATUS] &= ~mask;
90   archimedes_request_fiq(0);
92   //archimedes_request_fiq(0);
9193}
9294
9395void archimedes_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
r29545r29546
138140         offset_ptr = m_vidc_vidstart;
139141   }
140142
141   size = m_vidc_vidend-m_vidc_vidstart+0x10;
143   if(m_cursor_enabled == true)
144   {
145      for(m_vidc_ccur = 0;m_vidc_ccur < 0x200;m_vidc_ccur++)
146         m_cursor_vram[m_vidc_ccur] = (space.read_byte(m_vidc_cinit+m_vidc_ccur));
147   }
142148
143   for(m_vidc_ccur = 0;m_vidc_ccur < 0x200;m_vidc_ccur++)
144      m_cursor_vram[m_vidc_ccur] = (space.read_byte(m_vidc_cinit+m_vidc_ccur));
145
146149   if(m_video_dma_on)
147150   {
148151      m_vid_timer->adjust(m_screen->time_until_pos(m_vidc_regs[0xb4]));
r29545r29546
276279   }
277280
278281   m_ioc_regs[IRQ_STATUS_A] = 0x10 | 0x80; //set up POR (Power On Reset) and Force IRQ at start-up
279   m_ioc_regs[IRQ_STATUS_B] = 0x02; //set up IL[1] On
282   m_ioc_regs[IRQ_STATUS_B] = 0x00; //set up IL[1] On
280283   m_ioc_regs[FIQ_STATUS] = 0x80;   //set up Force FIQ
281284   m_ioc_regs[CONTROL] = 0xff;
282285}
r29545r29546
967970
968971
969972      //#ifdef MAME_DEBUG
970      if(0)
973      if(1)
971974      logerror("VIDC: %s = %d\n", vrnames[(reg-0x80)/4], m_vidc_regs[reg]);
972975      //#endif
973976
r29545r29546
10011004      switch ((data >> 17) & 7)
10021005      {
10031006         case 0: /* video init */
1007            m_cursor_enabled = false;
10041008            m_vidc_vidinit = ((data>>2)&0x7fff)*16;
1005            //printf("MEMC: VIDINIT %08x\n",m_vidc_vidinit);
1009            printf("MEMC: VIDINIT %08x\n",m_vidc_vidinit);
10061010            break;
10071011
10081012         case 1: /* video start */
10091013            m_vidc_vidstart = 0x2000000 | (((data>>2)&0x7fff)*16);
1010            //printf("MEMC: VIDSTART %08x\n",m_vidc_vidstart);
1014            printf("MEMC: VIDSTART %08x\n",m_vidc_vidstart);
10111015            break;
10121016
10131017         case 2: /* video end */
10141018            m_vidc_vidend = 0x2000000 | (((data>>2)&0x7fff)*16);
1015            //printf("MEMC: VIDEND %08x\n",m_vidc_vidend);
1019            printf("MEMC: VIDEND %08x\n",m_vidc_vidend);
10161020            break;
10171021
10181022         case 3: /* cursor init */
1023            //m_cursor_enabled = true;
10191024            m_vidc_cinit = 0x2000000 | (((data>>2)&0x7fff)*16);
1020            //printf("MEMC: CURSOR %08x\n",((data>>2)&0x7fff)*16);
1025            printf("MEMC: CURSOR INIT %08x\n",((data>>2)&0x7fff)*16);
10211026            break;
10221027
10231028         case 4: /* sound start */
trunk/src/emu/machine/aakart.c
r29545r29546
149149                    m_keyb_state = 0;
150150                }
151151
152
153152                break;
154153            case 0xfd:
155154                m_rx = 0xfd;
trunk/src/mess/drivers/a310.c
r29545r29546
100100{
101101   printf("%d IRQ\n",state);
102102   if (state)
103   {
103104      archimedes_request_fiq(ARCHIMEDES_FIQ_FLOPPY);
104   else
105      archimedes_clear_fiq(ARCHIMEDES_FIQ_FLOPPY);
105   }
106   //else
107   //   archimedes_clear_fiq(ARCHIMEDES_FIQ_FLOPPY);
106108}
107109
108110WRITE_LINE_MEMBER(a310_state::a310_wd177x_drq_w)
109111{
110112   printf("%d DRQ\n",state);
111113   if (state)
114   {
112115      archimedes_request_fiq(ARCHIMEDES_FIQ_FLOPPY_DRQ);
113   else
114      archimedes_clear_fiq(ARCHIMEDES_FIQ_FLOPPY_DRQ);
116   }
117   //else
118   //   archimedes_clear_fiq(ARCHIMEDES_FIQ_FLOPPY_DRQ);
115119}
116120
117121READ32_MEMBER(a310_state::a310_psy_wram_r)
r29545r29546
206210   PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME("=  +") PORT_CODE(KEYCODE_EQUALS) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x1c) PORT_IMPULSE(1)
207211   PORT_BIT(0x20, 0x00, IPT_KEYBOARD) PORT_NAME("`  ~") PORT_CODE(KEYCODE_TILDE) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x10) PORT_IMPULSE(1)
208212   PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("BACK SPACE") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x1e) PORT_IMPULSE(1)
209   PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB)
213   PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x26) PORT_IMPULSE(1)
210214
211215   PORT_START("key2") /* KEY ROW 2 */
212216    PORT_BIT(0x01, 0x00, IPT_KEYBOARD) PORT_NAME("q  Q") PORT_CODE(KEYCODE_Q) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x27) PORT_IMPULSE(1)
r29545r29546
225229   PORT_BIT(0x08, 0x00, IPT_KEYBOARD) PORT_NAME("]  }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x32) PORT_IMPULSE(1)
226230   PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x47) PORT_IMPULSE(1)
227231   PORT_BIT(0x20, 0x00, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL)
228   PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL)
232   PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x61) PORT_IMPULSE(1)
229233   PORT_BIT(0x80, 0x80, IPT_KEYBOARD) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE
230234
231235   PORT_START("key4") /* KEY ROW 4 */
r29545r29546
256260   PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME(",  <") PORT_CODE(KEYCODE_COMMA) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x55) PORT_IMPULSE(1)
257261   PORT_BIT(0x20, 0x00, IPT_KEYBOARD) PORT_NAME(".  >") PORT_CODE(KEYCODE_STOP) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x56) PORT_IMPULSE(1)
258262   PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("/  ?") PORT_CODE(KEYCODE_SLASH) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x23) PORT_IMPULSE(1)
259   PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("SHIFT (R)") PORT_CODE(KEYCODE_RSHIFT)
263   PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("SHIFT (R)") PORT_CODE(KEYCODE_RSHIFT) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x58) PORT_IMPULSE(1)
260264
261265   PORT_START("key7") /* KEY ROW 7 */
262266   PORT_BIT(0x01, 0x00, IPT_KEYBOARD) PORT_NAME("LINE FEED")
263   PORT_BIT(0x02, 0x00, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x26) PORT_IMPULSE(1)
267   PORT_BIT(0x02, 0x00, IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x5f) PORT_IMPULSE(1)
264268    PORT_BIT(0x04, 0x00, IPT_KEYBOARD) PORT_NAME("- (KP)") PORT_CODE(KEYCODE_MINUS_PAD)
265269    PORT_BIT(0x08, 0x00, IPT_KEYBOARD) PORT_NAME(", (KP)") PORT_CODE(KEYCODE_PLUS_PAD)
266270   PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME("ENTER (KP)") PORT_CODE(KEYCODE_ENTER_PAD)
r29545r29546
283287    PORT_BIT(0x02, 0x00, IPT_KEYBOARD) PORT_NAME("*") PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x24) PORT_IMPULSE(1) // (KP?)
284288    PORT_BIT(0x04, 0x00, IPT_KEYBOARD) PORT_NAME("#") PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x25) PORT_IMPULSE(1) // (KP?)
285289
290    PORT_START("keya")
291    PORT_BIT(0x01, 0x00, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x01) PORT_IMPULSE(1)
292    PORT_BIT(0x02, 0x00, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x02) PORT_IMPULSE(1)
293    PORT_BIT(0x04, 0x00, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x03) PORT_IMPULSE(1)
294    PORT_BIT(0x08, 0x00, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x04) PORT_IMPULSE(1)
295    PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x05) PORT_IMPULSE(1)
296    PORT_BIT(0x20, 0x00, IPT_KEYBOARD) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x06) PORT_IMPULSE(1)
297    PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x07) PORT_IMPULSE(1)
298    PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x08) PORT_IMPULSE(1)
299
300    PORT_START("keyb")
301    PORT_BIT(0x01, 0x00, IPT_KEYBOARD) PORT_NAME("F9") PORT_CODE(KEYCODE_F9) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x09) PORT_IMPULSE(1)
302    PORT_BIT(0x02, 0x00, IPT_KEYBOARD) PORT_NAME("F10") PORT_CODE(KEYCODE_F10) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x0a) PORT_IMPULSE(1)
303    PORT_BIT(0x04, 0x00, IPT_KEYBOARD) PORT_NAME("F11") PORT_CODE(KEYCODE_F11) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x0b) PORT_IMPULSE(1)
304    PORT_BIT(0x08, 0x00, IPT_KEYBOARD) PORT_NAME("F12") PORT_CODE(KEYCODE_F12) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x0c) PORT_IMPULSE(1)
305//    PORT_BIT(0x10, 0x00, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x05) PORT_IMPULSE(1)
306//    PORT_BIT(0x20, 0x00, IPT_KEYBOARD) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x06) PORT_IMPULSE(1)
307//    PORT_BIT(0x40, 0x00, IPT_KEYBOARD) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x07) PORT_IMPULSE(1)
308//    PORT_BIT(0x80, 0x00, IPT_KEYBOARD) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHANGED_MEMBER(DEVICE_SELF, a310_state, key_stroke, 0x08) PORT_IMPULSE(1)
309
310
286311   PORT_START("via1a") /* VIA #1 PORT A */
287312   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START) PORT_PLAYER(1)
288313   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START) PORT_PLAYER(2)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team