aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-06-08 07:23:25 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2017-06-08 07:23:25 +0200
commit022c72fe369da0045f9ca7dd4b8d4d7dd169c87c (patch)
tree35f4916e57925c35aadcebbd0a37701bc55ed45f /Source
parentfaf31975556ceb5be674eb89b0ec5b2d2836e42a (diff)
downloadairport-022c72fe369da0045f9ca7dd4b8d4d7dd169c87c.tar.gz
* (Bugfix) MemCard: MEMCARD_MAXIMUM_SECTOR changed from 512 (8 << MEMCARD_SECTORS_PER_BLOCK_BITSHIFT) to 1024 (16 << MEMCARD_SECTORS_PER_BLOCK_BITSHIFT).
* DrawEnv and DispEnv buffers are no longer swapped using DMA commands, but GPIO. This ensures stability under real hw. TODO: how to fix in 2-player mode? * Provisionally removed semi-transparency for aircraft shadow sprite.
Diffstat (limited to 'Source')
-rw-r--r--Source/Aircraft.c4
-rw-r--r--Source/Gfx.c4
-rw-r--r--Source/Makefile2
-rw-r--r--Source/MemCard.c7
4 files changed, 9 insertions, 8 deletions
diff --git a/Source/Aircraft.c b/Source/Aircraft.c
index b43fd0d..97ee1be 100644
--- a/Source/Aircraft.c
+++ b/Source/Aircraft.c
@@ -325,7 +325,7 @@ void AircraftRender(TYPE_PLAYER* ptrPlayer)
AircraftSpr.g = 0;
AircraftSpr.b = 0;
- AircraftSpr.attribute |= ENABLE_TRANS | TRANS_MODE(0);
+ //AircraftSpr.attribute |= ENABLE_TRANS | TRANS_MODE(0);
GfxSortSprite(&AircraftSpr);
}
@@ -336,7 +336,7 @@ void AircraftRender(TYPE_PLAYER* ptrPlayer)
AircraftSpr.x = cartPos.x - (AircraftSpr.w >> 1);
AircraftSpr.y = cartPos.y - (AircraftSpr.h >> 1);
- AircraftSpr.attribute &= ~(ENABLE_TRANS | TRANS_MODE(0));
+ //AircraftSpr.attribute &= ~(ENABLE_TRANS | TRANS_MODE(0));
CameraApplyCoordinatesToSprite(ptrPlayer, &AircraftSpr);
diff --git a/Source/Gfx.c b/Source/Gfx.c
index a55d667..c10e51c 100644
--- a/Source/Gfx.c
+++ b/Source/Gfx.c
@@ -118,8 +118,8 @@ void GfxSwapBuffers(void)
DrawEnv.y = DOUBLE_BUFFERING_SWAP_Y;
}
- GsSetDispEnv_DMA(&DispEnv);
- GsSetDrawEnv_DMA(&DrawEnv);
+ GsSetDispEnv(&DispEnv);
+ GsSetDrawEnv(&DrawEnv);
}
}
diff --git a/Source/Makefile b/Source/Makefile
index befbc21..304df53 100644
--- a/Source/Makefile
+++ b/Source/Makefile
@@ -2,7 +2,7 @@ CC = psx-gcc
DEFINE= -DFIXMATH_FAST_SIN -D_PAL_MODE_
DEFINE += -DPSXSDK_DEBUG
DEFINE += -DNO_CDDA
-DEFINE += -DNO_INTRO
+#DEFINE += -DNO_INTRO
LIBS= -lfixmath
CC_FLAGS = -Wall -Werror -c -Os
LINKER = psx-gcc
diff --git a/Source/MemCard.c b/Source/MemCard.c
index f55facf..b0fe7d7 100644
--- a/Source/MemCard.c
+++ b/Source/MemCard.c
@@ -14,7 +14,7 @@
#define MEMCARD_BLOCK_MAX_ICONS 3
#define MEMCARD_ICON_INDEX_TIME 4
-#define MEMCARD_MAXIMUM_SECTOR 511
+#define MEMCARD_MAXIMUM_SECTOR (1024 - 1)
#define MEMCARD_INVALID_CHECKSUM 0x4E
#define MEMCARD_CORRECT_RW 0x47
@@ -705,7 +705,7 @@ bool MemCardReadSector(TYPE_BLOCK_DATA * ptrBlockData, int sector)
MemCardErrors.ErrorByte = 'T';
dprintf("Invalid memory card sector %d. Only values between"
- " 0 and 511 are allowed!\n", sector);
+ " 0 and %d are allowed!\n", sector, MEMCARD_MAXIMUM_SECTOR);
return false;
}
@@ -858,7 +858,7 @@ void MemCardDrawIcon(TYPE_BLOCK_DATA * ptrBlockData, short x, short y)
orig_clut_x = ptrBlockData->IconTPoly.cx;
- if(ptrBlockData->IconNumber >= IconIndex)
+ if(ptrBlockData->IconNumber > IconIndex)
{
ptrBlockData->IconTPoly.u[0] += MEMCARD_BLOCK_IMAGE_W * IconIndex;
ptrBlockData->IconTPoly.u[1] = ptrBlockData->IconTPoly.u[0] + MEMCARD_BLOCK_IMAGE_W;
@@ -867,6 +867,7 @@ void MemCardDrawIcon(TYPE_BLOCK_DATA * ptrBlockData, short x, short y)
ptrBlockData->IconTPoly.cx += IconIndex * MEMCARD_BLOCK_CLUT_W;
}
+
if(first_access == true)
{