Updated gayle, expansion and headers from latest upstream
This commit is contained in:
parent
6adb0d00ee
commit
6b4db7ba53
4 changed files with 43 additions and 29 deletions
|
@ -2775,7 +2775,7 @@ const struct expansionromtype expansionroms[] = {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
_T("pcmcia_mb"), _T("A600/A1200 PCMCIA"), _T("Commodore"),
|
_T("pcmcia_mb"), _T("A600/A1200 PCMCIA"), _T("Commodore"),
|
||||||
NULL, gayle_init_pcmcia, NULL, NULL, ROMTYPE_MB_PCMCIA | ROMTYPE_NOT, 0, 0, BOARD_NONAUTOCONFIG_BEFORE, true,
|
NULL, gayle_pcmcia_init, NULL, NULL, ROMTYPE_MB_PCMCIA | ROMTYPE_NOT, 0, 0, BOARD_NONAUTOCONFIG_BEFORE, true,
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
false, EXPANSIONTYPE_INTERNAL
|
false, EXPANSIONTYPE_INTERNAL
|
||||||
},
|
},
|
||||||
|
|
|
@ -164,9 +164,6 @@ static int dataflyer_state;
|
||||||
static int dataflyer_disable_irq;
|
static int dataflyer_disable_irq;
|
||||||
static uae_u8 dataflyer_byte;
|
static uae_u8 dataflyer_byte;
|
||||||
|
|
||||||
static void gayle_reset(int hardreset);
|
|
||||||
static void gayle_map_pcmcia(void);
|
|
||||||
|
|
||||||
static void pcmcia_reset (void)
|
static void pcmcia_reset (void)
|
||||||
{
|
{
|
||||||
memset (pcmcia_configuration, 0, sizeof pcmcia_configuration);
|
memset (pcmcia_configuration, 0, sizeof pcmcia_configuration);
|
||||||
|
@ -212,7 +209,7 @@ bool isideint(void)
|
||||||
return checkgayleideirq() != 0;
|
return checkgayleideirq() != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rethink_gayle (void)
|
void rethink_gayle (void)
|
||||||
{
|
{
|
||||||
int lev2 = 0;
|
int lev2 = 0;
|
||||||
int lev6 = 0;
|
int lev6 = 0;
|
||||||
|
@ -1553,7 +1550,7 @@ static void REGPARAM2 gayle_common_bput (uaecptr addr, uae_u32 value)
|
||||||
gayle_common_write_byte(addr, value);
|
gayle_common_write_byte(addr, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gayle_map_pcmcia (void)
|
void gayle_map_pcmcia (void)
|
||||||
{
|
{
|
||||||
if (currprefs.cs_pcmcia == 0)
|
if (currprefs.cs_pcmcia == 0)
|
||||||
return;
|
return;
|
||||||
|
@ -1632,12 +1629,20 @@ bool gayle_init_pcmcia(struct autoconfig_info *aci)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gayle_hsync(void)
|
void gayle_hsync(void)
|
||||||
{
|
{
|
||||||
if (ide_interrupt_hsync(idedrive[0]) || ide_interrupt_hsync(idedrive[2]) || ide_interrupt_hsync(idedrive[4]))
|
if (ide_interrupt_hsync(idedrive[0]) || ide_interrupt_hsync(idedrive[2]) || ide_interrupt_hsync(idedrive[4]))
|
||||||
devices_rethink_all(rethink_gayle);
|
devices_rethink_all(rethink_gayle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool gayle_pcmcia_init(struct autoconfig_info* aci)
|
||||||
|
{
|
||||||
|
aci->start = 0x600000;
|
||||||
|
aci->size = 0xa80000 - aci->start;
|
||||||
|
aci->zorro = 0;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static void initide (void)
|
static void initide (void)
|
||||||
{
|
{
|
||||||
gayle_its.idetable = idedrive;
|
gayle_its.idetable = idedrive;
|
||||||
|
@ -1656,20 +1661,20 @@ static void initide (void)
|
||||||
gayle_irq = gayle_int = 0;
|
gayle_irq = gayle_int = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gayle_free (void)
|
void gayle_free (void)
|
||||||
{
|
{
|
||||||
stop_ide_thread(&gayle_its);
|
stop_ide_thread(&gayle_its);
|
||||||
//stop_ide_thread(&pcmcia_its);
|
//stop_ide_thread(&pcmcia_its);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void check_prefs_changed_gayle(void)
|
void check_prefs_changed_gayle(void)
|
||||||
{
|
{
|
||||||
if (!currprefs.cs_pcmcia)
|
if (!currprefs.cs_pcmcia)
|
||||||
return;
|
return;
|
||||||
//pcmcia_card_check(1, -1);
|
//pcmcia_card_check(1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gayle_reset (int hardreset)
|
void gayle_reset (int hardreset)
|
||||||
{
|
{
|
||||||
static TCHAR bankname[100];
|
static TCHAR bankname[100];
|
||||||
|
|
||||||
|
|
|
@ -3,15 +3,23 @@
|
||||||
|
|
||||||
#include "uae/types.h"
|
#include "uae/types.h"
|
||||||
|
|
||||||
void gayle_add_ide_unit (int ch, struct uaedev_config_info *ci, struct romconfig *rc);
|
extern void gayle_reset(int);
|
||||||
bool gayle_ide_init(struct autoconfig_info*);
|
extern void gayle_hsync(void);
|
||||||
void gayle_free_units (void);
|
extern void gayle_free(void);
|
||||||
bool gayle_init_pcmcia(struct autoconfig_info *aci);
|
extern void gayle_add_ide_unit(int ch, struct uaedev_config_info* ci, struct romconfig* rc);
|
||||||
bool gayle_init_board_io_pcmcia(struct autoconfig_info *aci);
|
extern bool gayle_ide_init(struct autoconfig_info*);
|
||||||
bool gayle_init_board_common_pcmcia(struct autoconfig_info *aci);
|
extern int gayle_modify_pcmcia_sram_unit(struct uaedev_config_info*, int insert);
|
||||||
void pcmcia_eject(struct uae_prefs *p);
|
extern int gayle_modify_pcmcia_ide_unit(struct uaedev_config_info*, int insert);
|
||||||
void pcmcia_reinsert(struct uae_prefs*);
|
extern int gayle_add_pcmcia_sram_unit(struct uaedev_config_info*);
|
||||||
bool pcmcia_disk_reinsert(struct uae_prefs *p, struct uaedev_config_info *uci, bool ejectonly);
|
extern int gayle_add_pcmcia_ide_unit(struct uaedev_config_info*);
|
||||||
|
extern void gayle_free_units(void);
|
||||||
|
extern void rethink_gayle(void);
|
||||||
|
extern void gayle_map_pcmcia(void);
|
||||||
|
extern void check_prefs_changed_gayle(void);
|
||||||
|
extern void gayle_add_pcmcia_unit(int ch, struct uaedev_config_info* ci, struct romconfig* rc);
|
||||||
|
extern bool gayle_pcmcia_init(struct autoconfig_info*);
|
||||||
|
extern bool gayle_init_ne2000_pcmcia(struct autoconfig_info* aci);
|
||||||
|
bool isideint(void);
|
||||||
|
|
||||||
extern int gary_toenb; // non-existing memory access = bus error.
|
extern int gary_toenb; // non-existing memory access = bus error.
|
||||||
extern int gary_timeout; // non-existing memory access = delay
|
extern int gary_timeout; // non-existing memory access = delay
|
||||||
|
|
|
@ -487,7 +487,9 @@ extern addrbank *get_mem_bank_real(uaecptr);
|
||||||
(mem_banks[bankindex(addr)] = (b));
|
(mem_banks[bankindex(addr)] = (b));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern void memory_init(void);
|
||||||
extern void memory_cleanup (void);
|
extern void memory_cleanup (void);
|
||||||
|
extern void restore_banks(void);
|
||||||
extern void map_banks (addrbank *bank, int first, int count, int realsize);
|
extern void map_banks (addrbank *bank, int first, int count, int realsize);
|
||||||
extern void map_banks_z2 (addrbank *bank, int first, int count);
|
extern void map_banks_z2 (addrbank *bank, int first, int count);
|
||||||
extern void map_banks_z3(addrbank *bank, int first, int count);
|
extern void map_banks_z3(addrbank *bank, int first, int count);
|
||||||
|
@ -762,19 +764,18 @@ extern void REGPARAM3 chipmem_wput (uaecptr, uae_u32) REGPARAM;
|
||||||
extern void REGPARAM3 chipmem_bput (uaecptr, uae_u32) REGPARAM;
|
extern void REGPARAM3 chipmem_bput (uaecptr, uae_u32) REGPARAM;
|
||||||
|
|
||||||
extern uae_u32 REGPARAM3 chipmem_agnus_wget (uaecptr) REGPARAM;
|
extern uae_u32 REGPARAM3 chipmem_agnus_wget (uaecptr) REGPARAM;
|
||||||
extern void REGPARAM3 chipmem_agnus_wput (uaecptr, uae_u32) REGPARAM;
|
extern void REGPARAM3 chipmem_agnus_wput(uaecptr, uae_u32) REGPARAM;
|
||||||
|
|
||||||
extern uae_u32 chipmem_full_mask;
|
|
||||||
extern addrbank dummy_bank;
|
extern addrbank dummy_bank;
|
||||||
|
|
||||||
STATIC_INLINE uae_u32 chipmem_lget_indirect(uae_u32 PT) {
|
extern uae_u32(REGPARAM3* chipmem_lget_indirect)(uaecptr) REGPARAM;
|
||||||
return do_get_mem_long((uae_u32 *)&chipmem_bank.baseaddr[PT & chipmem_bank.mask]);
|
extern uae_u32(REGPARAM3* chipmem_wget_indirect)(uaecptr) REGPARAM;
|
||||||
}
|
extern uae_u32(REGPARAM3* chipmem_bget_indirect)(uaecptr) REGPARAM;
|
||||||
STATIC_INLINE uae_u32 chipmem_wget_indirect (uae_u32 PT) {
|
extern void (REGPARAM3* chipmem_lput_indirect)(uaecptr, uae_u32) REGPARAM;
|
||||||
return do_get_mem_word((uae_u16 *)&chipmem_bank.baseaddr[PT & chipmem_full_mask]);
|
extern void (REGPARAM3* chipmem_wput_indirect)(uaecptr, uae_u32) REGPARAM;
|
||||||
}
|
extern void (REGPARAM3* chipmem_bput_indirect)(uaecptr, uae_u32) REGPARAM;
|
||||||
|
extern int (REGPARAM3* chipmem_check_indirect)(uaecptr, uae_u32) REGPARAM;
|
||||||
#define chipmem_wput_indirect chipmem_agnus_wput
|
extern uae_u8* (REGPARAM3* chipmem_xlate_indirect)(uaecptr) REGPARAM;
|
||||||
|
|
||||||
extern bool mapped_malloc (addrbank*);
|
extern bool mapped_malloc (addrbank*);
|
||||||
extern void mapped_free (addrbank*);
|
extern void mapped_free (addrbank*);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue