Moved boot sprites and tiles to the top of RAM
This commit is contained in:
parent
dd97ce82b9
commit
27e352727b
11
src/boot.c
11
src/boot.c
|
@ -442,6 +442,17 @@ void boot_screen() {
|
|||
long jiffies_target = 0;
|
||||
char message[80];
|
||||
|
||||
// Locate the tile maps based on the top of ram
|
||||
uint32_t ram_index = mem_get_ramtop();
|
||||
ram_index -= 8 * 272;
|
||||
tile_set_memory_base = ram_index;
|
||||
ram_index -= 2 * 42 * 32;
|
||||
tile_map_memory_base = ram_index;
|
||||
|
||||
// Locate the sprites
|
||||
ram_index -= 5 * (32 * 32);
|
||||
sprite_ram_base = ram_index;
|
||||
|
||||
// Check the DIP switches to see if we should include RAM booting
|
||||
// Choose the correct boot chain accordingly
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
static t_sprite sprite_shadow[SPRITE_MAX];
|
||||
|
||||
const uint32_t sprite_ram_base = 0x000000;
|
||||
uint32_t sprite_ram_base = 0x000000;
|
||||
|
||||
/**
|
||||
* @brief Update a sprite's hardware registers from the shadow registers
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
extern uint32_t sprite_ram_base;
|
||||
|
||||
/**
|
||||
* @brief Set the basic information about the sprite
|
||||
*
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
static t_tile_set tile_set_shadow[VKY_TILESET_MAX];
|
||||
static t_tile_map tile_map_shadow[VKY_TILEMAP_MAX];
|
||||
|
||||
const uint32_t tile_set_memory_base = 0x002000;
|
||||
const uint32_t tile_map_memory_base = 0x003000;
|
||||
uint32_t tile_set_memory_base = 0x002000;
|
||||
uint32_t tile_map_memory_base = 0x003000;
|
||||
|
||||
/**
|
||||
* @brief Setup a tile set
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
extern uint32_t tile_set_memory_base;
|
||||
extern uint32_t tile_map_memory_base;
|
||||
|
||||
/**
|
||||
* @brief Setup a tile set
|
||||
*
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
*/
|
||||
|
||||
#include "memory.h"
|
||||
#include "sys_general.h"
|
||||
|
||||
unsigned long mem_top_of_ram = 0;
|
||||
|
||||
|
@ -21,8 +22,10 @@ unsigned long mem_top_of_ram = 0;
|
|||
*
|
||||
* @param top_of_ram initial value for the top of system RAM
|
||||
*/
|
||||
void mem_init(unsigned long top_of_ram) {
|
||||
mem_top_of_ram = top_of_ram;
|
||||
void mem_init() {
|
||||
#if MODEL == MODEL_FOENIX_F256 || MODEL == MODEL_FOENIX_F256K || MODEL == MODEL_FOENIX_F256K2
|
||||
mem_top_of_ram = 0x06ffff;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,12 +17,11 @@
|
|||
|
||||
#include "sys_macros.h"
|
||||
|
||||
/*
|
||||
/**
|
||||
* Initialize the memory management system
|
||||
*
|
||||
* @param top_of_ram initial value for the top of system RAM
|
||||
*/
|
||||
extern void mem_init(unsigned long top_of_ram);
|
||||
extern void mem_init();
|
||||
|
||||
/**
|
||||
* Return the top of system RAM... the user program must not use any
|
||||
|
|
|
@ -90,7 +90,7 @@ void initialize() {
|
|||
sys_get_information(&info);
|
||||
|
||||
/* Initialize the memory system */
|
||||
mem_init(0x3d0000);
|
||||
mem_init();
|
||||
|
||||
// /* Hide the mouse */
|
||||
// mouse_set_visible(0);
|
||||
|
|
|
@ -7,6 +7,6 @@
|
|||
|
||||
#define VER_MAJOR 1
|
||||
#define VER_MINOR 0
|
||||
#define VER_BUILD 38
|
||||
#define VER_BUILD 39
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue