• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Cubase Lite (68K) on PowerPC (Powerbook 1400cs)

Snial

Well-known member
I've been trying to get my old copy of Cubase Lite 1.0.2r4 (1993) to run on my PowerPC Powerbook 1400cs. It's a 68000 application, but written, or at least updated for the System 7 era, after Apple had announced the transition to PowerPC, but just before the first PowerPC computers appeared.

I found Cubase Lite an easy hardware MIDI sequencer to use and I'm quite keen on re-using it (if possible) with a few old MIDI keyboards and modules (the totally underrated Casio CZ-101; a Yamaha TQ-5 4-op FM Synth module and a Commodore SID chip hooked up to MIDI via an AVR). I have a MIDIMAN Macman™ 1 in 3 out MIDI interface, which interfaces to a standard Mac serial port (it also has a switch so you can bypass MIDI and forward serial to e.g. a modem or printer).

However, I find that although Cubase Lite can receive some MIDI data, it won't output any MIDI. I normally have the serial switch set to Modem at 1MHz (not Printer). On the other hand I can get Midigraphy 1.4.2 (1999) to both input and output MIDI data through the same interface, where the Modem at (undefined MHz) is selected, rather than the Apple MIDI manager or OMS.

So, it's not fundamentally a hardware issue. I had heard, though I can't find a reference for this, that the early Steinberg Mac (and Atari) sequencers used their own sort-of real-time OS to talk directly to the serial hardware[1], because they were designed to work with 8MHz 68000 CPUs and the OS's imposed too much of an overhead.

Given that the PowerPC Macs would have had the serial hardware at completely different addresses (because the 68000 only had 24-bit addressing), then that would be a decent reason for the failure of Cubase Lite. However, I would have thought that Cubase Lite would simply crash, trying to address invalid memory (assuming Mac OS 7.5.3 or 8.1 actually do trap invalid IO addresses[2]). I can see from ResEdit that Cubase Lite has a 48224 DRVR resource (#26), called ".Mros" . Is this their 'real-time' OS / Driver?

Can anyone shed any light on these questions [1], [2], [3] and the bigger question of whether Cubase Lite or similar era Steinberg sequencers will run? I believe that despite the fact that 68K code will run under emulation, because it's the Gary Davidian interpreted emulator on the PB1400, it would run at a fairly consistent rate.

Also, Note the version of Cubase Lite: 1.0.2r4 . The one on Macintosh Garden is only 1.0.2r2! Is anyone in contact with the original developers: Mark Badger, Werner Kracht, Wolfgang Kundrus, Michael Michaelis, Stefan Scheffler, Sönke Schnepel, Karl Steinberg (Q/A: Dave Nicholson)?

-Cheers from Julz
 

Phipli

Well-known member
Not answering your questing, but Cubase Lite used to have a nightmare bug - if you double clicked a saved file to open it, instead of launching and going to File->Open, every so often it would just wipe the contents of the file. We used to call it "the 9k" issue, because 9k was the block size on our SE/30 and the empty files were shown as that size.

Not sure which revision exactly it was (I don't have it to hand as its at my parents').

Have you tried running it without fast serial?

Would you consider using Cubasis or an early version of full Cubase instead of Lite? If nothing else to see if the fault carries over?
 

Snial

Well-known member
OK, so quite a number of people are monitoring this thread, even though there are few replies.

To answer Phipli's question: yes, I've considered Cubasis, but (for perverse reasons) I only plan to download or use software that was free at the time or that I have original disks for. I have disks for Cubase Lite 1.02r4, so I'll use that. I did have disks for a version of Cubasis that I think came free with my Roland SC-D70, but I'm not sure if I still have them, I'll have to search in the attic at my Dad's over Christmas. If I can find them, then I'll use it!

Otherwise: getting Cubase Lite to work is my personal goal. I managed to get it to sort-of work on a Raspberry PI 3(+) running System 7.0 and using the GPIO serial port. I used a version of pce-Macplus running on the PI, but modified slightly so that it doesn't execute more than 500µs of Mac Plus execution at a time (normally, it's set to multiple milliseconds).


My thinking here is that jitter happens if an emulator executes large time-slices. For example, at 60Hz (as mini vMac runs the emulator), any MIDI events that arrive after an execution slice will appear to be received all at once at the beginning of the next slice, rather than when they were actually transmitted. Similarly, any MIDI out data sent during a time slice will really be transmitted according to how fast the emulator is running. Small time-slices and synchronisation mitigate this.

PCE-MacPlus on the PI isn't quite perfect, I've seen it go into a mode where it doesn't receive MIDI events at all; and another test where it was picking up really odd notes.

