mirror of
https://github.com/KarolS/millfork.git
synced 2026-04-20 03:16:45 +00:00
Add 8080-to-8086 translation
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
;a COM program for DOS
|
||||
[compilation]
|
||||
arch=i8086
|
||||
encoding=ascii
|
||||
modules=default_panic,stdlib,pc_dos
|
||||
|
||||
[allocation]
|
||||
segment_default_start=$100
|
||||
segment_default_datastart=after_code
|
||||
segment_default_end=$ffff
|
||||
; TODO: actual end?
|
||||
|
||||
[define]
|
||||
IBM_PC=1
|
||||
WIDESCREEN=1
|
||||
KEYBOARD=1
|
||||
JOYSTICKS=0
|
||||
HAS_BITMAP_MODE=0
|
||||
|
||||
[output]
|
||||
style=single
|
||||
format=allocated
|
||||
extension=com
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#pragma intel_syntax
|
||||
|
||||
import default_readword
|
||||
|
||||
inline asm void exit() {
|
||||
[$b4, 0, $cd, $21]
|
||||
? ret
|
||||
}
|
||||
inline asm void putchar (byte e) {
|
||||
[$b4, 2, $cd, $21]
|
||||
? ret
|
||||
}
|
||||
|
||||
inline void new_line() {
|
||||
putchar(13)
|
||||
putchar(10)
|
||||
}
|
||||
|
||||
inline asm byte getchar() {
|
||||
[$b4, 1, $cd, $21]
|
||||
? ret
|
||||
}
|
||||
|
||||
array __readline_out[83]
|
||||
const pointer readline_out = __readline_out.addr + 2
|
||||
|
||||
pointer readline() {
|
||||
__readline_out[0] = 81
|
||||
__readline_out[1] = 0
|
||||
asm {
|
||||
? lxi d, __readline_out.addr
|
||||
[$b4, $0a, $cd, $21]
|
||||
}
|
||||
__readline_out[__readline_out[1] + 2] = 0
|
||||
new_line()
|
||||
return __readline_out + 2
|
||||
}
|
||||
@@ -5,6 +5,9 @@ word rand_seed
|
||||
import random_6502
|
||||
#elseif ARCH_I80
|
||||
import random_i80
|
||||
#elseif ARCH_X86
|
||||
#warn 8086 is a partially supported architecture
|
||||
import random_i80
|
||||
#else
|
||||
#warn Unsupported architecture
|
||||
#endif
|
||||
|
||||
+3
-2
@@ -4,8 +4,9 @@
|
||||
import stdlib_6502
|
||||
#elseif ARCH_I80
|
||||
import stdlib_i80
|
||||
#else
|
||||
#warn Unsupported architecture
|
||||
#elseif ARCH_X86
|
||||
#warn 8086 is a partially supported architecture
|
||||
import stdlib_i80
|
||||
#endif
|
||||
|
||||
#if PAL && NTSC
|
||||
|
||||
Reference in New Issue
Block a user