Previous 15994 Revisions Next

r3571 Wednesday 26th November, 2008 at 09:12:29 UTC by Miodrag Milanović
[IRISHA][SAPI1][RT1715] Reenabled drivers
[src/mess]mess.mak messdriv.c
[src/mess/drivers]rt1715.c sapi1.c
[src/mess/includes]sapi1.h
[src/mess/machine]irisha.c rt1715.c sapi1.c
[src/mess/video]irisha.c sapi1.c

src/mess/video/irisha.c
r3570r3571
1919    UINT8 code1,code2;
2020    UINT8 col;
2121   int y, x, b;
22
22   const address_space *space = cpu_get_address_space(screen->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
23   
2324   // draw image
2425   for (y = 0; y < 200; y++)
2526   {
2627      for (x = 0; x < 40; x++)
2728      {
28         code1 = program_read_byte(0xe000 + x + y*40);
29         code2 = program_read_byte(0xc000 + x + y*40);
29         code1 = memory_read_byte(space, 0xe000 + x + y*40);
30         code2 = memory_read_byte(space, 0xc000 + x + y*40);
3031         for (b = 0; b < 8; b++)
3132         {
3233            col = ((code1 >> b) & 0x01);
src/mess/video/sapi1.c
r3570r3571
8585};
8686
8787static UINT8 refresh_counter;
88UINT8* sapi_video_ram;
8889
8990VIDEO_START( sapi1 )
9091{
r3570r3571
99100 
100101   for(y = 0; y < 24; y++ )
101102   {
102      addr = 0x3800 + y*64;
103      addr = y*64;
103104      xpos = 0;
104105      for(x = 0; x < 40; x++ )
105106      {
106         UINT8 code = program_read_byte(addr + x);
107         UINT8 code = sapi_video_ram[addr + x];
107108         UINT8 attr = (code >> 6) & 3;
108109         code &= 0x3f;                 
109110         for(j = 0; j < 9; j++ )
src/mess/includes/sapi1.h
r3570r3571
1717extern WRITE8_HANDLER(sapi1_keyboard_w );
1818
1919/*----------- defined in video/sapi1.c -----------*/
20extern UINT8* sapi_video_ram;
2021
2122extern VIDEO_START( sapi1 );
2223extern VIDEO_UPDATE( sapi1 );
src/mess/messdriv.c
r3570r3571
10051005//128u4   DRIVER (homelab4)
10061006   
10071007   /* Irisha */
1008//128u4   DRIVER (irisha)
1008   DRIVER (irisha)
10091009   
10101010   /* PK-8020 */
10111011//128u4   DRIVER (korvet)
r3570r3571
10141014//128u4   DRIVER (vector06)
10151015
10161016   /* Robotron 1715 */
1017//128u4   DRIVER (rt1715)
1018//128u4   DRIVER (rt1715w)
1017   DRIVER (rt1715)
1018   DRIVER (rt1715w)
10191019
10201020   /* PP-01 */
10211021//128u4   DRIVER (pp01)
r3570r3571
10251025//128u4   DRIVER (ondrav)
10261026
10271027   /* SAPI-1 */
1028//128u4   DRIVER (sapi1)
1028   DRIVER (sapi1)
10291029
10301030  /* Spectrum clones */
10311031     
src/mess/machine/rt1715.c
r3570r3571
2020
2121MACHINE_RESET( rt1715 )
2222{
23   memory_set_bankptr(1, memory_region(machine, "main") + 0x10000);
24   memory_set_bankptr(2, mess_ram + 0x0800);
25   memory_set_bankptr(3, mess_ram);
23   memory_set_bankptr(machine, 1, memory_region(machine, "main") + 0x10000);
24   memory_set_bankptr(machine, 2, mess_ram + 0x0800);
25   memory_set_bankptr(machine, 3, mess_ram);
2626}
src/mess/machine/irisha.c
r3570r3571
6464{
6565   UINT8 keycode;
6666    if (irisha_keyboard_cnt!=0 && irisha_keyboard_cnt<11) {
67      keycode = input_port_read(machine, keynames[irisha_keyboard_cnt-1]) ^ 0xff;
67      keycode = input_port_read(space->machine, keynames[irisha_keyboard_cnt-1]) ^ 0xff;
6868   } else {
6969      keycode = 0xff;
7070   }
r3570r3571
9999
100100static PIC8259_SET_INT_LINE( irisha_pic_set_int_line )
101101{
102   cpunum_set_input_line(device->machine, 0, 0,interrupt ?  HOLD_LINE : CLEAR_LINE);
102   cpu_set_input_line(device->machine->cpu[0], 0,interrupt ?  HOLD_LINE : CLEAR_LINE);
103103}
104104
105105const struct pic8259_interface irisha_pic8259_config = {
src/mess/machine/sapi1.c
r3570r3571
3030READ8_HANDLER (sapi1_keyboard_r )
3131{
3232   UINT8 key = 0xff;
33   if ((sapi1_keyboard_mask & 0x01)!=0) { key &= input_port_read(machine,"LINE0"); }
34   if ((sapi1_keyboard_mask & 0x02)!=0) { key &= input_port_read(machine,"LINE1"); }
35   if ((sapi1_keyboard_mask & 0x04)!=0) { key &= input_port_read(machine,"LINE2"); }
36   if ((sapi1_keyboard_mask & 0x08)!=0) { key &= input_port_read(machine,"LINE3"); }
37   if ((sapi1_keyboard_mask & 0x10)!=0) { key &= input_port_read(machine,"LINE4"); }
33   if ((sapi1_keyboard_mask & 0x01)!=0) { key &= input_port_read(space->machine,"LINE0"); }
34   if ((sapi1_keyboard_mask & 0x02)!=0) { key &= input_port_read(space->machine,"LINE1"); }
35   if ((sapi1_keyboard_mask & 0x04)!=0) { key &= input_port_read(space->machine,"LINE2"); }
36   if ((sapi1_keyboard_mask & 0x08)!=0) { key &= input_port_read(space->machine,"LINE3"); }
37   if ((sapi1_keyboard_mask & 0x10)!=0) { key &= input_port_read(space->machine,"LINE4"); }
3838   return key;
3939}
4040WRITE8_HANDLER(sapi1_keyboard_w )
src/mess/mess.mak
r3570r3571
370370   $(MESSOBJ)/3do.a \
371371   $(MESSOBJ)/mk2.a \
372372   $(MESSOBJ)/votrax.a \
373   $(MESSOBJ)/rt1715.a \
374   $(MESSOBJ)/irisha.a \
375   $(MESSOBJ)/sapi1.a \
373376   $(MESSOBJ)/shared.a \
374377
375378#   $(MESSOBJ)/acorn.a \
r3570r3571
418421#   $(MESSOBJ)/homelab.a \
419422#   $(MESSOBJ)/hp48.a \
420423#   $(MESSOBJ)/intv.a \
421#   $(MESSOBJ)/irisha.a \
422424#   $(MESSOBJ)/jupiter.a \
423425#   $(MESSOBJ)/kaypro.a \
424426#   $(MESSOBJ)/kim1.a \
r3570r3571
455457#   $(MESSOBJ)/radio.a \
456458#   $(MESSOBJ)/rca.a \
457459#   $(MESSOBJ)/rockwell.a \
458#   $(MESSOBJ)/rt1715.a \
459460#   $(MESSOBJ)/samcoupe.a \
460#   $(MESSOBJ)/sapi1.a \
461461#   $(MESSOBJ)/sega.a \
462462#   $(MESSOBJ)/sgi.a \
463463#   $(MESSOBJ)/sharp.a \
src/mess/drivers/rt1715.c
r3570r3571
1818
1919WRITE8_HANDLER (rt1717_set_bank )
2020{
21   memory_set_bankptr(1, mess_ram);
22   memory_set_bankptr(3, mess_ram);
21   memory_set_bankptr(space->machine, 1, mess_ram);
22   memory_set_bankptr(space->machine, 3, mess_ram);
2323}
2424
2525/* Address maps */
src/mess/drivers/sapi1.c
r3570r3571
2222   //AM_RANGE(0x2800, 0x2bff) AM_NOP // PORT 1
2323   //AM_RANGE(0x2c00, 0x2fff) AM_NOP // PORT 2
2424   //AM_RANGE(0x3000, 0x33ff) AM_NOP // 3214     
25   AM_RANGE(0x3800, 0x3fff) AM_RAM // AND-1 (video RAM)
25   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&sapi_video_ram) // AND-1 (video RAM)
2626   AM_RANGE(0x4000, 0x4000) AM_RAM // REM-1
2727ADDRESS_MAP_END
2828

Previous 15994 Revisions Next


© 1998-2018 The MESS Team