Commit Graph

22 Commits

Author SHA1 Message Date
Brad Grantham e55025e615 implement DHGR 2021-01-02 16:25:05 -08:00
Brad Grantham 2e095b24f6 read colors from generated palette; checkpoint DHGR work 2021-01-02 09:45:49 -08:00
Brad Grantham 3c1b43f2ad use more well-defined int types 2020-12-16 23:03:43 -08:00
Brad Grantham fd1e15a595 add clock text box 2019-02-18 08:11:22 -08:00
Brad Grantham 2c437b27da record at 50ms simulation per frame
Change bare "5" to more descriptive "recording_frame_duration_hundredths".

Create APPLE2Einterface events that allow interface to limit main loop speed.

Implement rate limiting on start_record and release limiting on stop_record.

During recording, simulation will not run at clock rate.
2018-08-08 16:18:16 -07:00
Brad Grantham eaffc29115 fix regular mode changes, disable prints 2018-08-01 11:26:49 -07:00
Brad Grantham 0cdabd22ad initial split mode implementation 2018-08-01 10:28:43 -07:00
Brad Grantham e09d49c323 also send current clock to iterate 2018-08-01 09:29:41 -07:00
Brad Grantham 48be02beb0 add initial support for recording softswitch history by byte clock 2018-08-01 00:42:31 -07:00
Brad Grantham 55bbd69e28 move to per-clock mode setting history within frame
delete set_switches()

Pass history of mode settings to iterate()
2018-07-31 15:33:51 -07:00
Brad Grantham cb60985ef0 Move audio implementation into interface.cpp
Move all libao operation into interface.cpp
This should have the result of removing all AV and GUI code from apple2e.cpp
OS code remaining in apple2e.cpp should basically be only file I/O, console I/O, and chrono.
2016-12-26 22:28:45 -08:00
Brad Grantham ddf4655a43 Implement 80-column mode - ProDOS boots to 80 cols
Catch ALTCHAR but do nothing about it
Catch VID80 (80VID)
Add aux pages to interface.cpp
Plumb aux pages through apple2e.cpp display_write functions
Implement 80-column text shader using aux page
2016-12-04 22:07:00 -08:00
Brad Grantham 96835e2400 Add drag-and-drop floppies, fix cold-start
On cold-start, force Button0/OpenApple on for a short period
    This is how cold-start (disk boot) is differentiated from plain RESET
Add padding widget that pads another widget on all sides
Add drag-and-drop functionality to widgets and manage through GLFW
Honor current time through all widget methods
Fix character encoding in text_widget (especially for ' ')
Add floppy_icon widget that manages drag-and-drop and drive motor (activity) light
    Later move to vector graphic or bitmap
Add floppy eject and insert notification from APPLE2Einterface
Add activity notification through APPLE2Einterface
Optimize with -O2
2016-12-02 10:42:22 -08:00
Brad Grantham c5dc2ec782 Honor -fast in UI; lay groundwork for floppy UI 2016-12-01 12:03:40 -08:00
Brad Grantham ed8dfa33ea Rudimentary paddle support, fix audio stuttering
Mouse/Trackpad drag across the screen emulates paddles
Click on the screen emulates button 0
Ignore reads from C020 (tape out)
Add BRA instruction for 65C02 (maybe not necessary)
Disable audio in FAST mode
Throttle a little better when audio is enabled - stopped stutter
2016-11-29 22:17:17 -08:00
Brad Grantham 4db793add1 PAUSE button works, CAPS and COLOR unimplemented 2016-11-23 10:53:56 -08:00
Brad Grantham f8d14e6b32 Add buttons for REBOOT, FAST
Forgot "SPEED" enumerant in interface.h
2016-11-22 23:11:22 -08:00
Brad Grantham 32854e2246 implement paste through interface 2016-11-19 00:45:39 -08:00
Brad Grantham cabfe5191e Mostly rewrite graphics to use shaders
Move to GL 3.2
Draw a quad with shaders depending on the mode in that part of the screen
    HIRES shader reads from hires texture
    TEXTPORT shader reads from textpor texture and indirects through a font
      to get pixel values
MIXED now supported
Still to do: BLINK text, INVERSE text, LORES, gang up HGR memory updates
Why doesn't cursor flash the checkerboard?
2016-11-18 20:54:19 -08:00
Brad Grantham dac35cccb1 hires graphics in a separate window 2016-11-16 22:50:09 -08:00
Brad Grantham 33a78aabe9 Support Quit on window, clean up a little 2016-11-16 18:54:56 -08:00
Brad Grantham 17c38de074 Rudimentary GL window with keyboard support 2016-11-16 16:16:10 -08:00