Previous 199869 Revisions Next

r36094 Tuesday 24th February, 2015 at 09:52:46 UTC by Vasantha Crabb
OS/2 patches for SDLMAME v0.158 [KO Myung-Hun]
[/branches/kale/3rdparty/mongoose]mongoose.c
[/branches/kale/3rdparty/sqlite3]sqlite3.c
[/branches/kale/src/mame/video]chihiro.c
[/branches/kale/src/osd/modules/lib]osdlib_os2.c
[/branches/kale/src/osd/modules/sync]sync_os2.c
[/branches/kale/src/osd/sdl]sdl.mak sdlfile.c sdlos_os2.c

branches/kale/3rdparty/mongoose/mongoose.c
r244605r244606
124124#include <sys/socket.h>
125125#include <sys/select.h>
126126#define closesocket(x) close(x)
127#ifndef __OS2__
127128#define __cdecl
129#else
130#include <sys/time.h>
131typedef int socklen_t;
132#endif
128133#define INVALID_SOCKET (-1)
129134#define to64(x) strtoll(x, NULL, 10)
130135typedef int sock_t;
r244605r244606
15541559#define MAP_FAILED NULL
15551560#define MAP_PRIVATE 0
15561561#define PROT_READ 0
1562#elif defined(__OS2__)
1563static void *mmap(void *addr, int64_t len, int prot, int flags, int fd,
1564                  int offset) {
1565  void *p;
1566
1567  int pos = lseek( fd, 0, SEEK_CUR ); /* Get a current position */
1568
1569  if (pos == -1)
1570    return NULL;
1571
1572  /* Seek to offset offset */
1573  if (lseek( fd, offset, SEEK_SET) == -1)
1574    return NULL;
1575
1576  p = malloc(len);
1577
1578  /* Read in a file */
1579  if (!p || read(fd, p, len) == -1) {
1580    free(p);
1581    p = NULL;
1582  }
1583
1584  /* Restore the position */
1585  lseek(fd, pos, SEEK_SET);
1586
1587  return p;
1588}
1589#define munmap(x, y)  free(x)
1590#define MAP_FAILED NULL
1591#define MAP_PRIVATE 0
1592#define PROT_READ 0
15571593#else
15581594#include <sys/mman.h>
15591595#endif
branches/kale/3rdparty/sqlite3/sqlite3.c
r244605r244606
87068706/*
87078707** Disable MMAP on platforms where it is known to not work
87088708*/
8709#if defined(__OpenBSD__) || defined(__QNXNTO__)
8709#if defined(__OpenBSD__) || defined(__QNXNTO__) || defined(__OS2__)
87108710# undef SQLITE_MAX_MMAP_SIZE
87118711# define SQLITE_MAX_MMAP_SIZE 0
87128712#endif
87138713
8714#ifdef __OS2__
8715# define SQLITE_OMIT_WAL
8716#endif
8717
87148718/*
87158719** Default maximum size of memory used by memory-mapped I/O in the VFS
87168720*/
branches/kale/src/mame/video/chihiro.c
r244605r244606
837837   case 6: // "LOG"
838838      t_out[1] = frexp(par_in[p3_C + 0], &e)*2.0; // frexp gives mantissa as 0.5....1
839839      t_out[0] = e - 1;
840#ifndef __OS2__
840841      t.f = log2(abs(par_in[p3_C + 0]));
842#else
843      static double log_2 = 0.0;
844      if (log_2 == 0.0)
845         log_2 = log(2);
846      t.f = log(abs(par_in[p3_C + 0])) / log_2;
847#endif
841848      t.i = t.i & 0xffffff00;
842849      t_out[2] = t.f;
843850      t_out[3] = 1.0;
branches/kale/src/osd/modules/lib/osdlib_os2.c
r244605r244606
4949
5050void osd_process_kill(void)
5151{
52   fprintf(stderr,"osd_process_kill missing in OS/2 build\n");
52   PPIB ppib;
53
54   DosGetInfoBlocks(NULL, &ppib);
55   DosKillProcess(DKP_PROCESSTREE, ppib->pib_ulpid);
5356}
5457
5558//============================================================
branches/kale/src/osd/modules/sync/sync_os2.c
r244605r244606
479479   DosWaitThread(&tid, 0);
480480   free(thread);
481481}
482
483//============================================================
484//  osd_process_kill
485//============================================================
486
487void osd_process_kill(void)
488{
489   PPIB ppib;
490
491   DosGetInfoBlocks(NULL, &ppib);
492   DosKillProcess(DKP_PROCESSTREE, ppib->pib_ulpid);
493}
branches/kale/src/osd/sdl/sdl.mak
r244605r244606
752752
753753INCPATH += $(SDLCFLAGS)
754754LIBS += $(SDLLIBS) -lpthread
755BASELIBS += += $(SDLLIBS) -lpthread
755756
756757endif # OS2
757758
branches/kale/src/osd/sdl/sdlfile.c
r244605r244606
507507{
508508   int err;
509509   osd_directory_entry *result = NULL;
510   #if defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_DARWIN)
510   #if defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_DARWIN) || defined(SDLMAME_OS2)
511511   struct stat st;
512512   #else
513513   struct stat64 st;
514514   #endif
515515
516   #if defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_DARWIN)
516   #if defined(SDLMAME_NO64BITIO) || defined(SDLMAME_BSD) || defined(SDLMAME_DARWIN) || defined(SDLMAME_OS2)
517517   err = stat(path, &st);
518518   #else
519519   err = stat64(path, &st);
branches/kale/src/osd/sdl/sdlos_os2.c
r244605r244606
2323
2424// MAME headers
2525#include "osdcore.h"
26#include "osdlib.h"
2726
2827//============================================================
2928//  osd_get_clipboard_text
r244605r244606
3635
3736   return result;
3837}
39
40//============================================================
41//  osd_stat
42//============================================================
43
44osd_directory_entry *osd_stat(const char *path)
45{
46   int err;
47   osd_directory_entry *result = NULL;
48   struct stat st;
49
50   err = stat(path, &st);
51
52   if( err == -1) return NULL;
53
54   // create an osd_directory_entry; be sure to make sure that the caller can
55   // free all resources by just freeing the resulting osd_directory_entry
56   result = (osd_directory_entry *) osd_malloc_array(sizeof(*result) + strlen(path) + 1);
57   strcpy(((char *) result) + sizeof(*result), path);
58   result->name = ((char *) result) + sizeof(*result);
59   result->type = S_ISDIR(st.st_mode) ? ENTTYPE_DIR : ENTTYPE_FILE;
60   result->size = (UINT64)st.st_size;
61
62   return result;
63}
64
65//============================================================
66//  osd_get_volume_name
67//============================================================
68
69const char *osd_get_volume_name(int idx)
70{
71   static char szDrive[] = "A:\\";
72
73   ULONG ulCurDisk;
74   ULONG ulDriveMap;
75
76   DosQueryCurrentDisk(&ulCurDisk, &ulDriveMap);
77
78   szDrive[ 0 ] = 'A';
79   while(idx--) {
80      do
81      {
82         ulDriveMap >>= 1;
83         szDrive[ 0 ]++;
84      } while(ulDriveMap && (ulDriveMap & 1) == 0);
85      if (!ulDriveMap) return NULL;
86   }
87
88   return szDrive;
89}
90
91//============================================================
92//  osd_get_full_path
93//============================================================
94
95file_error osd_get_full_path(char **dst, const char *path)
96{
97   *dst = (char *)osd_malloc_array(CCHMAXPATH + 1);
98   if (*dst == NULL)
99      return FILERR_OUT_OF_MEMORY;
100
101   _abspath(*dst, path, CCHMAXPATH + 1);
102   return FILERR_NONE;
103}


Previous 199869 Revisions Next


© 1997-2024 The MAME Team