Commit graph

54 commits

Author SHA1 Message Date
kub
2c4675a993 core, fix cpu sync regression 2022-10-16 20:17:42 +00:00
kub
c9d5f41b0a 32x, minor poll detection fix 2022-10-14 18:42:43 +00:00
kub
fdaf9d10bd core, improve mcd+32x cpu synchronization 2022-10-12 21:44:32 +00:00
kub
099f68c22a core vdp, fix regression after last commit 2022-02-15 22:15:12 +00:00
kub
3b68e5107d core vdp, fix obscure VInt bug, some more optimisation 2022-02-14 20:55:35 +00:00
kub
9f1d5acdb4 sound, fix pcm/pwm handling wrt fast forward (mcd, 32x, pico) 2022-02-07 21:09:13 +00:00
kub
02d753e346 md, fix irq priority handling for H-int 2021-04-10 21:34:48 +02:00
kub
dda72beae4 vdp, fix for 68k access timing 2020-12-12 17:29:31 +01:00
kub
8d67848ddf fix for 68K cycle accounting 2020-03-27 19:27:05 +01:00
kub
c55a44a88c vdp fifo speed optimization 2020-03-14 19:52:27 +01:00
kub
478a1164fe fix for VINT while DMA is running 2020-02-27 21:19:37 +01:00
kub
17bd69adc6 revised VDP fifo implementation 2020-02-07 22:14:34 +01:00
kub
1259ac4f60 VDP timing improvements 2020-01-26 20:46:21 +01:00
kub
43e1401008 emulator timing fixes, VDP DMA fixes, improved DAC audio 2020-01-14 23:00:44 +01:00
kub
8ac9ab7fcb audio: added SSG-EG to YM2612, plus some timing changes for SN76496+YM2612 2020-01-08 00:49:13 +01:00
notaz
0a0073dc9f fix a corner case with h-int 2018-01-28 19:13:01 +02:00
notaz
6311a3baf5 move more globals to PicoInterface
similar reasons as before
2017-10-22 02:13:46 +03:00
notaz
35f2b65ef7 add 68k overclocking support 2017-10-20 12:21:09 +03:00
notaz
93f9619ed8 rearrange globals
scripted find/replace
gives slightly better code on ARM, less unnecessary asm,
~400 bytes saved
2017-10-20 12:21:09 +03:00
notaz
12f23dac6f famec: split fm68k_emulate
in FAMEC_NO_GOTOS mode at least
2017-10-15 00:45:55 +03:00
notaz
e9a11abb3c drop some unnecessary inlines
apparently somebody compiles with msvc?
2017-10-14 00:53:09 +03:00
notaz
0e4bde9b2d rework sr
note to self:

h32 0x10A .. 0x127 0x1D2 .. 0x1FF 0x000 .. 0x109
pclk      30      |      46      |      266      = 342
hbset       0x126        ...       0x009
pclk   29  |      1   +  46    +  10    |  256
mclk   290 |           570              |  2560  = 3420
68kclk 41.4            81.4               365.7 ~= 488.5

h40 0x14A .. 0x16C 0x1C9 .. 0x1FF 0x000 .. 0x149
pclk      35      |      55      |      330      = 420
hbset       0x166        ...       0x00A
pclk   28  |      7   +  55    +  11    |  319
mclk  28*8 | 7*8   4*8+314+10+(18+11)*8 | 319*8  = 3420
68kclk  32             92                 364.5 ~= 488.5
2017-10-14 00:53:08 +03:00
notaz
22814963cc some irq hacks
notes to self (derived from Nemesis):

H32: 0x10A .. 0x127 0x1D2 .. 0x1FF 0x000 0x001
pclk       30             46          1 |0x109
mclk                 770                | 2650   = 3420
68kclk              110                   378.5 ~= 488.5

H40: 0x14A .. 0x16C 0x1C9 .. 0x1FF 0x000 0x001
pclk       35             55          1
mclk     35*8       4*8+314+10+19*8     |0x149*8
                  788                   | 2632   = 3420
