Previous 199869 Revisions Next

r31456 Monday 28th July, 2014 at 10:33:26 UTC by Barry Rodewald
gimix: added software list, fixed regression with booting Gimix Flex 3.6, added 8 inch floppy drive support.
[hash]gimix.xml*
[src/lib/formats]flex_dsk.c flex_dsk.h
[src/mess/drivers]gimix.c

trunk/hash/gimix.xml
r0r31456
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3<softwarelist name="gimix" description="Gimix 6809 System disks">
4
5   <software name="flex33">
6      <description>GMX Flex-09 3.3</description>
7      <year>1981</year>
8      <publisher>Technical System Consultants / Gimix Inc.</publisher>
9      <part name="flop1" interface="floppy_5_25">
10         <dataarea name="flop" size="1265664">
11            <rom name="gfx33dma.dsk" size="102400" crc="5548dd85" sha1="0e0a94908478cbcf1d9ab7430189bdf43e12355b" offset="0" />
12         </dataarea>
13      </part>
14   </software>
15
16   <!-- 8 inch disk - to boot, you'll need to set DIP switch S2-9 on the DMA FDC board (5.25/8 inch drive select) to 8 inch.
17        You'll also need to set the first drive to be 8 inch also, (-fdc:0 8dd) -->
18   <software name="flex36">
19      <description>GMX Flex-09 3.6</description>
20      <year>1981</year>
21      <publisher>Technical System Consultants / Gimix Inc.</publisher>
22      <part name="flop1" interface="floppy_8">
23         <dataarea name="flop" size="1265664">
24            <rom name="gflx_36.dsk" size="161280" crc="6cdd4198" sha1="307b635a3abb487c1295d8ef75afeecec9e61c39" offset="0" />
25         </dataarea>
26      </part>
27   </software>
28
29   <software name="flex43">
30      <description>GMX Flex-09 4.3</description>
31      <year>1981</year>
32      <publisher>Technical System Consultants / Gimix Inc.</publisher>
33      <part name="flop1" interface="floppy_5_25">
34         <dataarea name="flop" size="1265664">
35            <rom name="flex_v4.3.imd" size="103190" crc="2685ca76" sha1="b297f8e774cf4253a2d2259cb1959c74911ceda3" offset="0" />
36         </dataarea>
37      </part>
38   </software>
39
40   <software name="os9l1_12">
41      <description>OS-9 GMX I</description>
42      <year>1981</year>
43      <publisher>Microware Systems Corp. / Gimix Inc.</publisher>
44      <part name="flop1" interface="floppy_5_25">
45         <dataarea name="flop" size="1265664">
46            <rom name="os9_v1.2.imd" size="116070" crc="aa3791b9" sha1="29036b5a6d1e63801b7b9fe9b99f5a4b536f9f3d" offset="0" />
47         </dataarea>
48      </part>
49   </software>
50
51</softwarelist>
Property changes on: trunk/hash/gimix.xml
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/xml
trunk/src/lib/formats/flex_dsk.c
r31455r31456
4242{
4343   int spt = info.last_sec;
4444   int bps = 256;
45   int cell_count = 50000;
45   int cell_count = (form_factor == floppy_image::FF_525) ? 50000 : 100000;
4646   int offset = 0;
4747   int head_num = 1;
4848   int total_tracks = info.last_trk+1;
trunk/src/lib/formats/flex_dsk.h
r31455r31456
22 * flex_dsk.h
33 *
44 *  Created on: 24/06/2014
5 *      Author: bsr
65 */
76
87#ifndef FLEX_DSK_H_
trunk/src/mess/drivers/gimix.c
r31455r31456
9393      , m_rombank1(*this, "rombank1")
9494      , m_rombank2(*this, "rombank2")
9595      , m_fixedrombank(*this, "fixedrombank")
96      , m_dma_dip(*this, "dma_s2")
9697   {}
9798
9899   DECLARE_WRITE8_MEMBER(kbd_put);
r31455r31456
168169   required_memory_bank m_rombank2;
169170   required_memory_bank m_fixedrombank;
170171
172   required_ioport m_dma_dip;
171173};
172174
173175static ADDRESS_MAP_START( gimix_banked_mem, AS_PROGRAM, 8, gimix_state)
r31455r31456
215217ADDRESS_MAP_END
216218
217219static INPUT_PORTS_START( gimix )
220   PORT_START("dma_s2")
221   PORT_DIPNAME(0x00000100,0x00000000,"5.25\" / 8\" floppy drive 0") PORT_DIPLOCATION("S2:9")
222   PORT_DIPSETTING(0x00000000,"5.25\"")
223   PORT_DIPSETTING(0x00000100,"8\"")
224
218225INPUT_PORTS_END
219226
220227READ8_MEMBER( gimix_state::keyin_r )
r31455r31456
284291   switch(offset)
285292   {
286293   case 0:
294      if(m_dma_dip->read() & 0x00000100)
295         m_dma_status |= 0x01;   // 8"
296      else
297         m_dma_status &= ~0x01;  // 5.25"
287298      return m_dma_status;
288299   case 1:
289300      return m_dma_ctrl;
r31455r31456
465476   m_floppy1_ready = false;
466477   membank("lower_ram")->set_base(m_ram->pointer());
467478   membank("upper_ram")->set_base(m_ram->pointer()+0x10000);
479
480   // set FDC clock based on DIP Switch S2-9 (5.25"/8" drive select)
481   if(m_dma_dip->read() & 0x00000100)
482      m_fdc->set_unscaled_clock(XTAL_8MHz / 4); // 8 inch (2MHz)
483   else
484      m_fdc->set_unscaled_clock(XTAL_8MHz / 8); // 5.25 inch (1MHz)
468485}
469486
470487void gimix_state::machine_start()
r31455r31456
533550
534551static SLOT_INTERFACE_START( gimix_floppies )
535552   SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
553   SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD )
536554SLOT_INTERFACE_END
537555
538556#define MCFG_ADDRESS_BANK(tag) \
r31455r31456
557575   MCFG_PTM6840_IRQ_CB(WRITELINE(gimix_state,irq_w))  // PCB pictures show both the RTC and timer set to generate IRQs (are jumper configurable)
558576
559577   /* floppy disks */
560   MCFG_FD1797x_ADD("fdc",XTAL_8MHz / 8)
578   MCFG_FD1797x_ADD("fdc",XTAL_8MHz / 4)
561579   MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(gimix_state,fdc_irq_w))
562580   MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(gimix_state,fdc_drq_w))
563581   MCFG_WD_FDC_FORCE_READY
r31455r31456
631649   MCFG_RAM_DEFAULT_SIZE("128K")
632650   MCFG_RAM_EXTRA_OPTIONS("56K,256K,512K")
633651
652   MCFG_SOFTWARE_LIST_ADD("flop_list","gimix")
653
634654   // uncomment this timer to use a hack that generates a regular IRQ, this will get OS-9 to boot
635655   // for some unknown reason, OS-9 does not touch the 6840, and only clears/disables IRQs on the RTC
636656   //MCFG_TIMER_DRIVER_ADD_PERIODIC("test_timer",gimix_state,test_timer_w,attotime::from_msec(100))

Previous 199869 Revisions Next


© 1997-2024 The MAME Team