Compare commits

..

232 Commits

Author SHA1 Message Date
Tamas Rudnai 3a353185b8 Adjusted Main & Debugger Storyboards 2024-05-07 20:10:46 -07:00
Tamas Rudnai 68ef567994 Woz 2.0 + Better HiRes + Better Sound + Hard Hat Mack disk 2024-05-07 20:10:16 -07:00
Tamas Rudnai 41cfb1efde WOZ 2.0 Disk Image Format 2024-05-07 20:05:39 -07:00
Tamas Rudnai 67cc9d2359 Rudimentary implementation of DGR / Double LoRes 2024-01-14 20:48:18 -08:00
Tamas Rudnai 8cafeff4d9 Preparation for DGR / Double LoRes rendering 2024-01-14 18:38:13 -08:00
Tamas Rudnai 5e272a9686 Preparing for DGR / Double LoRes support 2024-01-14 18:25:46 -08:00
Tamas Rudnai 112f43fafe Video Text/LoRes mem fix for Int/Aux mempry select 2024-01-14 07:45:11 -08:00
Tamas Rudnai 39f6bdc1bd BugFix: RAM does not saved at AUX selection 2024-01-13 17:47:42 -08:00
Tamas Rudnai 711b68608d BugFix: ZeroPage Memory 2024-01-09 20:24:58 -08:00
Tamas Rudnai 176d0afa2a Bugfix: Zeropage memory 2024-01-09 13:42:20 -08:00
Tamas Rudnai 393fefd342 bugfix: Zeropage memory 2024-01-09 13:41:23 -08:00
Tamas Rudnai 1d7c47e630 Merged from Fake Scroller 2024-01-06 07:11:52 -08:00
tudnai 0beecc2d36 - Fixed GR not cleared when Powered Off
- Fixed Video Mode did not go back to Text when Reset pressed
- Fixed some Memory Handling issues
- Internal Cx ROM being copied to RAM to eliminate some problems
2020-08-04 00:20:55 -07:00
tudnai 9741a49b80 Fixed some MMU issues 2020-08-03 22:16:11 -07:00
tudnai 15a2fd84ac - Fixed: 80col text mode
- Fixed: Video mode indicators
2020-08-02 16:37:08 -07:00
tudnai 6889eafb0b Fixed CxROM handling & Fixed Language Card RAM Write enable feature 2020-08-02 15:00:42 -07:00
tudnai 8e6617bcee More reliable way to determine if disk image has a .po file extension 2020-07-31 14:19:31 -07:00
Tamas Rudnai bd764cf909
Delete Steve2.pkg 2020-07-30 17:01:22 -07:00
tudnai 68bd815419 Merge branch 'work' of https://github.com/trudnai/Steve2 into work 2020-07-30 16:55:53 -07:00
tudnai 06a0e1c9b4 v0.85-beta.1 2020-07-30 16:54:52 -07:00
Tamas Rudnai 7ca5b082dc
Update README.md
typo
2020-07-30 14:53:54 -07:00
Tamas Rudnai bbd00aef46
Update README.md
typo
2020-07-30 14:26:15 -07:00
Tamas Rudnai 420234fe97
Update README.md
typo
2020-07-30 14:25:49 -07:00
Tamas Rudnai 73a67d45d4
Update README.md
Added Copyright info
2020-07-30 13:13:02 -07:00
Tamas Rudnai 0e00827a08
Add files via upload
GPL v3 License should be at the root folder
2020-07-30 13:09:05 -07:00
Tamas Rudnai 7f62887402
Update README.md
Typos
2020-07-30 13:01:27 -07:00
Tamas Rudnai 6d72a3e2f5
Update README.md
Typos
2020-07-30 12:59:24 -07:00
Tamas Rudnai 90f746b5c0
Update README.md
Minor Tweaks
2020-07-28 17:46:49 -07:00
Tamas Rudnai 7bf5944573
Update README.md
Tiny tweaks
2020-07-28 17:41:12 -07:00
tudnai b8d1e1cf78 Merge remote-tracking branch 'refs/remotes/origin/work' 2020-07-28 17:39:27 -07:00
tudnai bca5d074db 65C02 Instructions 2020-07-28 17:37:27 -07:00
tudnai c948865ece First preparations for configurable CPU definitions 2020-07-27 23:55:55 -07:00
tudnai 675959e389 Updated Splash Screen to match with Icon Design 2020-07-27 22:25:40 -07:00
tudnai 5453fdf5fb Added Icon Set 2020-07-27 21:46:32 -07:00
Tamas Rudnai c08cecbbf9
Update README.md
typo
2020-07-26 18:22:25 -07:00
Tamas Rudnai 9353ad517a
Update README.md
typo
2020-07-26 18:21:39 -07:00
Tamas Rudnai 2b8bbfb606
Update README.md
Small typo and grammar fix
2020-07-26 18:18:09 -07:00
Tamas Rudnai 200bb8c125
Update README.md
Typo and formatting fixes.
Added a memoriam to my Father
2020-07-26 18:16:06 -07:00
Tamas Rudnai 1c7c0d3648
Update README.md
Changed 'simulating' to 'emulating'
2020-07-26 17:35:23 -07:00
tudnai f39b3cdad5 Merge remote-tracking branch 'refs/remotes/origin/work' 2020-07-26 17:33:02 -07:00
tudnai 2e1f0cf2d0 Kelvin Sherlock's fix to avoid uninstalled font problem 2020-07-26 17:31:56 -07:00
Tamas Rudnai 58f9f11bd1
Create README.md
Initial README
2020-07-26 17:27:53 -07:00
tudnai 61a81ccaf8 Disk sfx source files moved to audacity folder 2020-07-26 16:09:49 -07:00
tudnai 7498489282 Merge branch 'work' of https://github.com/trudnai/Steve2 into work 2020-07-26 16:08:03 -07:00
tudnai 7fa1f3c13f Audacity source files moved to folder 2020-07-26 16:07:04 -07:00
Tamas Rudnai 7b5721e7fd
Delete fail1.txt
removed
2020-07-26 15:56:35 -07:00
Tamas Rudnai 943c7f4480
Delete woz_backup.c
removed
2020-07-26 15:54:32 -07:00
Tamas Rudnai 47c718f5bc
Delete 1
removed
2020-07-26 15:53:26 -07:00
Tamas Rudnai 9631e62c9a
Delete ssasa
removed
2020-07-26 15:53:01 -07:00
Tamas Rudnai cd09a0bd04
Delete DISK_II_C600.ROM
removed
2020-07-26 15:52:46 -07:00
Tamas Rudnai b389ab63f3
Delete disksectorload_vii.csv
removed
2020-07-26 15:52:36 -07:00
Tamas Rudnai de57ef906d
Delete DOS_3_3_boot_trace.txt
removed
2020-07-26 15:52:25 -07:00
Tamas Rudnai 55a0ccf472
Delete DOS_3_3_boot_trace_filtered.txt
removed
2020-07-26 15:52:12 -07:00
Tamas Rudnai 794afd46f7
Delete disksectorload_5.marked
removed
2020-07-26 15:51:57 -07:00
Tamas Rudnai 5c1d9a096d
Delete DOS boot full trace.marked3
removed
2020-07-26 15:51:46 -07:00
Tamas Rudnai 0e9cd203f2
Delete disksectorload_4.marked
removed
2020-07-26 15:51:35 -07:00
Tamas Rudnai 7a5dfcd84e
Delete disassembly_new.marked
removed
2020-07-26 15:51:22 -07:00
Tamas Rudnai 5ef282d943
Delete Apple_II_ROM.s
removed
2020-07-26 15:51:09 -07:00
Tamas Rudnai c1e1c940eb
Delete apple.rom
removed
2020-07-26 15:50:55 -07:00
Tamas Rudnai c1953a1711
Delete DOS boot full trace.marked2
removed
2020-07-26 15:50:27 -07:00
Tamas Rudnai b16fa135b6
Delete a
removed
2020-07-26 15:50:14 -07:00
Tamas Rudnai 0e853dba55
Delete .disksectorload.log.swo
removed
2020-07-26 15:49:36 -07:00
Tamas Rudnai b73368b111
Delete .Apple_II_ROM.s.swp
removed
2020-07-26 15:49:18 -07:00
tudnai 244af5ca55 Merge branch 'work' of https://github.com/trudnai/Steve2 into work 2020-07-26 15:43:54 -07:00
tudnai 6b43345ca2 Merge remote-tracking branch 'refs/remotes/origin/master' 2020-07-26 15:31:45 -07:00
tudnai 7cad219957 Fixed some build issues 2020-07-26 15:29:24 -07:00
tudnai defb426aa2 Added Audacity project files for Disk Sound Effects (SFX) 2020-07-26 15:04:49 -07:00
tudnai a4260e6417 Removed files no longer used 2020-07-26 15:04:14 -07:00
Tamas Rudnai 0199e6397b
Delete Merlin Pro 2.45 (DOS) Disk 2-2.dsk
All disk images moved to dsk folder
2020-07-26 14:44:48 -07:00
Tamas Rudnai 73df543d44
Delete Merlin Pro v2.23 DOS3.3 (The Yegg-Men Crack).DSK
All disk images moved to dsk folder
2020-07-26 14:44:39 -07:00
Tamas Rudnai cfdcdb2f31
Delete Merlin Pro 2.45 (DOS) Disk 1-2.dsk
All disk images moved to dsk folder
2020-07-26 14:44:26 -07:00
Tamas Rudnai 46a793ba46
Delete .DISK_II_C600.ROM.swp
We do not need swp file
2020-07-26 14:43:57 -07:00
Tamas Rudnai 3d3c3803f3
Delete apple-rainbow.png
We no longer use this as splash screen
2020-07-26 14:43:23 -07:00
Tamas Rudnai 8102a9e662
Delete apple-rainbow.jpg
We do not use this splash screen anymore
2020-07-26 14:42:56 -07:00
tudnai afdf82d620 apple-rainbow artwork 2020-07-26 14:34:47 -07:00
tudnai 2265ad7376 apple-rainbow splash screen is no longer used 2020-07-26 14:34:28 -07:00
Tamas Rudnai 62c80ed9fb
Delete qbit.woz
There is an image with same name but capital Q -- we will use that instead
2020-07-26 14:28:16 -07:00
tudnai 0b2fded774 Merlin Assembler disk image 2020-07-26 14:23:28 -07:00
tudnai 108da5db09 Replaced A2MAC and A2iOS references in comments 2020-07-13 10:23:33 -07:00
tudnai 1355ab215d Added space between 2019 and 2020 in the copyright field 2020-07-13 10:16:37 -07:00
tudnai f09585176c Added GPL v3 License 2020-07-13 10:10:33 -07:00
tudnai c7e76ff9e8 MouseMoved now works 2020-07-12 21:40:08 -07:00
tudnai 6e69b2bf5d Disable Keyboard 2 Joystick button polling -- that should work through normal event handler 2020-07-12 17:54:48 -07:00
tudnai 99656013ee Shuffled Modules around to gain back speed 2020-07-11 19:06:34 -07:00
tudnai d8d406a044 disk_accelerator_speedup is exposed to the public so we can use it for paste function -- later we need to implement a proper paste accelerator 2020-07-11 18:46:55 -07:00
tudnai 84e10b33d4 - Speed up Paste
- CMD+A
- Toolbar Copy+Paste buttons connected
2020-07-11 16:33:29 -07:00
tudnai 5e7116aba0 Removed Invalid Menu System 2020-07-11 14:15:58 -07:00
tudnai ce6435cf05 Fixed unfocused TextField causing input issues 2020-07-11 13:16:10 -07:00
tudnai e875521dc9 Adjusted sound continuity for 2MHz 2020-07-09 14:15:00 -07:00
tudnai e6de74d5a1 Optimized Disk Menus onto the Side Panel 2020-07-08 13:12:46 -07:00
tudnai eb3ac8ff94 Toolbar Fully Implemented 2020-07-08 00:56:45 -07:00
tudnai 6ebe88794c - New floppy drive icons for light and dark modes
- Input modifiers polling
2020-07-06 12:16:09 -07:00
tudnai ebdc0b045d Sound fixes
WOZ fixes
Load DSK fixes
2020-07-04 10:13:12 -07:00
tudnai b31c138604 More buttons on toolbar 2020-07-01 23:08:33 -07:00
tudnai 8318b362fb Toolbar 2020-07-01 17:47:43 -07:00
tudnai ea089cd7c5 - DSK, DO, PO formats converted internally to WOZ
- Joystick button assignment corrected
- Adjusted speaker dumping
- WOZ image can be opened from a memory buffer
2020-06-28 21:00:25 -07:00
tudnai ad19b6504b - Speaker quality improvements
- Initial steps for WOZ2 format
2020-06-27 20:29:53 -07:00
tudnai cb498c415c Fixed sound issues and resource leaks related to that 2020-06-27 16:54:02 -07:00
tudnai 4751c59fad Better Disk SFX 2020-06-26 23:24:01 -07:00
tudnai 8a94024636 Play / Pause / Stop / Reset menus connected 2020-06-25 20:23:08 -07:00
tudnai 73078e1a9e Save, SaveAs 2020-06-25 19:52:23 -07:00
tudnai 5374c8f035 Fixed WOZ file save 2020-06-25 16:33:15 -07:00
tudnai 34bd53d9be Disk Save 2020-06-25 16:23:20 -07:00
tudnai b67c69a660 - Mouse clicks to Joystick button
- Better sound in Game Mode: It would not shut off the sound system, therefore no "Fade In" or "Soft Start" effect by OpenAL
2020-06-24 21:05:55 -07:00
tudnai fb85a5f122 - App renamed to Steve ][
- Resource Folders in the App bundle
- Fixed: Custom Fonts
2020-06-24 15:44:15 -07:00
tudnai 72930227f4 - Fixed Game Mode Speaker Simulation 2020-06-23 22:59:20 -07:00
tudnai ec2617c7ae Game mode selectable from UI 2020-06-22 19:23:41 -07:00
tudnai 15b4b3252e Selectable Mono Color 2020-06-20 22:14:39 -07:00
tudnai ac36139d0d - Removed some unused code
- Color / Mono selector
- Mono HiRes
2020-06-20 18:46:26 -07:00
tudnai c467b8223c - Trace Enabler from UI
- Disk optimization tweaks
- Disk Drive selector
- Aux Memory handling fix
2020-06-19 15:16:27 -07:00
tudnai 7f6ade463b - Disk Write!!!
- Some Debug code
- Super low power ECO mode
2020-06-18 15:14:54 -07:00
tudnai 0ebc75c931 - CPU Mode from UI
- Scan Lines (CRT Monitor) mode from UI
- Echo Mode (pauses machine when just waiting for keyboard input)
2020-06-17 09:46:17 -07:00
tudnai e6e43df201 Clean up woz_read() 2020-06-13 20:21:31 -07:00
tudnai e414e13ad4 Hertz to MHz 2020-06-13 20:13:20 -07:00
tudnai eea48cb7a0 Mark disks as write protected 2020-06-12 07:29:14 -07:00
tudnai c88a7a33a8 Disk acceleration is turned off by default 2020-06-12 07:15:06 -07:00
tudnai 3f38d61bf6 Named values for the OpenAL arrays 2020-06-11 23:37:18 -07:00
tudnai b5b555a04b Renamed Disk SFX files 2020-06-11 23:19:03 -07:00
tudnai 2df593f105 Adjusted decibel 2020-06-11 23:16:48 -07:00
tudnai 6f78b92344 Disk Sound Effect enable button 2020-06-11 23:16:26 -07:00
tudnai 3ef337771b Disk Accelerator enable soft switch 2020-06-11 22:44:53 -07:00
tudnai ccf53fa6a6 Default speed acceleration was accidentally turned off 2020-06-11 22:39:14 -07:00
tudnai 96ae85ec71 - Fixed disk sfx buffer initialization error
- disk sfx only allowed at lower speed
2020-06-11 22:38:03 -07:00
tudnai 2dc3040dc5 Sample Rate adjusted back to original, so pitch is a bit more realistic 2020-06-11 22:08:48 -07:00
tudnai f09a78c0c8 All SFX moved to one queue buffer array 2020-06-11 21:53:53 -07:00
tudnai 9e6aebeaa8 Floppy Disk Drive Sound Effects 2020-06-11 18:29:26 -07:00
tudnai 00d8b14770 Updated appname, Steve ][ it is 2020-06-11 14:51:21 -07:00
tudnai 3d8f8f3faf Do not generate debug output file by default 2020-06-11 14:50:51 -07:00
tudnai 25d4ca31fd Disk read optimization 2020-06-11 14:50:07 -07:00
tudnai fad4956135 New Splash Screen 2020-06-10 19:12:08 -07:00
tudnai 4106a7ec36 New Splash Screen 2020-06-10 19:11:27 -07:00
tudnai bc2ab8512d - Moved to SRGB color space so colors will actually match with one used by StoryBoard and GIMP
- Render function from Update
2020-06-10 17:48:37 -07:00
tudnai 8dca81904a better scanline Y offset 2020-06-10 08:31:27 -07:00
tudnai d1d984e33f old monitor effects 2020-06-10 08:30:52 -07:00
tudnai 7940373a0d Scanlines 2020-06-10 00:22:46 -07:00
tudnai 93fce5e51c load sfx function 2020-06-09 00:54:36 -07:00
tudnai 55bb6b5fd5 Few bugfixes 2020-06-09 00:54:06 -07:00
tudnai 94aeaaefaa Organized Resources 2020-06-09 00:23:05 -07:00
tudnai 145ee55a4d Faster disk io 2020-06-09 00:22:33 -07:00
tudnai a73fb79792 - Adjusted disk accelerator (back to 2 frames)
- Removed some debug prints
- Adjusted speaker extra buffer
2020-06-08 21:12:40 -07:00
tudnai f2f725b8c5 - Speed up disk read
- Less overshot with accelerated disk read
- woz_LoadTrack to see where are the sectors
- Removed some unused code
2020-06-08 20:52:10 -07:00
tudnai 19ebe351b5 Removed unused ViewController and Window 2020-06-06 21:18:32 -07:00
tudnai 23bc243a1b Disk magnet management moved from mmio.h to disk.c 2020-06-06 21:09:00 -07:00
tudnai bfc010901c KIL instruction renamed to HLT 2020-06-06 20:19:44 -07:00
tudnai 68a57a4e67 Removed old test code, no longer needed 2020-06-06 13:26:16 -07:00
tudnai 81a929a889 Undocumented instructions 2020-06-06 13:19:29 -07:00
tudnai 16aa7a8d69 Added few undocumented instructions 2020-06-05 23:20:32 -07:00
tudnai 71348d606d - Removed some debug prints
- Renamed an addressing function
2020-06-05 23:18:39 -07:00
tudnai b6873a3136 Added a comment 2020-06-05 23:17:12 -07:00
tudnai b91fab6066 Removed some debug prints 2020-06-05 23:16:17 -07:00
tudnai 469da345f4 6502_pure renamed to 6502_vanilla 2020-06-05 17:12:15 -07:00
tudnai 4e8cebab37 Preferences Dialog Box 2020-06-05 17:11:22 -07:00
tudnai 0aa6098846 - Default ROM is //e, instead of Enhanced version
- WOZ file load error handling
- Only place filename to recents when load was successful
2020-06-04 11:37:35 -07:00
tudnai b6f67f981c - File Open
- Recent Files
- Disk Menus moved to File Menu
2020-06-03 10:23:55 -07:00
tudnai 697fc3171d - Joystick On / Off from UI
- Aux Memory switches
- Open any files using Open File Dialog
2020-06-02 10:10:18 -07:00
tudnai 2d58c13376 LoRes Graphics 2020-05-29 08:50:47 -07:00
tudnai b9efc3e009 - True Virtual ][ style logging so we can compare logs easier
- Fix: RAM Expansion Card now works
2020-05-28 12:37:32 -07:00
tudnai f79be51bb1 - Mouse Button / Paddle 3 is inverted
- Reset Paddle / Joystick / Mouse buttons
2020-05-28 09:35:17 -07:00
tudnai 04d9ca20eb Game Controller Combined Buttons 2020-05-28 09:19:07 -07:00
tudnai bb42837894 Removed unused WAV files 2020-05-28 08:16:46 -07:00
tudnai cc99e2eba3 Diagnostic Disks 2020-05-28 08:15:41 -07:00
tudnai add26cffc0 - Added UI Control over Disk Acceleration
- Effort to make sound smoother on higher frequencies
2020-05-27 19:12:28 -07:00
tudnai 17927f4ab0 Turn off disk acceleration immediately when there is a sound 2020-05-27 17:27:11 -07:00
tudnai d008094078 - Fixed RAM expansion handling w/Bank switching 2020-05-27 17:16:49 -07:00
tudnai e18173605b - Fixed 80 col rendering issue
- Interestingly speed bumped up a bit too
2020-05-26 21:13:31 -07:00
tudnai 0e1fc3e44b Adjusted edge curves, it gives us better sound, closer to original... 2020-05-25 20:53:42 -07:00
tudnai cc6b3e27d4 Added some WOZ disk images for testing Merlin Assembler 2020-05-25 19:41:37 -07:00
tudnai 5a0a23f048 Added Merlin Assembler versions for testing 2020-05-25 19:34:33 -07:00
tudnai 3042a98d64 - Removed Up and Down Arrow Keys to better support of Keyboard 2 Joystick
- Fix: Inverted Up and Down Keyboard 2 Mouse
2020-05-25 19:34:02 -07:00
tudnai c5f16cd15a Display Text Page 2 2020-05-24 21:04:34 -07:00
tudnai ef4e124043 - Adjusting Colors
- Fixing some pixel rendering issues with the green color
2020-05-24 20:26:54 -07:00
tudnai 7758fe3c33 - Adjustable edge curve
- Better speaker flip-flop simulation
2020-05-24 13:07:34 -07:00
tudnai ab120dc459 - Keyboard 2 Mouse
- FPS set back to 30
- 16 bit PCM
- Smoother speaker level fade out
- Faster keyboard poll query -- This is for checking only, should be either removed or the entire ioRead should based on binary search, whatever is faster
2020-05-24 12:14:09 -07:00
tudnai 0aea0b9c84 emoving unwanted log files 2020-05-21 22:13:00 -07:00
tudnai 4773c534f1 - foundation for the predictive input controller
- 60 FPS for better joystick reposne
2020-05-21 22:09:57 -07:00
tudnai 26341faff2 Mouse 2 JoyStick 2020-05-20 22:22:44 -07:00
tudnai 1b4985d3c8 First implementation of Game Controller (Joystick / Paddle) 2020-05-20 09:56:35 -07:00
tudnai 0fef4708f8 Optimized handling video mode changes 2020-05-18 21:17:19 -07:00
tudnai 9c4abe97c5 Fixed Full graphics screen clearing issues 2020-05-18 09:27:34 -07:00
tudnai 9871cb3886 Adjusted Audio Play 2020-05-17 22:08:23 -07:00
tudnai bde4c4d941 - spkr_switch renamed to spkr_toggle and moved to speaker.c
- Also some minor tweaks and cosmetics
2020-05-17 19:32:45 -07:00
tudnai ae5d8211fb Fixed hang when Power On pressed multiple times 2020-05-17 18:31:41 -07:00
tudnai c8f09f878d - Reducing Clicks and Humps on the Speaker 2020-05-17 16:01:15 -07:00
tudnai 846df28a07 Code cleanup and unsuccessfully trying to fix alSourcePlay issues 2020-05-17 13:48:35 -07:00
tudnai cf23cc7983 Sound works 2020-05-17 07:49:05 -07:00
tudnai aaf7c0ca83 Exponential signal edges for speaker 2020-05-13 20:40:54 -07:00
tudnai 82e07b5652 Make sound louder and cleaner 2020-05-10 15:38:42 -07:00
tudnai ca2f023c8c - Improved sound quality
- Eliminating sound playing when there was no speaker toggling in a frame
2020-05-10 15:30:29 -07:00
tudnai b746b1ee5c Speaker sound buffer to generate perfect square waves 2020-05-10 10:54:34 -07:00
tudnai cf2325e6fa Speaker - First implementation 2020-05-09 23:40:37 -07:00
tudnai e96f7bafc9 Fixed blue rendering 2020-05-09 20:57:56 -07:00
tudnai 7b51c83da2 - Initial ROM acceleration removed from the Power Cycle to have a better feeling of a retro computer
- Improved Power Cycle animation
2020-05-09 14:40:42 -07:00
tudnai 293ba80f41 Removed prevPrev (not needed) 2020-05-09 13:51:34 -07:00
tudnai 889b31803a HiRes render improvements - sharp image! 2020-05-09 13:45:41 -07:00
tudnai 6abcba032d - Splash screen
- HiRes pixel rendering improvements
2020-05-09 03:39:55 -07:00
tudnai bfb226d415 Speed improvements to 1300MHz 2020-05-08 19:47:19 -07:00
tudnai c6a7f211dc - White reduced to get a better retro feeling
- HiRes Color restoration adjusted so no more green stuff in Donkey Kong
2020-05-07 23:54:11 -07:00
tudnai c996f0ce14 Immediate value should be 8 bit 2020-05-07 13:21:43 -07:00
tudnai afc8c6d8d1 Fixed 4 line Text screen position in Mixed mode 2020-05-07 13:20:46 -07:00
tudnai 572977f5f8 Disk adjustment magic numbers lifted out as variables so it will be easier to remember them and adjust them 2020-05-06 20:49:15 -07:00
tudnai 5051c0f8c7 Removed dead code 2020-05-06 20:24:22 -07:00
tudnai 49a9dff6da Adjusted Disk properties to work with the new instruction clock counter 2020-05-06 20:07:09 -07:00
tudnai 386d3ea979 Speed bumped to 1244MHz!
Fixed CPU initialization
2020-05-06 16:07:19 -07:00
tudnai 4a5b482efa Link time optimization 2020-05-06 10:12:04 -07:00
tudnai 4017d12dc8 - Optimized Text Rendering
- Optimized HiRes screen hiding
2020-05-06 09:56:21 -07:00
tudnai 303de91fc6 - Startup speed is set by ColdReset, so it will work always
- HiRes screen is being cleared when switched back to text mode
- Turned off Debug app for Release mode
2020-05-05 23:03:36 -07:00
tudnai 961708373c - Speed improvements
- Keyboard Up
- HiRes optimized (battery save) refresh / Refresh by blocks that modified
2020-05-05 08:35:57 -07:00
tudnai fd63ce5bca Optimized color management 2020-05-04 13:54:04 -07:00
tudnai 5afcb161b6 Optimizing HiRes screen updates - do not refresh HiRes when it is in TextMode 2020-05-04 13:53:36 -07:00
tudnai b993009859 Slight speed improvements 2020-05-04 13:52:52 -07:00
tudnai 303c0f7f95 Simplifying reset + Cleanup code 2020-05-02 22:39:54 -07:00
tudnai 393b28ab3d Interrupt handling outside of the instruction loop 2020-05-02 22:35:59 -07:00
tudnai 368dd13309 - Fixed disk acceleration algorithm
- Some tiny speed optimizations
2020-05-02 22:04:22 -07:00
tudnai e18bc9653e - Removed some dead code
- Disk accelerator reset moved to a function
- Some tiny speed optimizations
2020-05-02 21:26:24 -07:00
tudnai e871c32202 Limit increased to allow sheer power 2020-05-02 21:07:02 -07:00
tudnai 1cbc67c0eb Code Cleaning 2020-05-02 21:06:34 -07:00
tudnai 040ee3af43 Fixed Text Page switching 2020-05-02 10:36:21 -07:00
tudnai 54a02f3ea1 Milestone! GHz reached! & Removing large files 2020-05-01 23:35:17 -07:00
tudnai 424a65e074 Shadow memory direct access for all instructions & flags promoted to uint8_t instead of bitfield 2020-05-01 21:52:51 -07:00
tudnai 75e0f5d528 Not sure why it got removed 2020-05-01 20:16:41 -07:00
tudnai 77bcdc3e73 Merge branch 'speedbump' 2020-05-01 20:13:01 -07:00
tudnai e7dcfd1184 added schemas 2020-05-01 20:12:01 -07:00
tudnai 5ee910b681 Merge branch 'speedbump' 2020-05-01 19:54:40 -07:00
tudnai d2f455575d Removing log files 2020-05-01 19:49:31 -07:00
tudnai 1b2cf4d74e Page Table removed 2020-05-01 19:33:14 -07:00
tudnai 7e6ea1dc32 Getting rid of Page Table 2020-05-01 19:24:09 -07:00
tudnai db8c657d0e Rendering running independently on the main thread 2020-05-01 19:10:44 -07:00
tudnai ef6ae3ccc5 Shadow memory kinda works 2020-05-01 18:56:30 -07:00
tudnai 315e1aec12 Started to come alive 2020-05-01 14:43:41 -07:00
tudnai fc32252815 Further steps to implement Shadow Memory 2020-04-30 19:33:59 -07:00
tudnai 1b95e22568 Bugfixes merged from Master 2020-04-30 12:01:35 -07:00
tudnai 016a132ba7 Merge branch 'master'
Conflicts:
	src/cpu/6502.c
	src/dev/mem/mmio.h
2020-04-30 11:49:52 -07:00
456 changed files with 310545 additions and 1940852 deletions

Binary file not shown.

Binary file not shown.

34
.gitignore vendored Normal file
View File

@ -0,0 +1,34 @@
# gitignore for A2MAC project
@ (c) by Tamas Rudnai
# logfiles
*.log
**/*.log
# XCode debugger settings
A2Mac.xcodeproj/xcuserdata/trudnai.xcuserdatad/xcdebugger/
convert_spkr_buf_to_wav.wav
steve2_audio_debug_ema.wav
steve2_audio_debug_raw.wav
steve2_audio_debug.wav
XPS_Aux_Mem_test.txt
XPS_Aux_Mem_test.txt.dis
Resources/rom/Downloads/Apple II ROMs.zip
Resources/rom/Downloads/Apple II ROMs.zip
Resources/rom/Downloads/apple_2e_unenhanced_rom.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK1.zip
Resources/rom/Downloads/APPLE_IIe_ROM_KRK2.zip
Resources/rom/Downloads/apple_iie_rom.zip
Resources/rom/Downloads/077-0026-0027 for IIe.zip
**/Contents/**
.DS_Store
Brewfile
1
ssasa
*.au
*.aup
*.csv
*.swp

187
1
View File

@ -1,187 +0,0 @@
#!/usr/bin/perl
my $state = 'begin';
my $trk = 0;
my $sec = 0;
my @sectorData = ();
my $reLDA_C08C = qr/LDA\s+\$C08C,X\t0x([8-9A-Fa-f][0-9A-Fa-f])/;
my $reLDY_C08C = qr/LDY\s+\$C08C,X\t0x([0-9A-Fa-f]{2})\t0x([0-9A-Fa-f]{2})\t0x([8-9A-Fa-f][0-9A-F])/;
my $reSTA_0300 = qr/STA\s+\$0300,Y\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})/;
my $reSTA_26Y = qr/STA\s+\(\$26\),Y\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})\t0x([0-9A-F]{2})/;
sub hexdump {
my ($arr) = @_;
for($i = 0; $i < scalar(@{$arr}); $i++) {
if ( $i % 16 == 0 ) {
printf("\n%04X: ", $i);
}
printf("%02X ", @{$arr}[$i]);
}
print "\n";
}
while (<>) {
chomp;
s/[\n\r]+//;
print;
{ # for the redo to avoid print input twice
if ( $state eq 'begin' ) {
if ( /LDA\s+\$C08C,X\t0xD5/ ) {
print "\t marker D5";
$state = 'loaded_D5';
}
}
elsif ( $state eq 'loaded_D5' ) {
if ( /LDA\s+\$C08C,X\t0xAA/ ) {
print "\t marker AA";
$state = 'loaded_AA';
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_AA' ) {
if ( /LDA\s+\$C08C,X\t0x96/ ) {
print "\t marker 96";
$state = 'loaded_96';
print "\t; sector marker";
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_96' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker v1";
$state = 'loaded_v1';
}
}
elsif ( $state eq 'loaded_v1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker v2";
$state = 'loaded_v2';
}
}
elsif ( $state eq 'loaded_v2' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker t1:$1";
$trk = hex($1) << 1;
$trk |= 1;
$state = 'loaded_t1';
}
}
elsif ( $state eq 'loaded_t1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker t2:$1";
$trk &= hex($1);
print "\t; trk:$trk";
$state = 'loaded_t2';
}
}
elsif ( $state eq 'loaded_t2' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker s1:$1";
$sec = hex($1) << 1;
$sec |= 1;
$state = 'loaded_s1';
}
}
elsif ( $state eq 'loaded_s1' ) {
if ( /$reLDA_C08C/ ) {
print "\t marker s2:$1";
$sec &= hex($1);
print "\t; sec:$sec";
$state = 'loaded_s2';
}
}
elsif ( $state eq 'loaded_s2' ) {
if ( /LDA\s+\$C08C,X\t0xD5/ ) {
print "\t marker D5";
$state = 'waitingfor_AA';
}
elsif ( /EOR\s+#\$D5/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'waitingfor_AA' ) {
if ( /LDA\s+\$C08C,X\t0xAA/ ) {
print "\t marker AA 2";
$state = 'waitingfor_AD';
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'waitingfor_AD' ) {
if ( /LDA\s+\$C08C,X\t0xAD/ ) {
print "\t marker AD";
$state = 'loaded_AD';
print "\t; sector data marker";
}
elsif ( /EOR\s+#\$D5/ ) {
$state = 'begin';
redo;
}
}
elsif ( $state eq 'loaded_AD' ) {
if ( /$reLDY_C08C/ ) {
print "\t byte read: $3 (t:$trk s:$sec)";
}
elsif ( /$reSTA_0300/ ) {
printf( "\t byte to mem: \$%04X:$1\n", 0x300 + hex($3) );
}
elsif ( /$reSTA_26Y/ ) {
my $y = hex($3);
printf( "\t byte to mem ind: (\$26)+\$%02X:$1\n", $y );
if ($y >= 255) {
$state = 'sector_decode';
}
}
}
elsif ( $state eq 'sector_decode' ) {
if ( /$reSTA_26Y/ ) {
$i = hex($1);
$y = hex($3);
printf( "\t byte to mem ind: (\$26)+\$%02X:$1\n", $y );
$sectorData[$y] = $i;
if ($y >= 255) {
$state = 'sector_decode';
print "\nHEXDUMP track: $trk sector: $sec\n";
hexdump(\@sectorData);
}
}
elsif ( /$reLDA_C08C/ ) {
$state = 'begin';
redo;
}
}
} # for the redo to avoid print input twice
print "\n";
}

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -31,8 +31,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -63,19 +63,25 @@
buildConfiguration = "Release"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
disableMainThreadChecker = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugDocumentVersioning = "NO"
debugXPCServices = "NO"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
enableGPUValidationMode = "1"
allowLocationSimulation = "NO"
viewDebuggingEnabled = "No"
queueDebuggingEnabled = "No"
GPUProfilerEnabled = "No">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@ -91,8 +97,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -65,8 +65,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
@ -82,8 +82,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "325EB63F23FBBACF00C6B4A4"
BuildableName = "A2iOS.app"
BlueprintName = "A2iOS"
BuildableName = "Steve ][ iOS.app"
BlueprintName = "Steve ][ iOS"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -31,8 +31,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
@ -63,22 +63,33 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableASanStackUseAfterReturn = "YES"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BlueprintIdentifier = "32799F78264B1A5700255669"
BuildableName = "Steve ][ Debug.app"
BlueprintName = "Steve ][ Debug"
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Debug"
@ -91,8 +102,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@ -91,8 +91,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "32BFFB5622EACC630003B53F"
BuildableName = "A2Mac.app"
BlueprintName = "A2Mac"
BuildableName = "Steve ][.app"
BlueprintName = "Steve ]["
ReferencedContainer = "container:A2Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>

View File

@ -29,6 +29,11 @@
<key>orderHint</key>
<integer>3</integer>
</dict>
<key>Steve ][ copy.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>

View File

@ -1,9 +1,24 @@
//
// A2Mac-Bridging-Header.h
// A2Mac
// Steve ][
//
// Created by Tamas Rudnai on 2/17/20.
// Copyright © 2020 GameAlloy. All rights reserved.
// Copyright © 2019, 2020 Tamas Rudnai. All rights reserved.
//
// This file is part of Steve ][ -- The Apple ][ Emulator.
//
// Steve ][ is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Steve ][ is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Steve ][. If not, see <https://www.gnu.org/licenses/>.
//
//
// Use this file to import your target's public headers that you would like to expose to Swift.
@ -14,6 +29,16 @@
#import "6502.h"
#import "6502_bp.h"
#import "6502_dbg.h"
#import "6502_dis.h"
#import "6502_dis_utils.h"
#import "speaker.h" // So we can access to speaker stuff from Swift
#import "disk.h"
#import "dsk2woz.h"
#import "mmio.h"
#import "hires.h"
#import "woz.h"
#endif /* A2Mac_Bridging_Header_h */

View File

@ -2,9 +2,9 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.app-sandbox</key>
<false/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,169 @@
//
// AppDelegate.swift
// A2Mac
// Steve ][
//
// Created by Tamas Rudnai on 7/25/19.
// Copyright © 2019 GameAlloy. All rights reserved.
// Copyright © 2019, 2020 Tamas Rudnai. All rights reserved.
//
// This file is part of Steve ][ -- The Apple ][ Emulator.
//
// Steve ][ is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Steve ][ is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Steve ][. If not, see <https://www.gnu.org/licenses/>.
//
import Cocoa
import Foundation
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
static var current : AppDelegate?
var preferencesController : PreferencesWindowController?
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
@IBAction func ROM_Selected(_ sender: NSMenuItem) {
if let menuIdentifier = sender.identifier {
// rom_loadFile( Bundle.main.resourcePath, menuIdentifier.rawValue + ".rom" )
ViewController.romFileName = menuIdentifier.rawValue + ".rom"
m6502_ColdReset( Bundle.main.resourcePath, ViewController.romFileName )
// print("Resource Path: " + Bundle.main.resourcePath!)
m6502_ColdReset( Bundle.main.resourcePath! + "/rom/", ViewController.romFileName )
}
}
@IBAction func Disk1_Selected(_ sender: NSMenuItem) {
if let menuIdentifier = sender.identifier {
woz_loadFile( Bundle.main.resourcePath, menuIdentifier.rawValue + ".woz" )
let woz_err = woz_loadFile( Bundle.main.resourcePath! + "/dsk/" + menuIdentifier.rawValue + ".woz" )
ViewController.shared?.chk_woz_load(err: woz_err)
woz_flags.image_file_readonly = 1
}
}
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Insert code here to initialize your application
AppDelegate.current = self
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
@IBAction func selectAnImageFromFile(sender: AnyObject) {
ViewController.shared?.openDiskImageDialog()
}
func application(_ sender: NSApplication, openFile filename: String) -> Bool {
ViewController.shared?.openDiskImage(url: URL(fileURLWithPath: filename))
return true;
}
@IBAction func openFile(_ sender: NSMenuItem) {
ViewController.shared?.openDiskImageDialog()
}
@IBAction func saveFile(_ sender: NSMenuItem) {
ViewController.shared?.saveFile()
}
@IBAction func saveFileAs(_ sender: NSMenuItem) {
ViewController.shared?.saveFileAs()
}
@IBAction func Cheat_Wavy_Navy_Vitroy(_ sender: Any) {
ViewController.shared?.Cheat_Wavy_Navy_Victory()
}
@IBAction func Cheat_Wavy_Navy_Add_3_Ships(_ sender: Any) {
ViewController.shared?.Cheat_Wavy_Navy_Add_3_Ships()
}
@IBAction func Cheat_Wavy_Navy_Never_Lose(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Never_Lose())!
}
@IBAction func Cheat_Wavy_Navy_Lose_To_Win(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Wavy_Navy_Lose_To_Win())!
}
@IBOutlet weak var MenuItem_Cheat: NSMenuItem!
@IBOutlet weak var MenuItem_Hard_Hat_Mack: NSMenuItem!
@IBOutlet weak var MenuItem_Hard_Hat_Mack_Add_3_Macks: NSMenuItem!
func Cheat_Menu() {
// print("Cheat_Menu Menu")
let ships = ViewController.shared?.Get_Hard_Hat_Mack()
MenuItem_Hard_Hat_Mack_Add_3_Macks.title = String(format: "Add 3 Macks (%d)", ships!)
}
@IBAction func Cheat_Hard_Hat_Mack(_ menuItem: NSMenuItem) {
print("Cheat_Hard_Hat_Mack SubMenu")
let ships = ViewController.shared?.Get_Hard_Hat_Mack()
MenuItem_Hard_Hat_Mack_Add_3_Macks.title = String(format: "Add 3 Macks (%d)", ships!)
}
@IBAction func Cheat_Hard_Hat_Mack_Add_3_Macks(_ menuItem: NSMenuItem) {
let _ = ViewController.shared?.Cheat_Hard_Hat_Mack(add: 3)
}
@IBAction func Cheat_Hard_Hat_Mack_Never_Lose(_ menuItem: NSMenuItem) {
menuItem.state = (ViewController.shared?.Cheat_Hard_Hat_Mack_Never_Lose())!
}
@IBAction func showPreferences(_ sender: NSMenuItem) {
if ( preferencesController == nil ) {
let storyboard = NSStoryboard(name: NSStoryboard.Name("Preferences"), bundle: nil)
preferencesController = storyboard.instantiateInitialController() as? PreferencesWindowController
}
}
@IBAction func PowerOn(_ sender: Any) {
ViewController.shared?.PowerOn(sender)
}
@IBAction func Pause(_ sender: Any) {
ViewController.shared?.Pause(sender)
}
@IBAction func PowerOff(_ sender: Any) {
ViewController.shared?.PowerOff(sender)
}
@IBAction func ColdReset(_ sender: Any) {
ViewController.shared?.Reset(sender)
}
@IBAction func WarmReset(_ sender: Any) {
ViewController.shared?.Reset(sender)
}
@IBAction func DebugContinue(_ sender: Any) {
DebuggerWindowController.shared?.ContinuePauseButton(sender)
}
@IBAction func DebugStepOver(_ sender: Any) {
DebuggerWindowController.shared?.Step_Over(sender)
}
@IBAction func DebugStepIn(_ sender: Any) {
DebuggerWindowController.shared?.Step_In(sender)
}
@IBAction func DebugStepOut(_ sender: Any) {
DebuggerWindowController.shared?.Step_Out(sender)
}
}

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "amber.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "amber..dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "amber.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "amber..dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "chip.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "chip.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "chip.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "chip.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "color.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "color.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "color.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "color.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

View File

@ -1,6 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
}
}
}

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "copy.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "copy.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "copy.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "copy.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,52 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "ant_dark.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "ant.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,52 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D1 Open Light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D1 Open Dark.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,52 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D2 Open Light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II D2 Open Dark.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "green.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "green.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "green.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "green.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "joystick.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "joystick.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "joystick.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "joystick.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "old.monitor.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "old.monitor.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "old.monitor.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "old.monitor.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "paste.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "paste.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "paste.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "paste.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "power.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "power.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "power.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "power.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,52 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "1x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
},
{
"idiom" : "universal",
"filename" : "Apple Disk II thick.light.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Apple Disk II thick.png",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
},
{
"idiom" : "universal",
"scale" : "3x",
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
]
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "reset.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "reset.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "reset.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "reset.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,54 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "selectAll.light.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "selectAll.dark.64.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "selectAll.light.128.png",
"idiom" : "universal",
"scale" : "3x"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "selectAll.dark.128.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Some files were not shown because too many files have changed in this diff Show More