Tu veux dire que ces jeux qui demandait plus de 600ko de mémoire pouvait tourner sur un 8086 vieux de 15 ans ?
En fait historiquement le premier MB utilisable par le DOS était en mode "réel" = les adresses mémoire dans le programme sont les vraies adresses physiques.
Quand les PCs ont évolués vers plus de mémoire, ça s'est fait grâce au mode "protégé" où les adresses mémoire ne référencent par directement la mémoire physique, mais une forme virtualisée par l'OS.
Ce mode réel sur le premier MB est toujours resté dans l'architecture PC, et à côté le DOS n'a jamais été capable de charger une programme dans le mode protégé.
C'est juste une forme de fainéantise dans le développement du DOS mais bon il y avait sans doute de bonnes raisons, j'imagine qu'il aurait fallu refaire un DOS en mode protégé à partir de 0 mais ces moyens ont été mis dans windows à la place.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
Apparemment le gros problème du 286 c'est qu'il est incapable de passer du mode protégé (24 bits) au mode réel (20 bits) sans reboot. Donc impossible de mélanger des vielles applications pour 8086 avec des nouvelles conçues pour le 286.
Par contre avec le 386 les problèmes semblent disparaître. L'article cite Doom comme jeu qui est capable d'utiliser de la mémoire hors de la mémoire conventionnelle, donc on est bien avant 1995.
Oui après ça passait par la maudite EMS et d'autres runtimes (le fameux DOS/4GW).
Mais ça ne lève pas la contrainte de base que le programme + le runtime doivent tenir dans les 640KB du mode réel.
Une fois que le programme et son runtime tournent dans les 640KB du mode réel, ils peuvent aller taper dans la mémoire étendue à volonté.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
Mais ça ne lève pas la contrainte de base que le programme + le runtime doivent tenir dans les 640KB du mode réel.
Une fois que le programme et son runtime tournent dans les 640KB du mode réel, ils peuvent aller taper dans la mémoire étendue à volonté.
C'est pas ce que je comprends de l'article. Le DOS extender passe en mode 32 bits puis charge le programme. Seul l'extender lui-même devrait avoir besoin d'être chargeable en mode réel. J'ai aussi vu un commentaire de l'article sur hacker news qui disait que Windows 95 utilisait le même mécanisme pour se lancer par dessus DOS. Donc au final depuis Doom jusqu'à la fin des Windows 9x, on peut lancer les jeux de cette façon.
C'est pas ce que je comprends de l'article. Le DOS extender passe en mode 32 bits puis charge le programme. Seul l'extender lui-même devrait avoir besoin d'être chargeable en mode réel. J'ai aussi vu un commentaire de l'article sur hacker news qui disait que Windows 95 utilisait le même mécanisme pour se lancer par dessus DOS. Donc au final depuis Doom jusqu'à la fin des Windows 9x, on peut lancer les jeux de cette façon.
Ah c'est possible. Faudrait que je lise l'article au lieu de faire mon expert.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
Je ne suis pas d'accord car c'est une des périodes où le Pc était en plein boom niveau joueur. Le MSDOS en 1995, c'était moins gênant qu'en 1990 car tu avais les outils pour simplifier et les joueurs sur Pc étaient habitués à ça.
Ouais ceux qui utilisaient un PC depuis longtemps trouvaient que ça roule bien, mais quand on débarque je comprends que ça puisse rebuter.
C'est plutôt l'arrivée des jeux qui tournent sous Windows qui m'ont fait grincer des dents, un gros overhead pour rien, ça me semblait complètement délirant.
J'ai mal vécu cette période, c'est là que j'ai commencé à me mettre à Linux (en gardant un dual-boot avec un Windows minimal pour jouer…)
C'est pas ce que je comprends de l'article. Le DOS extender passe en mode 32 bits puis charge le programme. Seul l'extender lui-même devrait avoir besoin d'être chargeable en mode réel. J'ai aussi vu un commentaire de l'article sur hacker news qui disait que Windows 95 utilisait le même mécanisme pour se lancer par dessus DOS. Donc au final depuis Doom jusqu'à la fin des Windows 9x, on peut lancer les jeux de cette façon.
Bon après avoir expertisé c'est bien le mode de fonctionnement pour les extenders.
La contrainte programme + runtime dans les 640KB c'était uniquement pour les runtimes utilisant EMS/XMS, les extenders n'ont qu'à se lancer eux-mêmes puis le "vrai programme" peut utiliser le mode protégé et toute la mémoire.
Mais du coup les programmes basés sur un DOS extender ne sont plus compatible DOS pur. En fait les DOS extenders sont des kernels d'OS complets.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
C'est plutôt l'arrivée des jeux qui tournent sous Windows qui m'ont fait grincer des dents, un gros overhead pour rien, ça me semblait complètement délirant.
Je pensais pareil au début. Et un jour j'ai eu une épiphanie.
C'était un peu plus tard quand les émulateurs SNES commençaient à arriver. Mais il fallait une grosse grosse config pour les faire tourner et ça ramait severe chez M. tout le monde.
Je prenais toujours la version DOS de ZSNES en suivant la même logique que tu décris: ça met déjà ma machine à genoux, je vais pas en plus faire tourner tout le bordel de windows par dessus, déjà que même sur une bonne config Win95 ramait sans rien lancer d'autre (et fallait même pas penser à Microsoft Plus qui ajoutait le support des wallpapers, avec un wallpaper 256 couleurs la machine était juste inutilisable), alors si je cumule les 2...
Mais au final Windows 95 était pas si débile que ça: il faisait rien tourner en arrière plan quand tu avais une application graphique plein ecran. Ok ça mangeait de la ram, mais tant que zsnes avait assez pour lui peu importe la quantité de mémoire libre en plus, tant qu'il en restait assez pour zsnes c'est pas ça qui impactait les perfs.
D'ailleurs un truc tout con, mais Windows 95 (et 98/SE) on pouvait encore l'éteindre en coupant le courant: fallait juste ne rien faire du tout, vérifier que la petite led du disque dur restait bien éteinte, et ça abimait pas le système. (mais chkdsk se lançait quand même au reboot)
Donc, un jour j'utilise la version windows de zsnes, et le miracle s'accompli: win95 tout seul ça rame, zsnes tout seul sous dos ça rame aussi, mais... zsnes sous windows 95, c'est fluide ! Mais genre vraiment, DKC en 320 par 240 était jouable et tout.
Au final, l'acceleration par WinG (ou déjà directX 3 ?) était beaucoup plus importante pour les performances que la surchage induite par Win95.
Depuis ce jour quand les jeux avaient deux executable (un dos un windows, genre Fallout 1) j'ai arrété de choisir systematiquement l'executable dos.
Envoyé par Lazyjoe
Bon après avoir expertisé c'est bien le mode de fonctionnement pour les extenders.
La contrainte programme + runtime dans les 640KB c'était uniquement pour les runtimes utilisant EMS/XMS, les extenders n'ont qu'à se lancer eux-mêmes puis le "vrai programme" peut utiliser le mode protégé et toute la mémoire.
Je suis pas certain de comprendre. L'extendeur le plus utilisé c'est DOS4GW non ? Pourtant dans les jeux qui sont chiant parcqu'ils veulent 610, 620, 625K de conventionelle et qui sont un enfer à lancer il y a (presque) toujours DOS4GW
Regarde https://mixnmojo.com/media/files/Sta...er-demo-MS-DOS (c'est la démo c'est légal), c'était super chiant à lancer avant dosbox (les jeux qui demandent plein de conventionelle et qui en plus nécéssite le CD sont les pire, c'est super frustrant d'avoir potentiellement assez de mémoire si on chargeait pas le driver CD mais de pas pouvoir jouer quand même), et il y a bien le DOS4GW dans le dossier. Tie Fighter abusait quand même pas mal, de mémoire c'était 627K de libre nécéssaire... 13K pour charger la souris + la carte son + le lecteur CD c'était impossible avec les drivers normaux, fallait des drivers spécialement bidouillés.
Dernière modification par Clad ; 18/05/2022 à 14h19.
Je suis pas certain de comprendre. L'extendeur le plus utilisé c'est DOS4GW non ? Pourtant dans les jeux qui sont chiant parcqu'ils veulent 610, 620, 625K de conventionelle et qui sont un enfer à lancer il y a (presque) toujours DOS4GW
Regarde https://mixnmojo.com/media/files/Sta...er-demo-MS-DOS (c'est la démo c'est légal), c'était super chiant à lancer avant dosbox (les jeux qui demandent plein de conventionelle et qui en plus nécéssite le CD sont les pire, c'est super frustrant d'avoir potentiellement assez de mémoire si on chargeait pas le driver CD mais de pas pouvoir jouer quand même), et il y a bien le DOS4GW dans le dossier. Tie Fighter abusait quand même pas mal, de mémoire c'était 627K de libre nécéssaire... 13K pour charger la souris + la carte son + le lecteur CD c'était impossible avec les drivers normaux, fallait des drivers spécialement bidouillés.
Ouais j'avais un doute... j'imagine qu'il y a le bon jeu avec Extender et le mauvais jeu avec Extender.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
Donc, un jour j'utilise la version windows de zsnes, et le miracle s'accompli: win95 tout seul ça rame, zsnes tout seul sous dos ça rame aussi, mais... zsnes sous windows 95, c'est fluide ! Mais genre vraiment, DKC en 320 par 240 était jouable et tout.
Au final, l'acceleration par WinG (ou déjà directX 3 ?) était beaucoup plus importante pour les performances que la surchage induite par Win95.
Bizarre cette histoire, ça voudrait dire que les devs de zsnes avaient besoin d'une béquille et on merdé leur version DOS. C'est possible, mais je ne me rappelle pas avoir rencontré de cas du genre. J'ai du le faire tourner sous DOS au début, puis sous Linux, pas sur d'avoir testé sous Windows.
Win95 tournait sous DOS en plus, non ? C'est seulement à partir de Win98 que le bootloader chargeait réellement directement Windows je crois. Ou alors c'était ce que je croyais à l'époque.
Win95 tournait sous DOS en plus, non ? C'est seulement à partir de Win98 que le bootloader chargeait réellement directement Windows je crois. Ou alors c'était ce que je croyais à l'époque.
C'est la "gamme" windows NT qui n'était pas construite sur le DOS, donc pour les releases grand public seulement à partir de Windows XP.
Envoyé par Sidus Preclarum
Ben du caramel pas sucré alors...
"Avant, j'étais dyslexique, masi aujorudh'ui je vasi meiux."
Windows 98, est-il mieux que Windows 95, là est la question.
La réponse est oui car windows 98 est une version optimisée et débugguée en partie de windows 95
- - - Mise à jour - - -
Envoyé par 564.3
Ouais ceux qui utilisaient un PC depuis longtemps trouvaient que ça roule bien, mais quand on débarque je comprends que ça puisse rebuter.
Le dos n'a jamais été pour utilisateur qui veut quelque chose de plug and play. Il fallait,un minimum essayer de comprendre ce qu'on faisait quand ça bloquait.
Windows 95 a commencé à améliorer tout ça.
Envoyé par 564.3
C'est plutôt l'arrivée des jeux qui tournent sous Windows qui m'ont fait grincer des dents, un gros overhead pour rien, ça me semblait complètement délirant.
Tu parles des premiers jeux dos/win95 qui tournaient plus lentement sous win95 que sous dos ?
Faut dire que directx est arrivé ensuite et les premières versions jusqu'à la 5 étaient mauvaises donc ça n'a pas aidé.
Win95 tournait sous DOS en plus, non ? C'est seulement à partir de Win98 que le bootloader chargeait réellement directement Windows je crois
Toutes la branche initiée par Chicago (donc 95, 98, SE et ME) était une grosse surcouche à MSDOS, mais faut être honnête il en remplaçait quand même des gros bouts. À côté de ça il y a la branche NT (NT3, 3.5, NT4, 2000, XP, 2003) qui était totalement indépendante du DOS.
La première catégorie était particulièrement instable et plantogène, la seconde plus robuste mais pendant longtemps n'avait pas de support DirectX (c'est pour ça que certains jeux refusaient de se lancer même après, ils supposaient que si WinNT alors pas DirectX, souvent c'est l'installeur qui faisait la vérification mais le jeu lui même fonctionnait)
C'est la "gamme" windows NT qui n'était pas construite sur le DOS, donc pour les releases grand public seulement à partir de Windows XP.
Ah merci pour la précision, je n'étais plus bien sur. J'ai un peu laché l'affaire à l'époque, j'utilisais plutôt AIX, HPUX, et Linux à la maison
- - - Mise à jour - - -
Envoyé par Clad
Toutes la branche initiée par Chicago (donc 95, 98, SE et ME) était une grosse surcouche à MSDOS, mais faut être honnête il en remplaçait quand même des gros bouts. À côté de ça il y a la branche NT (NT3, 3.5, NT4, 2000, XP, 2003) qui était totalement indépendante du DOS.
La première catégorie était particulièrement instable et plantogène, la seconde plus robuste mais pendant longtemps n'avait pas de support DirectX (c'est pour ça que certains jeux refusaient de se lancer même après, ils supposaient que si WinNT alors pas DirectX, souvent c'est l'installeur qui faisait la vérification mais le jeu lui même fonctionnait)
Ouais il en remplaçait des gros bouts comme DOS4GW. Enfin il n'y avait pas des tonnes de trucs à remplacer, DOS reste assez basique comme OS, c'était tout l'intérêt pour jouer. Pas de tentatives de vouloir faire du multi-tache & co.
Mais même si des devs arrivaient à faire des miracles sous Win95 (et/ou de la merde avec les outils habituels sous DOS), à l'époque pour les joueurs Win95 était plutôt signe annonciateur de drame.
Je ne me rappelle pas avoir vraiment utilisé Win95, ça a commencé à être pertinent pour les joueurs qu'avec Win98.
Il y avait des bons jeux uniquement sous windows 95 comme pitfall.
Ouais je me rappelle de quelques-un qui avaient du passer un partenariat avec MS. Il y avait des ports de jeux DOS aussi, genre une version de Doom, pour montrer qu'en bossant bien ça n'était pas tellement pire.
The Windows 95 port of Pitfall: The Mayan Adventure was showcased by Bill Gates at E3 1995 to promote the then-upcoming DirectX for his platform, despite the conversion being launched three months before the first incarnation of DirectX and Kinesoft did not use any tools from said technology.
Bref, y avait de bons jeux en 1995, mais Windows 95 ne m'avait pas trop fait rêver
@ECHO OFF
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\DOS;C:\SB16
SET DIRCMD=/OGN
GOTO %CONFIG%
:WIN
MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODE CON CODEPAGE SELECT=850
KEYB FR,,C:\WINDOWS\COMMAND\KEYBOARD.SYS
SET SOUND=C:\SB16
SET MIDI=SYNTH:1 MAP:E MODE:0
CD\SB16
DIAGNOSE /S
MIXERSET /Q /P
CD\
WIN
GOTO FIN
:DOSCDXMS
:DOSCDEMS
GOTO CD
:DOSFLXMS
:DOSFLEMS
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET SOUND=C:\SB16
CD\SB16
DIAGNOSE /S
MIXERSET /Q /P
CD\
GOTO MOUSE
:CD
LH MSCDEX.EXE /D:IDECD01 /M:0 /L:D
:MOUSE
LH KEYB FR,,C:\WINDOWS\COMMAND\KEYBOARD.SYS
LH CTMOUSE
:FIN
Config/sys :
Code:
rem ************** DEBUT DES MENUS PRINCIPAUX *********************
[Menu]
MenuItem=WIN, Démarrage sous Windows 98
SubMenu=DOS, Démarrage sous la ligne de commande
MenuDefault=WIN,1
rem *************** FIN DES MENUS PRINCIPAUX **********************
rem ******************* DEBUT DES ELEMENTS COMMUNS ******************
[Common]
SHELL=C:\COMMAND.COM C:\ /E:512 /P
rem ******************* FIN DES ELEMENTS COMMUNS *******************
[WIN]
DOS=HIGH,UMB
FILESHIGH=70
BUFFERSHIGH=30
rem ************** DEBUT DES MENUS SECONDAIRES ********************
[DOS]
SubMenu=DOSCD, Charger le lecteur de CD-ROM
SubMenu=DOSFL, Ne pas charger le lecteur de CD-ROM
rem *************** FIN DES MENUS SECONDAIRES ********************
rem ************** DEBUT DES MENUS TERTIAIRES 1/2 ****************
[DOSCD]
MenuItem=DOSCDXMS, Mémoire XMS
MenuItem=DOSCDEMS, Mémoire EMS
rem ************** FIN DES MENUS TERTIAIRES 1/2 *****************
[DOSCDXMS]
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,UMB,NOAUTO
DEVICEHIGH=C:\WINDOWS\SETVER.EXE
DEVICE=C:\SB16\CTCM.EXE
DEVICEHIGH=C:\DOS\CDROM.SYS /D:IDECD01
FILESHIGH=30
STACKSHIGH=9,256
BUFFERSHIGH=18
LASTDRIVEHIGH=D
[DOSCDEMS]
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,NOAUTO,UMB
DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM VERBOSE
DEVICEHIGH=C:\WINDOWS\SETVER.EXE
DEVICE=C:\SB16\CTCM.EXE
DEVICEHIGH=C:\DOS\CDROM.SYS /D:IDECD01
FILESHIGH=30
STACKSHIGH=9,256
BUFFERSHIGH=20
LASTDRIVEHIGH=D
rem ************** DEBUT DES MENUS TERTIAIRES 2/2 ****************
[DOSFL]
MenuItem=DOSFLXMS, Mémoire XMS
Menuitem=DOSFLEMS, Mémoire EMS
rem ************** FIN DES MENUS TERTIAIRES 2/2 *****************
[DOSFLXMS]
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,UMB,NOAUTO
DEVICEHIGH=C:\WINDOWS\SETVER.EXE
DEVICE=C:\SB16\CTCM.EXE
FILESHIGH=30
STACKSHIGH=9,256
BUFFERSHIGH=18
LASTDRIVEHIGH=D
[DOSFLEMS]
DEVICEHIGH=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,NOAUTO
DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM VERBOSE
DEVICE=C:\SB16\CTCM.EXE
DOS=UMB
DEVICEHIGH=C:\WINDOWS\SETVER.EXE
FILESHIGH=30
STACKSHIGH=9,256
BUFFERSHIGH=25
LASTDRIVEHIGH=D
En utilisant cutemouse (6ko) pour la souris et un driver CD de 11ko (par contre je sais plus d'où il vient celui-là) avec l'EMS activée j'ai 623 ko de mémoire conventionnelle libre, et 569 ko avec la mémoire XMS.
Dernière modification par barbarian_bros ; 18/05/2022 à 22h25.
Pour être honnête, c'est une adaptation à ma machine depuis les fichiers créés par un pote ingénieur...
parce que si j'avais fait ça 'from scratch', ça aurait été beaucoup moins lisible, j'aurais probablement pas pris le temps de taper les lignes 'REM' avec les titres de rubrique...
"Tu vois, les cadrans vont jusqu'à onze... C'est plus fort d'un cran..."
"Tu es à dix sur ta guitare. Où peux-tu aller ? Où ? Nulle Part
- Pourquoi pas mettre le dix plus fort et en faire le maximum ?
-..... Ceux-là vont jusqu'à 11"