Dużo programowałem na Apple (nie profesjonalnie, ale tego się nauczyłem) i Applesoft BASIC i asembler, gdzie hobbystów. Dostępne były inne języki - logo było powszechne, Pascal było pisane wszędzie, ale nie znam nikogo, kto go używał, tak naprawdę nie wiedziałem, że C będzie używany na dowolnej platformie Apple, dopóki Orca C dla Apple IIGS nie było, interpreter z pływającą grafiką w stylu żółwia (lub nazwij to logo).
Odpowiem na niektóre pytania, a następnie podstawowe pomysły:
Czy myślisz o popularnych grach napisanych w języku BASIC? Co powiesz na C?
Wiele programów shareware zostało napisanych w języku BASIC, nie tylko Applesoft BASIC, ale także Integer BASIC (który, jak sama nazwa wskazuje, nie miał liczb zmiennoprzecinkowych). Przychodzi mi na myśl seria Eamon, ale tak naprawdę nie mogę myśleć o wielu innych. Ponadto wiele programów napisanych przez Beagle Bros. zostało napisanych w języku BASIC (głównie programy narzędziowe, a nie gry).
Uważam jednak, że większość komercyjnego oprogramowania została napisana w asemblerze.
Ale nie mogę sobie wyobrazić, że gry były tak napisane, czy były edytory / IDE? Jak były przechowywane programy na dyskach / taśmach?
Użyłem Merlin Assembler, aby nazwać to IDE, które może go rozciągać, ale działało dobrze. Jak powiedziałeś, możesz wpaść na monitor systemu i wprowadzić kody poleceń i uruchomić stamtąd. Merlin miał sposób na powrót do niego z monitora systemu (czego nie pamiętam jak teraz).
Ale czy nie było edytora wizualnego?
Było narzędzie innej firmy, które ulepszyło środowisko Applesoft i pozwoliło ci używać strzałek do przewijania ekranu i edycji jak edytor wizualny (wciąż musiałeś nacisnąć Return na końcu linii lub zmiany się nie utrzymały). Nie pamiętam, co to było, całkiem go wykorzystałem.
A może trzeba było cały czas rozmawiać bezpośrednio ze sprzętem, jeśli chcesz coś narysować lub odtworzyć dźwięk? Czy w ogóle były jakieś biblioteki?
Na Apple II + / IIe / IIc prawie rozmawiałeś ze sprzętem. W ROM-ie było kilka programów, których można było użyć, ale były one bardzo ograniczone i zwykle PEEK i POKE różnych lokalizacji pamięci, aby zmienić rejestry, aby zrobić to, co chcesz, na przykład zmienić tryby graficzne, poke 49152, aby wyzwolić głośnik itp. .
W Apple IIGS ROM dostarczany był z zestawem bibliotek podobnych do tego, z którym przyszedł Macintosh, do robienia fantazyjnych graficznych interfejsów użytkownika i do tego. ROMy były aktualizowane z czasem, a jeśli załadowałeś dysk systemowy, który korzystał z nowszych bibliotek, czytałyby raczej z dysku niż z ROM-u, powodując, że czas uruchamiania NAPRAWDĘ POWOLI. Było ROM 01, 02 i 03, a 02 -> 03 było darmowym uaktualnieniem, a przed 01 było wydanie, które również zrobiliby darmowe uaktualnienie do 01.
Z przyjemnością usłyszę wszelkie inne różnice, na przykład jakie formaty obrazu / dźwięku zostały użyte. Biorąc pod uwagę, że tak naprawdę nie było pojęcia plików, jeśli dobrze je rozumiem, zastanawiam się, jak to działało. Czy musiałeś wpisać swoją grafikę i dźwięki w asemblerze? Jak to działało w języku BASIC?
Były pliki, nie jestem pewien, co przez to rozumiesz, a ProDOS nie mniej wspierał katalogi (wcześniejszy DOS nie miał, ale wciąż miał koncepcję pliku, który rozpoznajesz). Użyłem bitmap i .pcx. Nie pamiętam żadnych plików audio z serii II + / IIe / IIc, ale było tak dlatego, że ciężko było wydawać dźwięki bardziej wymyślne niż blipy i wpadki w grach wideo. Było kilka hacków, które wydawały wymyślne dźwięki (w szczególności miałem dysk, który grał w Gun N 'Roses), ale prawie zawsze robiono to gramatycznie.
W porównaniu ze współczesnymi środowiskami był wręcz prymitywny. Pamiętaj jednak, że nie było obsługi jednoczesnego uruchamiania wielu programów, więc Twój kompilator musiał być również Twoim edytorem - tak naprawdę nie można argumentować zalet vi przeciwko emacs, więc cokolwiek twój kompilator ci dał, nauczyłeś się używać. Myślę, że było to o wiele łatwiejsze niż korzystanie z bibliotek nakładanych na biblioteki i istnieje wiele sztuczek, jeśli pracujesz nad sprzętem i wiesz, co to jest. Na przykład powszechną implementacją „pauzy na chwilę” było „dla (int i = 0; i <1000; i ++)” (inaczej jest w języku BASIC), która nigdy nie jest używana, ponieważ sprzęt jest tak szybki, że „ d potrzebuje ogromnej liczby, a nawet gdyby nie była, byłaby uruchamiana na różnego rodzaju maszynach, więc byłaby to inna pauza dla różnych osób (II +, IIe,
To wszystko z pamięci, nie pisałem żadnych odniesień podczas pisania tego, więc przepraszam, jeśli moja pamięć jest wadliwa i powiedziałem wam złe rzeczy. Ale mam nadzieję, że daje to trochę smaku i odpowiada na kilka pytań.