The fluidsynth .DLL are now dynamically loaded like PCap, the emulator can now even when said .DLL is not present;

Fixed a tiny bug in the Cirrus Logic blitter;
Adding DEV_BRANCH=y parameter to make now compiles the Cirrus Logic emulation code *and* the Nvidia Riva emulation code;
The Sierra SC1502x RAMDAC emulation code is now correctly named as such;
The makefile now knows the dependencies for a lot more files (with the unfortunate effect that 86Box.exe is now 8 MB after stripping);
win_setting.c no longer includes scsi_buslogic.c - that was a leftover of long gone code.
This commit is contained in:
OBattler
2017-08-08 16:14:50 +02:00
parent 3b056733e7
commit 4b5be4f2f6
13 changed files with 395 additions and 71 deletions

View File

@@ -652,8 +652,8 @@ void cirrus_bitblt_start(clgd_t *clgd, svga_t *svga)
clgd->blt.height = (svga->gdcreg[0x22] | (svga->gdcreg[0x23] << 8)) + 1;
clgd->blt.dst_pitch = (svga->gdcreg[0x24] | (svga->gdcreg[0x25] << 8));
clgd->blt.src_pitch = (svga->gdcreg[0x26] | (svga->gdcreg[0x27] << 8));
clgd->blt.dst_addr = (svga->gdcreg[0x28] | (svga->gdcreg[0x29] << 8) || (svga->gdcreg[0x2a] << 16));
clgd->blt.src_addr = (svga->gdcreg[0x2c] | (svga->gdcreg[0x2d] << 8) || (svga->gdcreg[0x2e] << 16));
clgd->blt.dst_addr = (svga->gdcreg[0x28] | (svga->gdcreg[0x29] << 8) | (svga->gdcreg[0x2a] << 16));
clgd->blt.src_addr = (svga->gdcreg[0x2c] | (svga->gdcreg[0x2d] << 8) | (svga->gdcreg[0x2e] << 16));
clgd->blt.mode = svga->gdcreg[0x30];
clgd->blt.modeext = svga->gdcreg[0x33];
blt_rop = svga->gdcreg[0x32];

View File

@@ -10,14 +10,14 @@
#include "../device.h"
#include "video.h"
#include "vid_svga.h"
#include "vid_unk_ramdac.h"
#include "vid_sc1502x_ramdac.h"
#include "vid_et4000.h"
typedef struct et4000_t
{
svga_t svga;
unk_ramdac_t ramdac;
sc1502x_ramdac_t ramdac;
rom_t bios_rom;
@@ -49,7 +49,7 @@ void et4000_out(uint16_t addr, uint8_t val, void *p)
switch (addr)
{
case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9:
unk_ramdac_out(addr, val, &et4000->ramdac, svga);
sc1502x_ramdac_out(addr, val, &et4000->ramdac, svga);
return;
case 0x3CD: /*Banking*/
@@ -96,7 +96,7 @@ uint8_t et4000_in(uint16_t addr, void *p)
break;
case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9:
return unk_ramdac_in(addr, &et4000->ramdac, svga);
return sc1502x_ramdac_in(addr, &et4000->ramdac, svga);
case 0x3CD: /*Banking*/
return et4000->banking;

View File

@@ -16,7 +16,6 @@
#include "vid_paradise.h"
#include "vid_svga.h"
#include "vid_svga_render.h"
#include "vid_unk_ramdac.h"
typedef struct paradise_t

View File

@@ -9,10 +9,10 @@
#include "../mem.h"
#include "video.h"
#include "vid_svga.h"
#include "vid_unk_ramdac.h"
#include "vid_sc1502x_ramdac.h"
void unk_ramdac_out(uint16_t addr, uint8_t val, unk_ramdac_t *ramdac, svga_t *svga)
void sc1502x_ramdac_out(uint16_t addr, uint8_t val, sc1502x_ramdac_t *ramdac, svga_t *svga)
{
int oldbpp = 0;
switch (addr)
@@ -74,7 +74,7 @@ void unk_ramdac_out(uint16_t addr, uint8_t val, unk_ramdac_t *ramdac, svga_t *sv
svga_out(addr, val, svga);
}
uint8_t unk_ramdac_in(uint16_t addr, unk_ramdac_t *ramdac, svga_t *svga)
uint8_t sc1502x_ramdac_in(uint16_t addr, sc1502x_ramdac_t *ramdac, svga_t *svga)
{
switch (addr)
{

View File

@@ -0,0 +1,11 @@
/* Copyright holders: Sarah Walker, Tenshi
see COPYING for more details
*/
typedef struct unk_ramdac_t
{
int state;
uint8_t ctrl;
} sc1502x_ramdac_t;
void sc1502x_ramdac_out(uint16_t addr, uint8_t val, sc1502x_ramdac_t *ramdac, svga_t *svga);
uint8_t sc1502x_ramdac_in(uint16_t addr, sc1502x_ramdac_t *ramdac, svga_t *svga);

View File

@@ -1,11 +0,0 @@
/* Copyright holders: Sarah Walker, Tenshi
see COPYING for more details
*/
typedef struct unk_ramdac_t
{
int state;
uint8_t ctrl;
} unk_ramdac_t;
void unk_ramdac_out(uint16_t addr, uint8_t val, unk_ramdac_t *ramdac, svga_t *svga);
uint8_t unk_ramdac_in(uint16_t addr, unk_ramdac_t *ramdac, svga_t *svga);