T’is the season for upgrades!

I’ve had this 2006 MacPro for quite a while. I’ve taken it home as didn’t have a ‘good’ home machine as I have my better stuff in the office. Anyways the machine is far obsolete with 10.7 being the last official release supported, and although you can treat it like a hackintosh and go much further, Apple is making their binaries tuned heavy enough that all the spectre/meltdown patches broke the old Xeons.

So I installed Windows 10, and found I can go all the way to 1809 without any issues. I put in a GT 1030 with DDR5 RAM and it can even game to extent, although the 13 year old 2Ghz processors were certainly holding it down. Upgrade processors have always been available when I had this machine but they were expensive, and I wasn’t sure if they’d work. Well I picked up a pair of Xeon x5365 for $88 RMB each and pulled the plug.

A score of 167!

Supported features of the old Xeon 5130’s:

  • MMX instructions
  • SSE / Streaming SIMD Extensions
  • SSE2 / Streaming SIMD Extensions 2
  • SSE3 / Streaming SIMD Extensions 3
  • SSSE3 / Supplemental Streaming SIMD Extensions 3
  • EM64T / Extended Memory 64 technology / Intel 64  ? 
  • NX / XD / Execute disable bit  ? 
  • VT-x / Virtualization technology  ? 

I thought the thing to do was a quick benchmark of before and after. I was getting a whopping 167! That means if Cinebench scales to 100% efficiency I get a core score of 41. While my ‘newer’ machine’s E5-2620 v2 was scoring 52, and the current E5-2667 v2 is scoring 77.

It took two hours, but I finally got these 2 Xeon x5365’s installed giving me a score of 560, or a score of 70 per core. Nice!

Much progress

And here is the CPU features of the Xeon 5365:

  • MMX instructions
  • SSE / Streaming SIMD Extensions
  • SSE2 / Streaming SIMD Extensions 2
  • SSE3 / Streaming SIMD Extensions 3
  • SSSE3 / Supplemental Streaming SIMD Extensions 3
  • EM64T / Extended Memory 64 technology / Intel 64  ? 
  • NX / XD / Execute disable bit  ? 
  • VT-x / Virtualization technology  ? 

If you are expecting to run new and exciting software that requires SSE4/SSE4.1/SSE4.2 and the infamous POPCNT and LZCNT instructions you will be disappointed. Sorry Apex Legends fans. This also means that VMware Player is capped to version 12.

Also, while there is a POPCNT Emulator, it will trigger anti-cheat software, and you will get perma banned. Pitty.

Another thing worth noting is that it’s worth looking at the TDP of the various sSPEC of Xeons. I was lucky and I was able to source the SLAED variation which has half the idle TDP of the SLAC3 variant.

So yeah, this is basically as far as this thing can go CPU wise. Although I have 16GB of RAM, apparently it can go to 32GB, which means buying all new memory modules. I guess I can do a better video card. I’m hoping that I can run more stuff at once, I was hitting a point with all 4 cores were maxed to 100% way too much.

I was going to show off the new CPU’s but apparently the pictures didn’t come out and I wanted to get this upgrade over with, as I had mentioned it did take 2 hours. The plastic retainer in the memory cage, and that stupid cover for the processors was the hardest PITA to remove. I probably spent at least 30 minutes pulling that damned thing off. I never removed the CPU shield before and 13 years, 3 nations, 2 continents worth of dust was unreal. Maybe it’s just as well the pictures didn’t come out, as it was pretty disgusting in there. It’s also no wonder the old CPU’s were running hot.

I wonder if this machine counts as being vintage now? Apple’s sliding scale of support is a weird thing.

Found more system16 source

It gets a little confusing as they are all version 0.82 the real way to tell them apart is the date

What is cool about these versions is that they do have some audio capabilities, although they are so old that they do rely on sampled sounds for:

  • Alien Syndrome
  • Altered Beast
  • Golden Axe
  • Shadow Dancer
  • Shinobi
  • Wrestle War

But it’s from 1999 and that was the state of emulation.

0.82 is basically where the project had left off, and was of course supplanted by MAME. There was preliminary work on AfterBurner 2, although there is from the looks of it a bad/partial ROM dump to blame for the most part. It’s unplayable but it sort of runs the demo.

0.82 does however emulate a strange version of OutRun. Namely that it lacks shifter support all together. So hold down the accelerator and take off!

Notable things is the inclusion of Neill Corlett’s Starscream for 68000 emulation, Neil Bradley’s Mz80, Jarek Burczynski’s YM2151. Which reflects many components of the era that would find their way into MAME.

Which of course speaks to another thing, that tracking down ROMs for these ancient pre-mame emulators is getting impossible with vague names, and no timestamps.

Btw, there is two excellent pages where you can get all the roms supported
by this emulator, these pages are :
http://www.davesclassics.com by Conjurer
and
http://www.emuviews.com by JoseQ

