Updated gayle, expansion and headers from latest upstream

This commit is contained in:
Dimitris Panokostas 2020-06-29 22:31:51 +02:00
parent 6adb0d00ee
commit 6b4db7ba53
4 changed files with 43 additions and 29 deletions

View file

@ -2775,7 +2775,7 @@ const struct expansionromtype expansionroms[] = {
},
{
_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,
false, EXPANSIONTYPE_INTERNAL
},

View file

@ -164,9 +164,6 @@ static int dataflyer_state;
static int dataflyer_disable_irq;
static uae_u8 dataflyer_byte;
static void gayle_reset(int hardreset);
static void gayle_map_pcmcia(void);
static void pcmcia_reset (void)
{
memset (pcmcia_configuration, 0, sizeof pcmcia_configuration);
@ -212,7 +209,7 @@ bool isideint(void)
return checkgayleideirq() != 0;
}
static void rethink_gayle (void)
void rethink_gayle (void)
{
int lev2 = 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);
}
static void gayle_map_pcmcia (void)
void gayle_map_pcmcia (void)
{
if (currprefs.cs_pcmcia == 0)
return;
@ -1632,12 +1629,20 @@ bool gayle_init_pcmcia(struct autoconfig_info *aci)
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]))
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)
{
gayle_its.idetable = idedrive;
@ -1656,20 +1661,20 @@ static void initide (void)
gayle_irq = gayle_int = 0;
}
static void gayle_free (void)
void gayle_free (void)
{
stop_ide_thread(&gayle_its);
//stop_ide_thread(&pcmcia_its);
}
static void check_prefs_changed_gayle(void)
void check_prefs_changed_gayle(void)
{
if (!currprefs.cs_pcmcia)
return;
//pcmcia_card_check(1, -1);
}
static void gayle_reset (int hardreset)
void gayle_reset (int hardreset)
{
static TCHAR bankname[100];

View file

@ -3,15 +3,23 @@
#include "uae/types.h"
void gayle_add_ide_unit (int ch, struct uaedev_config_info *ci, struct romconfig *rc);
bool gayle_ide_init(struct autoconfig_info*);
void gayle_free_units (void);
bool gayle_init_pcmcia(struct autoconfig_info *aci);
bool gayle_init_board_io_pcmcia(struct autoconfig_info *aci);
bool gayle_init_board_common_pcmcia(struct autoconfig_info *aci);
void pcmcia_eject(struct uae_prefs *p);
void pcmcia_reinsert(struct uae_prefs*);
bool pcmcia_disk_reinsert(struct uae_prefs *p, struct uaedev_config_info *uci, bool ejectonly);
extern void gayle_reset(int);
extern void gayle_hsync(void);
extern void gayle_free(void);
extern void gayle_add_ide_unit(int ch, struct uaedev_config_info* ci, struct romconfig* rc);
extern bool gayle_ide_init(struct autoconfig_info*);
extern int gayle_modify_pcmcia_sram_unit(struct uaedev_config_info*, int insert);
extern int gayle_modify_pcmcia_ide_unit(struct uaedev_config_info*, int insert);
extern int gayle_add_pcmcia_sram_unit(struct uaedev_config_info*);
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_timeout; // non-existing memory access = delay

View file

@ -487,7 +487,9 @@ extern addrbank *get_mem_bank_real(uaecptr);
(mem_banks[bankindex(addr)] = (b));
#endif
extern void memory_init(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_z2 (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 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;
STATIC_INLINE uae_u32 chipmem_lget_indirect(uae_u32 PT) {
return do_get_mem_long((uae_u32 *)&chipmem_bank.baseaddr[PT & chipmem_bank.mask]);
}
STATIC_INLINE uae_u32 chipmem_wget_indirect (uae_u32 PT) {
return do_get_mem_word((uae_u16 *)&chipmem_bank.baseaddr[PT & chipmem_full_mask]);
}
#define chipmem_wput_indirect chipmem_agnus_wput
extern uae_u32(REGPARAM3* chipmem_lget_indirect)(uaecptr) REGPARAM;
extern uae_u32(REGPARAM3* chipmem_wget_indirect)(uaecptr) REGPARAM;
extern uae_u32(REGPARAM3* chipmem_bget_indirect)(uaecptr) REGPARAM;
extern void (REGPARAM3* chipmem_lput_indirect)(uaecptr, uae_u32) REGPARAM;
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;
extern uae_u8* (REGPARAM3* chipmem_xlate_indirect)(uaecptr) REGPARAM;
extern bool mapped_malloc (addrbank*);
extern void mapped_free (addrbank*);