Previous 199869 Revisions Next

r26121 Tuesday 12th November, 2013 at 15:00:38 UTC by Curt Coder
(MESS) abc800: Emulated the ABC 850 (10MB), ABC 852 (20MB), and ABC 856 (60MB) hard disk drives. [Curt Coder]
[hash]abc800_hdd.xml*
[src/emu/bus/abcbus]lux21056.c
[src/emu/machine]t10sbc.h
[src/mess/drivers]abc80x.c
[src/mess/machine]s1410.c

trunk/hash/abc800_hdd.xml
r0r26121
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3<softwarelist name="abc800_hdd" description="Luxor ABC-800 hard disks">
4
5   <software name="abc852">
6      <description>ABC 852</description>
7      <year>1986</year>
8      <publisher>Luxor</publisher>
9
10      <!-- BASF 6185 -->
11      <part name="hdd" interface="scsi_hdd">
12         <diskarea name="harddriv">
13            <disk name="basf6185" sha1="0f01c5ca209a358bb665d782eb99e944e09f673e" writeable="yes" />
14         </diskarea>
15      </part>
16   </software>
17
18   <software name="abc856">
19      <description>ABC 856</description>
20      <year>1986</year>
21      <publisher>Luxor</publisher>
22
23      <!-- Micropolis 1325 -->
24      <part name="hdd" interface="scsi_hdd">
25         <diskarea name="harddriv">
26            <disk name="micr1325" sha1="41acd70baa34b62df5fd53a8b7abcba185c67389" writeable="yes" />
27         </diskarea>
28      </part>
29   </software>
30
31</softwarelist>
Property changes on: trunk/hash/abc800_hdd.xml
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/machine/t10sbc.h
r26120r26121
2525
2626   harddisk_image_device *m_image;
2727
28private:
2928   UINT32 lba;
3029   UINT32 blocks;
3130
trunk/src/emu/bus/abcbus/lux21056.c
r26120r26121
1111
1212/*
1313
14    Use the CHDMAN utility to create a 5MB image for ABC 850:
14    Use the CHDMAN utility to create a 10MB image for ABC 850:
1515
1616    $ chdman createhd -o ro202.chd -chs 321,4,17 -ss 512
17    $ chdman createhd -o basf6185.chd -chs 440,6,32 -ss 256
17    $ chdman createhd -o basf6186.chd -chs 440,4,32 -ss 256
1818
19    or a 10MB image for ABC 852:
19    or a 20MB image for ABC 852:
2020
21    $ chdman createhd -o basf6185.chd -chs 440,6,32 -ss 256
2122    $ chdman createhd -o nec5126.chd -chs 615,4,17 -ss 512
2223
23    or a 20MB image for ABC 856:
24    or a 60MB image for ABC 856:
2425
2526    $ chdman createhd -o micr1325.chd -chs 1024,8,33 -ss 256
2627
r26120r26121
2829    with the new CHD and a UFD-DOS floppy mounted:
2930
3031    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=ro202 -flop1 ufd631 -hard ro202.chd
32    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6186 -flop1 ufd631 -hard basf6186.chd
33   
34   or with the ABC 852 attached:
35
3136    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6185 -flop1 ufd631 -hard basf6185.chd
3237    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=nec5126 -flop1 ufd631 -hard nec5126.chd
38   
39    or with the ABC 856 attached:
40
3341    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=micr1325 -flop1 ufd631 -hard micr1325.chd
3442
3543    Configure the floppy controller for use with an ABC 850:
r26120r26121
5159    Enter "DOSGEN,F HD0:" to start the formatting utility.
5260    Enter "J", and enter "J" to confirm the formatting.
5361
54    To Be Continued...
62   If you have a 20MB image, format the second partition by entering "DOSGEN,F HD1:", "J", and "J".
5563
64   If you have a 60MB image, format the third partition by entering "DOSGEN,F HD2:", "J", and "J",
65   and format the fourth partition by entering "DOSGEN,F HD3:", "J", and "J".
66
67   You can now list your freshly created partitions by   entering "LIB".
68
69    Or skip all of the above and use the preformatted images in the software list:
70
71    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6185 -flop1 ufd631 -hard abc852
72    $ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=micr1325 -flop1 ufd631 -hard abc856
73
5674*/
5775
5876#include "lux21056.h"
r26120r26121
87105   ROM_REGION( 0x2000, Z80_TAG, 0 )
88106   // ABC 850
89107   ROM_SYSTEM_BIOS( 0, "ro202", "Rodime RO202 (CHS: 321,4,17,512)" )
90   ROMX_LOAD( "rodi202.bin",  0x0000, 0x0800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf), ROM_BIOS(1) ) // Rodime RO202 (http://stason.org/TULARC/pc/hard-drives-hdd/rodime/RO202-11MB-5-25-FH-MFM-ST506.html)
91   ROM_SYSTEM_BIOS( 1, "basf6185", "BASF 6185 (CHS: 440,6,32,256)" )
92   ROMX_LOAD( "basf6185.bin", 0x0000, 0x0800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d), ROM_BIOS(2) ) // BASF 6185 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6185-22MB-5-25-FH-MFM-ST412.html)
108   ROMX_LOAD( "rodi202.bin", 0x0000, 0x0800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf), ROM_BIOS(1) ) // Rodime RO202 (http://stason.org/TULARC/pc/hard-drives-hdd/rodime/RO202-11MB-5-25-FH-MFM-ST506.html)
109   ROM_SYSTEM_BIOS( 1, "basf6186", "BASF 6186 (CHS: 440,4,32,256)" )
110   ROMX_LOAD( "basf6186.bin", 0x0000, 0x0800, NO_DUMP, ROM_BIOS(2) ) // BASF 6186 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6186-14MB-5-25-FH-MFM-ST412.html)
93111   // ABC 852
94   ROM_SYSTEM_BIOS( 2, "nec5126", "NEC 5126 (CHS: 615,4,17,512)" )
95   ROMX_LOAD( "nec5126.bin",  0x0000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d), ROM_BIOS(3) ) // NEC 5126 (http://stason.org/TULARC/pc/hard-drives-hdd/nec/D5126-20MB-5-25-HH-MFM-ST506.html)
112   ROM_SYSTEM_BIOS( 2, "basf6185", "BASF 6185 (CHS: 440,6,32,256)" )
113   ROMX_LOAD( "basf6185.bin", 0x0000, 0x0800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d), ROM_BIOS(3) ) // BASF 6185 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6185-22MB-5-25-FH-MFM-ST412.html)
114   ROM_SYSTEM_BIOS( 3, "nec5126", "NEC 5126 (CHS: 615,4,17,512)" )
115   ROMX_LOAD( "nec5126.bin", 0x0000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d), ROM_BIOS(4) ) // NEC 5126 (http://stason.org/TULARC/pc/hard-drives-hdd/nec/D5126-20MB-5-25-HH-MFM-ST506.html)
96116   // ABC 856
97   ROM_SYSTEM_BIOS( 3, "micr1325", "Micropolis 1325 (CHS: 1024,8,33,256)" )
98   ROMX_LOAD( "micr1325.bin", 0x0000, 0x0800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3), ROM_BIOS(4) ) // Micropolis 1325 (http://stason.org/TULARC/pc/hard-drives-hdd/micropolis/1325-69MB-5-25-FH-MFM-ST506.html)
117   ROM_SYSTEM_BIOS( 4, "micr1325", "Micropolis 1325 (CHS: 1024,8,33,256)" )
118   ROMX_LOAD( "micr1325.bin", 0x0000, 0x0800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3), ROM_BIOS(5) ) // Micropolis 1325 (http://stason.org/TULARC/pc/hard-drives-hdd/micropolis/1325-69MB-5-25-FH-MFM-ST506.html)
99119ROM_END
100120
101121
trunk/src/mess/drivers/abc80x.c
r26120r26121
11911191
11921192   // software list
11931193   MCFG_SOFTWARE_LIST_ADD("flop_list", "abc800")
1194   MCFG_SOFTWARE_LIST_ADD("hdd_list", "abc800_hdd")
11941195MACHINE_CONFIG_END
11951196
11961197
r26120r26121
12341235
12351236   // software list
12361237   MCFG_SOFTWARE_LIST_ADD("flop_list", "abc800")
1238   MCFG_SOFTWARE_LIST_ADD("hdd_list", "abc800_hdd")
12371239MACHINE_CONFIG_END
12381240
12391241
r26120r26121
12731275   // internal ram
12741276   MCFG_RAM_ADD(RAM_TAG)
12751277   MCFG_RAM_DEFAULT_SIZE("64K")
1278
1279   // software list
1280   //MCFG_SOFTWARE_LIST_ADD("flop_list", "abc802")
1281   MCFG_SOFTWARE_LIST_ADD("hdd_list", "abc800_hdd")
12761282MACHINE_CONFIG_END
12771283
12781284
r26120r26121
13101316
13111317   // software list
13121318   MCFG_SOFTWARE_LIST_ADD("flop_list", "abc806")
1319   MCFG_SOFTWARE_LIST_ADD("hdd_list", "abc800_hdd")
13131320MACHINE_CONFIG_END
13141321
13151322
trunk/src/mess/machine/s1410.c
r26120r26121
161161   AM_RANGE(0xc3, 0xc3) AM_WRITENOP
162162ADDRESS_MAP_END
163163
164
164165//-------------------------------------------------
165166//  MACHINE_DRIVER( s1410 )
166167//-------------------------------------------------
r26120r26121
185186   return MACHINE_CONFIG_NAME( s1410 );
186187}
187188
189
190
188191//**************************************************************************
189192//  LIVE DEVICE
190193//**************************************************************************
r26120r26121
199202}
200203
201204#define S1410_CMD_CHECK_TRACK_FORMAT ( 0x05 )
205#define S1410_CMD_FORMAT_TRACK ( 0x06 )
206#define S1410_CMD_SEEK ( 0x0b )
202207#define S1410_CMD_INIT_DRIVE_PARAMS ( 0x0c )
203208#define S1410_CMD_FORMAT_ALT_TRACK ( 0x0E )
204209#define S1410_CMD_WRITE_SEC_BUFFER ( 0x0F )
r26120r26121
215220{
216221   switch( command[ 0 ] )
217222   {
223   case S1410_CMD_FORMAT_TRACK:
224      {
225      lba = (command[1]&0x1f)<<16 | command[2]<<8 | command[3];
226
227      switch( m_sector_bytes )
228      {
229      case 256:
230         blocks = 32;
231         break;
232
233      case 512:
234         blocks = 17;
235         break;
236      }
237
238      logerror("S1410: FORMAT TRACK at LBA %x for %x blocks\n", lba, blocks);
239
240      int dataLength = blocks * m_sector_bytes;
241      UINT8 data[dataLength];
242      memset(data, 0xc6, dataLength);
243
244      WriteData(data, dataLength);
245
246      m_phase = SCSI_PHASE_STATUS;
247      m_transfer_length = 0;
248      }
249      break;
250
251   case S1410_CMD_SEEK:
252      lba = (command[1]&0x1f)<<16 | command[2]<<8 | command[3];
253     
254      logerror("S1410: SEEK to LBA %x\n", lba);
255     
256      m_phase = SCSI_PHASE_STATUS;
257      m_transfer_length = 0;
258      break;
259
218260   case S1410_CMD_INIT_DRIVE_PARAMS:
219261      m_phase = SCSI_PHASE_DATAOUT;
220262      m_transfer_length = TRANSFERLENGTH_INIT_DRIVE_PARAMS;
r26120r26121
253295{
254296   switch( command[ 0 ] )
255297   {
298   case S1410_CMD_FORMAT_TRACK:
299      if ((disk) && (blocks))
300      {
301         while (dataLength > 0)
302         {
303            if (!hard_disk_write(disk, lba, data))
304            {
305               logerror("S1410: HD write error!\n");
306            }
307            lba++;
308            blocks--;
309            dataLength -= m_sector_bytes;
310            data += m_sector_bytes;
311         }
312      }
313      break;
314
256315   case S1410_CMD_INIT_DRIVE_PARAMS:
257316      {
258317         int sectorsPerTrack = 0;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team