04 November 2021, 20:51 | #221 | ||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
If the Amiga is "just another MSDOS-capable system", it shouldn't really matter.
Quote:
Quote:
|
||
05 November 2021, 12:50 | #222 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
And no, you cannot do a lot. Typical MSDOS programs used other primitives (BIOS) and/or accessed hardware directly. MSDOS is really just for disk access (hence the 'D' in its name). Quote:
How long would that have taken - not much. What impact would it have had - not much either. All 68000 machines by that time already had much better OSes than MSDOS. |
|||
05 November 2021, 21:20 | #223 | ||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Sure. It's a superset of that.
Quote:
1. C90 2. MSDOS + above 3. Bios + above 4. Hardware + above Number 1 has been covered since SAS/C came out I think. Now I'm doing number 2. It gives programmers something to code to. What is the reason people felt the need to directly call the BIOS and/or hardware for a character-mode application, and could that have been changed if we had cooperative programmers? Quote:
https://sourceforge.net/p/pdos/gitco...tree/src/pos.c int PosFindFirst(char *pat, int attrib) { union REGS regsin; union REGS regsout; struct SREGS sregs; regsin.h.ah = 0x4e; regsin.x.cx = attrib; #ifdef __32BIT__ regsin.d.edx = (int)pat; #else regsin.x.dx = FP_OFF(pat); sregs.ds = FP_SEG(pat); #endif int86x(0x21, ®sin, ®sout, &sregs); if (regsout.x.cflag) { return (regsout.x.ax); } else { return (0); } } Quote:
Quote:
|
||||
06 November 2021, 10:03 | #224 | |||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
Quote:
Quote:
Quote:
Code:
return GEMDOS (78, pat, attrib); Quote:
Quote:
It's not a real API either ; as an abstraction layer it's incredibly poor. That said, Atari ST reads FAT directly and Amiga has separate filesystem handlers for that - it's one of its "goodies". Note that FAT disks aren't exactly industry standard anymore. |
|||||||
06 November 2021, 10:41 | #225 | ||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
|
||||
06 November 2021, 11:24 | #226 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
Quote:
Why ? |
|||
06 November 2021, 12:07 | #227 | ||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
|
||||
06 November 2021, 12:34 | #228 | |||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
Quote:
And what's wrong with that, a lot of things. It's just dirty way to access the screen. Why not print/locate primitives like old Basics do ? Simple, efficient. Quote:
Look at what we have today : they can do a lot, but we have next to zero control on what happens in them. Hence the recent trend on vintage computers. Limited, but more friendly because simpler. Quote:
Deferring screen updates isn't clever. It requires some buffering (i.e. memory allocations otherwise not needed) and will nearly always be slower than just poking the screen immediately (even if we don't have character based screen modes). If we could have a do-over, i'd just say : "keep things simple !". If you want the knowledge, why not just asking those who have it ? |
|||||
06 November 2021, 13:35 | #229 | |||||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||||
06 November 2021, 15:48 | #230 | |||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
Quote:
Quote:
Quote:
Things are becoming even worse now : whole frame copied for every change that's committed to the screen. So what makes you believe you will acquire this knowledge by doing what you are currently doing ? |
|||||
06 November 2021, 19:30 | #231 | ||||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
||||||
07 November 2021, 08:51 | #232 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
It's not among the things i'd keep from the past. I prefer to have control on my computer instead of using a remote one i don't own. Quote:
It's not really an entire operating system you've written. What you have is simple, partial system built on top of another. File and text output are by far the easiest part ; for this the language doesn't matter. I know because i've written my own sort of OS that works in a similar way, on top of AmigaOS. It's in all my programs that can use it ; users of these don't notice it's there because unused functions aren't in the executable. With it i could do picture viewer, sound player, many small tools handling files, and all my game ports. Frankly MSDOS level of functionnality is just peanuts. Nope. Text-mode DOS programs don't use back-buffering or frame flipping. They just write on screen buffer. Quote:
So what is the next step ? |
|||
07 November 2021, 09:42 | #233 | |||||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||||
07 November 2021, 13:18 | #234 | ||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
Quote:
And either direction it's made, you're not in full control of the machine. Quote:
Quote:
Perhaps you need to rethink your strategy. Quote:
I'm not even sure PC text mode could even do this, btw. Quote:
|
||||||
07 November 2021, 18:45 | #235 | |||||||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||||
07 November 2021, 19:22 | #236 | ||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
What ? You want the user to type ansi codes now ? Redirect to what ? Quote:
Quote:
Quote:
Isn't this lacking a little bit of ambition ? |
||||
07 November 2021, 20:30 | #237 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,316
|
Actually, it would be the keyboard or some other input channel that would create the ANSI codes.
It depends. For external representation of data, int and long are useless as they are not portable. For internal algorithms, "int" is the fastest integer type the machine offers, so it does make sense to use it, tough not for external data representation. Quote:
Well, I personally don't quite see the point of this project in first place. |
|
07 November 2021, 21:21 | #238 | ||
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
I have no idea what you are talking about. Segmentation introduces the different memory models I listed.
Quote:
Quote:
|
||
08 November 2021, 03:06 | #239 |
Registered User
Join Date: Mar 2021
Location: Ligao, Free World North
Posts: 228
|
I had another thought. Maybe MSDOS could have been extended to have another interrupt that returns a buffer that just so happens to be 0xb8000, with those characteristics, and when you've finished updating that buffer you are required to do another interrupt that displays that buffer. On an IBM PC this may or may not involve frame flipping, but on the Amiga this would instead involve a different set of manipulations (and the address wouldn't be 0xb8000) and maybe if there was a terminal involved, it would result in some ANSI escape sequences.
|
08 November 2021, 08:11 | #240 | ||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,355
|
Quote:
And ANSI codes don't handle keys by position, do they ? How the heck can we then do "WASD" kind of key detection for movement ? Quote:
Strange, i always thought the screen's memory buffer was at a fixed address, something like $b8000. The reason why peecees were limited to 640kb. Quote:
Quote:
Quote:
Like something more complete feature wise. Say, bitmap graphics, sounds, multitasking, keyboard/mouse/joystick handling, GUI, timers/interrupts, and whatever i forgot about. My own system framework even contains functions for handling dynamic strings/arrays... Quote:
But for text-only it seems overkill. Besides, it is not a proper abstraction for text output (the host would have to do screen format translation if it's not an old PC with text modes). I rather see things this way : a function which takes x,y position and string as input, shows the text at the given place, and then returns updated x,y position. Or that function would take special value as position to resume from previous one. |
||||||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
|
|