Süper Genişletici 64 - Super Expander 64

Süper Genişletici 64 bir kartuş tabanlı uzantısı idi inşa TEMEL sonra gayet popüler V2 tercüman Commodore 64 ev bilgisayarı : 64 acele gelişmesi üzerine, Commodore basitçe dan TEMEL V2 uyarlanan PET bilgisayarların hattı ve 64'ün gelişmiş ses ve grafik yeteneklerini desteklemeyen yeni makineleri için VIC 20. Gelişmiş donanımdan yararlanmak için, BASIC programcılarının donanım adreslerini ve " POKE " komutlarını doğrudan bellek eşlemeli cihazlara ezberlemesi gerekiyordu . Daha sonra Commodore'un 8-bit sistemleri, özel donanımı desteklemek için geliştirilmiş BASIC yorumlayıcılara sahipti ve Super Expander 64 kartuşu ile Commodore 64 kullanıcıları, donanım yeteneklerine uyması için makinelerini bir BASIC ile "güçlendirebildiler".

Ekstra kod "alt kartuş" 8 kilobayt alanına 8000-9FFF $ aralığında eşleştirildi, böylece adı geçen 8K tarafından kullanıcı programları için 38.911 baytı azaltıldı.

Grafikler

GRAPHIC komutuyla "yüksek çözünürlüklü" (320 × 200 monokrom piksel) veya çok renkli (dört renkli 160 geniş × 200 piksel) grafikler için ekranı başlattıktan sonra, bir kişi, kullanarak çizgiler, daireler, elipsler, yaylar, kutular ve daha fazlasını çizebilir. DRAW, CIRCLE ve BOX komutları. BOX, çizgilerle çevrelenmiş bir alanı, örneğin bir DAİRE veya KUTU'nun içi "taşarak doldurur". Karakter üreteci ROM'undan bitmap grafik ekranına karakterleri "yazdırmak" için bir CHAR komutu kullanıldı. SSHAPE ve GSHAPE, yüksek çözünürlüklü grafiklerin dikdörtgen bir alanının içeriğini bir dizgi değişkeninde depolar ve GSHAPE, rastgele konumlarda ekrana geri "damgalar". Bu tür "bir dizgede grafik", yüksek çözünürlüklü ekranda çizilen bir şeyi sekiz hareketli grafik deseninden birine aktarmak için de kullanılabilir.

Sprites

Sprite'ları başlatmak, konumlandırmak ve hareket ettirmek için bir dizi komutun yanı sıra (veya Commodore'un dediği gibi Hareketli Nesne Blokları; ekrandaki diğer grafik ve metinlerden bağımsız olarak ekranda serbestçe hareket edebilen donanım destekli grafik öğeleri), Super Expander yerleşik bir yüksek çözünürlüklü (24 × 21 piksel) veya çok renkli (12 geniş × 21 piksel) modda 8 sprite (SPRDEF komutuyla çağrılır) desenini düzenlemek için bir araçta.

BASIC programında iki hareketli grafik çarpışırsa, bir hareketli yazı diğer grafiklerle ve / veya ekrandaki metinle çarpışırsa veya takılı bir ışık kalemi etkinleştirilirse "kesintileri" gerçekleştirmenin bir yolu bile vardı. Bir COLINT komutu, kontrolü kesintiye uğramış ana hatta geri aktarmak için bir RETURN ifadesiyle (standart, genişletilmemiş BASIC'in bir parçası) bitmesi gereken "kesme işleyicisinin" başlangıç ​​BASIC satır numarasını işaret ederek kesmeyi ayarlar. "programın bir parçası.

Ses

Bir dizi müzik notasının çalınması, imleç kontrolü, renk değişiklikleri ve diğer kontrol karakterleri gibi özel bir "kontrol karakteri" kullanılarak standart BASIC "PRINT" komutuna bağlanmıştır. Örneğin yükselen bir ölçekte oynadı. Nota dizisinin çalma temposunu ve tınısını ayarlamak için TEMPO ve TUNE gibi komutlar kullanıldı. PRINT CHR$(6);"CDEFGAB"

Bu özelliğin bir "tuhaflığı", bir tırnak işaretiyle birlikte özel kontrol karakterini yazarak ( CTRL + 'ya basarak F ) ve ardından tırnak işaretini silerek, makinenin programı düzenlerken yazılan her şeyi "oynatması"; G tuşuna basın ve makine bir "Pling!" bir G notasının perdesi ile ...!

Donanım G / Ç

RJOY, RPEN ve RPOT gibi işlevler, bağlı bir joystick, ışıklı kalem veya analog "kürek" durumunu okur. Hareketli hareketle ilgili komutlarla birlikte, bağlı bir joystick ile gösterilen yönde hareketli bir hareket yapmak için yalnızca tek bir BASIC kodu satırı gerekiyordu.

Çeşitli

64'ün klavyesindeki dört işlev tuşunu rastgele bir dizge "girmek" için ayarlayacak bir KEY komutu mevcuttu. Varsayılan olarak, bu tuşlar RUN, LIST, SPRDEF, GRAPHICS ve diğerleri gibi komutları yazmak üzere ayarlanmıştır, ancak kullanıcı bunu doğrudan modda veya program kontrolü altında KEY komutunu kullanarak değiştirebilir.

Teknik sorunlar

Commodore'un 8 bit makinelerindeki BASIC'in tüm sürümleri, BASIC anahtar sözcüklerini tek baytlı kodla değiştirme şemasını kullandı - örneğin, " PRINT " sözcüğü , beş ASCII kodu yerine tek bir bayt değeriyle veya belirteçle değiştirilirdi . kelimedeki beş harf. Süper Genişletici, bu sistemin barındırabileceğinden daha fazla komut ekledi, böylece yeni komutlar için iki baytlık bir simge sistemi uygulandı.

BASIC yorumlayıcısındaki bir tuhaflık nedeniyle (bir IF / THEN yapısının "THEN kısmının" işlenmesi, RAM'deki bir vektör üzerinden atlamadı, bunun yerine standart, genişletilmemiş BASIC komut kod çözme rutinine doğrudan bir JuMP aldı), Aşağıdaki komut Süper Genişletici'nin standart olmayan BASIC anahtar sözcüklerinden biriyse, IF / THEN deyimlerinin THEN anahtar sözcüğünden hemen sonra fazladan iki nokta üst üste (:) eklenmesi gerekirdi. Örneğin, bir mesaj verir - birinin onu böyle yazması gerekirdi - THEN ve Süper Genişletici eklenmiş komut ÇİZİM arasındaki iki nokta üst üste işaretine dikkat edin. IF (condition) THEN DRAW ...?SYNTAX ERRORIF (condition) THEN:DRAW ...


Kılavuz çevrimiçi olarak bir etext olarak mevcuttur


Referanslar

  1. ^ "SÜPER GENİŞLETİCİ 64 kartuş kullanım kılavuzu" . 29 Eylül 2007 tarihinde orjinalinden arşivlendi .