|
Konu Başlığı: Commodore Programlarını RS232 ile Uzaktan Kullanma Yöntemi: Gönderen: ilkerficicilar üzerinde Temmuz 18, 2014, 13:38:52 ÖS Merhabalar,
C64'ü minimum değişiklikle uzaktan kullanabilmek için RS232 arabirimlerini modemleri vb. ortaya çıkarıp bir deneme yapmıştım. Sonuçlar şöyle: BASIC'te ve komut satırında CMD ile ekran çıktısını başka cihazlara, dosyalara yönlendirebildiğimizi biliyoruz. Ancak, doğrudan modda (sanıyorum normal yolla başlangıç ayarları yapamadığımızdan) girişi yönlendiremiyoruz. Ama, doğrudan modda olmasa da herhangi bir BASIC programını RS232 üzerinden çalışacak hale getirmek kolay. Önce, programın en başlarına (değişkenlerden önce, çünkü BASIC alanının tavanı tamponlara ayrılacak) RS232 ayarını koyuyoruz ve ilk ayarlar için rastgele bir okuma yapıyoruz: 1 OPEN 129,2,0,CHR$(10)+CHR$(0):GET#129,A$ Ardından giriş çıkışı klavye ve ekran yerine RS232 cihazına yönlendiriyoruz: 2 POKE 153,2:POKE 154,2 hepsi bu. programdan çıkarken ise 32767 POKE 153,0:POKE 154,3:CLOSE 129:END ile giriş çıkışı eski haline getirebiliriz. OPEN komutunun RS232 ile kullanımı için ayrıntılar C64 Programcının El Kitabında var, ben de oradan baktım. Ayarlar kısaca: Open'daki 129= dosya no (127'den büyük olunca CR yerine CRLF karakterleri gönderiyor. 2= RS232 cihazı. CHR$(10) 2048bps için. 10 yerine 6 girilirse 300, 8 girilirse 1200bps oluyor. Default olarak en yüksek hız C64'te 2400bps ne yazık ki. Örnek program: 50 REM BASIT GIRDI CIKTI ORNEK PROGRAMI 100 GOSUB 1000:REM EKRANI SIL 110 PRINT "==== MENU ====" 120 PRINT "1) SECENEK 1" 130 PRINT "2) SECENEK 2" 140 PRINT "0) CIKIS" 200 GET A$:IF A$="" GOTO 200 210 A=1+ASC(A$)AND7 220 ON A GOTO 300,400,500 290 GOTO 200 300 GOSUB 1000 310 PRINT "=== MENU 1 ===" 320 PRINT "..." 330 REM 390 GOTO 110 400 GOSUB 1000 410 PRINT "=== MENU 2 ===" 420 PRINT "..." 430 REM 490 GOTO 110 500 END 1000 FORI=1TO25:PRINT:NEXT:RETURN 1010 REM BASIT TERMINALLERI DE DUSUNEREK EKRAN TEMIZLEME 1020 REM Şimdi bu örnekteki gibi basit bir BASIC programını RS232 ile uzaktan kullanılır hale getirmek için sadece şu değişiklikleri yapıyoruz: 0 OPEN 129,2,0,CHR$(10)+CHR$(0):GET#129,A$:POKE 153,2:POKE 154,2 500 POKE 153,0:POKE 154,3:CLOSE 129:END Programın yeni hali: 0 OPEN 129,2,0,CHR$(10)+CHR$(0):GET#129,A$:POKE 153,2:POKE 154,2 50 REM BASIT GIRDI CIKTI ORNEK PROGRAMI 100 GOSUB 1000:REM EKRANI SIL 110 PRINT "==== MENU ====" 120 PRINT "1) SECENEK 1" 130 PRINT "2) SECENEK 2" 140 PRINT "0) CIKIS" 200 GET A$:IF A$="" GOTO 200 210 A=1+ASC(A$)AND7 220 ON A GOTO 300,400,500 290 GOTO 200 300 GOSUB 1000 310 PRINT "=== MENU 1 ===" 320 PRINT "..." 330 REM 390 GOTO 110 400 GOSUB 1000 410 PRINT "=== MENU 2 ===" 420 PRINT "..." 430 REM 490 GOTO 110 500 POKE 153,0:POKE 154,3:CLOSE 129:END 1000 FORI=1TO25:PRINT:NEXT:RETURN 1010 REM BASIT TERMINALLERI DE DUSUNEREK EKRAN TEMIZLEME 1020 REM 20000 REM =============== 21000 REM ILKER FICICILAR 22000 REM 17.07.2014 23000 REM =============== Peki bu ne işe yarar? Örneğin evdeki C64'ünüzü modeme ve telefon hattına bağlarsınız. Modeminiz otomatik yanıta ayarlanır. Ve işten ev telinizi laptopunuzun modemiyle arar ve C64'teki sevdiğiniz filanca programınıza bağlanırsınız. Ya da masada monitör fazlalığı istemiyorsanız Commodore' bir NULL-MODEM kablosuyla bilgisayarınıza bağlar öyle kullanırsınız. Bu arada bu yöntemin verimli kullanımı için PETSCII destekli bir terminal emülatörü programı fena olmaz. Yöntemin amacıysa mevcut BASIC programlarından basitlerini sadece 2 satır ekle RS232 ile uzaktan kullanılır hale getirmek. En basitinden bir RS232 arabirimi ise şurada: http://cbm.ficicilar.name.tr/uncorrected/rs232c24.txt (http://cbm.ficicilar.name.tr/uncorrected/rs232c24.txt) Deneyeceklere kolay gelsin. Şimdilik hoşçakalın. -ilker. Konu Başlığı: Ynt: Commodore Programlarını RS232 ile Uzaktan Kullanma Yöntemi: Gönderen: Geos üzerinde Temmuz 18, 2014, 22:34:34 ÖS elimde c64 modem var deniyecem .tş
Konu Başlığı: Ynt: Commodore Programlarını RS232 ile Uzaktan Kullanma Yöntemi: Gönderen: guru68 üzerinde Temmuz 19, 2014, 00:11:59 ÖÖ ise yarar... tesekkurler
|