Author Topic: Developing software tools needed to develop Apps and Plugs-Ins  (Read 63351 times)

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: Developing software tools needed to PROGRAM plugs
« Reply #40 on: September 26, 2016, 12:33:01 PM »
This document has helped me to understand what ways where used for developers Since OS8 to OSX. The concept of Carbon API and Core Foundation

you are supposed to use CW 5.x for VST and MAS development - and better forget about carbon if OS9 is the target for your app ... to many problems. ;)

Yes it is. Carbon is a pain in the ass.
... and notice that those SDK are in C++ (not C ) to make things even harder.
Please don't PM about things that are not private.

Offline rvense

  • Veteran Member
  • ****
  • Posts: 132
  • Lombard & son
Re: Developing software tools needed to PROGRAM plugs
« Reply #41 on: October 17, 2016, 10:57:08 PM »
One thing I'd like to see available is the ASIO SDK for writing sound card drivers.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Developing software tools needed to PROGRAM plugs
« Reply #42 on: October 18, 2016, 06:53:00 AM »
One thing I'd like to see available is the ASIO SDK for writing sound card drivers.

Stienberg removed the older version with the libraries and headers for OS 9 development some time ago.  I did manage to save them prior to that, but I can't recall where I put them.  I will do a little search of where I think they are and post them if I find them.
If it ain't broke, don't fix it, or break it so you can fix it!

Offline geforceg4

  • Platinum Member
  • *****
  • Posts: 535
  • i did my time on mac os 9
Re: Developing software tools needed to PROGRAM plugs
« Reply #43 on: October 18, 2016, 04:19:00 PM »
according to  this comment asio sdk v2.3 drops support for mac os 8/9 so u need to use asio sdk v2.2 or below
https://github.com/thestk/rtaudio/issues/16#issuecomment-44380409

collecting more info on v2.2
http://read.pudn.com/downloads119/sourcecode/multimedia/audio/506331/ASIOSDK2/ASIO%20SDK%202.2.pdf

possibly even lower may be desired as it looks like 2.2 dates to 2006... so u may want 2.1 or 2.0 version even
http://www.steinberg.net/en/company/press/archive/steinberg_press_room_archiv_2006/steinberg_asio_22_standard.html

heres 2.1 documentation:
https://www.scribd.com/document/14562218/9-ASIO-SDK-2-1

additionally i went to this address:
http://www.steinberg.net/sdk_downloads/asiosdk2.3.zip
and i simply changed the 2.3.zip filename url to be "2.2.zip" and it worked just the same to download the file so it looks like the file is posted but not linked!


see for yourself:
http://www.steinberg.net/sdk_downloads/asiosdk2.2.zip
not sure if this is mac os 8/9 compatible tho
2.1 + 2.0 are NOT posted however


Quote
ASIO 2.2 SDK Contents
---------------------

readme.txt                   - this file
changes.txt                  - contains change information between
                               SDK releases
ASIO SDK 2.2.pdf             - ASIO SDK 2.2 specification
ASIO Licensing Agreement.rtf - Licencing Agreement
mac.sea.hqx                  - Macintosh CodeWarrior Pro 5 Projects
                               After de-Binhexing and Unstuffing the
                               mac folder should be on this same directory level


common:
asio.h                 - ASIO C definition
iasiodrv.h             - interface definition for the ASIO driver class
asio.cpp               - asio host interface (not used on Mac)
asiodrvr.h
asiodrvr.cpp           - ASIO driver class base definition
combase.h
combase.cpp            - COM base definitions (PC only)
dllentry.cpp           - DLL functions (PC only)
register.cpp           - driver self registration functionality
wxdebug.h
debugmessage.cpp       - some debugging help

host:
asiodrivers.h
asiodrivers.cpp         - ASIO driver managment (enumeration and instantiation)
ASIOConvertSamples.h
ASIOConvertSamples.cpp  - sample data format conversion class
ginclude.h              - platform specific definitions

host/mac:
asioshlib.cpp          - asio.cpp for the Mac, resolves the symbols
codefragments.hpp
codefragments.cpp      - code fragment loader

host/pc:
asiolist.h
asiolist.cpp           - instantiates an ASIO driver via the COM model

host/sample:
hostsample.cpp         - a simple console app which shows ASIO hosting
hostsample.dsp         - MSVC++ 5.0 project
hostsample.vcproj      - Visual Studio 2005 project (32 and 64 bit targets)

driver/asiosample:
asiosmpl.h
asiosmpl.cpp           - ASIO 2.0 sample driver
wintimer.cpp           - bufferSwitch() wakeup thread (Windows)
asiosample.def         - Windows DLL module export definition
mactimer.cpp           - bufferSwitch() wakeup thread (Macintosh)
macnanosecs.cpp        - Macintosh system reference time
makesamp.cpp           - Macintosh driver object instantiation

driver/asiosample/asiosample:
asiosample.dsp         - MSVC++ 5.0 project
asiosample.vcproj      - Visual Studio 2005 project (32 and 64 bit targets)

so i guess Codewarrior 5 is what u want to use in combination with this 2.2 SDK!!!!
« Last Edit: October 18, 2016, 08:10:41 PM by geforceg4 »

Offline rvense

  • Veteran Member
  • ****
  • Posts: 132
  • Lombard & son
Re: Developing software tools needed to PROGRAM plugs
« Reply #44 on: October 19, 2016, 12:05:04 PM »
Thanks for that. I also found the OMS driver SDK (for writing new drivers for MIDI devices) on here.  An obvious thing to look at would be drivers for class-compliant USB audio and MIDI devices.

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
code warrior 8
« Reply #45 on: June 18, 2017, 08:33:23 PM »
Can this be installed and used in os9? Or is it more os x and you can compile carbon?


http://macintoshgarden.org/apps/codewarrior-pro-8x


i tried a different version before and on boot metro crashed every time,  thats the debugger extension.

Offline Daniel

  • Gold Member
  • *****
  • Posts: 300
  • Programmer, Hacker, Thinker
Re: code warrior 8
« Reply #46 on: June 18, 2017, 08:42:55 PM »
Metro has always crashed for me. I just remove it. I have no idea if I am doing it wrong.

It looks like Codewarrior 8 works on Mac OS 9, but it is primarily designed for OSX. This probably means that you can't program in Pascal or compile for 68k.

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: code warrior 8
« Reply #47 on: June 19, 2017, 06:10:56 AM »
Can this be installed and used in os9? Or is it more os x and you can compile carbon?
...
i tried a different version before and on boot metro crashed every time,  thats the debugger extension.

I have used it few years ago,for a couple of projects. It was running in a MDD with Mac Os 9.2.2 without issues.

CW8 can compile carbon and classic apps, and it can run In Mac Os 9 (and Os X IIRC)
Please don't PM about things that are not private.

Offline IIO

  • Platinum Member
  • *****
  • Posts: 4439
  • just a number
Re: code warrior 8
« Reply #48 on: June 19, 2017, 04:11:45 PM »

it really, really depends on what you want to do.

if carbon ist your main target you should probably use the last version available for OS9.

for VST plug-ins you´d prefer CW 5.x, and for photoshop plug-ins you´d prefer CW 3.x ...
insert arbitrary signature here

Offline madalynmcworm

  • Enthusiast Member
  • ***
  • Posts: 70
  • new to the forums
Re: code warrior 8
« Reply #49 on: September 23, 2017, 03:39:46 PM »
I haven't fully verified yet, but as far as I can tell, the compilers for each system are plugins.
I currently have the 68k compiler and the pascal compiler installed on my dev laptop. I can test them this week if you'd like. The options are all there, just haven't really built anything to see.

It seems stable enough to write code. I've written a crappy tetris clone and it builds fine. The UI is a little...wonky? It doesn't behave how I'd expect, but it does work.

I've tried all the Think C products and can get none of them to work on mac os 9. They will run but crash / take the entire system down with it.

Offline OS923

  • Platinum Member
  • *****
  • Posts: 888
Re: code warrior 8
« Reply #50 on: October 16, 2017, 01:13:47 AM »
In my experience, older things like INITs are best made with older compilers. I use CWPro3 for this. For the rest I use CWPro 5 because I want to keep bundles on my computer at a minumum.

Offline Jubadub

  • Gold Member
  • *****
  • Posts: 326
  • New Member
