Komputery z Z80 > SAM COUPE

SAM i BASIC - kodowanie prostackich dem

(1/4) > >>

YERZMYEY/HOOY-PROGRAM:
Joł.

Więc tak.
Mam już PC program do wrzucania rzeczy na DSK dyskietkę SAMa.
http://www.samcoupe-pro-dos.co.uk/edwin/software/diskmanager/diskmanager.htm


Miałbym parę pytań.

- po włączeniu, w standardowym trybie, jaką rozdzielczośc ma SAM? Paleta pozostawiona jest oryginalna, jak widzę, ale ciekaw jestem ile tam tkwi pixeli oraz ile kolumn/linii.

- w tym trybie są atrybuty, czy nie ma?

- jest jakiś PC program do przekonwertowania odpowiednio przygotowanego obrazka (z PC na SAMa, żeby potem na obraz dyskietki wrzucić)?

- jaki jest odpowiednik LOAD "nazwa" SCREEN$ ? (Z taśmy to pewnie tak samo ciągnie, ale mam na myśli dyskietkę).

- jaki jest odpowiednik LOAD "nazwa" CODE ? (j.w).

- czy SAM ma na tyle stabilny interpreter BASIC, że byłaby możliwość wpisania paru linii DATA, żeby muzyka leciała stabilnie w przerwaniach (tak, jak to się normalnie robi na Spectrum 48K+AY, a na Atari XL się nie da, bo zwalnia)? Nie twierdzę, że umiałbym coś takiego na SAMa napisać - właściwie to pytanie jest pułapką, bo jeśli się da, to pewnie chciałbym pomęczyć kogoś o taki kawałek kodu, hahaha.

- czy basicowy program na SAMie będzie w ogóle sam startować? A jeśli tak, to jak to czynić?

- jest w ogóle jakaś duża baza pecetowych utilsów dla SAMa (jak to ma miejsce dla Spectrum?).

Na razie więcej mi nic do głowy nie przychodzi, ale pewnie coś później tu dopiszę.

Pozdrrr.
Y

matofesi:

--- Cytuj ---Joł.

Więc tak.

Miałbym parę pytań.

- po włączeniu, w standardowym trybie, jaką rozdzielczośc ma SAM? Paleta pozostawiona jest oryginalna, jak widzę, ale ciekaw jestem ile tam tkwi pixeli oraz ile kolumn/linii.

--- Koniec cytatu ---

Standardowy ekran Mode 4 to 256x192 piksele, 4 bity na piksel czyli 16 kolorów na piksel z palety 128 kolorów.


--- Cytuj ---- w tym trybie są atrybuty, czy nie ma?

--- Koniec cytatu ---

Nie ma. Kolor kodowany jest bezpośrednio na bitmapie (j.w. - 4 bity na piksel) a do tego jest CLUT kodujący paletę.


--- Cytuj ---- jest jakiś PC program do przekonwertowania odpowiednio przygotowanego obrazka (z PC na SAMa, żeby potem na obraz dyskietki wrzucić)?

--- Koniec cytatu ---

Pewnie jest. Ja nie używam Windowsa (bo znowu jak rozumiem robisz uproszczenie PC=Windows ;)) więc napisałem sobie własny skrypt konwertujący grafikę do formatu Sama.


--- Cytuj ---- jaki jest odpowiednik LOAD "nazwa" SCREEN$ ? (Z taśmy to pewnie tak samo ciągnie, ale mam na myśli dyskietkę).

--- Koniec cytatu ---

A jaki ma być? ;) Po załadowaniu DOSa wszystkie standardowe polecenia zaczynają odwoływać się do pierwszej stacji dyskietek. Jeśli chcesz załądować z drugiej do dajesz LOAD "D2:nazwa" SCREEN$. O ile pamiętam przekierowanie na taśmę to "T:nazwa"


--- Cytuj ---- jaki jest odpowiednik LOAD "nazwa" CODE ? (j.w).

--- Koniec cytatu ---

j.w. ;)


--- Cytuj ---- czy SAM ma na tyle stabilny interpreter BASIC, że byłaby możliwość wpisania paru linii DATA, żeby muzyka leciała stabilnie w przerwaniach (tak, jak to się normalnie robi na Spectrum 48K+AY, a na Atari XL się nie da, bo zwalnia)? Nie twierdzę, że umiałbym coś takiego na SAMa napisać - właściwie to pytanie jest pułapką, bo jeśli się da, to pewnie chciałbym pomęczyć kogoś o taki kawałek kodu, hahaha.

--- Koniec cytatu ---

A po co kombinować? Z ETrackerem w komplecie był player (a właściwie kawałek kodu podpinający się do właściwego playera) ładowany w heap (gdzieś chyba od 16384) podpinający się pod przerwania i grający muzyczkę w tle.

edit : Jak się okazuje był chyba na oryginalnej drugiej dyskietce ETrackera... Nazywał się INT-PLAY... Jak znajdę to dam namiar ;)


--- Cytuj ---- czy basicowy program na SAMie będzie w ogóle sam startować? A jeśli tak, to jak to czynić?

--- Koniec cytatu ---

