mirror of
https://github.com/jeremysrand/a2bejwld.git
synced 2024-06-25 23:29:27 +00:00
Fix problems related to moving to cc65 2.17.
This commit is contained in:
parent
f619aa0313
commit
6d4ae62b77
Binary file not shown.
|
@ -70,7 +70,7 @@ SRCDIRS+=
|
|||
|
||||
# If you want to add arguments to the compile commandline, add them
|
||||
# to this variable:
|
||||
# CFLAGS += -Os
|
||||
CFLAGS += -Os
|
||||
|
||||
# If you want to add arguments to the assembly commandline, add them
|
||||
# to this variable:
|
||||
|
|
|
@ -35,20 +35,20 @@
|
|||
#define VERTICAL_PIXELS_PER_SQUARE (VERTICAL_PIXELS / BOARD_SIZE)
|
||||
#define HORIZONTAL_PIXELS_PER_SQUARE (HORIZONTAL_PIXELS / BOARD_SIZE)
|
||||
|
||||
#define DRAW_GEM_AT_XY(x, y, gemType, starred) \
|
||||
gTempY = y; \
|
||||
gTempX = x; \
|
||||
gTempGemType = gemType; \
|
||||
if (starred) { \
|
||||
__asm__("lda %v", gTempY); \
|
||||
__asm__("ldx %v", gTempX); \
|
||||
__asm__("ldy %v", gTempGemType); \
|
||||
__asm__("jsr _drawAndStarGemAtXY"); \
|
||||
} else { \
|
||||
__asm__("lda %v", gTempY); \
|
||||
__asm__("ldx %v", gTempX); \
|
||||
__asm__("ldy %v", gTempGemType); \
|
||||
__asm__("jsr _drawGemAtXY"); \
|
||||
#define DRAW_GEM_AT_XY(x, y, gemType, starred) \
|
||||
gTempY = y; \
|
||||
gTempX = x; \
|
||||
gTempGemType = gemType; \
|
||||
if (starred) { \
|
||||
__asm__ volatile("lda %v", gTempY); \
|
||||
__asm__ volatile("ldx %v", gTempX); \
|
||||
__asm__ volatile("ldy %v", gTempGemType); \
|
||||
__asm__ volatile("jsr _drawAndStarGemAtXY"); \
|
||||
} else { \
|
||||
__asm__ volatile("lda %v", gTempY); \
|
||||
__asm__ volatile("ldx %v", gTempX); \
|
||||
__asm__ volatile("ldy %v", gTempGemType); \
|
||||
__asm__ volatile("jsr _drawGemAtXY"); \
|
||||
}
|
||||
|
||||
|
||||
|
@ -120,9 +120,9 @@ void drawGemAtSquare(tSquare square)
|
|||
tempGemType = gemTypeAtSquare(square);
|
||||
tempSquare = square;
|
||||
|
||||
__asm__("lda %v", tempSquare);
|
||||
__asm__("ldy %v", tempGemType);
|
||||
__asm__("jsr _drawGem");
|
||||
__asm__ volatile("lda %v", tempSquare);
|
||||
__asm__ volatile("ldy %v", tempGemType);
|
||||
__asm__ volatile("jsr _drawGem");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -55,11 +55,11 @@ void initJoystick(tJoyCallbacks *callbacks)
|
|||
bool isButtonPressed(tJoyButtonNum buttonNum)
|
||||
{
|
||||
if (buttonNum == JOY_BUTTON_0) {
|
||||
__asm__("LDA %w", BTN0);
|
||||
__asm__("STA %v", gJoystickTemp);
|
||||
__asm__ volatile("LDA %w", BTN0);
|
||||
__asm__ volatile("STA %v", gJoystickTemp);
|
||||
} else if (buttonNum == JOY_BUTTON_1) {
|
||||
__asm__("LDA %w", BTN1);
|
||||
__asm__("STA %v", gJoystickTemp);
|
||||
__asm__ volatile("LDA %w", BTN1);
|
||||
__asm__ volatile("STA %v", gJoystickTemp);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -69,26 +69,26 @@ bool isButtonPressed(tJoyButtonNum buttonNum)
|
|||
|
||||
static uint8_t joystickLeftRight(void)
|
||||
{
|
||||
__asm__("BIT %w", ROM_SWITCH);
|
||||
__asm__("LDX #0");
|
||||
__asm__("SEI");
|
||||
__asm__("JSR %w", PREAD);
|
||||
__asm__("CLI");
|
||||
__asm__("STY %v", gJoystickTemp);
|
||||
__asm__("BIT %w", RAM_SWITCH);
|
||||
__asm__ volatile("BIT %w", ROM_SWITCH);
|
||||
__asm__ volatile("LDX #0");
|
||||
__asm__ volatile("SEI");
|
||||
__asm__ volatile("JSR %w", PREAD);
|
||||
__asm__ volatile("CLI");
|
||||
__asm__ volatile("STY %v", gJoystickTemp);
|
||||
__asm__ volatile("BIT %w", RAM_SWITCH);
|
||||
return gJoystickTemp;
|
||||
}
|
||||
|
||||
|
||||
static uint8_t joystickUpDown(void)
|
||||
{
|
||||
__asm__("BIT %w", ROM_SWITCH);
|
||||
__asm__("LDX #1");
|
||||
__asm__("SEI");
|
||||
__asm__("JSR %w", PREAD);
|
||||
__asm__("CLI");
|
||||
__asm__("STY %v", gJoystickTemp);
|
||||
__asm__("BIT %w", RAM_SWITCH);
|
||||
__asm__ volatile("BIT %w", ROM_SWITCH);
|
||||
__asm__ volatile("LDX #1");
|
||||
__asm__ volatile("SEI");
|
||||
__asm__ volatile("JSR %w", PREAD);
|
||||
__asm__ volatile("CLI");
|
||||
__asm__ volatile("STY %v", gJoystickTemp);
|
||||
__asm__ volatile("BIT %w", RAM_SWITCH);
|
||||
return gJoystickTemp;
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include <conio.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <mouse.h>
|
||||
|
||||
#include "mouseWrapper.h"
|
||||
|
@ -29,14 +30,12 @@ static struct mouse_callbacks gMouseDrvCallbacks;
|
|||
bool initMouse(tMouseCallbacks *callbacks)
|
||||
{
|
||||
if (!gMouseInstalled) {
|
||||
gMouseDrvCallbacks.hide = mouse_def_callbacks.hide;
|
||||
memcpy(&gMouseDrvCallbacks, &mouse_def_callbacks, sizeof(gMouseDrvCallbacks));
|
||||
// This callback is here for the //c VBL which is only detectable
|
||||
// through the mouse interrupt. By registering this as our "show"
|
||||
// function, we can ensure that we get called on our VBL interrupt
|
||||
// and can unblock our VBL wait function.
|
||||
gMouseDrvCallbacks.show = vblIRQCallback;
|
||||
gMouseDrvCallbacks.movex = mouse_def_callbacks.movex;
|
||||
gMouseDrvCallbacks.movey = mouse_def_callbacks.movey;
|
||||
|
||||
if (mouse_install(&gMouseDrvCallbacks, &a2_mouse_drv) == 0) {
|
||||
gMouseInstalled = true;
|
||||
|
|
Loading…
Reference in New Issue
Block a user