Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

ARM version of MSDOS (Announce)

posted by Richard, 06.11.2022, 09:31

> Hello Rugxulo, hello Richard,
>
> > > I think for modern platforms,
> > > QB64 is probably one of
> > the
> > > better options (outputting to C++ with libraries).
> > As far as I know, QB64 only runs on Intel 32/64 bit on Windows (Various
> > versions), Linux, and MAC (Intel only) OS's.
> > FreeBASIC (competitor to QB64) - can run on DOS (special version of
> > FreeBASIC - I have used FreeBASIC DOS version with FreeDOS), as well as
> > Windows and LINUX. Do not know if can run on ARM processors.
>
> Well, I know that donkey.bas works on Rob Hageman's
> PC-BASIC, because I
> tested it just a moment ago.
>
> PC-BASIC itself is written in Python though. I seriously considered
> getting PC-BASIC to run on MS-DOS/FreeDOS by way of some Python compiler
> — that was before Microsoft open-sourced (most of) their 1983 version
> of GW-BASIC.
>
> I have not tried running donkey.bas under either QB64, or FreeBASIC, or BBC
> BASIC — but maybe I should.
>
> Thank you!







I think I may be getting off-topic/misunderstanding this thread - so I wish to correct/update an earlier response from me ...

All the following is quotes from some people who have knowledge of running QB64 on a Pi

>>>To run QB64 on a Raspberry PI, you need to do a few things to QB64 in order to compile and run programs.

>>>Also, right now, QB64 will only run on a 32-bit running on the RPI. I haven't yet gotten it to work on 64-bit OS's. I am still researching if this is possible. It just might be a PI ARM issue. I am experimenting with settings in the ARM chip itself and GCC/G++ compiler options from the ARM technical documents I've obtained from the IEEE. Very few in my local chapter have had experience in the ARM, and none with QB64.

>>>However, there are a few issues that are part of the PI's ARM processor that cannot be easily fixed in QB64.

>>>Most programs will compile and run fine. Others will get one or both of the following issues:

1) Racing Conditions (can appear as SIG BUS errors)
2) Misaligned Addresses, or misaligned word errors (appears as SIG BUS errors)

>>>For the most part, identifying where the racing condition is occuring (you will need to do a gdb session to find out), a simple _DELAY .3 will fix it. Racing occurs when QB64 creates multiple threads, and since QB64 isn't really a multithreaded programming language (the backend C++ is), there can be issues.

>>>There are two ways to fix the misaligned address/word issue. One way is to use the -fsanatize compiler option. However, the better fix for most of these issues has been added to the common.h file provided. The code that fixes this and other non-x86 issues is:



>>>>We've had several folks get QB64 up and running on a Pi, which has an ARM processor. I've never had one for testing or playing around with, but from what I remember, the biggest change needed is to #define NOTX86, or something similar inside the C source and then compile. Do a search for installing on Pi, and you'll probably find what you're looking for to get things working (at least somewhat) for you. I think there may be some issues with data alignment, or some such, that would need to be tweaked, but that one define is the biggest change needed, from what I remember.


If the above quotes are "on-topic" for this thread - I can supply links which also has code-boxes and more details associated

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 115 users online (0 registered, 115 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum