|
Joined: May 2004
Posts: 1,773 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,773 Likes: 34 |
I wonder if regular CDDA playback still works in the PCE music player then. I think 'basic' cases are fine, it just seems to be cases where it wants to do something else as well. I was looking over the video timing in the driver, and it seems a bit strange. The LCD seems to be taken into account for the video timing, however, if it's not an actual feature of the video chip, as posts here seem to suggest, that doesn't make much sense to me. Of course you can just hide the first 22 lines, as you did before, but if it's another device controlling the LCD then the processing that happens on scanline 22 in mcd212_perform_scan should really be happening in scanline 0, at the same time as the LCD output, but with the LCD output writing to a different screen bitmap. However, moving the code around just breaks it completely, as the processing done at line 0 right now can't happen at the same time as the processing done at line 22, even if line 22 seems to just be some arbitrary line based on the LCD height. There might be a logical reason for all this (ie the same video chip really draws the LCD), I'm just not really understanding it.
|
|
|
|
Joined: Aug 2008
Posts: 89
Member
|
Member
Joined: Aug 2008
Posts: 89 |
I saw the recent improvements in CDTV system. But in the game "Turrican" i have the output: "CPU maincpu: PULSE_LINE can only be used for NMI and RESET lines"
|
|
|
|
Joined: Jan 2006
Posts: 3,693
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,693 |
that's an unrelated problem, but thanks for pointing out.
I don't see exactly why that error occurs, but I will see if I can find it...
|
|
|
|
Joined: Jul 2007
Posts: 4,625
Very Senior Member
|
Very Senior Member
Joined: Jul 2007
Posts: 4,625 |
that's an unrelated problem, but thanks for pointing out.
I don't see exactly why that error occurs, but I will see if I can find it... You will get a PM in the next minutes. 
|
|
|
|
Joined: May 2004
Posts: 1,773 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,773 Likes: 34 |
I wonder if regular CDDA playback still works in the PCE music player then. I think 'basic' cases are fine, it just seems to be cases where it wants to do something else as well. I was looking over the video timing in the driver, and it seems a bit strange. The LCD seems to be taken into account for the video timing, however, if it's not an actual feature of the video chip, as posts here seem to suggest, that doesn't make much sense to me. Of course you can just hide the first 22 lines, as you did before, but if it's another device controlling the LCD then the processing that happens on scanline 22 in mcd212_perform_scan should really be happening in scanline 0, at the same time as the LCD output, but with the LCD output writing to a different screen bitmap. However, moving the code around just breaks it completely, as the processing done at line 0 right now can't happen at the same time as the processing done at line 22, even if line 22 seems to just be some arbitrary line based on the LCD height. There might be a logical reason for all this (ie the same video chip really draws the LCD), I'm just not really understanding it. It also strikes me that the current timer system could quite easily cancel out previous timers if commands are sent quickly, which may or may not be desired... Does MAME/MESS provide a way of seeing if a timer has cancelled one which was already running? I guess some commands could quite easily be being lost that way...
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
It also strikes me that the current timer system could quite easily cancel out previous timers if commands are sent quickly, which may or may not be desired... Does MAME/MESS provide a way of seeing if a timer has cancelled one which was already running? I guess some commands could quite easily be being lost that way... It isn't either of the things you've proposed. I would suggest looking at an error log before theorizing further - the CD-i can't perform any other disc access commands while CDDA is playing, so that's a non issue. Also, the LCD handling is fine, there are 22 lines of blanking at the start of each frame. I'm just choosing to shove LCD drawing into those 22 lines and to set the visible area to show it rather than just handling ICA at line 0 and setting the visible area down further.
|
|
|
|
Joined: Mar 2001
Posts: 17,247 Likes: 265
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,247 Likes: 265 |
The Konami PSX games are broken because of a specific problem with the emulation of the 53cf96 status bits, it's not a general issue with CDDA.
Also, it's physically impossible for any drive to load data while CDDA is playing. MK3 on the PSX had CDDA music and famously stopped it to load every time you did a character morph special move.
|
|
|
|
Joined: May 2004
Posts: 1,773 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,773 Likes: 34 |
The Konami PSX games are broken because of a specific problem with the emulation of the 53cf96 status bits, it's not a general issue with CDDA.
Also, it's physically impossible for any drive to load data while CDDA is playing. MK3 on the PSX had CDDA music and famously stopped it to load every time you did a character morph special move. right, I was thinking more along the lines of it leaving the drive in a bad state, rather than just stopping the audio when something else was requested.
|
|
|
|
Joined: May 2004
Posts: 1,773 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,773 Likes: 34 |
It also strikes me that the current timer system could quite easily cancel out previous timers if commands are sent quickly, which may or may not be desired... Does MAME/MESS provide a way of seeing if a timer has cancelled one which was already running? I guess some commands could quite easily be being lost that way... It isn't either of the things you've proposed. I would suggest looking at an error log before theorizing further - the CD-i can't perform any other disc access commands while CDDA is playing, so that's a non issue. Also, the LCD handling is fine, there are 22 lines of blanking at the start of each frame. I'm just choosing to shove LCD drawing into those 22 lines and to set the visible area to show it rather than just handling ICA at line 0 and setting the visible area down further. Ok, that wasn't really obvious from the code. As for the error logging, nothing stands out, the second theory was actually more related to the crashes that happen when you're repeating actions, or doing things quickly. Othello is a good one to crash if you try quickly flipping between the screens, if you take your time it's fine.
|
|
|
|
Joined: May 2009
Posts: 2,223 Likes: 387
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,223 Likes: 387 |
As for the error logging, nothing stands out, the second theory was actually more related to the crashes that happen when you're repeating actions, or doing things quickly. Othello is a good one to crash if you try quickly flipping between the screens, if you take your time it's fine. When you say "crash", you mean it locks up in MESS, but doesn't otherwise cause MESS to die, correct? Just so I know what to look for.
|
|
|
3 members (nerd4gw, r09, Dorando),
207
guests, and
1
robot. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,344
Posts122,330
Members5,077
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|