Closed cibersheep closed 1 year ago
Answering myself about the case sensitiveness: Yes it makes a difference :)
$,/asm bios.asm
Debug from: 0 to 0
21:06:07
Getting Labels.
Label Pass Complete - 1 labels found.
21:06:07
Compiled 2 lines
Final Code Start: 65535
Final Code End : 0
No errors. Building binary file.
Writing :bios.asm.BIN start:FFFF end:0000
Written :-65536 bytes.
Writing Intel Hex File also.
Writing HEX :./bios.asm.HEX start:FFFF end:0000
Written :-65536 bytes.
which compiles empty binaries
vs renaming the file to uppercase
$./asm BIOS
Debug from: 0 to 0
21:28:17
Getting Labels.
ORG Statement found:STARTLOCATION on line 36 Equates to:FC00
ORG Statement found:CCP_WARM_BOOT on line 82 Equates to:FC3D
ORG Statement found:DISK_PARAMETER_HEADERS on line 86 Equates to:FC40
Label Pass Complete - 93 labels found.
ORG Statement found:STARTLOCATION on line 36 Equates to:FC00
ORG Statement found:CCP_WARM_BOOT on line 82 Equates to:FC3D
ORG Statement found:DISK_PARAMETER_HEADERS on line 86 Equates to:FC40
21:28:17
Compiled 1048 lines
Final Code Start: 64512
Final Code End : 65397
No errors. Building binary file.
Writing :BIOS.BIN start:FC00 end:FF75
Written : 884 bytes.
Writing Intel Hex File also.
Writing HEX :BIOS.HEX start:FC00 end:FF75
Written : 884 bytes.
which compiles a ¿valid? binary :)
You are correct. I wrote the BAT file as a quick solution for windows and forgot about Linux. Early versions of LokiOS ran under Linux just fine, so I suppose I should consider rebuilding those. Although I'm not sure of FreeBASICs handling of graphics under Linux as I rarely use Linux outside of a text console. Do you know if it supports the creation of screens in the same was as the Windows version does? FreeBasic is mostly transportable but I think it draws the line at graphics. Nonetheless, I'll look into that now you've made me thing about it.
LokiOS is case insensitive - It doesn't care whether you type dir or DIR or DiR - it strips out case before it matches it in the command sense, while normal CP/M isn't case sensitive per-se, but it "sanitises" everything to all-caps in the CCP.
It wasn't ASM.BAS, it was a general issue of Linux being case sensitive as you worked out. I rebuild the repository so as to be all lower case, so now if you use make.linux, it should build correctly. I have no idea if Linux can handle the graphics requirements though as I don't presently have a functional X system. Also some device names such as CON: still have to be addressed.
Thank you! I could built the project adding the deprecated language ;) About graphics: I have no idea, I'm just a simple user... but see screenshot. Running loki2 opens a graphical windows and ¿freezes?
I'm on Ubuntu 20.04 using FreeBASIC Compiler - Version 1.06.0 (03-06-2019), built for linux-x86_64 (64bit) Trying to compile asm.bas throws some errors in the fashion:
$fbc asm.bas
asm.bas(122) error 148: Suffixes are only valid in -lang fb or deprecated or fblite in 'target=left$(target,location-1)+contents+right$(target,len(target)-len(contents)-location+1)'
The compiler needs this parameter to work:
fbc -lang deprecated asm.bas
Additionally, I don't know if filename case is important (I read LokiOS is case sensitive)
When I finish compiling the project I can add some more clear instructions, if that's useful :)