Summary Files Commits Branches @commit @diff @stats
path: root / hello_world / basic_starter.oph
diff options
context:
space:
mode:
Commitc2390be02870aa8cdc52f24d145247f6c1fca3a4 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-07-31 07:23:40 +0300
Committer
 Syndamia <kamen@syndamia.com>
2025-07-31 07:23:40 +0300
Files2799d29f41b45f2bb9715ebf712611b7acc3a7c9 /hello_world/basic_starter.oph
c64-programs-c2390be02870aa8cdc52f24d145247f6c1fca3a4.tar
c64-programs-c2390be02870aa8cdc52f24d145247f6c1fca3a4.tar.gz
c64-programs-c2390be02870aa8cdc52f24d145247f6c1fca3a4.zip
Parent26f47ec8631e796e1cab4361ba057292a72c1d0f (diff)
fix(hello_world): Add .s to filename extension
So files are correctly recongized as assembly
1 files changed, 0 insertions, 28 deletions
-rw-r--r--hello_world/basic_starter.oph28
diff --git a/hello_world/basic_starter.oph b/hello_world/basic_starter.oph
deleted file mode 100644
index b893c08..0000000
--- a/hello_world/basic_starter.oph
+++ /dev/null
@@ -1,28 +0,0 @@
-; PRG format
-; Contains two bytes of header data, address from which
-; the rest of the file will be loaded into memory.
-; BASIC memory starts at addr 2048, we effectively place "10 SYS 2064"
-; and an end of program after it. Then immedately afterwards
-; we place our command on addr 2064.
-; When BASIC loads up, it runs "10 SYS 2064" and passes up execution there.
-; Then, when we return, we get a zero which indicates termination.
-
-; The starting address is defined by the value (label or alias) "main".
-; Since in basic we need to provide a decimal string, but we store a decimal value, we need
-; to do this complicated convertion.
-.alias main_addr_ch1 '0 + main / 10000 ; 65535 -> 6
-.alias main_addr_ch2 '0 + [main - main / 10000 * 10000] / 1000 ; 65535 -> 65535 - 60000 = 5535 / 1000 = 5
-.alias main_addr_ch3 '0 + [main - main / 1000 * 1000] / 100 ; 65535 -> 65535 - 65000 = 535 / 100 = 5
-.alias main_addr_ch4 '0 + [main - main / 100 * 100] / 10 ; 65535 -> 65535 - 65500 = 35 / 10 = 3
-.alias main_addr_ch5 '0 + main - main / 10 * 10 ; 65535 -> 65535 - 65530 = 5
-
-.word $0801 ; Header -- addr 2049
-.org $0801 ; Program Counter
-
-.scope
- .word _eop ; Next line addr (I guess it is used to tell how long the line is?)
- .word 10 ; 10 (line of BASIC program)
- .byte $9e," " ; SYS 2064 (opcode for SYS and null terminated string)
- .byte main_addr_ch1,main_addr_ch2,main_addr_ch3,main_addr_ch4,main_addr_ch5,0
-_eop: .word 0 ; End of program
-.scend