Zmiana ORG na zero spowoduje zmianę adresów, ale nie spowoduje poprawnego działania - musiałbyś na początku dodać kod ustawiający stos, przerwania itp. Pod $38 ei/ret żeby przerwania działały itp. A na koniec skompilować jako --bin i podać do emulatora jako cart IF2.
Co do RetroVirtualMachine - ten emulator jest ładny, ale do praktycznego zastosowania (zwłaszcza "programistycznego") jest mocno taki sobie. Zostań raczej przy Spectaculatorze - tam zdaje się jest normalny debugger itp.
edit:Żeby twój kod działał w ROMie należałoby mu zrobić coś takiego na początku:
org 0
di
ld sp,$7fff
im 1
ld hl,16384
ld de,16385
ld bc,6144
ld (hl),l
ldir
ld (hl),56
ld bc,768
ldir
ld a,7
out(254),a
ei
jp main
ds 56-$
ei
ret
Do tego deklaracje zmiennych trzeba zmienić z DB na EQU do RAMu, np tak:
x_coordinate: equ $5b00
y_coordinate: equ $5b01
I jeszcze żeby emulator nie krzyczał, że cart jest za krótki bo chce 16 kilo w ostatniej linii dodać
ds 16384-$
Tak zmodyfikowany kod się kompiluje i wykonuje poprawnie po podpięciu jako cart IF2.