Dokładnie tak samo jak na Spectrumie - SAVE "nazwa" LINE 10. A jak chcesz mieć taki, który się odpali bo BOOT, to SAVE "auto" LINE 10.


--- Cytuj ---- jest w ogóle jakaś duża baza pecetowych utilsów dla SAMa (jak to ma miejsce dla Spectrum?).

--- Koniec cytatu ---

A tu ci nie odpowiem - nie mam, nie potrzebowałem ;) Ale jak przeglądałem ostatnio sieć to jakieś drobiazgi się da wydłubać. Choć w czasach jak ja pisałem na Samie to raczej wszystko robiło się na fizycznej maszynie i toolsy działały/były pisane właśnie tam.

m.

matofesi:
Nie znalazłem dokładnie tego, co pisałem, ale mam funkcjonalny odpowiednik ;)

http://sam.speccy.cz/coding/et_player_with_mdriver.txt

To jest tekst na temat tego, że player na przerwaniach do odpalania pod BASICem był zwalony bo nie sprawdzał, czy coś wcześniej nie było zawieszone na przerwaniach tylko sam się podpinał co powodowało, że wyłączał sterownik do myszy działający na tym samym mechanizmie. W tekście jest też zmodyfikowany kod playera przerwaniowego, który nie ma tego problemu. Kod wydaje się być prosty i nie powinieneś mieć problemu z jego użyciem - jedyna kwestia jest taka, że musisz kompilując muzyczkę a potem merge'ując player podać - o ile pamiętam - jako adres 16384 (edit: źle pamiętałem - poprawny adres to 32768 ;)) - player ładuje potem kod gdzieś dalej a sama muzyka jest odpalana po przełączeniu strony pamięci.

matofesi:
A dla ułatwienia zrobiłem takie coś jak w załączniku - po zabootowaniu "wkładasz" do napędu dyskietkę z załącznika (F1), dajesz LOAD 1 a potem RUN - programik pakuje kod do pamięci, ładuje moduł na zadaną stronę pamięci (tutaj - 10) i odpala procedurę grającą na przerwaniach i robi STOP. Muzyczka gra a ty możesz sobie robić inne rzeczy w BASICu. CONTINUE odpala kolejnego CALLa i wyłącza muzyczkę. Do własnego użytku podmieniasz plik z muzyką i playerem (MERGE'owanym od adresu 32768 a nie jak wcześniej pisałem 16384), ustawiasz stronę i odpalasz :)

No i oczywiście ten programik ignoruje fakt istnienia sterownika myszy ;)

Sir David:
To ja jeszcze uzupełnię odpowiedzi Mata i dodam coś od siebie:


--- Cytat: YERZMYEY/HOOY-PROGRAM w 2012.02.07, 09:46:09 ---- po włączeniu, w standardowym trybie, jaką rozdzielczośc ma SAM? Paleta pozostawiona jest oryginalna, jak widzę, ale ciekaw jestem ile tam tkwi pixeli oraz ile kolumn/linii.

--- Koniec cytatu ---

Dodam, że Sam ma 4 tryby graficzne, zmieniane z Basica poleceniem MODE. Po włączeniu jesteśmy w MODE 4, tryb zgodny z ZX Spectrum to MODE 1.


--- Cytuj ---- jest jakiś PC program do przekonwertowania odpowiednio przygotowanego obrazka (z PC na SAMa, żeby potem na obraz dyskietki wrzucić)?

--- Koniec cytatu ---

Tego nie wiem. Ja zapisywałem sobie obrazek na PC jako nieskompresowany .bmp, wrzucałem go na dyskietkę Sama i tam pisałem prosty programik w Basicu, który przerzucał go na ekran. Przy normalnej prędkości Sama działało to bardzo powoli, ale pod SimCoupe, po naciśnięciu F7 (czyli full speed), szło już całkiem szybko.


--- Cytuj ---- jaki jest odpowiednik LOAD "nazwa" SCREEN$ ? (Z taśmy to pewnie tak samo ciągnie, ale mam na myśli dyskietkę).
- jaki jest odpowiednik LOAD "nazwa" CODE ? (j.w).

--- Koniec cytatu ---

Oprócz tego, co powiedział Mat (czyli identycznie jak na Spectrum), można ładować pliki przez LOAD nr, gdzie nr jest pozycją pliku w katalogu i można ją zobaczyć przez DIR1 (1 dla pierwszej stacji). Oczywiście nie nadaje się to do umieszczenia w loaderze, ale do szybkiego ręcznego załadowania pliku do pamięci jest wygodniejsze niż wpisywanie nazwy. Np. jak chcesz przejrzeć obrazki na dysku, to piszesz DIR1, a potem np. LOAD6 itd. Jest o wiele szybciej.


--- Cytuj ---- czy basicowy program na SAMie będzie w ogóle sam startować? A jeśli tak, to jak to czynić?

--- Koniec cytatu ---

Dodam, że po BOOT ładowany jest pierwszy plik, którego nazwa zaczyna się na "auto". A jeżeli nie chciałbyś, żeby ten plik się automatycznie załadował, to wpisz BOOT1.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej