Retro Sistemler > Sinclair

Speccy dünyasından kümülatif haberler

<< < (2/31) > >>

Shax:

--- Alıntı yapılan: Ref - 24 Mart 2015, 12:17:13 ---12 zx spectrumu spectranet üzerinden bağlayarak, birlikte bir buçuk saate yakın bir süreye sahip mahler'in ilk senfonisini çalmışlar.
--- Alıntı sonu ---
Bir aylak bakkal ve dijital hassas terazi (0.0001 gr) hadisesi. Kalibrasyon agirligi olarak ne kullanildigini soylemeye terbiyem izin vermiyor. Oyle acayip ve mutaassip bir cocugum ayriyetten.

witchdoktor:

--- Alıntı yapılan: Ref - 24 Mart 2015, 12:17:13 ---12 zx spectrumu spectranet üzerinden bağlayarak, birlikte bir buçuk saate yakın bir süreye sahip mahler'in ilk senfonisini çalmışlar.
--- Alıntı sonu ---

Quadruple SID çipi, Poke komutları ve tek C64 ile halledilebilecek bir hadise ama buradaki önemli nokta 12 Spectrum'un ağ üzerinden senkronize çalışması mı oluyor? Ben seyirci kitlesine hayran oldum :)

Ref:
Yok, senkronu sağlayan spectranet dışında standart donanım ve yazılım kullanılmış. Önemli nokta yak aslında, salla.

AmonR:

--- Alıntı yapılan: witchdoktor - 25 Mart 2015, 21:07:39 ---Bahaneyle millet de haberlerden nasipleniyor...

--- Alıntı sonu ---

Gerçekten gayet güzel bir "bahane" oldu da biz de nasipleniyoruz.  :)


--- Alıntı yapılan: Ref - 26 Mart 2015, 00:19:11 ---Yok, senkronu sağlayan spectranet dışında standart donanım ve yazılım kullanılmış. Önemli nokta yak aslında, salla.

--- Alıntı sonu ---

Önemli nokta, "olayın" Spectrum tarafından yapılıyor olması, gerisi teferruat.  :)

Ref:
Wos'un yokluğunda haberleri almak daha zor oluyor elbette ama, geçici forumda açılan bir muhabbet var, onu koyayım.

Renegade ve Target Renegade (2), zx spectrum'un en iyi oyunlarından ikisi. Fakat sonra çıkan renegade 3 tam bir fiyasko idi. Oyun tasarımı bu ünlü dövüş oyununu dandik ötesi bir "şey"e dönüştürmüştür, grafikleri tamamen monokrom, belli ki renegade efsanesinin getirisini ucuz yoldan söğüşlemek amaçlı bir oyundur.

Ralf, monokrom zx spectrum oyunlarının, standard buffer yapısından dolayı kolayca renklendirilebileceğini farkeden bir arkadaşımız, bu oyunu da renklendirdi.

Daha önce orjinali renksiz olan Outrun Europe, Mr.Heli ve Mr.Pacman oyunlarını renklendirmişti, renegade'i 1 saatten az bir sürede renkli hale getirdi. Oyun berbat olduğu için pek bir şey kazanmadı ama olsun.


Orjinal hali:


Yeni hali:



oyunun renkli halini arşivlerinize katmak isterseniz ekte bulunuyor



ayrıca http://trixter.oldskool.org/2012/12/17/maze-generation-in-thirteen-bytes/
13 byte ile maze generation yapılması durumu vardı. C64'de wisdom bunu 12 byte'a kadar çekmişti, fakat 2 byte mecburi bir header, yani aslında 10 byte denebilir kod için.

Aynı kodu cpc'de ssg https://github.com/ssg/mazecpc  adresinde paylaştığı üzere 12 byte'a indirmiş durumda.  Rastgele byte R registerinden elde ediliyor, CPC'de R registeri bayağı rastgele ilerliyor, interrupt kodu ne yapıyor belli değil (normalde shiftlerde 2, diğerlerinde 1 artması gerek).

Ben de zx spectrum'a dadandım elbette. Fakat bir problemim var. C64 ve CPC'nin karakter setinde \  ve / karakterleri yanyana duruyorlar. Dolayısı ile bir bit kullanarak karakter setini 1 karakter ötelemek kolay. örneğin, AND 1 komutu ile karakterinizin 40 ya da 41 olduğunu ayarlayabiliyorsunuz. Spectrum standard ASCII karakter setine sahip oldığı için bu karakterler 47 ve 92'de bulunuyor. Yani bildiğin ap ayrı iki rakam. Ayrıca 64'de karakter tabanlı bir ekran modu varken spectrumda böyle bir mod yok. Bu durumda iş benim için karmaşık oldu:
Neyse, ilk olarak şunu yaptım, 14 byte. Çünkü CPC'deki ld a,r spectrumda işe yaramadı. Spectrumda R ikişer ikişer artıyor, dolayısı ile ya düzgün bir pattern alıyoruz, rastgele bir görüntü çıkmıyor. Ama neyse ki daha iyi birşey buldum:


--- Kod: ---loop
in a,(&ff) ;get a random value from floatingbus
and &1 ;test it
jr z, jump ; select a character to print
ld a, &2f ; slash selected
defb &1 ;to skip next instruction, compiles to (LD BC, nn)
jump
ld a, &5c ; backslash selected
RST #10 ;print character
jr loop ;loop forever

--- Kod sonu ---
sonra bu:


--- Kod: ---loop
in a, (&ff)
rra
ld a, &2f
jr c, jump
ld a, &5c
jump :
rst #10
jr loop
--- Kod sonu ---

12 byte. burada birkaç avantaj var, o da spectrum'un floating bus denen bir hatası olması. Buna göre eğer herhangi bir aygıt takılı değilken bir giriş/çıkış portundan bilgi okursanız o sırada ula'nın yaptığı işleme göre rastgele bir rakam okumuş oluyorsunuz. Bu işlem 2 byte kaplıyor ama bir alet (örneğin divide) takılı olursa bu işe yaramaz. Ama expansion boş ise bayağı rastlantısal bir labirent elde ediyoruz.

Baktım asm bilgim beni ileri taşıyamayacak ve z80'ci arkadaşlara gönderdim kodu, ve bambaşka bir yaklaşımla sorunu 10 byte ile çözümlediler:


--- Kod: ---maze:
add a,(hl)
inc l
sbc a,a
and &2D
add a,&2F
rst &10
jr maze
--- Kod sonu ---

John Metcalf, bunun yerine rom'daki bilgiyi okumayı tercih ediyor. Buradaki avantaj da şu, programı çağırdığınızda HL rom'da bir noktayı gösterir durumda, dolayısı ile hl'ye birşey yüklemeden direkt rom'daki bilgiyi alıyor rastgele rakam olarak. Bu daha uygun birşey ama kod hep aynı çıktıyı üretiyor elbette :D


bu kodun sonucu ektedir.


Navigasyon

[0] Mesajlar

[#] Sonraki Sayfa

[*] Önceki Sayfa

Tam sürüme git