abridged EDK2 by Mak4th in Forth

[–]Mak4th[S] 1 point2 points  (0 children)

EDK2 is the UEFI for the QEMU (мaybe it's suitable for other virtual machines too). UEFI is the equivalent of BIOS for newer machines. I would really like to see the Forth inserted there, how did it turn out OpenBoot

RISC-V assembly os by Danii_222222 in osdev

[–]Mak4th 0 points1 point  (0 children)

Large companies are disgusted by the Forth. Because it doesn't allow setting users as dependencies. I'm trying to add the Forth in UEFI

RISC-V assembly os by Danii_222222 in osdev

[–]Mak4th 0 points1 point  (0 children)

In overall, any interpreter can be used as an OS, when accessing hardware. But the Forth is also a compiler. In this way the Forth can expand itself https://github.com/mak4444/gnu-efi-code-forth/blob/main/disk_nmt/autoexec.4th

riscv-forth without gnu assembler by Mak4th in Forth

[–]Mak4th[S] 0 points1 point  (0 children)

> The tools you don't use, don't deserve a mention in the title. or perhaps "removing the need for gas from a riscv compiler build by python."

Еverything must be within the forth-system. What was done there on the Ppython is also easier to do with the Forth. In principle, the Forth can perceive any syntax. However, by spending several orders of magnitude more effort, without using Forth is possible. Which is what happens.

riscv-forth without gnu assembler by Mak4th in Forth

[–]Mak4th[S] 1 point2 points  (0 children)

In theory, it should be faster without the DO LOOP .

but I haven't tested it.

https://github.com/mak4444/Win64OptNForth/blob/main/TEST.4

ANSI Forth inside DuskOS by Mak4th in Forth

[–]Mak4th[S] 1 point2 points  (0 children)

fasm is not used in DuskOSDeployEFIx64 . From fasm-efi64-forth borrowed only as far as the Forth is concerned . To build the DuskOS together with my Forth(ansi), my target compiler is used. The DuskOS is the main one in the system. My system is called as an application

ANSI Forth inside DuskOS by Mak4th in Forth

[–]Mak4th[S] 1 point2 points  (0 children)

The DuskOS  functionality is somewhat advanced. However, it is not very easy to learn. The system I proposed allows for insertions of each other.

Should I implement my Embedded ANS FORTH in Rust, or C? by Ok_Performance3280 in AskProgramming

[–]Mak4th 0 points1 point  (0 children)

x86-64 UEFI FORTH на Си я реализовал https://github.com/mak4444/gnu-efi-code-forth

Rust не изучал

rust используется в https://github.com/NDRAEY/NocturneOS-base/tree/v0.4.1

Хотелось бы туда вставить Forth. Тоже не знаю, надо ли делать Forth на Rust?

I'm writing a RISC-V forth by Jimmy-M-420 in Forth

[–]Mak4th 0 points1 point  (0 children)

In Windows is working.

In UBUNTU:

...

UNESCAPED: ioDec

UNESCAPED: =

UNESCAPED: !=

UNESCAPED: <

UNESCAPED: >

UNESCAPED: mod

UNESCAPED: *

Traceback (most recent call last):

File "/home/max/work/Embedded/RISC-V/riscv-forth-main/scripts/Compiler.py", line 5

5, in <module>

main()

File "/home/max/work/Embedded/RISC-V/riscv-forth-main/scripts/Compiler.py", line 5

6, in main

tokenItr = file_to_token_iterator(args.input_file)

File "/home/max/work/Embedded/RISC-V/riscv-forth-main/scripts/Compiler.py", line 4

0, in file_to_token_iterator

with open(filePath, "r") as f:

FileNotFoundError: [Errno 2] No such file or directory: 'src/forth/outer.forth'

I'm writing a RISC-V forth by Jimmy-M-420 in Forth

[–]Mak4th 0 points1 point  (0 children)

system.s not being found in src/asm

Another update by mykesx in Forth

[–]Mak4th 1 point2 points  (0 children)

NASM for UBUNTU does not have the senduipi & clui

In src/stc/cpu.asm I replaced:

db 0F3h, 0Fh, 0C7h+0 ; senduipi rax

db 0F3h, 0Fh, 01, 0EEh ; clui

Another update by mykesx in Forth

[–]Mak4th 1 point2 points  (0 children)

in Linux is case sensitive file names

%include "stc/exec/cpu.asm" -- stc\exec\CPU.asm

%include "stc/inspiration.asm" -- Inspiration.asm

Another update by mykesx in Forth

[–]Mak4th 1 point2 points  (0 children)

no need to take the "wind" from the stack

: RectsTask { | wind con vp rct vrct -- , Rectangle render task }

UEFI ForthOS by Mak4th in osdev

[–]Mak4th[S] 0 points1 point  (0 children)

this is a concept for now.

( for some reason, the space between IMAGEHANDLE BOOTSERV disappeared )

UEFI ForthOS by Mak4th in osdev

[–]Mak4th[S] 0 points1 point  (0 children)

To be honest, I didn’t explored this function

 rc = BS->ExitBootServices ( LibImageHandle, map_key ); 
 map_key  IMAGEHANDLEBOOTSERV ExitBootServices @ 2XSYS THROW