View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0002925 | RawDIC | [All Projects] General | public | 2014-01-19 12:01 | 2017-11-09 14:29 | ||||||||
Reporter | Codetapper | ||||||||||||
Assigned To | Wepl | Project Info | Raw Data Disk Image Creator http://whdload.de/docs/en/rawdic.html | ||||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||||||
Status | closed | Resolution | fixed | ||||||||||
Product Version | 4.6 | ||||||||||||
Target Version | 5.0 | Fixed in Version | 5.0 | ||||||||||
Summary | 0002925: File exceeds diskimage message | ||||||||||||
Description | You cannot use a CRC entry on a multiple disk game when only the 2nd/3rd/4th disk has a different track list from the first disk. You get the message "file exceeds diskimage" coming up every single time, no matter if the disk CRC matches or not. | ||||||||||||
Steps To Reproduce | As an example, this code will NOT work as there are multiple disk structures setup but the CRC check is done on disk 2: --- DSK_1 dc.l DSK_2_SPS1336 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l 0 ; Table of certain tracks with CRC values dc.l 0 ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read DSK_2_SPS1336 dc.l 0 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l CRC_2_SPS1336 ; Table of certain tracks with CRC values dc.l DSK_2_Copylock ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read DSK_2_Copylock dc.l 0 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l 0 ; Table of certain tracks with CRC values dc.l 0 ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read CRC_2_SPS1336 CRCENTRY 0,$20af CRCEND --- But doing it this way will work, ie. put the CRC check on disk 1 and branch to a different disk 2 structure: --- DSK_1 dc.l DSK_2_SPS1336 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l CRC_1_SPS1336 ; Table of certain tracks with CRC values dc.l DSK_1_Copylock ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read DSK_1_Copylock dc.l DSK_2_Copylock ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l 0 ; Table of certain tracks with CRC values dc.l 0 ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read DSK_2_SPS1336 dc.l 0 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l 0 ; Table of certain tracks with CRC values dc.l 0 ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read DSK_2_Copylock dc.l 0 ; Pointer to next disk structure dc.w 1 ; Disk structure version dc.w 0 ; Disk flags dc.l TL_1 ; List of tracks which contain data dc.l 0 ; UNUSED, ALWAYS SET TO 0! dc.l FL_NULL ; List of files to be saved dc.l 0 ; Table of certain tracks with CRC values dc.l 0 ; Alternative disk structure, if CRC failed dc.l 0 ; Called before a disk is read dc.l 0 ; Called after a disk has been read CRC_1_SPS1336 CRCENTRY 0,$ca88 CRCEND --- While updating the Putty/Silly Putty install, disk 1 on all versions can use the same tracklist as it has a copylock on track 1 on most versions and a completely blank track on the others. But disk 2 on some versions has a copylock on one version, blank data on a couple of others, and real data on another version. Hence I thought I'd just do a CRC check on disk 2 for the copylock version and pick the right disk, then for disk 3 all versions can use the same tracklist again. But you get "File exceeds diskimage" appearing the instant disk 1 has finished! I tried on various RawDIC versions, the oldest being v1.9 and they all seem to be buggy. I guess it has never worked properly. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Machine | A1200 | ||||||||||||
CPU | 68030 | ||||||||||||
CPUSpeed | 50 | ||||||||||||
ChipSet | AGA | ||||||||||||
GFXCard | None | ||||||||||||
ChipMem | 2 MB | ||||||||||||
FastMem | 32 MB | ||||||||||||
Workbench | OS 3.0 | ||||||||||||
KickROM | 39 - Kick 3.0 | ||||||||||||
KickSoft | 40 - Kick 3.1 | ||||||||||||
Attached Files |
|
Notes | |
Wepl (manager) 2017-11-09 14:29 |
is solved in release 5.0, mainloop did not reset diskload flag before checking crc |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-01-19 12:01 | Codetapper | New Issue | |
2017-10-21 15:40 | Wepl | Assigned To | => Wepl |
2017-10-21 15:40 | Wepl | Status | new => assigned |
2017-11-07 23:08 | Wepl | Target Version | => 5.0 |
2017-11-09 14:27 | Wepl | Fixed in Version | => 5.0 |
2017-11-09 14:29 | Wepl | Note Added: 0005827 | |
2017-11-09 14:29 | Wepl | Status | assigned => closed |
2017-11-09 14:29 | Wepl | Resolution | open => fixed |