Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-16 Thread tom ehlert
Hallo Herr Knedlik,

am Sonntag, 15. Januar 2023 um 15:17 schrieben Sie:

> Okay, I’m still even a few days after very confused. I came into
> DOS with my only programming knowledge being on modern 64-bit
> systems and I didn’t even go lower-level than C++.
> I have no idea where to start - I would love to learn how to do all
> the cool stuff like graphics and then extending the base stuff with
> more bits (a bit theoretical, but would a 64-bit extender be
> possible?) and a GUI desktop, but where do I learn this stuff? What should I 
> learn as a prerequisite?

learn to search. maybe

https://open-watcom.github.io/open-watcom-v2-wikidocs/clib.html#Graphics_Library

Tom



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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-15 Thread Mercury Thirteen via Freedos-devel
Actually, someone has already done some work on that. :)

Check this out:
https://www.codeproject.com/Articles/894522/The-Low-Level-M3ss-DOS-Multicore-Mode-Interface




Sent with Proton Mail secure email.

--- Original Message ---
On Sunday, January 15th, 2023 at 9:17 AM, Knedlik  
wrote:


> Okay, I’m still even a few days after very confused. I came into DOS with my 
> only programming knowledge being on modern 64-bit systems and I didn’t even 
> go lower-level than C++.
> I have no idea where to start - I would love to learn how to do all the cool 
> stuff like graphics and then extending the base stuff with more bits (a bit 
> theoretical, but would a 64-bit extender be possible?) and a GUI desktop, but 
> where do I learn this stuff? What should I learn as a prerequisite?
> -Knedlik
> 
> 
> 
> ___
> 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]  Re: Where to start and continue?

2023-01-15 Thread Ralf Quint

On 1/15/2023 6:17 AM, Knedlik wrote:

Okay, I’m still even a few days after very confused. I came into DOS with my 
only programming knowledge being on modern 64-bit systems and I didn’t even go 
lower-level than C++.
Well, that are two hurdles at once. In order to work with DOS (any DOS), 
you kind of need to forget a lot of what you might take for granted

I have no idea where to start - I would love to learn how to do all the cool 
stuff like graphics and then extending the base stuff with more bits (a bit 
theoretical, but would a 64-bit extender be possible?) and a GUI desktop, but 
where do I learn this stuff? What should I learn as a prerequisite?


As I mentioned in an earlier reply, start with really programming in 
DOS. Start to learn what the limitations of DOS are, but also what 
leeway you have when programming in DOS. With great possibilities, also 
come great responsibilities.


Nothing personal, but I always wonder why people that come to FreeDOS 
(now that DOS per se is official dead for 28 years) and then their 
immediate focus is "a GUI desktop" and things like a "32bit/64 bit 
extender". Ultimately, it sounds as if those people pretty much want to 
re-invent the wheel and recreate a current version of Linux, not 
actually working in/with DOS


I had started to write a article/tutorial about programming for DOS, but 
due to changes in my personal situation last year, this is currently on 
ice and I would have to get to my storage (probably not before next 
Saturday) to retrieve my older laptop or at least the backup disks from 
my storage to continue this, or start all over again...


Ralf




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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-15 Thread Steve Nickolas
My comments here are directed to the OP, but build off the message to 
which I am replying.


On Sun, 15 Jan 2023, jer...@shidel.net wrote:



I don’t think your ready to tackle assembly under DOS yet. Not only do 
you need to know some variant of assembly language. That really does 
require some understanding of how DOS, BIOS and the computer itself work 
at such a low level. This knowledge is mostly gained through experience 
programming for DOS.


Even I would find writing a GUI for DOS a daunting task, and I've written 
a lot of code in C (including such complicated things as emulators). 
You're trying to swim in mile-deep waters when you can barely tread.


Therefore, you will need to start with one of the higher level 
languages. Either a variant of C or Pascal. For Pascal, the most common 
for DOS is Turbo Pascal. There are loads of example programs for it in 
books and online. However, Turbo Pascal is a closed source compiler. 
Nowadays, you can download v5.5 for free from Embarcadero. But being a 
closed source compiler, there are many individuals in the open source 
community that frown upon using it. That probably make C a better 
choice. There are lots of C resources online as well.


C is, in my opinion, the most useful language for programming in DOS.  x86 
ASM is the second-most useful.


Keep this in mind:

I got by for over 20 years with almost NO knowledge of x86 ASM, and I've 
written some complicated programs for DOS, including emulators and an IRC 
client.


You seldom, if ever, need ASM for anything more than a speed or size 
boost.  And C is usually pretty fast and lightweight on its own.  Stay in 
C as long as you can, before going deeper into the "sea".


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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-15 Thread jerome
Hi, 

> On Jan 15, 2023, at 11:19 AM, tom ehlert  wrote:
> 
> 
>> Okay, I’m still even a few days after very confused. I came into
>> DOS with my only programming knowledge being on modern 64-bit
>> systems and I didn’t even go lower-level than C++.
>> I have no idea where to start - I would love to learn how to do all
>> the cool stuff like graphics and then extending the base stuff with
>> more bits (a bit theoretical, but would a 64-bit extender be
>> possible?) and a GUI desktop, but where do I learn this stuff? What should I 
>> learn as a prerequisite?
> 
> even in the dark times of MSDOS, there was these things called
> 'books'.
> 
> you may also learn by looking at how other people have done this; look
> at http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/gui/
> there is plenty software drwaing lines and other stuff.
> 
> last not least, google. there are still bazillion resources out there.
> 
> 
> Tom

Like Tom said, there are books available. 

With few exceptions, the books are much better than trying to learn this stuff 
from websites. Most of the stuff you will find online probably will not go into 
the details you need. In my opinion, most of the online stuff requires a 
minimum of understanding and experience. I’m not saying that it cannot be 
learned strictly using the web. But, it will probably be a lot more difficult. 

Fortunately, nowadays most of the books related to DOS programming are cheap. 
Very cheap. Like pennies on the dollar cheap. A book that came out in the 90’s 
on the topic for around $50 can usually be had now for about $5. 

I don’t think your ready to tackle assembly under DOS yet. Not only do you need 
to know some variant of assembly language. That really does require some 
understanding of how DOS, BIOS and the computer itself work at such a low 
level. This knowledge is mostly gained through experience programming for DOS. 

Therefore, you will need to start with one of the higher level languages. 
Either a variant of C or Pascal. For Pascal, the most common for DOS is Turbo 
Pascal. There are loads of example programs for it in books and online. 
However, Turbo Pascal is a closed source compiler. Nowadays, you can download 
v5.5 for free from Embarcadero. But being a closed source compiler, there are 
many individuals in the open source community that frown upon using it. That 
probably make C a better choice. There are lots of C resources online as well. 

For example, I recommend watching Jim’s video on creating a simple graphics 
program to display some images to represent LEDs counting in binary from 0 to 
255. It could be a definite starting point on C with graphics in DOS. He goes 
through the whole processes of creating the program and explains each aspect 
during the process. He sometimes also takes requests on different topics. 

https://www.youtube.com/watch?v=--YP8yuRP-g 


:-)

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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-15 Thread tom ehlert

> Okay, I’m still even a few days after very confused. I came into
> DOS with my only programming knowledge being on modern 64-bit
> systems and I didn’t even go lower-level than C++.
> I have no idea where to start - I would love to learn how to do all
> the cool stuff like graphics and then extending the base stuff with
> more bits (a bit theoretical, but would a 64-bit extender be
> possible?) and a GUI desktop, but where do I learn this stuff? What should I 
> learn as a prerequisite?

even in the dark times of MSDOS, there was these things called
'books'.

you may also learn by looking at how other people have done this; look
at http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/gui/
there is plenty software drwaing lines and other stuff.

last not least, google. there are still bazillion resources out there.


Tom





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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-15 Thread Knedlik
Okay, I’m still even a few days after very confused. I came into DOS with my 
only programming knowledge being on modern 64-bit systems and I didn’t even go 
lower-level than C++.
I have no idea where to start - I would love to learn how to do all the cool 
stuff like graphics and then extending the base stuff with more bits (a bit 
theoretical, but would a 64-bit extender be possible?) and a GUI desktop, but 
where do I learn this stuff? What should I learn as a prerequisite?
-Knedlik



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


Re: [Freedos-devel]  Re: Where to start and continue?

2023-01-10 Thread Wilhelm Spiegl


 
 I am sure that you can find older people that still have old laptops with ide hds for giving away. If not, "Amazon is your friend" as a former colleague said and thought.In most cases only the BIOS battery is empty. CR2032.Willi--Diese Nachricht wurde von meinem Android Mobiltelefon mit mail.com Mail gesendet.Am 10.01.23, 11:53 schrieb Jerome Shidel :

  Hi,
   
   > On Jan 10, 2023, at 4:14 AM, Knedlik  wrote:
   > 
   > Hello all again,
   > thanks for all the responses. Definitely useful stuff. I’d just like to respond to the concerns regarding the VM - I’m afraid I don’t have any silicon able to run FreeDOS. My main computer is not only an overkill (Ryzen 5 3600X, SSD, RTX 2060, 32 gigs of RAM), but I don’t think it supports legacy BIOS. And the secondary I’m on right now is a MacBook with an M1 CPU, so even if I had bootcamp, that option wouldn’t be possible.
   > -Knedlik
   > 
   
   Don’t worry about the VM issues too much. I just wanted to point out they exist. Depending on what you may write, you could make something that is done 100% perfect that doesn’t work in a VM. 
   
   I generally use on older Intel based Mac. I have several workflows for creating stuff for DOS. When making stuff in assembly, I do my writing in BBEdit. Then compile in a terminal on the Mac. Then switch over to one of a couple VMs or Real Hardware and test. The testing part can vary based on the know limitations for the VMs. 
   
   Generally, that testing happens under DOSBox. Here I run FreeCOM on top of the DOSBox kernel. It is a sort-of hybrid install that the FreeDOS installer can perform. This permits the DOS VM easy access to the host file system. However, there are some issues. Most have to do with the disk and file system. For example, updating a files time stamp in DOS gets completely ignored. There are other issues as well. But, I usually find this the easiest workflow.
   
   Sometimes the DOS part of my workflow includes a VirtualBox instance. In the early days, getting files to and from the VM was more work. I would copy them onto a diskette image file (which is easy on a Mac). Dismount the image file. Then mount the image in VirtualBox. Test and Dismount it in the VM. And repeat. Needing to make sure I did not mount the image in both places at the same time or the image file would be trashed.
   
   Nowadays. I have a Linux server with a Samba share mounted by the Mac. The server also shares the directory over EtherDFS to the VirtualBox DOS instance running an EtherDFS client. It works well except EtherDFS does not support long file names. Which is fine because you should avoid those in DOS development. 
   
   As for VirtualBox itself, first there is no PC Speaker support. The VGA limitations mostly crop up with more advanced things like using features that require talking to the card. The basic BIOS calls work fine. 
   
   Then there is real hardware. It’s the ultimate test and nothing is better. I use both real floppies and EtherDFS to get files onto that machine. 
   
   While the different limitations of the various VMs do exist, they are issues to just avoid. You just need to be aware and able to spot them when/if they crop up. Then figure out how to avoid the problem when possible in your code. 
   
   After all, a large number of users will not have real hardware either. Like you, they will be limited to running the program in a VM. It wouldn’t make much sense to create something that neither the users or yourself can actually run. Even if it would work fine on real hardware. :-)
   
   When it comes down to avoiding the VM issues, sometimes you can and sometimes you can not. 
   
   For example, let’s say you want to make a better file copy program. One that copies file time stamps and verifies everything. You test it on real hardware and it works great. Try it under VirtualBox and it is incredibly cool. You jump into your DOSBox hybrid install and… Error: Copied file failed verification. What? Why? It worked fine on my test machine under VirtualBox! So after some debugging and head banging and more debugging, you realize the program was fine and DOSBox just ignores the timestamps. 
   
   Not much you can do about that. Maybe you test to see if you’re running under DOSBox and warn the user that this occur. Maybe some other or even no solution. It’s up to you. :-)
   
   
   
   > ___
   > 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
   
 


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