I've been doing some further tests on the PowerBook 1400 (which is now upgraded to 32MB of RAM and an Active Matrix screen :) ). I've been researching how hardware worked on early PowerPC Macs and of course it seems like it supported MacPlus compatible hardware, namely the VIA chip which Steinberg's .Mros must have used to implement MIDI synchronisation.


I wrote a short program to dump out the contents of the VIA Timer1 and it seems like it's set up with a time period of $A000 = 40960, but with no interrupts, nor PB7 toggling (which I think would be audible) according to the ACR register (bits 7:6). Also, I know from running Dhrystone in 68K emulation mode via Think C that pure 68K emulation is many times faster than a real Mac Plus, so it's certainly not too slow.

My next tests will try and see if I can use some of the MacTech MIDI code (converted to 'C' as it should still be plenty fast enough) to do some MIDI. This involves hooking 68K interrupts.

http://preserve.mactech.com/articles/mactech/Vol.03/03.07/MidiLib/index.html

(and related articles).

Thanks for reading this. If you have any insights on the VIA in 68K emulation mode, or any of the other points here they're welcome!
 

Snial

Well-known member
So, I managed to achieve what I wanted, by installing EMagic Micrologic Fun 4.0. It works with Mac OS 8.1 (possibly earlier, but I haven't tried that); an old-world Mac modem port and appears to operate with a similar UI as for Cubase Lite. You can hook it up to OMS or the Apple Midi system. The timing seems good, given my initial testing and of course, because it's PowerPC and only attempts to be a MIDI sequencer, not a DAW with software instruments, it's perfectly fast enough.

EMagic Micrologic Fun 4.0 was supplied as a full working version with MacFormat magazine's CD for December 1999. This means my installation isn't pirated.
 

Snial

Well-known member
Another slight update.. I found out from ResEdit, that Magic Micrologic Fun 4.0 is a 68K application, not PowerPC! It needs about 8MB of application space, but an initial power up only seems to need 4MB.
 

Cory5412

Daring Pioneer of the Future
Staff member
Hmm. The general rule is if it'll run on a 630 it'll run on a 6200 or any of its descendants, of which the 1400 is one. The serial controller Apple had always been using was implemented as part of a larger package but per the notes you shared (love the Taylor Design analysis on the 6200/6300 platforms) it's the same actual serial controller.

One thing that could be a confounding factor is the 1400 only exposes a single physical serial port (the other one is present in the architecture but goes to the modem slot). The 630 does the same thing where one of the serial ports is shared with the comm slot, but you can pull the modem out and both physical serial ports will be present on the motherboard.

(So basically make sure you're using "the printer port, but in moden mode" and not "the modem port".) I think you're on the right path in terms of looking at OS compatibility or software configuration. Unfortunately if this software doesn't work in, say, 7.6.1 or 8.1 on... oh IDK, a Quadra 650, then I don't think you'll get it workin on those OS versions on a PB1400.

Does the MIDI tooling you're using typically do in and out on the same port? I'll admit I'm not super familiar with MIDI itself other than to say that "yes, even the slowest 1400 config should do it fine, even in emulation, because it's all integer work".

Secondarily: the hardware component, that does support midi output, and you've had it working on other systems/with other software? There's no like "need two serial ports" or anything going on?

w/re micrologic fun 4.0: do you know when that version actually shipped (readme file may be dated)? Old software appearing on a magazine CD is, to my recollection, not "unheard of" per se.
 

Snial

Well-known member
Sorry about the slow reply, only just seen it!
Hmm. The general rule is if it'll run on a 630 it'll run on a 6200 or any of its descendants, of which the 1400 is one..t's the same actual serial controller.
Useful to know!
One thing... the 1400 only exposes a single physical serial port ...So basically make sure you're using "the printer port, but in moden mode"..
It's OK it worked :)
Does the MIDI tooling you're using typically do in and out on the same port?
Yes, it connects to a 3 out :1 in MIDIMAN interface. It's got just one serial connection, but you can press a button to daisy chain to a serial connection instead of the MIDI ports (i.e. so you don't have to unplug cables, it's not a second serial port). Note, each of the 3 MIDI outs just duplicate the same MIDI out data, it's for modules and synths that don't have MIDI Thru.
...you've had it working on other systems/with other software?
I used to use it with Cubase on a Mac Plus and also my own LCII, so I know the hardware works :)

w/re micrologic fun 4.0: do you know when that version actually shipped (readme file may be dated)? Old software appearing on a magazine CD is, to my recollection, not "unheard of" per se.
I'll check. It says: MicroLOGIC AV 4.0.4b ©1994-1999. Created Wed, Sep 8, 1999 at 3:39pm; modified Thu, Sep 9, 1999, 3:56pm.
 
Top