Šta je novo?

Galaksija

ali kako idem sve dublje u otkrivanje sta sve treba za jedan obican zvucni dodatak za galaksiju 2024 sve je vise komplikovano, znaci evo primer samo da bi ubacio taj asembler program za nove komande u BASIC u eeprom fles morao bi da skidam sa ploce eeprom SMD fles ili da ga ostavim pa da dodam ISP header sa 6 pinova i programiram ga preko USB-SPI programatora na primer CH341A i opet ima jos svasta ma to uopste nije lako... mozda najbolje da ja eksperimentisem samo sa arduinom i tim AY-3-8910 cipom :)
Ne treba mešati 8-pinski EEPROM čip (sa dva "E") u koji se snimaju programi za izvršavanje na Galaksiji, i 28-pinski EPROM čip (sa jednim "E") u kojem je BASIC.
 
ROM sa stare Galaksije ne može da radi na Galaksiji 2024 - video rutina je promenjena, druga je frekvencija slike i linijska frekvencija. Ako bi uopšte bilo slike, ona bi bila znatno izobličena. Takođe, u starom ROM-u nema naredbi za snimanje i čitanje iz EEPROM-a.

Osim EPROM programatora, potreban je i UV brisač EPROM čipova.
Razumem al jednostavnije mi da kupim a vec imam u rezervi jedan nov prazan 27C512 eprom cip nego da koristim UV brisac za eprom cipove.
 
Ključne razlike u odnosu na kompajler:

  • Vreme izvođenja:
    Kompajler ceo program prevede pre nego što ga izvršite, dok interpreter prevodi i izvršava program u isto vreme, liniju po liniju.
  • Izlaz:
    Kompajler generiše zaseban izvršni fajl (mašinski kod), dok interpreter direktno izvršava izvorni kod.
  • Brzina:
    Kompajlirani programi su generalno brži pri izvršavanju jer je sav prenos već obavljen, dok interpretedni programi mogu biti sporiji zbog stalnog prevođenja.
  • Otklanjanje grešaka:
    Interpreteri olakšavaju pronalaženje i ispravljanje grešaka jer ukazuju na tačnu liniju koda koja je izazvala problem.
    e ovako napisano razumem malo bolje :)
  • U programskom jeziku, interpreter (prevodilac) je program koji direktno izvršava instrukcije napisane u izvornom kodu, bez potrebe da se ceo kod prethodno prevede u mašinski jezik. Za razliku od kompajlera koji stvara samostalnu izvršnu datoteku, interpreter čita i izvršava kod liniju po liniju ili umanjim blokovima, što omogućava brže pokretanje i lakše otklanjanje grešaka.
 
https://dejanristanovic.com/refer/galrom2.htm ovde je objasnjeno inicijalizacija ROM 2 al na staroj galaksiji nema objasnjeno kako to na novoj galaksiji izvesti posto nije isto a i eksperimentisanje sa masinskim jezikom i taj asembler u novoj galaksiji nije bas tako lako za pocetnike jer mozes slucajno nesto usnimiti gde ne treba al bi trebao prvo usnimiti originalni ROM operativni sistem i taj CHAR GEN sa galaksije 2024 na posebna 2 nova eprom cipa u slucaju da nesto zabrljam u tom masinskom jeziku,,,
 
https://dejanristanovic.com/refer/galrom2.htm ovde je objasnjeno inicijalizacija ROM 2 al na staroj galaksiji nema objasnjeno kako to na novoj galaksiji izvesti posto nije isto a i eksperimentisanje sa masinskim jezikom i taj asembler u novoj galaksiji nije bas tako lako za pocetnike jer mozes slucajno nesto usnimiti gde ne treba al bi trebao prvo usnimiti originalni ROM operativni sistem i taj CHAR GEN sa galaksije 2024 na posebna 2 nova eprom cipa u slucaju da nesto zabrljam u tom masinskom jeziku,,,