Top 5 OS 9 Developer Tools? Plus questions
« Reply #51 on: November 14, 2017, 04:25:39 PM »
Hey y'all, I've lately been keen on developing OS 9 software (and lower, and up to OS X 10.5.8 PPC) of all kinds for all sorts of purposes, and while I'm mostly familiar with GNU/Linux and Windows tools (depressingly), I deeply desire to be much more familiar with PowerPC Mac OS tools for software deployment.

So, I figured it'd be nice and wise to ask all of you, most of whom are much better-acquainted with this than me, what you consider to be your top 5 software development IDEs, compilers, toolchains and such. And yes, text editors also count, especially those that come with some form of intellisense. Also, it doesn't necessarily need to be a "top 5": it can be a top 3, top 10, 20 or even 100, whatever you think is best! Ranking them in order of preference or not is also entirely up to you. Absolutely any programming language is accepted, even PowerPC assembly, no matter which specific PowerPC assembly language (i.e.: PowerPC 970MP). Non-default tools for AppleScript could be cool to know about, as well.

My main focus and preference are tools that can run on at least Mac OS 9.2.2, but I would still be VERY glad to learn of options even if they are OS-X-exclusive (up to 10.5.8 Leopard Client / 10.5.8v1.1 Leopard Server, PowerPC only). Also, if some particular tool for some reason only works with System 7 or so, if you believe it to be any good, please, do share your knowledge on it, as well.

I believe the number 1 choice must be CodeWarrior (not sure what versions specifically, though, especially considering each Mac OS version), but I was wondering if the GNU-GCC toolchain was also available for OS 9. Also, I have read some guy at IBM ported Node.js over to PowerPC (or just POWER?) machines, but I haven't yet looked into it with much detail.
Also, I figure there must be some IDE for Java (do NetBeans or Eclipse for PowerPC exist?), but I haven't yet dedicated myself to looking that up yet, either.

Viva PowerPC! Viva Mac OS 9! ;D

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #52 on: November 14, 2017, 07:00:07 PM »
Here is what I use

MPW  Closest thing to GNU Unix/Linux.  Has all the tools you need. Pretty good help built in.  A bit of a learning curve though.  Has source control built in. Can actually build OS X apps using carbon with some limitations on what version of OS x.
Resedit
Hexedit

Not a fan of codewarrior.  To confusing to my brain.  It relies on parts of MPW.

I'm sure the node.js was ported to IBM's OS tools and servers and not Mac PPC machines/OS
I haven't used java in a long time, but I recall some sort of Java IDE for OS 9.
If it ain't broke, don't fix it, or break it so you can fix it!

macStuff

  • Guest
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #53 on: November 14, 2017, 08:02:52 PM »
bbedit was always a popular choice for a text editor https://www.macintoshrepository.org/2213-bbedit-7-1-4

Quote
BBEdit is a powerful general-purpose text editor with a strong Macintosh heritage. Although it’s useful for a wide variety of tasks, many of the features are designed specifically for Web developers and programmers.
http://atpm.com/8.12/bbedit.shtml

https://web.archive.org/web/20031202031053/http://www.barebones.com:80/products/bbedit/index.shtml
https://web.archive.org/web/20031202030936/http://www.barebones.com:80/products/bbedit/new.shtml
« Last Edit: November 14, 2017, 08:13:30 PM by macStuff »

macStuff

  • Guest

macStuff

  • Guest
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #55 on: November 14, 2017, 08:28:38 PM »


Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #57 on: November 15, 2017, 07:01:54 AM »
Despite I can't be considered a developer, I have used a few developing tools from the early years, Think C, Think Pascal, MS Basic, MPW, Realbasic, CodeWarrior, Xcode ...
The only one that I loved so much was Think Pascal. Besides that I will recomed CodeWarrior Pro 5 for "classic" aplicantions. CW Pro 8 is best switable for Carbon Apps, but this apps usually have less performance, suspassed only  by ReaBasic apps ...
Please don't PM about things that are not private.

Offline Jubadub

  • Gold Member
  • *****
  • Posts: 326
  • New Member
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #58 on: November 15, 2017, 07:06:39 AM »
Yes, all of those count, thank you all! :D

