[Freedos-devel] FYI: Website update happening this week

2023-12-27 Thread Jim Hall via Freedos-devel
I wanted to let everyone know that I'm planning to (finally!) put the
new website "live" in the next few days. This is the updated version
of the website that I've shared via email several times over the last
year or so. The "test" version of the new site is here, if you want to
preview it:
https://test.freedos.org/


The upgrade might cause the https://www.freedos.org/ website to be
down briefly, because I'm also changing several things on the "back
end" about how the website is hosted/managed. So it's more than just
an HTML update, a bunch of things are changing behind the scenes.

I'll post a message on the website when I push the new site live. But
in case things take longer than expected and the
https://www.freedos.org/ website appears to be "down" or "empty" at
some point in the next week, that's just me making the move.


*Between now and then, I'm comparing the current site to the new site
to make sure that everything gets moved over. And that any archived
content gets saved.

Jim


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Merry Christmas to everyone

2023-12-27 Thread Mercury Thirteen via Freedos-devel
Thank you, and a Merry Christmas to you and your family!

Sent with [Proton Mail](https://proton.me/) secure email.

On Sunday, December 24th, 2023 at 11:16 PM, Jim Hall via Freedos-devel 
 wrote:

> I just wanted to wish everyone a Merry Christmas, to all who celebrate!
>
> Also looking forward to 2024!___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Learning DOS assembly programming

2023-12-27 Thread marcelo.spitteler--- via Freedos-devel
A86. 

Sent from Yahoo Mail on Android 
 
  On Tue, Dec 26, 2023 at 13:49, Jim Hall via 
Freedos-devel wrote:   I actually never 
learned DOS assembly programming, but decided I'd
like to start.

What assembler do you recommend, and where is a good place to start
learning about DOS assembly programming? Start with a "Hello world"
program and eventually move up to writing an assembly version of TYPE
and CHOICE, things like that.

I was thinking about NASM, since it's open source and we include it in
the distribution. Looking around, I found a bunch of tutorials on
https://asmtutor.com/ that look easy enough to follow, although it's
for Linux. Any similar tutorials to learn DOS assembly programming?

Or would you recommend a different DOS assembler (and how-to guide) as
a place to start?


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel
  
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Learning DOS assembly programming

2023-12-27 Thread Radek Krzyśków via Freedos-devel
Hello Jim,

I started learning assembly with 32-bit x86 Intel syntax (Windows),
and it is easier to understand a flat memory model rather than all the
segment-register addressing and some limitations of registers
usage/combinations.

Anyways, when it comes to real mode 16-bit DOS, the best way to start
is by examining some simple ".COM" programs with the
"DEBUG.COM"/"DEBUG.EXE", get familiar with the syntax, etc. (use
virtual machine or "DOSBox" emulator to not crash the real OS)

Learn about structures like "Program Segment Prefix", the Stack,
calling conventions, the 640kB conventional memory. Compare some "C"
source code with a program that does the same in "ASM" using system
interrupts and user procedures.


Some useful resources:
https://en.wikibooks.org/wiki/X86_Assembly
https://www.pcjs.org/documents/books/mspl13/msdos/

https://archive.org/details/Advanced_MS-DOS_Programming_2nd_Edition_Ray_Duncan/
https://fd.lod.bz/rbil/index.html


Then of course you can read through source code repositories, like the
"MS-DOS 2.0" archive:
https://github.com/microsoft/MS-DOS/tree/master/v2.0/source


As others already suggested, assemble tiny ".COM" programs with
"NASM", then maybe compare output from "DEBUG" listing to your ".ASM"
source code.


Best regards,
Radek


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Learning DOS assembly programming

2023-12-27 Thread Ben Collver via Freedos-devel
In the early 90's, i learned assembly on DOS using the A86 assembler and the 
book Using Assembly Language by Allen Wyatt.  It was enlightening to use the 
D86 debugger to step through other code, including the code in the BIOS ROM.  
The IDA disassembler came in handy later on.

A86 & D86:

http://www.eji.com/a86/

IDA:

http://www.dcee.net/Files/Programm/Utils/

I agree that NASM would be a great choice to learn with, and i think DEBUG.COM 
is adequate for stepping through simple code.  Below are links to additional 
free reference material for ASM on DOS.

https://web.archive.org/web/20180127094538/http:/kipirvine.com/asm/debug/Debug_Tutorial.pdf

https://www.plantation-productions.com/Webster/www.artofasm.com/DOS/index.html

https://pacman128.github.io/pcasm/

https://www.seabios.org/Developer_links

http://bespin.org/~qz/pc-gpe/

Best regards,
-Ben

___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Learning DOS assembly programming

2023-12-27 Thread Aitor Santamaría via Freedos-devel
Hello Jim,

As the rest suggested, I'd go for NASM too. It's plain and easy to get
ongoing. It was my favourite when I wrote a couple of ASM utilities like
APPEND.

The drawback is that once you get used to it,  you start reading assembly
written for MASM or TASM and you happen to find a different syntax in what
refers to memory indirection. And no matter if you think that NASM syntax
is more coherent (I do, or perhaps I do because I started with NASM), most
of the code out there follows the MASM/TASM syntax and you need to get used
to it.

Just adding my own experience,
Aitor




On Tue, 26 Dec 2023 at 17:49, Jim Hall via Freedos-devel <
freedos-devel@lists.sourceforge.net> wrote:

> I actually never learned DOS assembly programming, but decided I'd
> like to start.
>
> What assembler do you recommend, and where is a good place to start
> learning about DOS assembly programming? Start with a "Hello world"
> program and eventually move up to writing an assembly version of TYPE
> and CHOICE, things like that.
>
> I was thinking about NASM, since it's open source and we include it in
> the distribution. Looking around, I found a bunch of tutorials on
> https://asmtutor.com/ that look easy enough to follow, although it's
> for Linux. Any similar tutorials to learn DOS assembly programming?
>
> Or would you recommend a different DOS assembler (and how-to guide) as
> a place to start?
>
>
> ___
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel
>
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Learning DOS assembly programming

2023-12-27 Thread tom ehlert via Freedos-devel
Hallo Herr Jim Hall via Freedos-devel,

am Dienstag, 26. Dezember 2023 um 17:42 schrieben Sie:

> I actually never learned DOS assembly programming, but decided I'd
> like to start.

> What assembler do you recommend,
for noobies, they are all the same: take NASM.

"hello World" programmers don't need highly optimizing C++ complers nor do they 
have a need for macros.



>  and where is a good place to start
> learning about DOS assembly programming? 
get a book.
read other peoples programs. with a little luck there are even comments in the 
source.
while FreeDOS luckily is almost free from assembler nonsense, there is still 
enough .ASM
to learn from.
read what ASM the C compiler generates from your C programs.


> Start with a "Hello world"
> program and eventually move up to writing an assembly version of TYPE
> and CHOICE, things like that.

get the Ralph Brown interrupt list
implement stuff in C.
learn to single step your programs using DEBUG. 

learning to program (in any language) is mostly about reading and 
understanding, 
not so much about writing programs. 


Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel