This unit is a replica made using original design and 
		parts. The computer has been designed in 1983, when Author, Voja 
		Antonić, found that it is possible to generate picture signals by using 
		CPU, not a complex and proprietary display chip. While in UK this 
		resulted with ZX81, in Yugoslavia we have Galaksija - a Z80-based home 
		computer with 4-6kB of RAM and BASIC interpreter.
		Because the ROMs used are 4kB, BASIC interpreter has to be compact. 
		Error messages have been minimized to HOW?, WHAT? and SORRY (out of 
		memory). More advanced math functions, machine code interpreter and 
		editor have been moved to additional 4kB EPROM. It was so condensed that 
		even some text strings have been used as machine code too.
		The machine has been presented in a series of articles in “Computers in 
		your home" (Racunari v vasoj kuci) cycle. It was possible to purchase 
		parts imported by one of national companies and PCB, but one-sided board 
		could be reproduced in home conditionns by an experienced hobbyist. All 
		official EPROMs have been programmed by Author.
		A serier of simple games and educational programs circulated on tapes, 
		so it was easy to duplicate them. By using expansion connector it was 
		possible to add a memory expansion or parallel port.
		Official documentation mentions making case using scrap PCB. That's why 
		most existing units have no bottom plate and has copper tracks exposed. 
		I have diverted from assembly and used a wooden case for it.
| Manufacturer | - | |
| Origin | Yugoslavia | |
| Year of unit | 2018 | |
| Year of introduction | 1983 | |
| End of production | - | |
| CPU | Z80 | |
| Speed | 3.072MHz | |
| RAM | 6kB | |
| ROM | 2x4kB | |
| Colors: | 2 | |
| Sound: | None | |
| OS: | BASIC | |
| Display modes: | 32x16 text 64x48 semigraphic  | 
			|
| 
				 
  | 
			||
| Media: | Tape | 
				 
  | 
			
| 
				 
				 
				+5V DC Regulated, about 1A  | 
			||
| I/O: | System bus  Tape I/O RF out (if modulator installed) Monitor out  | 
			|
| Possible upgrades: | Some add-ons available | |
| Software accessibility: | Some (dedicated sites) | 
| 
				 My unit is a replica I built in 2018 using PCB tracks print and PCB. It is a fully functional unit. It has been made using specifically old components as much as possible, with Z80A CPU made by MME. The keyboard is made of contacts from an old PC keyboard. The power supply has been made also of vintage parts. For more technical, construction and build-related information see the Build Log.  | 
				
| Contents: | Pinouts | Starting, tapes | BASIC | Links | 
| 
				 Most of them depend on specific construction as it was 
		possible to freely connect wires from DIN sockets. Usually power supply 
		gives regulated (and filtered using a higher-capacity electrolytic 
		capacitor) 5V at around 0.8-1A. Additional 12V is supplied only for RF 
		modulator power. WARNING: Tape IN/OUT in some documentation is inverted. Carefully observe on schematic: Connection FROM TAPE to computer is finally going to base of transistor, while FROM COMPUTER to tape goes into resistors ladder and data line (D12?).  | 
				
				 
				  | 
			
Tape files are "GTP" format. This can be played back to 
		WAV by GTP2WAV tool from
		
		here.
		To load into computer, use OLD command which is for loading and 
		play the tape.
To initialize a ROM2, use the following command: A=USR(&1000) - then you will be able to use ROM2 commands.
ROM1 commands:
| !... | Like other BASICs REM - begins comment | 
| #... | Like other BASICs DATA | 
| & | Use as prefix before number if it is written in hex. | 
| ARR$(x) | Allocates array of strings. Can only allocate array A$ - with exactly this name | 
| BYTE | Universal PEEK/POKE tool. PEEK is like PRINT BYTE(&33F9), POKE is like BYTE &33F9,&C4 | 
| CALL n | Like other BASICs GOSUB. Allows to use variables for line numbers. | 
| CHR$(n) | ASCII code to character | 
| DOT x, y | When used as command, draws dot at x,y (X in 0..63, Y in 0..47). Used as function- checks is there a dot. | 
| DOT * | ? | 
| EDIT n | Edit specified BASIC line | 
| ELSE | for IF | 
| EQ | compare strings. | 
| FOR | A typical FOR loop | 
| GOTO | A standard GOTO | 
| HOME | Clear screen Optional argument (HOME x) preserves x characters. | 
| IF | An IF, but there is no THEN! | 
| INPUT | Make user enter variable | 
| INT(x) | Return largest integer <=x | 
| KEY(x) | Is x key pressed? | 
| LIST | LISTs program. Optional argument specifies from which line. | 
| MEM | How much memory is used? | 
| NEW | Clears program. Optional argument (NEW x) changes start of BASIC area for potential user data./code. | 
| NEXT | for FOR | 
| OLD | Load from tape. Optional argument loads to address (OLD x) | 
| PTR | Address of variable | 
| Prints expression | |
| RETURN | return from GOSUB | 
| RND | Returns a random fload between 0 and 1 | 
| RUN | Runs a program | 
| SAVE | Save program to tape. Optional arguments: memory range to be saved (e.g. for data) | 
| STEP | For FOR | 
| STOP | Stops running of BASIC program | 
| TAKE | If the parameter is variable name, reads it. If number - clears data under pointer | 
| UNDOT | Inverse to DOT. | 
| UNDOT * | ? | 
| USR | Calls user routine from memory | 
| WORD | Double byte PEEK/POKE (see BYTE) | 
ROM2 can be started with USR routine X=USR(&1000). In some ROM versions (see build log entry) it starts automatically. So ROM2 commands are following:
| SQR (x) | Square root | 
| POW (x,y) | Power, values non-zero. | 
| PI | 3.141... | 
| EXP (x) | e^x | 
| LN (x) | Logarithm | 
| SIN/COS/TG | Trigonometric functions | 
| SIND/COSD/TGD | Trigonometry for degree measure | 
| ARCTG (x) | Arctg | 
| ABS (x) | Absolute value | 
| DEL x, y | Delete BASIC linex x..y | 
| REN x | renumber every X lines (e.g. REN 5 renames 5, 10, 15), but does not touch labels! | 
| "-operator | A = 10 + "X" - ASCII value of "X". Geenrally, first character in ""-string. | 
| PRINT% "x" | Value of X in 4-character hex (&0058). PRINT% converts result to 4-digit hex value. | 
| DUMP x, y | display memory content from X, for Y rows (1 row: 8 bytes). | 
| /word | search and show all program lines containing word | 
| INP (x) | get content of x port | 
| OUT (x, y) | emit byte y to port x. x,y 0..255, port 255 is Centronics expansion. | 
| L... | LPRINT, LLIST, LDUMP - commends to Centronics printer expansion | 
Assembler: Routines are written like BASIC programs, start 
		by < [return], ORG [address], end with > [return].
		Arithmetics (integer): +, -, # (AND), < (sh. left), > (sh right).
		Type: BYTE, WORD, TEXT - e.g.
CHRNAME BYTE "X"
		TXTNAME TEXT "GALAKSIJA"
Additional mnemonics:
		OPT x, y  - save code into - y - relocation (optional), x=1 - asm 
		on screen, 2 - asm to memory, 4 - asm to printer - default 3.
		REG - sets trap, any key contiinues.
See
		this for 
		ROM2 information.
 
		- 
http://www.spetsialist-mx.ru/Galaksija/ - Galaksija site with good 
schematics, PCB, ROMs
		-
M.Sc. thesis - Mr Tomaz Solc's Master Thesis about replicating Galaksija 
		- 
http://emulator.galaksija.org/MagScans/index.html - RACUNAR Magazine scans
		- 
http://www.voja.rs/galaksija/galaksija.htm - More high-resolution scans. 
		This is Mr. Antonić site.
		- 
http://www.dejanristanovic.com/refer/index.htm - His texts are there, use 
Google if you cannot find them.
		-
http://retrospec.sgn.net/users/tomcat/yu/Galaksija_list.php - Games and 
programs. Most are in Galaksija's TOSEC.
		- 
http://emulator.galaksija.org/ - Emulator.
		- 
		https://www.tablix.org/~avian/galaksija/rom/rom1.html - ROM A 
		disassembly, commented and ready for sightseeing.
		-
		
		https://www.tablix.org/~avian/blog/archives/2008/12/galaksija_gets_a_c_compiler/ 
		- NOT TESTED. Galaksija got a cross-platform C compiler.
		-
		
		https://www.exploit-db.com/docs/english/40621-poc--gtfo-0x09.pdf - 
		"PoC or GTFO" magazine collects security information and different ideas 
		from hacker culture, they reprinted a full, ilustrated "Napravi i ti 
		racunar Galaksija" article. Pardon inside humour :).