Which naturally, are lost to the mists of time.

I’ve been able to run it under DOSBox, Qemu and VMWare. For VMWare, be sure to enable Sound Blaster emulation, and set the BLASTER environment variable to:

SET BLASTER=A220 I5 D1 H7 P330 T6

The video mode for the start screen doesn’t render on VMWare or Qemu, so in that case I just start it with the following batch file

system16 %1.gcs -notitle -old2151 -noarcade %2 %3 %4 %5 %6

And away it goes!

I don’t have the FPS stats as it’ll crash when going to the menu to exit, and I didn’t hack up the source that much at the moment (caught another flu…). But Qemu 0.90 feels a LOT more fluid playing outrun than VMWare or DOSBox on my 2006 Mac Pro. Although on my 32 core Xeon monster it plays great on everything. I guess if you have at least 3Ghz and your CPU is less than 8 years old it’ll be fine for running nested emulation along with emulating 2 68000’s a z80, and a ym2151. Or just run a native build of MAME! Or if you really want low lag Outrun, use Cannonball!

And thanks again to Thierry Lescot for letting me redistribute this

Playing old 68000 tracks via sc68

First thing, what makes these tracks from sc68 & sndh unique is that it’s not simple music notes, like MIDI, but rather each track actually includes the native 68000 program to play the track, and it interfaces directly to the hardware. This means that sc68 actually has to emulate enough of the Atari ST & Commodore Amiga to play music. I’ve got to say, it’s pretty impressive!

I’m using WinAmp to act as the player, so this way I just need to download the plugin from sourceforge at the moment the latest is sc68-2.2.1.exe.

On install I un-selected the winamp-3 component. I’ve tested it with 2.24 and 5.8, both working just fine.

With the plugin installed, you are good to go!

Now where to get music?

As it turns out, the sc68 project has a ‘massive’ 25MB file, sc68files_20031118.tar.gz containing some 1,775 files!

Likewise the SNDH project has downloads on their page
http://sndh.atari.org/download.php that currently sits at 75MB, and has 4,925 files!

sc68 plugin doing it’s thing

If you look at the code, you can find that it does in fact emulate a 68000 along with peripheral chips and music chips. Just as the SNDH format is 68000 ASM.

So there we go, an obscure music format that actually involves emulation!

French national Internet Referral Unit tries to shutdown archive.org

Count on un-elected technocrats trying to ruin awesome resources with their kanagroo court style operations in their little backwater nonsensical nations.

Good grief.

I should step up my uploads. I did add my NetWare 3.12 disk sets, Citrix Multiuser 2.0 and NeXTSTEP 3.3 CISC stuff.

68000 and i386 C Compiler Version III on Windows

While looking around for simple compilers to see how easy it is to modify their assembly output syntax, I ran across this tiny file, cc68iii3.zip which bills itself as:

This compiler consists of various modules that build up a
front end — these modules are common to all versions of
this compiler — consisting of parser, analyzer and optimizer,
of modules that are specific for the target processor,
namely *68k.c (for the 68000) and *386.c (for the i386),
and of assembly language output modules that are further
dependent on the (syntax of the) target assembler.

Well isn’t that interesting! So instead of doing something 68000 based, I setup the i386-gas compiler, and tried it with MinGW. And amazingly a hello world program worked!

C:\temp\ccc\cc\infocom> type hello.c
void main(){printf("Hello World!\n");}
C:\temp\ccc\cc\infocom> ..\c386gas hello.c hello.s

C:\temp\ccc\cc\infocom> gcc hello.s -o hello

C:\temp\ccc\cc\infocom> hello
Hello World!

C:\temp\ccc\cc\infocom> type hello.s
        .file   "C386GENERATED"
        .version        "C386 V 1.0"
        .optim
c386_compiled.:
        .text
L1:
        .byte 72,101,108,108,111,32,87,111,114,108,100,33
        .byte 10,0
        .align 2
_main:
pushl %ebp
movl %esp,%ebp
pushl $L1
call _printf
popl %ecx
leave
ret
.globl _main
.globl _printf

C:\temp\ccc\cc\infocom>

Well that was unexpected, but great! So I thought I’d modify the simple Infocom interpreter to build with this. I came up with this as a block for gnumake to read in a Makefile

%.o:    %.c
        $(CC) $(CFLAGS) -E $<  -o $*.i
        c386gas $*.i $*.s
        as $*.s -o $@
        rm -f $*.i $*.s

The key substitute is $* which is the 'root' of the file being passed in. Although it's lame doing it this way but it works in a nice automatic enough fashion.

The compiler must be K&R only as it doesn't like standard includes, so I built file.c/io.c/term.c using GCC but all the rest were able to be built just fine. And even better it works!

Infocom '87

