mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-08 16:38:05 -04:00
some Pico work
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@442 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
406c96c547
commit
d49b10c2f2
5 changed files with 75 additions and 28 deletions
|
@ -3,14 +3,48 @@
|
|||
// x: 0x03c - 0x19d
|
||||
// y: 0x1fc - 0x2f7
|
||||
// 0x2f8 - 0x3f3
|
||||
int PicoPicoPenPos[2] = { 0x3c, 0x200 };
|
||||
int PicoPicoPage = 0; // 0-6
|
||||
picohw_state PicoPicohw;
|
||||
|
||||
static int prev_line_cnt_irq3 = 0, prev_line_cnt_irq5 = 0;
|
||||
|
||||
static void PicoLineHookPico(int count)
|
||||
{
|
||||
|
||||
PicoPicohw.line_counter += count;
|
||||
if ((PicoPicohw.line_counter & 0xf) == 0 || count > 10)
|
||||
{
|
||||
if (PicoPicohw.fifo_bytes > 0)
|
||||
PicoPicohw.fifo_bytes--;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (PicoPicohw.line_counter - prev_line_cnt_irq3 > 200) {
|
||||
prev_line_cnt_irq3 = PicoPicohw.line_counter;
|
||||
// just a guess/hack, allows 101 Dalmantians to boot
|
||||
elprintf(EL_ANOMALY, "irq3");
|
||||
SekInterrupt(3);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
if (PicoPicohw.line_counter - prev_line_cnt_irq5 > 512) {
|
||||
prev_line_cnt_irq5 = PicoPicohw.line_counter;
|
||||
elprintf(EL_ANOMALY, "irq5");
|
||||
SekInterrupt(5);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
PICO_INTERNAL int PicoInitPico(void)
|
||||
{
|
||||
elprintf(EL_STATUS, "Pico detected");
|
||||
PicoLineHook = PicoLineHookPico;
|
||||
|
||||
PicoAHW = PAHW_PICO;
|
||||
PicoPicoPage = 0;
|
||||
memset(&PicoPicohw, 0, sizeof(PicoPicohw));
|
||||
PicoPicohw.pen_pos[0] = 0x03c + 352/2;
|
||||
PicoPicohw.pen_pos[1] = 0x200 + 252/2;
|
||||
prev_line_cnt_irq3 = 0, prev_line_cnt_irq5 = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue