49 lines
1.7 KiB
C
49 lines
1.7 KiB
C
// chunk5's boot sequence, main loop, input tick, keyboard dispatch and
|
|
// key handlers (src/chunk5.s MainLoopEntry .. MaybeSetViewDirectionAndAbort,
|
|
// InitFromReset .. InitInstrumentSaveBuffers).
|
|
|
|
#ifndef CHUNK5_MAIN_H
|
|
#define CHUNK5_MAIN_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
// Boot: InitZeroPage + MainGameEntry. Returns when a reboot is requested.
|
|
void chunk5Boot(void);
|
|
|
|
// ProcessInputTick and the `lda $33; cmp #$20; bcc; jsr` test around it.
|
|
void chunk5CheckInputTick(void);
|
|
void chunk5ProcessInputTick(void);
|
|
|
|
// TogglePause: wait for a key (returns it with bit 7 clear).
|
|
uint8_t chunk5TogglePause(void);
|
|
|
|
// True once Apply64KPatchTable has run (the 64K hooks are live).
|
|
bool chunk5Patched64K(void);
|
|
|
|
// Entry points other chunks call.
|
|
void chunk5ApplyMagnetoState(uint8_t state, uint8_t bits);
|
|
void chunk5BrakesOrGuns(void);
|
|
void chunk5LessThrottle(void);
|
|
void chunk5MoreThrottle(void);
|
|
void chunk5PatchSlotUpdateComMessageChunks(void);
|
|
// RefreshAileronAndRoll / RefreshFlapsIndicator (L915D, A = flaps) /
|
|
// RefreshRudderIndicator / L90E8 (throttle): the $8764..$877C jump-table
|
|
// entries the scenery-file overlays call.
|
|
void chunk5RefreshAileronAndRoll(void);
|
|
bool chunk5RefreshElevatorIndicator(void);
|
|
void chunk5RefreshFlapsIndicator(uint8_t flaps);
|
|
void chunk5RefreshRudderIndicator(void);
|
|
void chunk5RefreshThrottleIndicator(void);
|
|
void chunk5ArmBootDOS(void);
|
|
void chunk5ResetYokeAndSlew(void);
|
|
void chunk5SetInputModeAndCounter(uint8_t mode);
|
|
void chunk5SetModeLibraryAction(uint8_t action);
|
|
void chunk5StoreRadarViewFromX(uint8_t x);
|
|
void chunk5UpdateMinutesHoursDisplay(void);
|
|
void chunk5YokeCenter(void);
|
|
void chunk5YokeLeft(void);
|
|
void chunk5YokeRight(void);
|
|
void chunk5YokeUp(void);
|
|
|
|
#endif
|