notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
giz menu works
[picodrive.git]
/
Pico
/
VideoPort.c
diff --git
a/Pico/VideoPort.c
b/Pico/VideoPort.c
index
bb5fe4a
..
a4fe3c8
100644
(file)
--- a/
Pico/VideoPort.c
+++ b/
Pico/VideoPort.c
@@
-1,7
+1,7
@@
// This is part of Pico Library
\r
\r
// (c) Copyright 2004 Dave, All rights reserved.
\r
// This is part of Pico Library
\r
\r
// (c) Copyright 2004 Dave, All rights reserved.
\r
-// (c) Copyright 2006
notaz, All rights reserved.
\r
+// (c) Copyright 2006
-2007, Grazvydas "notaz" Ignotas
\r
// Free for non-commercial use.
\r
\r
// For commercial use, separate licencing terms must be obtained.
\r
// Free for non-commercial use.
\r
\r
// For commercial use, separate licencing terms must be obtained.
\r
@@
-15,8
+15,12
@@
extern const unsigned char hcounts_40[];
extern const unsigned short vcounts[];
\r
extern int rendstatus;
\r
\r
extern const unsigned short vcounts[];
\r
extern int rendstatus;
\r
\r
+#ifndef UTYPES_DEFINED
\r
typedef unsigned char u8;
\r
typedef unsigned short u16;
\r
typedef unsigned char u8;
\r
typedef unsigned short u16;
\r
+typedef unsigned int u32;
\r
+#define UTYPES_DEFINED
\r
+#endif
\r
\r
\r
static __inline void AutoIncrement()
\r
\r
\r
static __inline void AutoIncrement()
\r
@@
-89,7
+93,8
@@
static void DmaSlow(int len)
\r
if(Pico.m.scanline != -1) {
\r
Pico.m.dma_bytes += len;
\r
\r
if(Pico.m.scanline != -1) {
\r
Pico.m.dma_bytes += len;
\r
- SekSetCyclesLeft(SekCyclesLeft - CheckDMA());
\r
+ if ((PicoMCD&1) && (PicoOpt & 0x2000)) SekCyclesBurn(CheckDMA());
\r
+ else SekSetCyclesLeftNoMCD(SekCyclesLeftNoMCD - CheckDMA());
\r
} else {
\r
// be approximate in non-accurate mode
\r
SekSetCyclesLeft(SekCyclesLeft - (len*(((488<<8)/167))>>8));
\r
} else {
\r
// be approximate in non-accurate mode
\r
SekSetCyclesLeft(SekCyclesLeft - (len*(((488<<8)/167))>>8));
\r
@@
-173,7
+178,7
@@
static void DmaSlow(int len)
r = Pico.cram;
\r
for(a2=a&0x7f; len; len--)
\r
{
\r
r = Pico.cram;
\r
for(a2=a&0x7f; len; len--)
\r
{
\r
- r[a2>>1] = (u16)*pd++;
;
// bit 0 is ignored
\r
+ r[a2>>1] = (u16)*pd++; // bit 0 is ignored
\r
// AutoIncrement
\r
a2+=inc;
\r
// didn't src overlap?
\r
// AutoIncrement
\r
a2+=inc;
\r
// didn't src overlap?
\r
@@
-307,7
+312,7
@@
static void CommandChange()
if (cmd&0x80) CommandDma();
\r
}
\r
\r
if (cmd&0x80) CommandDma();
\r
}
\r
\r
-void PicoVideoWrite(unsigned int a,unsigned short d)
\r
+
PICO_INTERNAL_ASM
void PicoVideoWrite(unsigned int a,unsigned short d)
\r
{
\r
struct PicoVideo *pvid=&Pico.video;
\r
\r
{
\r
struct PicoVideo *pvid=&Pico.video;
\r
\r
@@
-389,7
+394,7
@@
void PicoVideoWrite(unsigned int a,unsigned short d)
}
\r
}
\r
\r
}
\r
}
\r
\r
-unsigned int PicoVideoRead(unsigned int a)
\r
+
PICO_INTERNAL_ASM
unsigned int PicoVideoRead(unsigned int a)
\r
{
\r
unsigned int d=0;
\r
\r
{
\r
unsigned int d=0;
\r
\r