+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <crt0.h>
-#include <sys/farptr.h>
-#include <go32.h>
-
-#include "dos.h"
-#include "dos-joystick.h"
-#include "dos-video.h"
-#include "dos-sound.h"
-#include "../common/args.h"
-#include "../common/config.h"
-
-/* _CRT0_FLAG_LOCK_MEMORY might not always result in all memory being locked.
- Bummer. I'll add code to explicitly lock the data touched by the sound
- interrupt handler(and the handler itself), if necessary(though that might
- be tricky...). I'll also to cover the data the keyboard
- interrupt handler touches.
-*/
-
-int _crt0_startup_flags = _CRT0_FLAG_FILL_SBRK_MEMORY | _CRT0_FLAG_LOCK_MEMORY | _CRT0_FLAG_USE_DOS_SLASHES;
-
-static int f8bit=0;
-int soundo=44100;
-int doptions=0;
-
-
-CFGSTRUCT DriverConfig[]={
- NAC("sound",soundo),
- AC(doptions),
- AC(f8bit),
- AC(FCEUDvmode),
- NACA("joybmap",joyBMap),
- AC(joy),
- ENDCFGSTRUCT
-};
-
-char *DriverUsage=
-"-vmode x Select video mode(all are 8 bpp).\n\
- 1 = 256x240 6 = 256x224(with scanlines)\n\
- 2 = 256x256 8 = 256x224\n\
- 3 = 256x256(with scanlines)\n\
--vsync x Wait for the screen's vertical retrace before updating the\n\
- screen. Refer to the documentation for caveats.\n\
- 0 = Disabled.\n\
- 1 = Enabled.\n\
--sound x Sound.\n\
- 0 = Disabled.\n\
- Otherwise, x = playback rate.\n\
--f8bit x Force 8-bit sound.\n\
- 0 = Disabled.\n\
- 1 = Enabled.\n\
--joy x Joystick mapped to virtual joystick x(1-4).\n\
- 0 = Disabled, reset configuration.\n\
- 1 = Enabled.";
-
-ARGPSTRUCT DriverArgs[]={
- {"-vmode",0,&FCEUDvmode,0},
- {"-sound",0,&soundo,0},
- {"-f8bit",0,&f8bit,0},
- {"-joy",0,&joy,0},
- {"-vsync",0,&eoptions,0x8004},
- {0,0,0,0}
-};
-
-void DoDriverArgs(void)
-{
- if(!joy) memset(joyBMap,0,4);
-}
-
-int InitSound(void)
-{
- if(soundo)
- {
- if(soundo==1)
- soundo=44100;
- soundo=InitSB(soundo,f8bit?0:1);
- FCEUI_Sound(soundo);
- }
- return(soundo?1:0);
-}
-
-void WriteSound(int32 *Buffer, int Count, int NoWaiting)
-{
- WriteSBSound(Buffer,Count,NoWaiting);
-}
-
-void KillSound(void)
-{
- if(soundo)
- KillSB();
-}
-
-void DOSMemSet(uint32 A, uint8 V, uint32 count)
-{
- uint32 x;
-
- _farsetsel(_dos_ds);
- for(x=0;x<count;x++)
- _farnspokeb(A+x,V);
-}
-
-static char *arg0;
-void GetBaseDirectory(char *BaseDirectory)
-{
- int x=0;
-
- if(arg0)
- for(x=strlen(arg0);x>=0;x--)
- {
- if(arg0[x]=='/' || arg0[x]=='\\')
- {
- strncpy(BaseDirectory,arg0,x);
- break;
- }
- }
-
- BaseDirectory[x]=0;
-}
-
-int main(int argc, char *argv[])
-{
- puts("\nStarting FCE Ultra "VERSION_STRING"...\n");
- arg0=argv[0];
- return(CLImain(argc,argv));
-}
-