68kclk           112.5                    376   ~= 488.5
2017-10-14 00:53:08 +03:00
notaz
88fd63ad10 split memories away from Pico
saves ~3k of code on ARM because Pico no longer crosses ldr limit
2017-10-14 00:53:08 +03:00
notaz
334f00e24e vdp timing hacks 2017-10-12 02:56:09 +03:00
notaz
3162a7104c adjust z80 timing a bit 2017-10-12 02:54:46 +03:00
notaz
e42a47e208 some more risky timing changes
But should be closer to the real thing.
Let's see what this will break...
2017-10-12 02:54:41 +03:00
notaz
5d638db094 handle frequent psg updates 2017-10-07 01:36:59 +03:00
notaz
4f2cdbf551 clean up dac code a bit 2017-10-07 01:36:59 +03:00
notaz
ea38612fad eliminate texrels (wip) 2017-08-06 18:18:29 +03:00
notaz
99ade2ee2f famec: remove unused dual code 2013-09-24 03:57:43 +03:00
notaz
fa8fb75445 handle 32x+cd 2013-09-16 02:03:29 +03:00
notaz
a4dfdb6de1 general timing hacks 2013-09-06 02:40:37 +03:00
notaz
53f948c901 make hcnt code friendly with split timeslices
values need to be fixed, they're wrong, wrong wrong...
2013-09-03 02:52:07 +03:00
notaz
89dbbf2b2f rename cd/pico.c -> cd/mcd.c 2013-08-28 02:24:46 +03:00
notaz
08769494e8 cd sync improvements, part2 2013-08-28 02:05:21 +03:00
notaz
ae214f1c37 new timing for main and cd 2013-08-28 01:07:26 +03:00
notaz
531a8f3883 improve input handling 2013-08-17 03:38:47 +03:00
notaz
3e5b912cf8 minor 68k timing tuning 2013-08-10 17:58:23 +03:00
notaz
12da51c27a some new cpu debug code 2013-08-10 17:57:54 +03:00
notaz
19886062f1 rework sh2 sync, again..
also some new debug and poll code
VF seems to be ok at least..
2013-07-27 22:23:52 +03:00
notaz
a8fd6e3761 32x: rework scheduling/timing
- don't run in line quantity
- decouple from 68k
- some things to tune..
2013-07-09 03:30:58 +03:00
notaz
ed4402a7df 32x: start reworking sheduling 2013-07-09 01:44:56 +03:00
notaz
cff531af94 clarify PicoDrive's license
- PicoDrive was originally released by fDave with simple
  "free for non-commercial use / For commercial use, separate licencing
  terms must be obtained" license and I kept it in my releases.
- in 2011, fDave re-released his code (same that I used as base
  many years ago) dual licensed with GPLv2 and MAME licenses:
    https://code.google.com/p/cyclone68000/

Based on the above I now proclaim that the whole source code is licensed
under the MAME license as more elaborate form of "for non-commercial use".
If that raises any doubt, I announce that all my modifications (which
is the vast majority of code by now) is licensed under the MAME license,
as it reads in COPYING file in this commit.

This does not affect ym2612.c/sn76496.c that were MAME licensed already
from the beginning.
2013-06-26 03:07:07 +03:00
notaz
1d7a28a723 32x: watchdog for Star Wars, SCI IRQs for X-men (also needs idle loop hacks)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@799 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-01 20:53:36 +00:00
notaz
236990cf77 32x: improve 'simple' scheduling, works for 'interesting' games
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@798 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-01 10:21:43 +00:00
notaz
c987bb5c36 32x: improved lockstep mode, allows compatibility over 50%
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@797 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-09-30 15:42:32 +00:00
notaz
be20816c4c 32x: implement VDP fill, improve PWM, division unit and scheduling
Chaotix works but unstable


git-svn-id: file:///home/notaz/opt/svn/PicoDrive@794 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-09-29 13:38:07 +00:00
notaz
db1d3564e6 32x: preliminary PWM implementation. 32x opts in menu
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@790 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-09-22 19:38:49 +00:00
notaz
5e128c6d27 random cleanups
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@789 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-09-22 10:51:49 +00:00