I also looked around, and saw that the PPC Node.js port indeed was only for PowerLinux and AIX (as nanopico suggested), but that with some tweaking, it should compile and work pretty well on OS X, as well, particularly Leopard, or so said the main project coordinator of the port. "Today, no one has done the work to support OSX with the PPC code. If you're running Linux on a G5 then things work. This is something that probably just needs a little effort to sort out the GYP files etc. Much easier than dealing with the assembly stuff."
https://github.com/ibmruntimes/v8ppc/issues/114
https://github.com/ibmruntimes/node/issues/14
https://github.com/ibmruntimes/node/issues/36
Aside from the V8 and Node.js porting efforts, there is also the fact that Node.js supported Mac OS X on Intel only starting with 10.6 Snow Leopard, even though Intel versions existed for 10.4 Tiger and 10.5 Leopard, so someone suggested some extra Node.js code-tweaking not pertaining to the PPC platform could be done to port Node.js first to Intel 10.5 Leopard, and THEN PowerPC 10.5 Leopard.
https://github.com/ibmruntimes/v8ppc/issues/97
https://groups.google.com/forum/#!topic/nodejs/ivGMr-C_m1Y

In any case, this is plenty for me to start with and sort out. :) Truly thank you all again! All of that was extremely helpful! And cool that some form of BASIC is there, I figured something would pop up for that, as well. ;D


Now, specific question: What could be the best way to make PPC assembly programs? All I have found so far are C compilers, which allow you to directly "inject" assembly code, but I figure there might be other, better ways. Maybe something that doesn't rely on any C compiler at all?

Perhaps I should clarify that the main reason I find PPC assembly interesting is because we likely won't see any new Mac-compatible new PowerPC processor released out there, even though POWER9 is coming out soon (the latest PowerPC processor used on the latest 3 G5s, the PowerPC 970MP, was based on a combination of POWER4 and VMX, the latter also being known as AltiVec (Motorolla) and Velocity Engine (Apple)). This means I don't have the usual concern we devs have of our assembly code becoming less efficient than equivalent C code being recompiled for a better processor, with the compiler making use of all the new features thereof.

Another reason is that one guy at MacRumors recently suggested there is something you can do with PowerPC assembly code that C compilers wouldn't exploit, as it was an extra feature not at all common in most processor architectures: https://forums.macrumors.com/threads/running-snow-leopard-on-a-powerpc-mac.2058856/page-2#post-24916820
"It's also worth saying that the PowerPC ISA has in fact reverse byte-order load-store instructions. But C/C++ compilers aren't taking any advantage from them because they're not implemented on most CPU architectures. Only solution would have been assembly-level."

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 767
Re: Top 5 OS 9 Developer Tools? Plus questions
« Reply #59 on: November 15, 2017, 02:58:36 PM »
Now, specific question: What could be the best way to make PPC assembly programs? All I have found so far are C compilers, which allow you to directly "inject" assembly code, but I figure there might be other, better ways. Maybe something that doesn't rely on any C compiler at all?

Perhaps I should clarify that the main reason I find PPC assembly interesting is because we likely won't see any new Mac-compatible new PowerPC processor released out there, even though POWER9 is coming out soon (the latest PowerPC processor used on the latest 3 G5s, the PowerPC 970MP, was based on a combination of POWER4 and VMX, the latter also being known as AltiVec (Motorolla) and Velocity Engine (Apple)). This means I don't have the usual concern we devs have of our assembly code becoming less efficient than equivalent C code being recompiled for a better processor, with the compiler making use of all the new features thereof.

The assembler in MPW is the only one I know if you are working OS 9 or older.  I haven't looked at any other assemblers for OS X or other *nix.

What OS/context would the resulting program written in assembly be running?

"It's also worth saying that the PowerPC ISA has in fact reverse byte-order load-store instructions. But C/C++ compilers aren't taking any advantage from them because they're not implemented on most CPU architectures. Only solution would have been assembly-level."
Yeah it's pretty cool that it can execute in big or little endian mode.  I was pretty sure the G5 could do the switch. As far as VPC goes they may not have done the switching because of the way the memory management worked in the CPU.  Not sure I never really went into that much more than reading the specs of the PowerISA. 
If it ain't broke, don't fix it, or break it so you can fix it!