Commit Graph

83 Commits

Author SHA1 Message Date
Adrian Conlon
9796f9d600 First stab at associating the "Display" class more closely with the Bus.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-04 15:37:11 +01:00
Adrian Conlon
e2ea6d1445 Some scan line render corrections.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-04 00:30:59 +01:00
Adrian Conlon
c92b0642a1 First stab at scan line rendering.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-03 23:54:39 +01:00
Adrian Conlon
d2c3efac83 More linux fixes.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-02 17:30:46 +01:00
Adrian Conlon
44ff68d6f3 First part of gb linux port.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-02 16:47:05 +01:00
Adrian Conlon
c06c0d2cf9 Small tidy ups + optimisations.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-02 15:28:41 +01:00
Adrian Conlon
8b1da2097b More scan line rendering changes.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-02 10:12:25 +01:00
Adrian Conlon
10913bf1b8 Remove some unused signals.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-01 22:22:25 +01:00
Adrian Conlon
63f7216341 More preparation for scan line rendering.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-10-01 11:32:41 +01:00
Adrian Conlon
88117398ef Add interrupt signal generation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-09-30 16:47:43 +01:00
Adrian Conlon
e5e6d02845 Correct keypad interrupt generation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-09-30 16:24:25 +01:00
Adrian Conlon
66b870bb78 First stage refactoring CPU instruction execution (to hopefully allow display interrupt interleave)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-09-30 15:28:25 +01:00
Adrian Conlon
da438ffb85 Try to get better cycle count/adjustments. 2017-09-30 00:03:42 +01:00
Adrian.Conlon
dbe5f7f8e5 Prepare the LR35902 to allow use of the Blargg gb sound library.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-09-23 22:56:11 +01:00
Adrian.Conlon
210286514e Calculate voice step length adjustments.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-09-23 00:26:06 +01:00
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