Previous 199869 Revisions Next

r19062 Tuesday 20th November, 2012 at 07:37:39 UTC by O. Galibert
imd: Accept versions with single-digit minor [O. Galibert]
[src/lib/formats]imd_dsk.c

trunk/src/lib/formats/imd_dsk.c
r19061r19062
356356   char h[32];
357357
358358   io_generic_read(io, h, 0, 31);
359   h[31] = 0;
360   for(int i=0; i != 31; i++)
361      if(h[i] >= '0' && h[i] <= '9')\
362         h[i] = '0';
359   if(h[7] == ':') {
360      h[30] = 0;
361      for(int i=0; i != 30; i++)
362         if(h[i] >= '0' && h[i] <= '9')      \
363            h[i] = '0';
364     
365      fixnum(h+ 9, h+11);
366      fixnum(h+12, h+14);
367      fixnum(h+15, h+19);
368      fixnum(h+20, h+22);
369      fixnum(h+23, h+25);
370      fixnum(h+26, h+28);
371     
372      if(!strcmp(h, "IMD 0.0: 00/00/0000 00:00:00\015\012"))
373         return 100;
374   } else {
375      h[31] = 0;
376      for(int i=0; i != 31; i++)
377         if(h[i] >= '0' && h[i] <= '9')      \
378            h[i] = '0';
379     
380      fixnum(h+10, h+12);
381      fixnum(h+13, h+15);
382      fixnum(h+16, h+20);
383      fixnum(h+21, h+23);
384      fixnum(h+24, h+26);
385      fixnum(h+27, h+29);
386     
387      if(!strcmp(h, "IMD 0.00: 00/00/0000 00:00:00\015\012"))
388         return 100;
389   }
363390
364   fixnum(h+10, h+12);
365   fixnum(h+13, h+15);
366   fixnum(h+16, h+20);
367   fixnum(h+21, h+23);
368   fixnum(h+24, h+26);
369   fixnum(h+27, h+29);
370
371   if(!strcmp(h, "IMD 0.00: 00/00/0000 00:00:00\015\012"))
372      return 100;
373
374391   return 0;
375392}
376393
377//  1.1.1.1.1.1.0.0  - fc
378// 1.1.0.1.0.1.1.1
379// f77a
380
381//  1.1.1.1.1.1.1.0  - fe
382// 1.1.0.0.0.1.1.1
383// f57e
384
385//  1.1.1.1.1.0.1.1  - fb
386// 1.1.0.0.0.1.1.1
387// f56f
388
389//  1.1.1.1.1.0.0.0  - f8
390// 1.1.0.0.0.1.1.1
391// f56a
392
393394bool imd_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
394395{
395396   int size = io_generic_size(io);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team