Aaron Culliney
8f2ab2f072
Compress cpu65_vmem_* function tables to save space
2019-10-27 16:26:35 -07:00
Aaron Culliney
17147ce662
LOG strerror(errno) for functions that may fail
2019-06-28 20:17:37 -07:00
Aaron Culliney
d443f01af3
Bugfix disk6_ioWrite
2018-10-13 07:38:05 -07:00
Aaron Culliney
a8e14381c1
Ensure disk_byte is properly reinitialized
...
- Improves CPU tracing against baseline
2018-07-29 16:28:56 -07:00
Aaron Culliney
53459c9e78
Clean up a number of Xcode build warnings
2017-09-28 16:27:12 -07:00
Aaron Culliney
570147712c
Get Mac and iOS builds working again
...
- iOS build is still super Alpha ;)
2017-09-13 20:27:42 -07:00
Aaron Culliney
2d5c47d534
Autotools builds on Mac somewhat
2017-08-21 17:56:20 -10:00
Aaron Culliney
51a5f5fcf7
Excise ERRLOG() in favor of LOG()
2017-07-15 14:39:15 -10:00
Aaron Culliney
3b1c72e872
Excise RELEASE_LOG() and RELEASE_BREAK() macros
...
- LOG() and assert() work just fine ;)
2017-07-15 14:19:31 -10:00
Aaron Culliney
3c1dcd4a69
Refactor to enable loading multiple AV backends
...
- Includes default 'null' backends with lowest priority
2017-07-15 13:25:00 -10:00
Aaron Culliney
5102706441
Ensure that Apple2ix handles invalid gzipped files
2017-07-07 17:57:19 -10:00
Aaron Culliney
55cba116e4
Revert adding A2V3 format as it is unnecessary
...
- Re-gzipping ejected images is based solely on the file extension and not the actual file stream contents
- Read/write disk images with extension ".gz" are re-gzipped in-place upon ejection
- Read/write disk images without extension ".gz" are not changed upon ejection
- Read-only disk images maintain current behavior (no modifications performed at all)
2017-07-06 19:36:37 -10:00
Aaron Culliney
7411a987fa
Disk chooser can now also choose .a2state files
...
- Internal save/restore API now uses file descriptors (supports restrictive app environments)
2017-07-01 11:03:15 -07:00
Aaron Culliney
2a263e2418
Avoid a crash in nativeStateExtractDiskPaths()
2017-06-07 02:21:48 -07:00
Aaron Culliney
033dbf71ea
Clean up disk/zlib internal APIs
2017-06-03 05:40:09 -07:00
Aaron Culliney
b300e60e2a
Persist disk image 'was_gzipped' state
...
- 'was_gzipped' state is persisted in .apple2.json preferences
- This removes all file-renaming codepaths at the cost of temporarily nonconformance to naming convesion (e.g., disk
images inserted read/write are still called 'foo.dsk.gz' although they are not compressed)
- Unclean shutdown of emulator leaves any disk images that were inserted read/write in their non-gzipped state
(regardless of file name extension) on disk until emulator restarted and disk images explictly ejected or clean
shudown. App removal after unclean shutdown will potentially leave mis-named disk images lingering.
- Emulator will handle edge cases of non-gzipped disk images with '.gz' extension and gzipped disk images without
'.gz' extension
2017-05-29 08:05:38 -10:00
Aaron Culliney
9bd59661ed
Refactor disk image UI to use file descriptors and not paths
...
- Push path opening responsibility out of disk6 API in favor of using file descriptors
- Improves handling of readonly gzipped disk images (now data is read without gunzipping or mmap()ing the file)
- Currently represents an API-breaking change for macOS, iOS, GNU/Linux desktop ports (but should be easy to fix)
2017-05-28 08:48:11 -10:00
Aaron Culliney
9cc3603d73
HACKishly fix macOS/iOS build
2016-10-26 21:23:34 -07:00
Aaron Culliney
d2e61e5091
Ensure big-endian data in A2V2 save-file format
...
- Also sanity-check buffer read overflow during loading
2016-10-16 16:00:14 -07:00
Aaron Culliney
4bdabcaa9a
Optimize disk6 track switch read/write and improve tracing conformance with AppleWin
...
- No need to read/write if only changed to a "half track"
- Fixes one small glitch in boot disk tracing
2016-10-02 13:58:06 -07:00
Aaron Culliney
c4e3dccc38
Rename disk tracing API
2016-10-02 13:56:56 -07:00
Aaron Culliney
ba09a6aba9
Refactor Disk ][ API to improve tracing conformance with AppleWin
...
- Binary stability change/fix : an 0xEB -> 0xFF in the sync bytes of blank.nib.gz
2016-10-02 13:55:05 -07:00
Aaron Culliney
781cc60d8c
Assert CPU paused when switching disk images
2016-09-17 12:24:47 -07:00
Aaron Culliney
8c244486e8
Fix a bug in emulation state restoration that caused disk images to be inserted read/write
2016-09-11 11:55:24 -07:00
Aaron Culliney
e479a861d7
First cut at testing save/restore of emulation state
2016-09-11 11:53:59 -07:00
Aaron Culliney
7af88b3568
Tests are starting to run in iOS simulator
2016-06-30 21:03:58 -07:00
Aaron Culliney
28cdb24d18
Move an assert to avoid firing on load of Mac app
2016-04-23 12:38:55 -07:00
Aaron Culliney
b87273e742
Expand coverage of heap memory checking of debug builds and simplify FREE() calls
2016-02-26 21:26:57 -08:00
Aaron Culliney
3120b75e00
Enforce module ctor priorities
2016-02-22 22:41:37 -08:00
Aaron Culliney
00a5f6e102
Fix "re-insert" disk edge case
2016-02-17 22:32:01 -08:00
Aaron Culliney
afeaba8b2a
Lock access to zlib functions and unlinking image files to prevent data loss
2016-02-17 21:31:43 -08:00
Aaron Culliney
a2b7603e53
Only reset disk stepper_phases during VM initialization and allow for save/restoring it
2016-02-17 21:10:09 -08:00
Aaron Culliney
261ae2efae
Refactor to not use video_backend in so many places
2016-02-07 14:42:32 -08:00
Aaron Culliney
8626215205
Silence a number of spurious compiler warnings
...
- Existing warnings are now a good proxy for areas of code smell ;-)
2016-01-10 12:09:04 -08:00
Aaron Culliney
f7cb3da434
Mark certain core emulation modules as problematic on iOS/Mac, and something we should fix
2016-01-05 00:11:58 -08:00
jvernet
4d89d173f4
Here we are: now everything work for iPad.
2016-01-04 21:25:27 -08:00
Aaron Culliney
abae59767c
Enable simple heap memory fencing/scribbling in debug builds
2015-12-31 22:50:43 -08:00
Aaron Culliney
edf42b81f9
Improve disk quick save/restore
...
- Flush disk I/O on save
- Ignore ephemeral track_valid/track_dirty bits
- Insure disks are ejected if there was a problem loading state
2015-12-12 00:21:27 -08:00
Aaron Culliney
0aed046b5e
Simplify modulo offset calculations in trackimage
2015-12-12 00:17:58 -08:00
Aaron Culliney
ef1963a175
Avoid potential read off end of trackimage
2015-12-12 00:16:14 -08:00
Aaron Culliney
943b8842f7
Show disk track sector change animations
2015-12-07 23:03:44 -08:00
Aaron Culliney
ff204a4300
Slight refactor to move common ".gz" extension handling code to interface module
2015-11-29 13:23:13 -08:00
Aaron Culliney
b9d6d38b17
First cut at save/restore emulator state feature
...
- This adds to overall UX ... (you can finally finish some very difficult arcade games by strategically leveraging
this feature)
- Currently enabled for Android, but not Android-specific
2015-11-22 18:22:01 -10:00
Aaron Culliney
0aacdfa9e5
Various fixes from Apple Clang static analyzer
2015-11-14 08:03:44 -08:00
Aaron Culliney
a61fd339a6
Various fixes to get Mac build compiling
2015-11-14 08:01:20 -08:00
Aaron Culliney
e5f08849ae
revert back to sync byte and state reason
2015-10-25 13:51:54 -07:00
Aaron Culliney
2cc23cf35d
Upgrade to GPLv3 "or later" and update copyrights
2015-10-22 21:09:13 -07:00
Aaron Culliney
4ae7e3e735
Silence potentially abusive logging in disk VM callbacks
2015-10-20 20:57:52 -07:00
Aaron Culliney
d23a435b56
Use mmap for disk I/O
2015-10-18 16:27:07 -07:00
Aaron Culliney
d46a62a4dd
Refactor to load whole disk image into memory
2015-10-18 15:24:34 -07:00