Commit Graph

326 Commits

Author SHA1 Message Date
Rob McMullen
58932b5bd7 Config logger so it doesn't say it can't find any handlers 2017-02-24 22:20:07 -08:00
Rob McMullen
08be06df62 Updated to version 4.0 for upcoming release 2017-02-24 22:05:41 -08:00
Rob McMullen
d19dd3b218 Added file manipulation commands to atrcopy script 2017-02-24 11:57:51 -08:00
Rob McMullen
8ec391edc9 Removed some debug prints 2017-02-24 10:39:47 -08:00
Rob McMullen
efb0d6ef28 Added count of free sectors based on VTOC allocation table 2017-02-24 10:14:38 -08:00
Rob McMullen
9733aa4777 Changed get_filename() into a property 2017-02-24 08:42:04 -08:00
Rob McMullen
4485cd7e63 Fixed deleted flag and track/sector list length. Most delete tests pass 2017-02-23 22:54:01 -08:00
Rob McMullen
fe5fc502ca Progress in deleting DOS 3.3 files 2017-02-23 22:16:18 -08:00
Rob McMullen
2558a51826 Fixed DOS 3.3 directory sector linking. Tests are starting to pass! 2017-02-23 19:51:22 -08:00
Rob McMullen
605f77afb3 Removed SectorBuilder class; fixed DOS 3.3 track/sector list
* put SectorBuildeR functionality into DiskImage
2017-02-23 19:16:22 -08:00
Rob McMullen
9e1e60420c Added missing method for KBoot 2017-02-23 19:10:52 -08:00
Rob McMullen
f04db6bf29 Fixed directory loading; was referencing first_directory on disk image object 2017-02-23 15:59:42 -08:00
Rob McMullen
4514e46161 Fixed parsing of disk images broken after recent rearrangement of classes 2017-02-23 15:34:56 -08:00
Rob McMullen
6e8cf1c4c4 Moved some classes to different files, fixed Atari dos tests
* consolidated bytes_per_sector and sector_size (which mean the same thing) into sector_size
* moved AtrHeader, XfdHeader to ataridos.py
* moved base classes like WriteableSector, SectorList, etc. to utils.py
2017-02-23 14:23:29 -08:00
Rob McMullen
f84cea7170 Moved file creation classes to utils.py
* prefer to pass around header than individual attributes so instances can get what they want
2017-02-23 13:53:32 -08:00
Rob McMullen
35c13bb9d5 Added BaseHeader for superclass 2017-02-23 13:02:56 -08:00
Rob McMullen
04edbed853 Fixed VTOC bit packing and unpacking 2017-02-23 12:04:14 -08:00
Rob McMullen
fe01a97c1f Progress on DOS 33 VTOC using complicated numpy manipulation.
* not complete, and may be easier to understand by using a reorder on the raw bytes rather than trying to convert to 16 bit values and skipping every other
2017-02-22 23:19:12 -08:00
Rob McMullen
b87335dfa8 Fixed directory name output; still not passing any tests 2017-02-22 14:01:54 -08:00
Rob McMullen
5a1718bf1d Changed sector labels for DOS 33 to report track, sector rather than sector number 2017-02-22 12:12:52 -08:00
Rob McMullen
3157b13727 Added tests for DOS 33 disk images; code still failing all tests, but making progress 2017-02-22 12:11:56 -08:00
Rob McMullen
4928a35700 Added DOS 33 disk image to package level exports 2017-02-22 12:11:28 -08:00
Rob McMullen
d851a06ae1 WIP on DOS 3.3 support 2017-02-22 07:19:52 -08:00
Rob McMullen
7151739ad3 Added transaction support to write & delete files.
* if error occurs, disk image returned to state it was before the call
2017-02-22 05:42:40 -08:00
Rob McMullen
ea92e91865 Added file deletion for Atari DOS 2017-02-21 23:07:24 -08:00
Rob McMullen
c0340a1807 Fixed file number in Atari DOS files 2017-02-21 19:49:03 -08:00
Rob McMullen
767e76671b First code to add files to an Atari DOS image 2017-02-21 19:25:47 -08:00
Rob McMullen
0ba5c8546c Removed view saving stuff and added uuid
* the viewer should save any view params, not the segment (there might be multiple views, for instance!)
* viewer can reference uuid as key into view params dictionary
2017-02-21 11:22:31 -08:00
Rob McMullen
a34dc24aeb Added missing attributes of DefaultSegment if old versions are restored through unpickling 2017-02-19 22:25:22 -08:00
Rob McMullen
73a4fff34c Updated version number for cursor save position 2017-02-19 15:49:06 -08:00
Rob McMullen
0078187cb9 Added attributes to save view position 2017-02-19 15:48:01 -08:00
Rob McMullen
904f7f13cc Changed data_bit_mask into just one of the user_bit_masks.
* data_bit_mask just becomes one of the set of mutually exclusive choices
2017-02-17 00:06:27 -08:00
Rob McMullen
87f60ab569 Added more comment convenience functions 2017-02-09 22:55:29 -08:00
Rob McMullen
9cf61e5a82 Added convenienc functions to get style, comments at list of indexes 2017-02-09 14:20:03 -08:00
Rob McMullen
10e89f6730 Updated version number to 3.3 so omnivore can require it 2017-02-07 19:58:11 -08:00
Rob McMullen
a609bf10db Added iterator over comments in a segment 2017-02-07 19:14:02 -08:00
Rob McMullen
1f302f8f5b Added check for degenerate case in get_entire_style_ranges 2017-02-06 14:08:30 -08:00
Rob McMullen
c3b6fb252c Added get_entire_style_ranges to return indexes that break up segment by style changes 2017-02-05 14:46:54 -08:00
Rob McMullen
bef03c961c Added convenience function for unindexed copy of data 2017-01-31 22:43:42 -08:00
Rob McMullen
a84ac0dac1 Updated version number to indicate significant bug fix 2017-01-05 23:49:45 -08:00
Rob McMullen
bdd711cb3c Added missing tostring implementation of OrderWrapper 2017-01-05 23:46:50 -08:00
Rob McMullen
d7f5f0c92d Updated bugfix version 2016-10-01 18:43:21 -07:00
Rob McMullen
3a988495e8 Added extra verbosity to show parsing error 2016-10-01 18:42:39 -07:00
Rob McMullen
7e51284cb1 Fix for non-standard boot headers using a single sector instead of usual minimum of 3 sectors 2016-10-01 18:42:02 -07:00
Rob McMullen
df38db492a Fixed MAME rom check to allow 16 byte ROM images instead of minimum 256 byte 2016-10-01 18:40:40 -07:00
Rob McMullen
dc3d4c1899 Updated bugfix version 2016-09-22 11:03:47 -07:00
Rob McMullen
441c6f449f Fix for stale code in 130k disk image support 2016-09-21 15:24:50 -07:00
Rob McMullen
089363167f Updated version number to indicate DOS 3.3 support 2016-07-28 19:56:25 -07:00
Rob McMullen
71268cd0fa Attempt to handle bad track/sector list in DOS 3.3 image 2016-07-28 19:37:40 -07:00
Rob McMullen
f6a929f915 Added DOS 3.3 boot segments 2016-07-20 18:55:05 -07:00
Rob McMullen
c89b89f9a7 Fixed sector number offset for raw sector labels 2016-07-20 18:12:07 -07:00
Rob McMullen
a4726f1c5a Initial support for DOS 3.3 VTOC 2016-07-20 17:37:38 -07:00
Rob McMullen
ac8b750c44 Added ProDOS placeholder disk image 2016-07-20 10:03:29 -07:00
Rob McMullen
c6ef73358a Removed sector size assumption of 128 bytes if non-standard disk image size 2016-07-20 10:02:49 -07:00
Rob McMullen
74ea705347 Initial DOS 3.3 detection 2016-07-20 08:14:32 -07:00
Rob McMullen
d3265737ca Don't insert title or author when user supplies bootcode for XEX header 2016-06-12 10:13:59 -07:00
Rob McMullen
1dc003d65f Added origin to default string representation 2016-06-09 10:05:14 -07:00
Rob McMullen
f64ffb777b Added user data serialization and expanded user data to actually use the user_index field so multiple types of user data are actually supported 2016-06-06 14:31:51 -07:00
Rob McMullen
2b7d895f80 Added new class UserExtraData to expand the capability for storing additional data in the global segment
* moved comments into this class
2016-06-05 23:30:18 -07:00
Rob McMullen
8f8fbb3bbd Updated version 2016-06-03 16:16:37 -07:00
Rob McMullen
0171d85d31 Added customizable title & author screen for xexboot images 2016-06-03 16:14:52 -07:00
Rob McMullen
20feb9c96a Added checks for invalid cart type and added unit tests 2016-06-03 13:05:16 -07:00
Rob McMullen
f969d27e43 Added MAME segment parsing from Omnivore 2016-06-03 12:40:48 -07:00
Rob McMullen
d8b100fd95 Updated version to 3.0.0 2016-06-03 11:01:11 -07:00
Rob McMullen
75077e238f Reordered cartridges 2016-06-02 22:58:11 -07:00
Rob McMullen
22a832e46f Grouped carts > 128K into large cart MIME type 2016-06-02 22:51:16 -07:00
Rob McMullen
4a32078757 Restructured order of cart list so index & cart type don't correspond any more
* added get_cart convenience function to look up cart data from cart type
2016-06-02 17:18:06 -07:00
Rob McMullen
7500aafce1 Added strict/relaxed checking to allow autoload scanning to match as narrowly as possible
* added cart image names from atari800 source
2016-06-02 16:59:59 -07:00
Rob McMullen
be7dd609c7 Initial support for parsing cartridge images 2016-06-02 15:09:34 -07:00
Rob McMullen
0b6b704667 Added addl sanity checking for boot sector params in BootDiskImage 2016-06-02 13:00:21 -07:00
Rob McMullen
68de323d3f Added better error checking for atari DOS executables 2016-06-01 15:37:28 -07:00
Rob McMullen
f1038329ee Added parsers and MIME type definitions from Omnivore
* restructured main script to use parsers, replacing the old logic
2016-06-01 15:11:30 -07:00
Rob McMullen
ea9466cda7 Added segment interleaving support 2016-05-17 14:53:52 -07:00
Rob McMullen
0f209cf50a Fixed indexing of sub-arrays 2016-05-10 11:37:01 -07:00
Rob McMullen
4c4da4bf38 Added add_atr_header and removed hack to insert a header into an already existing disk image
* until I think of a better solution, forcing you to create an entirely new disk image
2016-05-05 23:11:06 -07:00
Rob McMullen
a8af883d1f Added custom bootcode to add_xexboot_header 2016-05-05 23:10:28 -07:00
Rob McMullen
6d2f483f40 Changed to my own bootloader rather than kboot 2016-05-05 17:44:20 -07:00
Rob McMullen
eaca5e166a Added XEX creator from a list of segments 2016-05-05 17:14:23 -07:00
Rob McMullen
cfe6c775bb Added ability to create ATR header 2016-05-05 13:59:56 -07:00
Rob McMullen
bc7097dfd0 Fix for incorrect ObjSegment call when there's a short segment header 2016-05-04 11:18:50 -07:00
Rob McMullen
b977322a4e Initial attempt at adding kboot header 2016-05-03 23:21:01 -07:00
Rob McMullen
ccebfdf354 added get next/previous change in style mask 2016-04-29 11:37:50 -07:00
Rob McMullen
fd9ebe61b2 Added not_user_bit_mask 2016-04-29 11:37:32 -07:00
Rob McMullen
f2873c8b7d Added support for diff_bit_mask and displaying differences between two segments 2016-04-28 19:00:42 -07:00
Rob McMullen
7ed99d614f Fixed KBoot segment creation 2016-04-25 11:57:41 -07:00
Rob McMullen
6a924a5970 Removed wxpython specific get_file_dialog_wildcard out of atrcopy & added more descriptive class attribute names for segment saver info 2016-04-19 16:01:05 -07:00
Rob McMullen
74bbc5c67f Fixed style mask for user defined bits 2016-04-18 15:44:09 -07:00
Rob McMullen
02ba76f358 Changed to labeled bit mask constants rather than hard-coded bit values
* changed to one user bit mask value rather than separate bits
2016-04-18 11:54:29 -07:00
Rob McMullen
e9640269f9 Added exception when base index out of range in a normal (non-indexed) segment
* matches what happens in indexed segments
2016-04-18 10:34:40 -07:00
Rob McMullen
2edfc1786c Added user style bits 2016-04-15 15:53:54 -07:00
Rob McMullen
7cb1c13703 Added some convenience functions: reverse index mapping, valid index check, and sorted comments list 2016-04-13 16:12:23 -07:00
Rob McMullen
d246b7ca70 fixed bug in get_raw_index that wasn't returning int when there was no base array 2016-04-13 15:46:46 -07:00
Rob McMullen
19b90e9305 set _search_copy in segment so restoring using __setstate__ will have that attribute 2016-04-12 19:57:28 -07:00
Rob McMullen
b3e5005b56 bug fix release 2.6.1 2016-04-12 17:53:49 -07:00
Rob McMullen
15742653aa Fix for reconstruct_raw on old data that doesn't have _order_list 2016-04-12 17:53:12 -07:00
Rob McMullen
97394e0e89 Added some logging, version number to 2.6.0 2016-04-12 17:13:33 -07:00
Rob McMullen
a33e5aa6b2 Added segment parsing of DOS files within ATR images
* removed IndexedByteSegment; moved segment order info into SegmentData and OrderWrapper
2016-04-12 17:04:21 -07:00
Rob McMullen
1ab03e2612 Fixed typo in Atari DOS vtoc parsing 2016-04-12 11:47:27 -07:00
Rob McMullen
ae9a3e7f92 Updated version to 2.5.1 2016-04-11 15:03:05 -07:00
Rob McMullen
76b656ad88 Added get_first_comment convenience method 2016-04-11 14:44:20 -07:00
Rob McMullen
5266c5837d Added clear_comment utility method 2016-04-11 11:36:55 -07:00
Rob McMullen
218cfeafe8 Changed get_comment to return empty string instead of None 2016-04-09 16:34:08 -07:00
Rob McMullen
9835c0521f Added text comments 2016-04-05 22:55:08 -07:00
Rob McMullen
d8236e4edd Added pseudo-serialization for segments, and unit test 2016-04-05 15:48:24 -07:00
Rob McMullen
5465edcfdf Added error checking for valid VTOC 2016-03-28 15:48:46 -07:00
Rob McMullen
66e7c14ddb Changed permissions to 644 2016-03-25 16:09:29 -07:00
Rob McMullen
c8ccd73779 Added SegmentData class and updated to version 2.5.0 in preparation for adding comments 2016-03-25 16:08:50 -07:00
Rob McMullen
3c2f6df828 Added clear_style_ranges 2016-03-10 10:34:12 -08:00
Rob McMullen
31085bd83e Update version to 2.4.0 2016-03-06 22:27:05 -08:00
Rob McMullen
44341691f0 Added bool_to_ranges to convert numpy boolean result to list of ranges 2016-03-06 21:38:59 -08:00
Rob McMullen
7549140abe Added a 'data' style that acts as a flag to the disassmebler to not disassemble this region 2016-03-05 20:58:30 -08:00
Rob McMullen
06aa3bfa9b Added verbose info for segments using dirents 2016-03-05 20:53:08 -08:00
Rob McMullen
d6fec961b8 Added verbose_info property for segments allowing more descriptive text 2016-03-04 23:52:05 -08:00
Rob McMullen
f2f36f11c5 Fixed mistake in EmptySegment constructor 2016-03-04 13:02:59 -08:00
Rob McMullen
18b53b8fcb Updated version number to 2.3.3 2016-03-02 14:30:29 -08:00
Rob McMullen
8918ebf3c6 Added boot segment parsing for raw boot disks (no assumptions about valid DOS flags in the boot sector) 2016-03-02 14:25:12 -08:00
Rob McMullen
320c5af153 Fixed check for boot disk image: doesn't work to assume initialization address at 4-5 is valid or JMP address at 6-8 are valid 2016-03-02 14:05:32 -08:00
Rob McMullen
fdfb1b85c5 Updated to 2.3.2 to publish fix for IndexByteSegment 2016-02-18 11:47:28 -08:00
Rob McMullen
18a12c0225 Changed IndexedByteSegment to use numpy array as order so fancy indexing works in __getitem__ 2016-02-18 10:17:21 -08:00
Rob McMullen
cfaca75052 Include scripts in MANIFEST.in; new version 2.3.1 2016-02-15 22:00:55 -08:00
Rob McMullen
671b55b981 Fixed style operations on IndexedByteSegment 2016-02-13 11:34:45 -08:00
Rob McMullen
2846da9334 Fixed bitmap sector size 2016-02-13 11:34:23 -08:00
Rob McMullen
42d2a977cc Added function to return ranges of selected styles 2016-02-12 22:53:58 -08:00
Rob McMullen
c30aaa451a Fixed single density boot sector indexing for double density disks 2016-02-12 22:01:39 -08:00
Rob McMullen
9f88cd22d2 Fixed some imports 2016-02-12 21:36:08 -08:00
Rob McMullen
3f40a914ea Split monolithic atrcopy.py into multiple files in the atrcopy package
* fixed setup.py to work with package format
2016-02-12 20:36:33 -08:00