Commit Graph

219 Commits

Author SHA1 Message Date
saxxonpike 826ebba22f Commodore64: Simplify g_Idle code, the document I was basing this information on was inconsistent with the circuitry (and this way makes more sense) 2013-08-31 23:10:02 +00:00
saxxonpike 58649b810e Commodore64: ECM code was missing g_Idle check. 2013-08-31 23:04:03 +00:00
saxxonpike 0258d6b131 Commodore64: Added g_Idle flag to bitmap modes. 2013-08-31 22:58:58 +00:00
saxxonpike d3687bb68d Commodore64: Further development in the experimental Vic. The process in which the Vic puts graphics and sprite data into the shift regs should be replicated perfectly, and some graphics mode code can be combined as a result. 2013-08-31 22:54:44 +00:00
saxxonpike 2e178d84e1 Updated Experimental Vic. 2013-08-30 20:22:12 +00:00
saxxonpike 31fb1499ca Commodore64: Code cleanup. 2013-08-27 08:35:35 +00:00
saxxonpike 1e8569be97 Commodore64: Renamed Sprite to SpriteGenerator. Created GraphicsGenerator file, with plans to isolate the background graphics generation (as it is a separate logical unit within the chip itself.) 2013-08-26 20:07:50 +00:00
saxxonpike 54c205ffe7 Commodore64: Added some documentation in the TimingBuilder code as to how the generated tables are used. 2013-08-26 19:29:09 +00:00
saxxonpike 6fdc7284bd Commodore64: Split Sid classes into three files, up from one. Fixed border timing in TimingBuilder. Renamed Sync class to SaveState. 2013-08-26 19:22:04 +00:00
saxxonpike 3dc1e8dba2 Commodore64: Fix sprites and tweaked timing, should now be pixel perfect with test intro "rem-17". 2013-08-25 07:58:25 +00:00
saxxonpike c0bad5eccb Commodore64: Rewrote the character graphics generator as a shift register like real equipment. Roughly 10% performance increase and looks great. Sprites need work yet. 2013-08-25 00:31:52 +00:00
saxxonpike 1c18da52b3 Commodore64: Border unit implemented fully, timing is much better now and works for both PAL and NTSC. 2013-08-24 20:13:16 +00:00
saxxonpike 4ef73eb676 Fix some compiler warnings. Border is still odd, needs the other half of the border unit logic. Also, a marginal performance boost from sealing classes. 2013-08-24 17:30:46 +00:00
goyuken 0803adc32a add a "BoardName" to IEmulator that an emulation core can use to return useful information about how the rom is being emulated. meant to be mostly for informative purposes; shouldn't rely on it for too much. implemented in GB and NES cores 2013-08-24 16:54:22 +00:00
saxxonpike 228fa3869f Video chip timing in the old core now builds its timing tables dynamically instead of having them hardcoded- should greatly reduce human error. The algorithm should cover every single revision of VIC. 2013-08-24 15:21:51 +00:00
saxxonpike bde52b25bd Commodore64: More work on the experimental VIC. Some speedups in the current VIC from caching the video mode and removing unnecessary shifts from the inner loops of the background graphics generator. 2013-08-23 08:57:20 +00:00
saxxonpike 99a5c3e109 Commodore64: Completed initial experimental Vic, pending testing. 2013-08-21 20:14:25 +00:00
saxxonpike cfc2b141bf Commodore64: Experimental Vic implementation nearly complete. 2013-08-21 12:12:30 +00:00
saxxonpike c827d42f2d Commodore64: Experimental VIC updated. 2013-08-21 09:38:22 +00:00
saxxonpike 6b454f3a78 Commodore64: Clear registers when calling Reset() in Vic and Sid. 2013-08-20 08:31:18 +00:00
saxxonpike 5c762638c1 Commodore64: Video registers updated in experimental framework. 2013-08-20 08:27:36 +00:00
saxxonpike 2e7935938a Commodore64: Split up and moved source files. No user-observable changes in execution. 2013-08-20 07:27:59 +00:00
saxxonpike a28f8e5062 Commodore64: Fix EasyFlash registers- the address mask is actually 0x2. 2013-08-19 08:30:37 +00:00
saxxonpike b5fcb81727 Commodore64: Save states implemented. 2013-08-19 03:42:40 +00:00
saxxonpike d6056bb402 Commodore64: Fix VIC addressing for Ultimax format cartridges. PLA implementation should be 100% complete now 2013-08-18 04:27:08 +00:00
saxxonpike e9bacfd683 Commodore64: More preparation for savestates, condensed the PLA (this is as fast as it can get) 2013-08-18 03:58:39 +00:00
saxxonpike c3605a0181 Oops, broke the build. (It's fixed now.) 2013-08-18 02:24:18 +00:00
saxxonpike e9d4c09ad1 Commodore64: Video chip framework maintenance. 2013-08-18 02:21:32 +00:00
saxxonpike 4efe07378f Commodore64: Preparation to implement savestates once again. 2013-08-18 01:21:53 +00:00
saxxonpike 0b6bce0198 Commodore64: Fixed NMI not triggering on the CPU. Significant performance boost from PLA optimization and motherboard glue shortcuts. 2013-08-17 23:15:31 +00:00
saxxonpike 03087a88eb Commodore64: Split the Vic code into a number of files. More time spent coding, less time spent looking for things. 2013-08-17 20:51:09 +00:00
saxxonpike 14a2952faf Commodore64: Whoops. Forgot to disable debug borders. 2013-08-17 10:52:45 +00:00
saxxonpike a3b1fb3c36 Commodore64: Interrupt and timer chip tweaks. 2013-08-17 10:46:27 +00:00
saxxonpike 60db7b9fe6 Commodore64: Marginal speedup from converting the rest of the uints to int. No noticeable accuracy difference. 2013-08-17 06:51:55 +00:00
saxxonpike 84a0179583 Commodore64: More progress on experimental framework plus a small speedup in the current framework. 2013-08-17 05:55:07 +00:00
saxxonpike e6c55f318d Commodore64: New framework PLA WIP 2013-08-16 20:11:53 +00:00
saxxonpike 30174b9b9c Commodore64: Mobo glue for the experimental framework is complete. 2013-08-16 11:28:00 +00:00
saxxonpike 9cc6936b89 Commodore64: Whoops, forgot the CIA in the new test framework. 2013-08-16 10:20:38 +00:00
saxxonpike 155aea5b89 Commodore64: Framework for a bit of an experiment.. 2013-08-16 09:52:25 +00:00
saxxonpike 7c532fbd01 Commodore64: Experimental video chip things. 2013-08-15 09:49:38 +00:00
saxxonpike 459368dd5b 6502: added RDY pin, required for C64 and possibly others 2013-08-15 06:08:21 +00:00
saxxonpike af9bbd9ae4 Commodore64: Tweak Joystick 2 input. 2013-08-14 13:53:48 +00:00
saxxonpike 0a54f95b4f Commodore64: Removed a lot of functions in the motherboard glue to simplify things. 2013-08-14 05:33:10 +00:00
saxxonpike 5c37b64eec Commodore64: Removed a lot of unnecessary function chains and converted unsigned types to int. 2013-08-14 05:05:17 +00:00
saxxonpike ef3be8db9a Commodore64: More direct access to pins on Cartport, CIA and VIC. 2013-08-13 20:16:41 +00:00
saxxonpike 585223a814 Commodore64: Setting all 6510 pins to input-only now gives the proper value. 2013-08-13 19:52:03 +00:00
saxxonpike 9c8124bfd1 Commodore64: Added short circuits in PLA chip select for improved performance 2013-08-13 19:00:11 +00:00
saxxonpike e075982a00 Commodore64: Rewrote cassette, serial, 6522, 6526 and 6510 port code. 2013-08-13 12:23:32 +00:00
saxxonpike a061e898a6 Commodore64: don't use color-ram selector pin on PLA, marginal performance gain 2013-08-13 01:55:39 +00:00
saxxonpike 481e915aff Commodore64: Move I/O port init into HardReset and fix default direction bits. 2013-08-12 07:00:31 +00:00