Commit Graph

62 Commits

Author SHA1 Message Date
Rob McMullen 4c53fb6e48 fixed #14: add check for nonstandard dos33 sector size and reset if found 2022-03-16 11:02:26 -07:00
Rob McMullen dafba8e74c Replaced fromstring with frombuffer (and copy if necessary) 2019-03-17 14:13:11 -07:00
Rob McMullen c57c35eeec Added create_emulator_boot_segment to disk images and files
* prepare a segment that can be written to disk and booted by an emulator
2018-10-26 10:53:35 -07:00
Rob McMullen e4ce309bd3 Added file extensions recognition to create_executable_file_image
* you can write a XEX to an Apple DOS 3.3 image, for instance
2018-07-17 18:33:16 -07:00
Rob McMullen 54b7d56085 Added RunAddressSegment that will supply a run addr to assemble
* moved executable file creation into executables.py (XEX, BSAVE, etc.)
2018-07-17 18:10:29 -07:00
Rob McMullen 98e46ac23c Refs #1: BSAVE parser now much more strict on detecting valid file
* size specified in header must now match exactly to the length of data in the file
* i.e.: rejects incomplete files and files with extra data
2018-06-25 11:55:05 -07:00
Rob McMullen 1a7381b865 Classes no longer unnecessarily subclass from object, as in py3 it's the default 2018-06-24 17:20:32 -07:00
Rob McMullen 6b9cf6d4d2 Converted "from errors import *" to "from . import errors" 2018-06-24 12:10:59 -07:00
Rob McMullen 1968cd9717 Fixes to convert filenames to str rather than bytes 2018-06-23 22:05:35 -07:00
Rob McMullen ff937ebcc0 Removed future library; python 3.6 only as of version 7.0 2018-06-04 10:27:51 -07:00
Rob McMullen ab05cb1ae1 Changed start_addr to origin 2018-06-04 10:19:08 -07:00
Rob McMullen ebdcb01c40 Changed numpy convenience method tostring to tobytes 2018-05-26 20:07:43 -07:00
Rob McMullen 36a6dd69fc dos33: workaround to ignore non-ascii characters. fails on beagle bros 'Alpha Plot.dsk' 2017-07-11 16:13:54 -07:00
Rob McMullen 06e07bafe6 Added missing bail-out InvalidDiskImage error in ProDOS loader 2017-05-18 22:13:50 -07:00
Rob McMullen 37c2311d1b Fixed some python 3 bytes/string issues 2017-05-08 22:26:48 -07:00
Rob McMullen 8284ae23b3 Changed to floor division which works on both py2 and py3 2017-05-08 11:03:04 -07:00
Rob McMullen c30f390fed All tests passing for python 3 2017-05-07 19:33:38 -07:00
Rob McMullen 841aa1dc9b WIP for py3 support 2017-05-07 18:58:10 -07:00
Rob McMullen bddae24cb1 Futurize --stage1 changes 2017-05-07 13:31:45 -07:00
Rob McMullen 6047824405 Added 'if _xd:' wrapper around expensive debug logging calls
* generating numpy lists for printing is pretty expensive when doing it thousands of time as in the unit tests
2017-05-07 12:23:51 -07:00
Rob McMullen aef23b879a Fixed abbreviation of bytes: should be "B", not "b" which is bits 2017-05-06 19:53:15 -07:00
Rob McMullen e06a82e611 Added Apple BSAVE file parser
* added object file parsing into assembled files
* updated docs
2017-05-06 16:49:42 -07:00
Rob McMullen dc25b69d69 Added tests for binary file creation
* fixed return value mismatch in get_xex to create_executable_file_image
2017-05-03 12:00:34 -07:00
Rob McMullen e93f09e298 Added --run-addr (--brun) command line param
* for dos33, have to create a tiny segment at the beginning to store a JMP if addr is not the first byte in the first segment
2017-05-02 11:17:32 -07:00
Rob McMullen c897460df0 PEP8 whitespace fixes 2017-03-23 10:06:37 -07:00
Rob McMullen 491589d686 Added 'use_origin' flag to let disassembler know that it has a real origin in memory so that labels are meaningful 2017-03-20 23:48:59 -07:00
Rob McMullen e7f0b49c34 Added comments for VTOC, Directory sectors in Atari, Apple DOS formats 2017-03-20 23:12:54 -07:00
Rob McMullen f152a7dd2d Change to data style for some known locations 2017-03-20 14:29:08 -07:00
Rob McMullen 5f9acaa802 Added UnsupportedDiskImage error to show that the disk has a known format but it's not able to be parsed 2017-03-07 11:05:16 -08:00
Rob McMullen 1f7d82c208 Fixed file type setting adding a file to DOS 3.3 2017-02-26 21:43:20 -08:00
Rob McMullen 3e3a547634 removed debug prints 2017-02-26 19:12:32 -08:00
Rob McMullen 9a87d10326 Added extra metadata command to print out lots of info about dirent 2017-02-26 17:08:55 -08:00
Rob McMullen f4057f6ad5 Added Dirent abstract base class and ability for find_dirent to take filename or dirent 2017-02-26 14:06:29 -08:00
Rob McMullen 4d1f17677d Added pretty printing of VTOC by track
* changed VTOC, Directory classes to keep pointer to header, not just sector sizes
2017-02-26 13:34:07 -08:00
Rob McMullen 07cdb05ba2 Added -s command to use pyatasm to assemble MAC/65 source and place it in a file in the disk image 2017-02-26 12:14:23 -08:00
Rob McMullen 39b988863c Extract load addr for DOS 3.3 binary files
* automatically mark first 4 bytes of binary file as data
* made summary, file_type properties
2017-02-24 23:36:08 -08:00
Rob McMullen 55fd4f00c6 Gracefully handle ProDOS images by saying they aren't supported 2017-02-24 22:20:35 -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 f04db6bf29 Fixed directory loading; was referencing first_directory on disk image object 2017-02-23 15:59:42 -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