PCem v12 released

PCem v12 released. Changes from v11 :

  • New machines added – AMI 386DX, MR 386DX
  • New graphics cards – Plantronics ColorPlus, Wyse WY-700, Obsidian SB50, Voodoo 2
  • CPU optimisations – up to 50% speedup seen
  • 3DFX optimisations
  • Improved joystick emulation – analogue joystick up to 8 buttons, CH Flightstick Pro, ThrustMaster FCS, SideWinder pad(s)
  • Mouse can be selected between serial, PS/2, and IntelliMouse
  • Basic 286/386 prefetch emulation – 286 & 386 performance much closer to real systems
  • Improved CGA/PCjr/Tandy composite emulation
  • Various bug fixes

Thanks to Battler, leilei, John Elliott, Mahod, basic2004 and ecksemmess for contributions towards this release.

http://pcem-emulator.co.uk/

Meet the superfans who spent a decade bringing Daikatana back to life

Daikatana!

No, really I got an email today from Frank Sappone, that his passion project the fixing and overhaul of Daikatana was written up on PCGAMER.  Although my involvement may have gotten edited down, honestly all I did was give that little bit of a push and inspiration that it could be done by spending a good week on installing Solaris, and porting the dedicated server portion from SPARC Solaris, to x86 Solaris.  Once we had it running there, it was far easier to then get it running on Linux and OS X as a dedicated server.  Once we had that push Frank was able to use his great knowledge of Quake/QuakeWorld/Quake II and fix an incredible amount of bugs, and bring it into a fairly good state.

The real star here is of course the Johns, John Carmack for making the source code to Quake/QuakeWorld, Quake II, open so we could always refer back to this code, which Daikatana was based off an early beta of Quake II, and John Romero for giving us the needed source to make it all possible.

11.75 HKD is like $1.50 USD

It’s on sale right now at steam!

You can find Frank’s hard work here on bitbucket.org

For Windows users, you can simply download DK_EXE_030816_FULL.7Z, from his site (mirror).  And from the readme:

It’s a 7zip package. After you’ve downloaded the package you extract it to Daikatana’s folder. If you have Steam installed to it’s default path Daikatana’s folder is located in:

C:\Program Files\Steam\steamapps\common\Daikatana\

(or if you’re running 64-bit Windows):
C:\Program Files (x86)\Steam\steamapps\common\Daikatana\

If it asks if you would like to overwrite any files, do so and overwrite the files. End result is that when Daikatana starts you can see in the right bottom corner of the red area in main menu “1.3” instead of “1.2”. You’re also able to access for example the HD resolutions from the Video menu.

If you start playing multiplayer with Daikatana community, you’re also going to need:

dkcustom.rar (Pak9)

You extract that package into:

C:\Program Files\Steam\steamapps\common\Daikatana\data\

 

And to further celebrate this awesome press day, I’ve purchased a limited number of steam keys, reply with a comment (be sure to include a working email address!) and I’ll send you a key!  That’s right it’s the:

ON SALE DAIKATANA GIVEAWAY!

*Quantities limited.

WSAPoll & MinGW

For some reason if you try to use WSAPoll, you’ll get this fine error on linking:

poll.c:(.text+0x26): undefined reference to `WSAPoll’

Yeah.

Turns out that it’s basically missing from the includes.  Thanks to this hint, just simply add this into your source/header after pulling in winsock2.h and it’ll link.

typedef struct pollfd {
SOCKET fd;
SHORT events;
SHORT revents;
} WSAPOLLFD, *PWSAPOLLFD, FAR *LPWSAPOLLFD;
WINSOCK_API_LINKAGE int WSAAPI WSAPoll(LPWSAPOLLFD fdArray, ULONG fds, INT timeout);

And now you can happily compile and link.

COMDEX/Fall’93 program & exhibits guide-on-disk

COMDEX/Fall’93 free diskette!

Comdex on a disk!

I saw this floating around on some web site… And I thought I’d take a look!  Well it’s exactly what it sounds like, an ancient MS-DOS text base database from the fine folks at Folio who would later on sell off, merge and become part of LexisNexis.

Folio infobase

And what fine things were there in 1993?

IBM Power Personal Systems

Let’s not forget the false hope and promise of the IBM/Apple/Motorola PowerPC that was going to save us all, and give us the grand unifying microkernel OS of them all, PINK.

The IBM Power Personal Systems Division is introducing and demonstrating technologies featured on its family of personal workstations.  The Personal Workstations marry  the high-performance PowerPC RISC microprocessor with industry-standard PC components.  The PowerPC is featured with new human interfaces, integration of multiple operating systems environments on a single platform, and the latest in operating system, multimedia and collaborative computing technologies.  OEMs, IHVs and ISVs can explore how they can use these technologies.

Yeah, as we all know Windows NT for the PowerPC wasn’t a thing until late 1995, then killed off in 1997, Solaris saw a single release, MacOS stayed hybrid 68000/PowerPC until the acquisition of NeXT, and then was the basis of Rhapsody/OS X 1.0 and then OS X 10.0 .  A/IX easily transitioned from the POWER to the PowerPC, while OS/2 only went as far as a limited beta, and PINK/Taligent just never happened.  Although thanks to hard ware assisted virtualization (VT-x/AMD-V) it really didn’t matter as we can run pretty much whatever OS we wish at pretty close to native speeds.  The line between Type-1 & Type-2 hypervisors has been blurred to the point of really not mattering anymore.

If anyone cares, I extracted the temperamental disk image as F93.ZIP

OS X 10.12 to Win32 MinGW cross compiler

Using GCC 4.1.2 because that is what I wanted.

Oh yes, it works!

It’sGCC 4.1.2 for MinGW on OS X.  Naturally I had some fun along the way.

      cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o cp/cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o winnt-cxx.o c-pretty-print.o c-opts.o c-pch.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o tree-inline.o dummy-checksum.o main.o  libbackend.a ../libcpp/libcpp.a ../libcpp/libcpp.a ./../intl/libintl.a -liconv  ../libiberty/libiberty.a

Undefined symbols for architecture x86_64:

  “_libc_name_p”, referenced from:

      _nothrow_libfn_p in except.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[2]: *** [cc1plus-dummy] Error 1

make[1]: *** [all-gcc] Error 2

make: *** [all] Error 2

$

 

From stack overflow:

When gperf wasn’t installed, the compilation script ran the command anyway but generated a blank ./gcc/cp/cfns.h. Since this file was newer than the source (./gcc/cp/cfns.gperf) the makefile left it alone and never regenerated the ‘real’ file when you actually had gperf. To continue, run rm ./gcc/cp/cfns.h and try again.

to dealing with duplicate inlines exact_log2 from an include gone wrong.  Not to mention more and more headers not generating.  But in the end it actually works.  As always it feels so much faster to run on OS X than Windows.  I’m sure there is stuff out there for newer versions of GCC, but I wanted to use the older toolchain and libs for some other reason.

As always it’s on my site here: OSX_16.3.0-MinGW_GCC_4.1.2.7z but I don’t think the world at large would even care.