Već smo odavno utvrdili da se ova nova Galaksija razlikuje od originalne i na hradverskom i na softverskom planu, ubuduće možemo samo detaljnije da beležimo u čemu se te razlike ogledaju.
Zbog čega ti treba inicijalizacija Rom-a 2 ? Valjda su u ovoj novoj Galaksiji oba Rom-a prisutna i verujem da je inicijalizacija automatska.
Kod stare je ovo jednostavno, ali retko ko je to stalno radio ručno, malom izmenom u Rom-u 1, inicijalizacija se radi automatski.
Pominjao si ranije par puta i ROM C, on nema veze sa originalnom Galaksijom, romovi C i D su za Galaksije Plus.
Inače kad već pišem, evo i jedne bitne informacije vezano za projekat Galaksija emulatora za Pi Pico, koji sam pominjao ranije.
Kako sada stvari stoje rad na emulatoru će biti obustavljen, jer se u međuvremenu pojavio sličan emulator španskog kolege ackerman-a, tako da nema potrebe da se duplira angažovanje na istoj stvari.
Emulator podržava Pico i rp2040 bazirane ploče, već sad radi u punoj brzini, mada još nije potpuno završen.
Više detalja ovde:
Kolega Microjack i ja ćemo se najverovatnije pozabaviti dodatnim unapređenjem našeg FPGA jezgra za Galaksiju i apgrejdom na Galaksiju Plus, kad nam obaveze dozvole.
 
onda pretpostavljam da ne treba inicijalizacija ROM 2 u galaksiji 2024. Voleo bi da ima vise uputsva za novu galaksiju 2024 ... i sta sve moze
 
Pa što se tiče razlika
LPRINT, LLIST, LDUMP, INP i OUT sada ukinute i kod je uklonjen iz operativnog sistema. Ostale komande iz ROM-a B, kao što su matematičke funkcije, asembler i pretraživanje, funkcionišu normalno

+evo sem toga što nema slot za proširenje, koje je zapravo magistrala procesora. Možda ne bi bilo loše da se napravi adapter, tako da i G40 dobije identični izlaz kao o stara.

I memorijska mapa je izmenjena:
Screenshot-2024-04-19-at-9.44.40%E2%80%AFAM.png


Za većinu ostalih stvari uputsva su tačna.

Ključne razlike u odnosu na kompajler

Galaksijin Bejzik je intepreter, ali ima i kompajler (ako ga možemo tako nazvati) koji će prevesti mnemonike u byte kod koji prepoznaje procesor i smestiti u memoriju. Zavisno o direktive OPT n (https://galaksija.epizy.com/Help/ROM_2/23_rom2.html) će taj kod biti i odštampan.

Naravno, mnogo je lakše i udobnije programirati na modernom računaru i koristiti moderna razvojna okruženja, tipa VS Code.

Evo par hintova iz ličnog iskustva. Za kompajliranje z80 mašinca koristim z88dk. Iako nativno razvijen kao kompajler za C i finalni fajlovi su nešto veći, za početnike je veoma lak za korišćenje, jer ne moraju da brinu kako postaviti direktivu ORG tj. početak program.

Instaliranje z88dk je veoma lako, skinuti https://github.com/z88dk/z88dk/releases kompatiblne egzekutabilne fajlove za vaš operativni sistem i dodati folder folder u sistemske promenljive, tako da imate direktna pristup iz terminala.

Za da biste kompajlirali mašinac za galaksiju, dovoljno je da pozovete:
Kod:
zcc +gal -create-app -o PUTANJA_IZLAZNOG_FOLDERA VAS_KOD.asm

Evo primera:
zdravosvete.asm
Kod:
ROMPRINT  EQU     0x0937      ; ROM routine: prints zero-terminated string

PUBLIC _main:
; --- Main program ---
_main:
        LD      DE, message   ; DE = address of string
print:  CALL    ROMPRINT      ; print it
        ;JP      $             ; infinite loop (stay here)

; --- Data section ---
message:
        DEFM    "ZDRAVO SVETE!"
        DEFB    0             ; zero terminator (end of string)
Posle kompajliranja, dobićete hex, gtp i wav fajl koje na razne načine možete da preneseta na galaksiju, što je jako praktično.

Napomena: Ukoliko se piše samo kod u asembleru, neophodno je da je upisana direktiva PUBLIC _main i odgovarajuća labela. To je zbog toga što je neophodno da kompajler generiše dodatne instrukcije kako bi pozvao automatski generisani fajl.

Za pisanje koda, ja koristim Visual Studio Code, jer ima proširanja koji olakšavaju stvari pri pisanju i učenju, jer nudi objašnjenje instrikcija direktno u kodu, kao i neke druge stvari. Preporučujem Z80 Instruction set, ASM Code Lense, Hex Hover Converter, Binary File converter itd.
Screenshot 2025-08-24 at 17.09.23.png

A sada za šta je ono z88dk napravljen a to je C. Iz iskustva, pisanja u mašinskom kodu može da bude vremenski zahtevno, pa zato ja vidim kao alternativu neki hibrid C+ASM, što z88dk omogućava.

Primer koda u C-u:
zdravosvete.c
Kod:
#include <stdint.h>
#include "zgalaksija.h"
// === Main Loop ===
void main() {
    gal_cls();
    gal_gotoxy(0, 0);
    gal_puts("ZDRAVO SVETE!");
    //while (1) {}
}
zgalaksija.h
Kod:
/* Header file with specific GALAKSIJA low-level functions */

#define z80_bpoke(a,b)  (*(unsigned char *)(a) = b)
#define z80_wpoke(a,b)  (*(unsigned int *)(a) = b)
#define z80_lpoke(a,b)  (*(unsigned long *)(a) = b)
#define z80_bpeek(a)    (*(unsigned char *)(a))
#define z80_wpeek(a)    (*(unsigned int *)(a))
#define z80_lpeek(a)    (*(unsigned long *)(a))

#define SCREEN_ADDR 0x2800
#define RND_ADDR 0x2AA7

unsigned char _scr_x, _scr_y;


// Low-level clear the screen and reset internal cursor position
void gal_cls() { 
	int z;
	for (z = 0; z <512; z++) {
		z80_bpoke(SCREEN_ADDR + z, 32);
	}
	_scr_x = 0;
	_scr_y = 0;
}

// Set internal position of cursor for low-level putc and call gotoxy
void gal_gotoxy(char x, char y) {
	_scr_x = x;
	_scr_y = y;
}

// Low-level write character to internal cursor position
void gal_putc(char ch) {
	z80_bpoke(SCREEN_ADDR + (_scr_y << 5) + _scr_x, ch);
	_scr_x++;
	if (_scr_x > 32) {
		_scr_x = 0;
		_scr_y++;
	}
}

// Low-level write string to internal cursor position
int gal_puts (char *str) {
	char ch;
	int len = 0;
	while ((ch = *str) != 0x0) {
		z80_bpoke(SCREEN_ADDR + (_scr_y << 5) + _scr_x, ch);
		str++;
		len++;
		_scr_x++;
		if (_scr_x > 32) {
			_scr_x = 0;
			_scr_y++;
		}
	}
	return len;
}


// Fast single-key reader (returns 0 if no key pressed, or one of 1–4 for directions)
extern unsigned char get_key_fast(void) __z88dk_fastcall;

// Bitmask-based key reader for multi-key support (up to 8 bits)
extern unsigned char get_keys(void) __z88dk_fastcall;

// Bitmask return values
#define KEY_LEFT     0x01  // bit 0
#define KEY_RIGHT    0x02  // bit 1
#define KEY_UP       0x04  // bit 2
#define KEY_DOWN     0x08  // bit 3
#define KEY_Z        0x10  // bit 4
#define KEY_X        0x20  // bit 5
#define KEY_SPACE    0x40  // bit 6

// Diagonal directions (combinations)
#define KEY_UP_LEFT      (KEY_UP   | KEY_LEFT)   // 0x05
#define KEY_UP_RIGHT     (KEY_UP   | KEY_RIGHT)  // 0x06
#define KEY_DOWN_LEFT    (KEY_DOWN | KEY_LEFT)   // 0x09
#define KEY_DOWN_RIGHT   (KEY_DOWN | KEY_RIGHT)  // 0x0A


Na slican nacin kao asm mozete da kompajlirate fajl.
Kod:
zcc +gal -create-app zdravosvete.c

Ukoliko recimo vam treba DOT x,y, možete da koristite Vojinu implementaciju ili fast dot odavnde https://galaksija.epizy.com/Help/Tajne/korisne.html#fastdot

dakle prvo upišite mašinski kod funkcije
zdot.asm
Kod:
; Galaksija DOT routine by Voja Antonić, optimized for Z88DK
; Fills screen from (0,0) to (63,47) rapidly using _dot

    PUBLIC _dot
    PUBLIC _undot
    PUBLIC _ifdot


_dot:
    LD D, H       ; X (C passes it in L)
    LD E, L       ; Y (C passes it in H)
    LD A, 0x80
    JP pt1

_undot:
    LD D, H
    LD E, L
    LD A, 1
    JP pt1



_ifdot:
    LD D, H       ; X (in L)
    LD E, L       ; Y (in H)
    XOR A         ; mode 0 for ifdot
    CALL pt1
    ; result of AND (HL) was done in pt1; we now use Z flag
    LD H, 0          ; Return z flag.Place result in L for return
    LD L, 0       ; assume OFF
    RET Z         ; if Zero (pixel is OFF), return 0
    LD L, 1       ; else ON
    RET



pt1:
    PUSH DE
    EXX
    POP DE
    OR A
    PUSH AF
    LD C,D
    PUSH BC
    LD BC,0x20
    INC E
    LD HL,0x2800
goY:
    LD D,3
    LD A,1
y3:
    DEC E
    JR Z,gotov
    RLCA
    RLCA
    DEC D
    JR NZ,y3
    ADD HL,BC
    RES 1,H
    JR goY
gotov:
    LD B,A
    EX (SP),HL
    RES 7,L
    RES 6,L
    SRL L
    JR NC,parni
    RLCA
parni:
    LD H,0
    POP BC
    ADD HL,BC
    LD B,A
    POP AF
    LD A,B
    JR NZ,sres
    BIT 7,(HL)
    JR Z,exret
    AND (HL)
exret:
    EXX
    RET

sres:
    PUSH AF
    BIT 7,(HL)
    JR NZ,sr
    LD (HL),0x80
sr:
    POP AF
    JP M,setxy
    CPL
    AND (HL)
    LD (HL),A
    EXX
    RET

setxy:
    OR (HL)
    LD (HL),A
    EXX
    RET

Zatim je pozvite iz vašeg C koda:
zdravosvete_plus_asm.c
Kod:
#include <stdint.h>
#include "zgalaksija.h"

extern unsigned char dot(unsigned int packed_xy) __z88dk_fastcall;
// Elegant macro for use with x, y
#define DOT(x, y) dot(((x) << 8) | (y))

void main() {
    gal_cls();
    

    // Box coordinates
    int x0 = 0;        // left
    int y0 = 0;        // top
    int x1 = 30;   // right (12 chars * 8px + margin)
    int y1 = 8;    // bottom (char height + margin)

    // Top and bottom lines
    for (int x = x0; x <= x1; x++) {
        DOT(x, y0);    // top
        DOT(x, y1);    // bottom
    }

    // Left and right lines
    for (int y = y0; y <= y1; y++) {
        DOT(x0, y);    // left
        DOT(x1, y);    // right
    }

    gal_gotoxy(1, 1);
    gal_puts("ZDRAVO SVETE!");

    while (1) {}  // keep program alive
}

Stvar u tome je da iskoristite fascall z88dk, koji omogućuje ne samo pozivanje funkcije, već i prosledjivanje promenljivih
Kod:
extern unsigned char dot(unsigned int packed_xy) __z88dk_fastcall;

U načelu samo jedne, ali možete napisati makro da vam upakuje recimo dve, kao što sam ja
Kod:
extern unsigned char dot(unsigned int packed_xy) __z88dk_fastcall;
// Elegant macro for use with x, y
#define DOT(x, y) dot(((x) << 8) | (y))

Za kompajliranje
Kod:
zcc +gal -create-app zdravosvete.c zdot.asm

Ovo delim ovde pošto je po meni vrlo korisno, posebno kada je kritično vreme izvrašavanje nekih komandi, recimo mašinska grafika, skeniranje tatature (kako biste imali recimo odziv kad su više od jednog tastera pritisnuti, itd.)

Postavio sam zip sa primerima za eksperimentisanje. Nadam se će nekom koristiti.
 

Prilozi

  • z88dk_galaksija_examples.zip
    3.4 KB · Pregleda: 3
Poslednja izmena:
e sad mi samo reci da je velika razlika izmedju C jezika i C++ ? :) zar nije bolji C++ podrzava OOP Object Oriented Programming dok C to ne podrzava...
 
Poslednja izmena:
znaci kad bi pisao program u RAM za kontrolu AY-3-8910 pocinje od slobodnog prostora u RAM ORG &4000 na galaksiji 2024 jel tako?
 
Možeš, samo oprezno ako koristiš Bejzik.

Zašto, zato što kod Bejzika počenje na adresi 0x2c3a i raste nadole, dok nizovi i stringe rastu odozgo (od RAMTOPa) nadole, i ako se sretunu sa tvojim kodom u jednom trenutku ili sa bezikom, onda će se prepisati jedan preko drugog.
ramtop.png

Ovo se rešava na 2 načina:
1 - možeš da pomeriš Bejzik nadole sa komandom NEW n, gde ti je n broj bajtove od standardne lokacije, dakle da počinje od 0x2c3a+n i tada upisuješ ORG 0x2c3a i tvoj mašinski kod se nalazi na lokaciji od 0x2c3a do 0x2c3a+n
2 - pomeriš RAMTOP, tako da rezervišeš na vrhu RAM-a za sebe "zaštićeni" deo memorije za tvoj kod. RAMTOP sistema promenljiva se nalazi na adresi &2A6A, komandom WORD &2A6A, ((WORD &2A6A)-n) možeš da pomeriš RAMTOP za n bajtova.
 
Možeš, samo oprezno ako koristiš Bejzik.

Zašto, zato što kod Bejzika počenje na adresi 0x2c3a i raste nadole, dok nizovi i stringe rastu odozgo (od RAMTOPa) nadole, i ako se sretunu sa tvojim kodom u jednom trenutku ili sa bezikom, onda će se prepisati jedan preko drugog.
Pogledajte prilog 503211

Ovo se rešava na 2 načina:
1 - možeš da pomeriš Bejzik nadole sa komandom NEW n, gde ti je n broj bajtove od standardne lokacije, dakle da počinje od 0x2c3a+n i tada upisuješ ORG 0x2c3a i tvoj mašinski kod se nalazi na lokaciji od 0x2c3a do 0x2c3a+n
2 - pomeriš RAMTOP, tako da rezervišeš na vrhu RAM-a za sebe "zaštićeni" deo memorije za tvoj kod. RAMTOP sistema promenljiva se nalazi na adresi &2A6A, komandom WORD &2A6A, ((WORD &2A6A)-n) možeš da pomeriš RAMTOP za n bajtova.
@Aleksandar m Hvala na informaciji. Znaci kucao bi prvo na primer NEW 50, pa onda ORG 0x2c3a i to je to da na primer ima 50 bajtova kod? A kako bi na primer znao koliko bajtova ce moj kod biti?
 
Zavisi od instrukcija, one obično variraju od 1 to 4 bajta + podaci koje budeš čuvao (npr. jedan ASCII karakter je jedan bajt, itd). Za početak rezerviši 50 ili broj instrukcija x 4 i to će biti ok. Ako posle ORG &2c3a upišeš i OPT 3, onda ćeš dobiti memorijske lokacije za svaku instrukciju u terminalu kad upišeš RUN, tako možeš da koriguješ kasnije ako zatreba.
 
Zavaljujući Aleknsandru S56AL https://www.s56al.si/retrocomp/retrocomp.html otkrio sam da moja Galaksija 40 ima probleme sa generisanjem karaktera tj. slike generalno. Naime, u određnoj kombinaciji procesora Z80, U7 čipa 74HC(T)04 i EEPROMa prilikom generisanja dolazi do problema 7. i 8. piksela (problem 7/8 piksela). To se manifestuje da su karakteri debilji, a najuočljivije je da su tačke logoa pre READY povezane.
photo_2025-08-26 14.05.46.jpeg

Tako, da mi je predloženo od kolege Aleksandra da preskočim U7 i da sa pina 9 U7 dovedem direktno takt na pin 14 U15. To podrazumeva ili prekid voda 8 U7<->14 u15.

photo_2025-08-26 14.12.36.jpeg
IMG_20250825_150427 (1).jpg

Evo kako je posle modifikacije
photo_2025-08-26 14.15.07.jpeg
 
Nisam ranije zapazio ovaj detalj, ali izgleda da je i logo ispred poruke READY izmenjen i više nije isti, kao onaj originalni.
Zna li se zašto je to urađeno, barem je ovo moglo da ostane isto, bez ikakvih posledica, ako ništa drugo zbog verodostojnosti, ako ne zbog nostalgičnih razloga.
Ja, doduše najviše volim onaj logo sa modela Elektronike Inženjering (u vidu stilizovane strelice), ali ovaj je bio prvi i ima neki simbolički značaj.
Evo kako je to na mojoj Galaksiji:
Galaksija_logo.jpg
 
Mislim da je kod mene ok samo malo slika ima te jedva vidljive linije a to je zbog monitora na 60Hz i taj AV2VGA konverter.
Ready.jpg
 
Ne, ne pričam o kvalitetu slike, ako pogledaš raspored piksela unutar logo-a, razlika je jasno vidljiva.
Inače, ima još nešto zanimljivo vezano za ovaj logo.
Sastoji se od dva predefinisana karaktera, koji se ne mogu otkucati na tastaturi, ali se mogu dobiti naredbama PRINT CHR$(64) i PRINT CHR$ (39).
Prvi karakter tj. leva polovina loga je iskorišćen u igri Zid (Arkanoid klon), koja je objavljena u Svetu kompjutera 10/85 i u zavisnosti koji logo imate biće i drugačiji izgled ciglica u igri.
 
Da tacno ima razlike u rasporedu piksela unutar logo-a, a takodje ima razlike i u ram memoriji. Al opet nakon svega toga mislim da moze sve da se uskladi i na novoj galaksiji da radi isto kao stara, koncept je isti kako je rekao Voja. Hteo sam reci da nije sad tako velika razlika izmedju stare i nove galaksije ipak nova galaksija moze bukvalno sve kao i stara samo za neke gtp fajlove treba prepravka da bi radili na novoj i to je to... Nije tako strasno velika razlika.
realno i bez te naredbe OUT (koja je izbacena na novoj galaksiji) moze da se porgramira procesor Z80 na galaksiji da pusta muziku na AY-3-8910... tako da nije strasno treba samo znati pa isprobati sta se sve moze :)
 
Poslednja izmena:
Kamo sreće da može bukvalno sve kao i stara, samo ne može, ali ako tebi to ne igra nikakvu ulogu, onda nije ni bitno.
Da se ne ponavljamo, imaš već na prethodnim stranicama, osim tih nedostajućih naredbi, promenjena je i memorijska mapa, onemogućen IM2 mod na Z80, nema ni audio in/out za učtavanje/snimanje sa kasetofona ili nekog drugog audio izvora, nisam sasvim siguran i da procesor radi na identičnom taktu, kao kod originala.
Na kraju dana, uvek ostaje osećaj da se može desiti situacija u kojoj nešto neće raditi kako valja.
Da su ti kompromisi barem doveli do neke ekonomične cene, recimo do 100 dolara, kako je Dejan nerealno tvrdio u pc presu, ali kao što si i sam pokazao, to uopšte nije slučaj.
Ali dobar marketing para vredi, a od majstora treba učiti:
Sve u svemu, komponente za novu Galaksiju neće koštati više od 100 dolara – ko kaže da je pre 40 godina sve bilo jeftinije? Na vama je samo da ih zalemite na ploču…
 
merio sam osciloskopom tako da na pinu za CLOCK na Z80 je tacno 3 Mhz na novoj galaksiji :) al dobro nova galaksija i kosta oko 115 evra bez tih kapica i tastera za tastaturu ... tako da u kompletu ne dobijas tastere i kapice za tastere to se posebno kupuje... al ne kapiram uopste sta vam znaci taj kasetofon i kasete sad u ovo doba ko to jos koristi? koji bre zvuk na galaksiji preko nekog kasetofona? Koliko mi je poznata stara galaksija iz te davne 1984 godine uopste nije imala zvuk... niti sam video i cuo na youtube bar neko bi stavio neke melodije iz stare galaksije sem tog skripajuceg tona sto svaki stari kompjuter je ucitavao sa kasete ...ja to ne smatram zvukom... zvuk je imao komodor, amstrad zx spectrum i tako...
 
sve u svemu i stara galakisja je bio jeftin kompjuter sa minimalnim brojem delova i sa slabom grafikom i bez zvuka... tako da sta si mogao raditi na tom kompjuteru sem tog bejzika i taj masinac za Z80, sto sad neko od vas ne prosiri nesto i na staroj galaksiji napise neki program koji ce biti od puno koristi pa da cujem taj ZVUK sa stare galaksije? koliko znam ima jedan gtp fajl zove se sintesajzer.gtp i taj mali programcic je kao sviras na tastaturi a zvuk se cuje ne znam preko cega valjda na taj kasetofon povezan preko galaksije https://retrospec.elite.org/users/tomcat/yu/Galaksija/Misc/Html/Sintesajzer.php i opet to je nista sto se tice zvuka ne mozes puno iskoristiti sem jedne oktave ... zvuk za mene je kao sto moze SID, AY-3-8910 i tako ti zvucni popularni cipovi tog vremena ostalo je smesno :) bilo za to vreme :)
 
Poslednja izmena:
The ZX Spectrum (Pronounced: "Zed Ecks Spec-trum") is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research Ltd.[2] While later models (from 128k version on) were capable of producing three-channel audio via the AY-3-8912 chip, the original two models couldn't really have more crude sound capabilities. There is no specialized audio chip. The machine's Z80 central processing unit (CPU) produces all sounds and sends them to the onboard beeper capable of producing one channel with 10 octaves. Sto znaci proizvoditi zvuk sa Z80 procesora na mali zvucnik na ploci zvani biper (beeper) i mogucnosti reprodukovanja samo na jednom kanalu ali 10 oktava opet ne znaci nista jer je to bio jedan isti zvuk na koji nisi mogao da utices puno ni da mu menjas parametre...ali zato je ZX Spectrum 128k dobio zvucni cip AY-3-8912 da bi imao vece mogucnosti sto se tice zvuka...tako da ni ZX spectrum 48k bez tog malog zvucnika zvanog beeper na ploci ne bi imao nikakav zvuk opet to sve znaci da mogucnosti procesora Z80 su velike jer moze ipak da salje neki zvuk na jednom kanalu i to 10 oktava al galaksija nije imala nikakav zvucnik (beeper) ugradjen na ploci pa kako ste onda culi zvuk to mi nije jasno :)
 
Originalna Galaksija radi na 3.072 Mhz, tek treba utvrditi da li je brzina upeglana da bude 100% kao na staroj Galaksiji.
Nije to velika razlika, ali sitnica ovde, sitnica onde i nakupi se.
Ta mantra da niko ne učitava sa kasetofona je lakonski izgovor, koji je Dejan takođe napisao u pc presu, a odgovor je veoma prost.
Kasetofon i kasete su deo retro šarma osmobitnih računara i nije to trebalo ukidati, taman da su novoj Galaksiji prikačili i ssd drajv, a u stvarnosti nema ni sd karticu.
Uostalom zvučni zapis sa kasete se može snimiti kao Wav fajl i puštati sa nekog mp3 plejera ili telefona, funkcionalno kao sa kasetofona, uz ono tradicionalno pištanje i zujanje.
Spectrum emulatori na Pico rp2040 pločama od 7-8 evra, mogu da učitavaju igre na taj način, a imaju i sd karticu za moderniji i brži pristup fajlovima, plus hdmi i usb portove.
Ja nigde nisam ni pominjao tih par pokušaja sa zvučnim izlazom na Galaksiji bez tonskog čipa, ali je i to moguće (povezivanjem na MIC port), kao i grafika u višoj rezoluciji, opet sve softverski.
Inače, zvuk preko kasetofona je podržan i u igri Svemirski trgovac, demou Dancing Deamon, a sa AY dodatkom i u igrama Voracity i Zid koju sam pominjao ranije, sve na klasičnoj Galaksiji.
Što se tiče cene, ona citirana rečenica je i napisana tako da bude dvosmislena, ali 100 dolara je oko 10k dinara, tvoja je izaša preko 19k, dakle prilično nategnuto.
Za sada još uvek nisam čuo da Galaksija može da se koristi bez tastera, bez kapica doduše može, ali je malo pipavo. ;)
Što se tiče Spectruma i biper zvuka, kada bi samo znao šta su ljudi izvukli iz Z80 bez tonskog čipa, ne bi verovao svojim ušima, ali to je druga i duga tema, proguglaj malo 1-bit sound, kačio sam i ja ponešto, za početak, odslušaj par albuma najpoznatijih modernih kompozitora biper muzike na Spectrumu:


 
Vrh Dno