Commit Graph

238 Commits

Author SHA1 Message Date
Brad Grantham
bfce99f86f match new name of disk rom file 2019-02-10 23:18:05 -08:00
Brad Grantham
4472db0405 rename disk rom file to match size 2019-02-10 23:17:24 -08:00
Brad Grantham
dcb27ce242 silence GL deprecation 2019-02-10 22:58:06 -08:00
Brad Grantham
6f9ed33f2f remove unused file 2019-02-10 22:54:53 -08:00
Brad Grantham
e1ea979006 remove old comment 2019-02-10 22:54:53 -08:00
Brad Grantham
6e04af2752 make run on Linux 2019-02-10 20:30:22 -08:00
Brad Grantham
bfc177ef10 Add gl_utility.o to Linux build 2019-02-10 20:01:50 -08:00
Lawrence Kesteloot
1591046c74 Add way to disable 65C02 instructions. 2019-02-06 23:23:33 -08:00
Brad Grantham
68cfd142b1 make GL utilities have better name 2018-10-15 21:11:29 -07:00
Brad Grantham
fc795a4a33 make GL utilities have better name 2018-10-15 21:11:17 -07:00
Brad Grantham
a9e48a509a initial breakout of UI widget classes 2018-10-15 21:09:51 -07:00
Brad Grantham
420f016098 extract program compilation and rect v array buffer 2018-10-14 12:49:58 -07:00
Brad Grantham
f2b28839e4 separate out opengl_texture 2018-10-14 12:10:31 -07:00
Brad Grantham
bb30c33d2d start separating out GL into modules 2018-10-14 12:07:05 -07:00
Lawrence Kesteloot
c22645848a Fix usage message. 2018-09-25 18:22:00 -07:00
Brad Grantham
85f7d8d7dd update cpu6502 with Jim's improvements 2018-09-10 12:29:16 -07:00
Brad Grantham
5e8adf5de1 remove dead code and comments lacking confidence 2018-09-08 18:42:39 -07:00
Brad Grantham
17806a16b7 fix wording of template parameter docs 2018-09-08 18:37:41 -07:00
Brad Grantham
af715292b2 make class the first thing you see 2018-09-08 18:19:53 -07:00
Brad Grantham
40035852cd add a little documentation 2018-09-08 17:45:57 -07:00
Brad Grantham
1dc3fe3df8 extract CPU6502 into single header implementation 2018-09-08 17:36:16 -07:00
Brad Grantham
5548039900 make BUS member of CPU6502 instead of parameter of methods 2018-09-08 17:23:38 -07:00
Brad Grantham
5f1a3be90d templatize CPU6502 in anticipation of single-header 2018-09-08 17:18:25 -07:00
Brad Grantham
4e305cb6ad templatize CPU6502 in anticipation of single-header 2018-09-08 17:17:09 -07:00
Brad Grantham
53e8b802c4
Merge pull request #34 from bradgrantham/gif
Merge recording animated GIFs facility from gif branch
2018-08-10 23:47:51 -07:00
Brad Grantham
8e47791e12 Fix BRA imm instruction, add 0xD2 - CMP (zpg)
I thought 0x80 was a weird NOP imm, but it's BRA.

Implement 0xD2 - CMP (zpg)

Move all 65C02 instruction implementations together

Update disassembler for 0xD2 - CMP (zpg)
2018-08-10 23:25:20 -07:00
Brad Grantham
a2b96de667 Add mmphosis' RAINBOW mode change demo
https://macgui.com/usenet/?group=2&id=22342#msg
2018-08-08 21:04:02 -07:00
Lawrence Kesteloot
9f2667d93f Disable dithering on GIF write. 2018-08-08 16:45:41 -07: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
6028d62786 scale GIF output to 2x screen size 2018-08-08 15:46:41 -07:00
Brad Grantham
6caca1ec5d fix stop_recording 2018-08-08 15:45:15 -07:00
Brad Grantham
dddd18c258 Partially implement animated GIF
This uses the update rate of OpenGL swapbuffers, but should clock frames by 50ms.

This is 1x sized.  Needs to be 2x sized.
2018-08-08 15:24:38 -07:00
Brad Grantham
8567ad7244 make CPU6502::cycles[] class-static 2018-08-08 12:35:38 -07:00
Brad Grantham
af0fe38c9e fill in implemented 65C02 opcodes
Add mnemonics to instructions[]
    Add 10 new blank entries for growth

Add entries to opcode_props
2018-08-08 12:34:01 -07:00
Lawrence Kesteloot
a2a13e24dc Start GIF-recording mode. 2018-08-07 23:33:14 -07:00
Lawrence Kesteloot
b5918819af Fix off-by-two bug with LK_HACK. 2018-08-07 12:27:46 -07:00
Brad Grantham
49804018cc Asert if cycles[] is not set for insn 2018-08-07 12:21:43 -07:00
Brad Grantham
ad8f43b5a8 fix too many initializers error 2018-08-06 00:39:50 -07:00
Brad Grantham
183aea95fb Add instruction cycle count for ORA (ind) 2018-08-06 00:39:11 -07:00
Brad Grantham
e938af1349 implement STZ zpg and PHX 2018-08-06 00:36:43 -07:00
Lawrence Kesteloot
7d346a06b3 Fix overflow in LK_HACK. 2018-08-06 00:18:40 -07:00
Brad Grantham
043429311a fix crash if text is dragged from Chrome
If the drag-and-dropped filename has no leading "/", assume it is
drag-and-dropped text.  This matches the behavior of Chrome on Ubuntu,
for which dragging selected text onto GLFW is passed to the file drop
callback.

If the dragged selected text starts with "/", the drop callback will
still attempt to open it as a filename.
2018-08-06 00:15:58 -07:00
Brad Grantham
3c1017c60b implement STZ abs, fix -debugger 2018-08-06 00:15:58 -07:00
Brad Grantham
aacdd5cb96 disassemble 9C as STZ 2018-08-06 00:15:58 -07:00
Brad Grantham
347c2d4ddb remove warning on unused result of fread by using the result 2018-08-06 00:15:58 -07:00
Lawrence Kesteloot
43448014b1 Add ORA (ind) 65C02 instructions. 2018-08-05 23:17:03 -07:00
Brad Grantham
53f231573e ameliorate popping somewhat 2018-08-03 23:58:20 -07:00
Lawrence Kesteloot
dcbea11c33 Pass base address in LK_HACK. 2018-08-03 14:27:00 -07:00
Brad Grantham
1cfc30e904 use correct default page 2018-08-03 01:46:57 -07:00
Brad Grantham
37864dea0f mask bus access to 16-bit, add -mute option 2018-08-02 16:49:51 -07:00