Adrian.Conlon
|
5084d85e49
|
Wire envelope amplitude shaping.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-23 00:07:30 +01:00 |
|
Adrian.Conlon
|
78b6e7b339
|
Remove dump logging, it was never overly useful anyway.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-22 19:17:34 +01:00 |
|
Adrian.Conlon
|
531d5d6d6b
|
Refactor the Audio header into declaration/definition files.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-21 23:43:33 +01:00 |
|
Adrian.Conlon
|
877618f973
|
Wire audio frame counter (tbc)
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-21 21:26:52 +01:00 |
|
Adrian.Conlon
|
cd63636895
|
Move some constants from static methods to enumerations.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-21 20:08:37 +01:00 |
|
Adrian.Conlon
|
7830c29f6a
|
Update audio custom wave pattern data.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-21 10:36:52 +01:00 |
|
Adrian.Conlon
|
32a585a980
|
Correct warning.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-20 22:33:43 +01:00 |
|
Adrian.Conlon
|
acf0c53e1a
|
Move the audio data (hopefully) correctly between the registers and the audio device.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-20 20:53:04 +01:00 |
|
Adrian.Conlon
|
ca0b768ac5
|
More Noise Register to Audo structure conversions.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-09-20 00:38:35 +01:00 |
|
Adrian.Conlon
|
e06a092b2a
|
First stab at audio initialisation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-19 23:11:50 +01:00 |
|
Adrian.Conlon
|
685a645674
|
1) Correct frequency hi/lo storage
2) Calculate resultant frequency in Hz.
3) Add extra logging for audio device register writes.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-18 19:17:38 +01:00 |
|
Adrian.Conlon
|
735ebe3e85
|
Add a couple of missed debugging messages.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-17 23:07:56 +01:00 |
|
Adrian.Conlon
|
61ae382a98
|
A different approach to audio handling. Just holding data at the moment.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-17 22:19:07 +01:00 |
|
Adrian.Conlon
|
462b82add6
|
Add some new events for sound updates (TBC)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-17 09:50:20 +01:00 |
|
Adrian.Conlon
|
ea3f154989
|
Preliminary support for 16 row high sprites. Don't think it's working!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-17 09:46:28 +01:00 |
|
Adrian.Conlon
|
07d44966ac
|
Another stab at keyboard scanning. Better, but not perfect...
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 21:25:08 +01:00 |
|
Adrian.Conlon
|
9190b29b4b
|
Remove some unused memory event handlers.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 18:56:05 +01:00 |
|
Adrian.Conlon
|
f4c8496882
|
Generalise tile rendering code for background and sprites.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 18:23:02 +01:00 |
|
Adrian.Conlon
|
f6181400c4
|
First stab at sprites. Lots of bugs!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 17:25:55 +01:00 |
|
Adrian.Conlon
|
2060989ac7
|
Add keyboard interrupt handling (TBC)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 12:35:16 +01:00 |
|
Adrian.Conlon
|
e1b838355e
|
Add P1 (i.e. keyboard) support. Interestingly, gets Tetris *much* further.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-15 00:53:56 +01:00 |
|
Adrian.Conlon
|
32d1085ecb
|
Start properly implementing IO status register read/write.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-14 23:48:49 +01:00 |
|
Adrian.Conlon
|
a77e57e5fc
|
Add pre/post read/write memory events.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-13 23:12:47 +01:00 |
|
Adrian.Conlon
|
3bd647b789
|
Correct a couple of memory map elements.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-07 20:11:57 +01:00 |
|
Adrian.Conlon
|
129286f1a7
|
Ensure LR35902 fuse tests run successfully to completion.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-07 01:15:28 +01:00 |
|
Adrian.Conlon
|
57cfd79c44
|
Tidy header file usage a little.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-01 16:41:50 +01:00 |
|
Adrian.Conlon
|
9b43b74c28
|
Rationalise some of the reset/initialise logic across pProcessor implementations.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-01 16:01:40 +01:00 |
|
Adrian.Conlon
|
ef3203d943
|
Tidy raster line execution a little.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-01 13:24:41 +01:00 |
|
Adrian.Conlon
|
e42484d35c
|
Better DIV implementation. Incremented as a word and exposed as the high part in the DIV register.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-09-01 13:17:20 +01:00 |
|
Adrian.Conlon
|
711d4f4384
|
Add some GB IO register information in the disassembler. Nothing fancy!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-31 17:18:38 +01:00 |
|
Adrian.Conlon
|
e70686c5de
|
Some more rationalisation of processor execution/stepping strategies.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-30 23:17:34 +01:00 |
|
Adrian.Conlon
|
daab0484c3
|
Use corrected LR35902 library to run test loop.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-29 22:35:56 +01:00 |
|
Adrian.Conlon
|
ea033d3984
|
Move a fair amount of code from the GameBoy implementation into the EightBit library for the LR35902
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-29 22:23:32 +01:00 |
|
Adrian.Conlon
|
329fd269ed
|
Share some more code from the 6502 processor implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-28 18:52:48 +01:00 |
|
Adrian.Conlon
|
73a34f4fae
|
Start a more careful documentation of the I/O registers.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-26 09:46:53 +01:00 |
|
Adrian.Conlon
|
4cbab14750
|
Remove unused StatusFlags.h header. Not sure why that was still there!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-25 22:37:10 +01:00 |
|
Adrian.Conlon
|
ae4106ce5a
|
Preliminary MBC1 support. Enough to run cpu_instrs.gb to completion. Hurrah!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-24 23:23:40 +01:00 |
|
Adrian.Conlon
|
9964070b85
|
Refactor to allow peek/poke/reference to share a common implementation as much as possible.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-24 11:28:01 +01:00 |
|
Adrian.Conlon
|
448ee2f09f
|
Refactor the MBC implementation to allow a single point of definition.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-24 10:28:31 +01:00 |
|
Adrian.Conlon
|
2c7e32aa78
|
First stab at implementing MBC1 support for LR35902. Not complete, but all old tests still work.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-23 23:17:45 +01:00 |
|
Adrian.Conlon
|
42b0fdc23d
|
Implement DIV timer (TBC)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-20 09:52:26 +01:00 |
|
Adrian.Conlon
|
75b17e47a8
|
Better method of enabling/disabling boot ROM.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-19 17:33:28 +01:00 |
|
Adrian.Conlon
|
86a4e22ae1
|
First stab at implementing GB timer control.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-18 19:00:10 +01:00 |
|
Adrian.Conlon
|
0457dffba4
|
Rewrite GB interrupt handling to properly document the trigger sequence.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-18 09:49:06 +01:00 |
|
Adrian.Conlon
|
7948962d70
|
Because of its boot room, the LR35902 needs a custom clear mechanism.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-10 20:30:37 +01:00 |
|
Adrian.Conlon
|
88d773708c
|
Correct some outstanding LR35902 problems arising.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-06 22:04:13 +01:00 |
|
Adrian.Conlon
|
016b3bca59
|
Switch to a memory read/write event driven model. All tests passing.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-08-06 17:06:48 +01:00 |
|
Adrian.Conlon
|
261433bd6e
|
Remove unneeded 16-bit operations.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-27 21:44:24 +01:00 |
|
Adrian.Conlon
|
b6dd48ca63
|
Some more small clarifications of shared processor implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-25 18:56:43 +01:00 |
|
Adrian.Conlon
|
9a264c7c06
|
Bring the LR35902 and i8080 increment/decrement implementations in line with the Z80.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-22 10:23:13 +01:00 |
|
Adrian.Conlon
|
0a02c32695
|
Some things (namely shift.rotate instructions) don't need to be quite so close to the Z80 implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-21 19:23:36 +01:00 |
|
Adrian.Conlon
|
7c3fc469a8
|
Bring LR35902 a little closer to the Z80
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-20 12:37:54 +01:00 |
|
Adrian.Conlon
|
36fbee35fb
|
Bring the various IntelProcessor derived processors a little closer together.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-07-19 13:59:28 +01:00 |
|
Adrian.Conlon
|
758574007d
|
Ensure GB register accesses pass through bus notification code.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-18 21:41:10 +01:00 |
|
Adrian.Conlon
|
35def4184a
|
Start adding enough infrastructure to support memory mapped IO on LR35902.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-07-18 00:13:41 +01:00 |
|
Adrian.Conlon
|
af375ab10f
|
Some more shared code.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-22 19:00:53 +01:00 |
|
Adrian.Conlon
|
c9bf24d1fa
|
Tidy up register and static method access.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-06-19 13:53:00 +01:00 |
|
Adrian.Conlon
|
23108a8536
|
Bring performance back to par by: inlining and static flag register access, where possible.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-06-18 18:14:39 +01:00 |
|
Adrian.Conlon
|
5f288cf0e3
|
Some more small tidy ups.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
|
2017-06-16 20:31:32 +01:00 |
|
Adrian.Conlon
|
327d391ecb
|
Remove another chunk of shared code. This time by ensuring the basic layout of registers is consistent.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-16 13:52:10 +01:00 |
|
Adrian.Conlon
|
71e6902aeb
|
Simplify and remove a bunch of code. Getting there!
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-15 22:21:26 +01:00 |
|
Adrian.Conlon
|
66d3a5ae29
|
Couple of small simplifications.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-13 23:43:21 +01:00 |
|
Adrian.Conlon
|
0291970427
|
Further work on uniting the 8080 family processor family.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-11 21:08:40 +01:00 |
|
Adrian.Conlon
|
627e41bf35
|
Introduce an IntelProcessor base class to allow known good implementation to be shared.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-11 09:45:34 +01:00 |
|
Adrian.Conlon
|
838580cc3d
|
More changes to bring LR35902 in line with the Z80 implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-09 16:01:12 +01:00 |
|
Adrian.Conlon
|
93bac42547
|
Bring LR35902 a little more in line with the Z80 implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-09 11:42:32 +01:00 |
|
Adrian.Conlon
|
f3fe475d44
|
Implement enough changes to build LR35902
|
2017-06-09 10:23:51 +01:00 |
|
Adrian.Conlon
|
105032f08a
|
Dump of all my C++ emulators, only Intel8080 integrated so far...
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
|
2017-06-04 21:38:34 +01:00 |
|