Although I'd never recommend using something like this in a place that matters. If anything GCC 1.x is probably a better choice, but it's still kind of neat.

Messing with the Monitor

The 68000 Microprocessor (5th Edition) Hardcover Nov 25 2003
by James L. Antonakos (Author)

So I was trapped in the Library for a bit, and spied this book. It’s not every often in 2019 you are going to find books about the 68000, as I’m sure any good library will have removed stuff like this, and have it pulped ages ago. But the amount of current technical books in English here is pretty damned slim to none, so I was all to happy to pickup this book for a week.

The poor thing has been checked out 4 times in the last 15 years. I guess the kids don’t know what they are missing.

Anyways what was interesting in this book is that it has a CD-ROM, and on there is some lesson code from the book, along with an assembler that outputs to S-records of all things, and a small emulator that is meant to be compiled under MS-DOS. It was trivial to isolate the passing of DOS interrupts from Unix/MinGW and get the simulator running on something modern.

In Chapter 11 there is a brief walkthrough on building a board, which sounds like fun although I’m sure in 2019 finding parts will be.. challenging, along with a simple monitor program.

The built in assembler can happily assemble the monitor, but it’s geared for talking to the obsolete hardware as specified in the book. I just made a few small changes to instead have it’s console IO hook to the simulator’s TRAPs and I had the monitor running!

I then took the echo test program, and modified it to run at a higher location in memory, along with exiting via the RTS instruction, so that it will exit when you press Q back to the monitor. Then for the heck of it I further extended the monitor so you can Quit it, and return to the simulator.

Is this useful? I’m pretty sure the answer is absolutely not.

The CD-ROM is tiny, I thought it would be packed with goodies, but it’s 250kb compressed.

The68000MicroprocessorFifthEdition.zip

If anything people using this book will probably have lost the CD-ROM and want the programs.

  • ISBN-10: 0130195618

And my horrible changes here.

Got some new processors!

Xeon E5-2667v2

Moved up from the old pair of E5-2620 v2’s to a pair of E5-2667 v2’s. What a big difference from a base clock of 2.1Ghz to 3.3Ghz. And yes, more cores!

2475 Cinebench score

And I can build DOSBox in 3 seconds using Visual C++ 6.0 Ultimate. I guess eventually I’ll get a modern machine, but for now this is pretty damned good. Which reminds me the newer processors for my 2006 Mac Pro should be arriving soon enough.

I couldn’t quite justify the more than double price for the E5-2697 v2 processor, although it has 50% more cores, but with a max clock of 3.5Ghz.

Oh well it’s as good as any update to the Huananzhi X79.

Wasting some cycles on FrontVM

Frontier!

A while ago I had chased FrontVM to moretom.net and found 2 links. One from 2003 which is a dead link, and the 2004 version which was archived by the wayback machine!

It was an interesting build, as it still used 68000 emulation from Hatari/UAE this pre-dates the 68000 to C or i386 ASM. However since it ran (mostly) the original code, it was more ‘feature complete’, although loading save games is broken for some reason (I think the decryption was not disassembled correctly). It was actually a stupid file mode setting. I just updated the source & put out a new binary, testing save games between Linux &Windows.

Anyways, it originally built on Cygwin, so I filled in the missing bits, and have it building on both MinGW & Visual C++

Parked outside Willow in the Ross 154 system

So yeah, it’s Frontier, for the AtariST with the OS & Hardware calls abstracted, still running the 68000 code under emulation. I think it’s an interesting thing, but that’s me.

I put it and the other original versions I found over on sourceforge.net

Download Frontvm

Oddly enough it’s already been downloaded, so go figure.

ReBirth RB-338 v.2.0

I’m not a big sequencer as I’m just terrible when it comes to music. But apparently on Wikipedia Propellerhead had set the download free, although download links now are inoperable.

After a lot of googling around I found it split up on one of those annoying download sites. So I spent the night waiting for stupid timers, training an AI to sport automobiles & intersections (lol redlight camera training), and as a reward I got the download.

ReBirth on Qemu under Windows 95

I installed it on the floppy version of Windows 95 on Qemu where it needed IE 5.01, Direct X, Winsock 2 & Windows 95 SP1 updates (among others…) and yes it works!

Included in the downloads is some assists so you can run it on Windows 10 x64 if you are so inclined.

Also there is some MacOS X images, although I haven’t tested them. I need to drag my G5 into my office to try it, but it’s getting late, and I want to go home.

I put the download up over on archive.org. You can download it here:

https://archive.org/details/ReBirth-338v2.0

Update:

Since this time my upload to archive.org has been deleted. I was also trying to remove all the google accounts I have and when I changed the email address away from google all my uploads became ‘unknown’ so maybe they are hidden? Anyways over on Wikipeida just use citation #19, and you can download it there.