MSX Village forum

La Place des Développeurs Batch sous MSX-DOS

DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 11/10/2023 à 21h43
Bonjour à tous,

J'ai remarqué que pas mal d'images de disquettes de jeu en 720Ko contenaient relativement peu de données et pourraient être formatées en 360Ko.
C'est le cas notamment pour les disquettes des jeux Infocom Zork I, II & III.
Je m'aperçois que je connais mal les commandes MSX-DOS et Disk-Basic. Je mélange un peu les deux et j'ai dû réviser un peu.

Ainsi, avec disk-manager, j'ai fait une image de disquette 360 Ko qui contient Zork I, II & III. J'ai constaté que sur MSX1, ces jeux s'affichent sur 29 caractères de largeur et visiblement les mots sont coupés. A mon sens, c'est assez surprenant que les jeux aient été commercialisés comme çà. Ces jeux semblent sensés fonctionner en mode 40 colonnes mais l'image disque se lance en 29 (?) colonnes. Ce qui n'a pas l'air de troubler les youtubeurs :


Enfin, moi çà me gêne un peu et du coup, j'ai mis les 3 jeux sur une disquette 360Ko avec un AUTOEXEC.BAT contenant l'instruction MODE 80

J'aurai voulu faire mieux avec un passage en mode 40 sur MSX1 et 80 sur MSX2 (comment choisir ?) et un petit menu pour lancer au choix Zork I, II ou III.
L'un de vous aurait-il quelques minutes pour m'apprendre les instructions.
Je sais faire des batchs sous MS-DOS. Sur d'anciennes versions on utilisait un KEY.COM pour récupérer l'appui d'une touche et faire le choix dans le menu.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 12/10/2023 à 06h29
Salut

pour creer un Batch apartir du MSXDOS1 tape :

copy con xx.bat

tape tes commandes
mode 40 (MSX1) ou 80 (MSX2)
...
...
quand tu as fini fait CRTL + Z pour sauver le fichier xx.bat

les commandes sous dos 1 y en as pas beaucoup après tu peux avoir de nouvelle command créer par d'autre

la base MSXDOS1

format = formattage d'un disk
DIR = lecture du catalogue du disk
DEL ou ERASE = efface fichier
REN ou RENAME = renomme un fichier
COPY = copier un fichier vers con = ecran ; LPT=printer ; xx vers une autre unité logique (A/B/C///H)
BASIC = retour au MSX BASIC avec lancement d'un fichier *.bas si notifier
DATE = Date !!
TIME = Time !!
MODE = taille ecran maxi 40 MSX1 80 MSX2
PAUSE = cree une pause dans ton batch
REM = commentaire
TYPE = edite un fichier sur ecran
VERIFY = switch on / off pour la verification du fichier

autre commande !!

CLS = efface ecran = cls sous basic
EDIT / EDITFKEY = edition des touches de fonctions
LOADFKEY = chargement des "nouvelles" touche de fonction
HIMEM = ??? memoire haute sous MS DOS sur MSX ???
ONEDRIVE = force a 1 lecteur logique (economise de la RAM)
RAMDISK = cree un RAM DISK (H:)
EUROROM = touche EURO ..

et bien d'autre...

apres suivant le MSXDOS que tu utilise tu as des commandes supplémentaire comme sur MiSiX ou solxdos ou dosmaster11E , alien-dos visite le site de MSXPRO y as de quoi faire ..

voila si t'as besoin de plus d'info .. Call SAV BastionRebel Center !! :lol :lol






TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
E-mail    
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 12/10/2023 à 09h37
Merci Bastion Rebel.

Dans mon cas, j'ai vu un exemple qui utilisait le BASIC, avec CALL SYSTEM mais je n'ai pas bien compris.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 12/10/2023 à 13h30
Un fois que tu a tapé la commande BASIC sous Dos et donc revenu en Basic, la commande CALL SYSTEM permet de retourné sous Dos, ce qui est possible bien entendus si le Msx à booter sous SOS.

Toutefois (de memoire je peu me trompé) , il existe un "Poke" qui permet de lancer le DOS sans avoir booter au préalable. :tea

Edit : C'est le POKE &HF346,1 , Voici le lien qui va bien :
https://www.msx.org/wiki/CALL_SYSTEM

Donc en résumé dans le principe, tu peu faire un boot msxdos qui lance automatiquement un fichier nommé AUTOEXEC.BAT, genre qui revient au BASIC en lançant ton programme de sélection mode 40 ou 80 (Mode 80, si erreur = Msx1 donc Mode 40) , puis qui lance un CALL SYSTEM , avec le AUTOEXE2.BAT Edité par TurboSEB Le 12/10/2023 à 13h43



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 12/10/2023 à 16h43
D'accord. Et du coup, je peux faire un petit programme en BASIC pour sélectionner le jeu à lancer.
Toutefois, je bloque sur le lancement du .COM.
Si je reprends l'exemple de la disquette de Zork, le programme est ZORK1.COM. Sauf erreur de ma part, il me semblait qu'on ne pouvait pas lancer un .COM depuis le BASIC.
Mais mes connaissances sont limitées.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 12/10/2023 à 17h07
j'ai regarder les 3 dsk de ZORK 1/2/3 en gros 100ko chacun rien ne t'empêche de les regrouper sur 1 DSK et de faire un batch menu pour les trois !!

le jeux s'execute au format MSXDOS

Ex :
copy con autoexec.bat
type menu.txt
¨Z

Copy con menu.txt
************************************************
** ZORK 1 / 2 /3 DSK **
************************************************
Tapez :
ZORK1
ZORK2
ZORK3
¨Z

copy les fichiers msxdos.sys et command.com sur la DSK (A: source / B: destination )
puis les fichiers
copy A:ZORK*.* B:
tu refait pour les 2 autres diskettes

Edité par Bastion Rebel Le 12/10/2023 à 17h08


TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
E-mail    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 12/10/2023 à 17h27
on peux faire aussi des fichiers du genre

COPY CON AUTOEXEC.BAT
TYPE MENU.TXT
¨Z

COPY CON MENU.TXT
************************************************
** ZORK 1 / 2 /3 DSK **
************************************************

1 > ZORK1
2 > ZORK2
3 > ZORK3
¨Z

COPY CON 1.BAT
ZORK1
¨Z

COPY CON 2.BAT
ZORK2
¨Z

COPY CON 3.BAT
ZORK3
¨Z

reste plus qu'a taper 1 2 ou 3 suivi de RETURN au prompt > pour lancer le jeu ;)


:noel
Site web    
Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 12/10/2023 à 17h41
aussi ... :lol :lol :lol


TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
E-mail    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 12/10/2023 à 17h57
Ça doit ÊTRE aussi executable du BASIC avec un BLOAD"ZORK1.COM",R
(p'tet en précisant l'adresse)

Alors du coup je me demande si c'est bien utile de lancer le MSXDOS, autant faire directement un AUTOEXEC.BAS :oups

Ce sont les xx.EXE qui sont "executable" sous MSXDOS :tea
Edité par TurboSEB Le 12/10/2023 à 18h01



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 12/10/2023 à 19h18
Effectivement :oups j'ai confondu avec les .BIN :D



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 13/10/2023 à 08h31
C'est très malin ton idée, Jipe.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 11/01/2024 à 15h45
J'ai lu un peu de documentation sur MSX-DOS, consulté MSX.ORG et son forum (merci giuseve) et j'ai un début de menu batch.

Alors il faut savoir que pour que cela fonctionne, il faut le MSX-DOS versions 2.40 ou supérieure. Ca fonctionne avec Nextor.
De plus, le fichier de commande ne sera plus un .BAT mais un .BTM

~menu
CLS
ECHO 1 - snake
ECHO 2 - penguin
INKEY select your game %%key
IF !%key%==!1 GOTO ~1
IF !%key%==!2 GOTO ~2
GOTO ~menu
END
~1
CLS
ECHO SNAKE
END
~2
CLS
ECHO PENGUIN
END


Dans cet exemple, il s'agit seulement d'afficher SNAKE en appuyant sur la touche 1 et PENGUIN en appuyant sur la touche 2.
Evidemment, je vais remplacer ceci par les commandes adéquates pour lancer un jeu. On peut imaginer lancer indifféremment un DSK ou une ROM pour peu que l'on ait les bons outils sur son système.

[Edit par Sebbeug] Je me suis permis de modifier ton batch, tu comprendras pourquoi ;) Edité par DataPro Le 11/01/2024 à 18h57


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 17/01/2024 à 20h59
J'ai poursuivi le développement de mon menu.
A part une relative lenteur d'affichage (les astuces sont les bienvenues) il fonctionne bien comme je le souhaite. Il y encore à l'étoffer.

Je ne sais pas encore s'il est possible d'améliorer la compacité ou la rapidité.
Je trouve certaines commande du DOS lentes.
Par exemple, j'ai cru remarquer que TYPE affiche légèrement plus rapidement des lignes de texte que la commande ECHO.
De même, la commande DIR est assez lente alors que DI.COM qui affiche les noms longs est extrêmement rapide.

Certes, çà peut paraître un peu doublon avec des solutions comme SOFARUN ou Multimente mais pas vraiment.
Le menu est personnalisé et regroupera les jeux testés et choisis par mes soins pour une exécution immédiate.
Cela me permettra, de ne plus me poser la question de savoir si je lance tel truc avec SRI, EMUFILE ou CRAMLDR... Je teste, j'inscris la solution qui fonctionne dans le menu et je n'y reviens plus.
Et je ne fais qu'une sélection des jeux qui m'intéressent le plus et notamment ceux auquel j'ai envie de jouer vraiment.

Code :
SET style=""
SET key=""
CLS
ECHO 1 - Action
ECHO 2 - Adventure-action
ECHO 3 - Adventure
ECHO 4 - Puzzle
ECHO 5 - RPG
ECHO 6
ECHO 7
ECHO 8
ECHO 9 - Demo
ECHO 0 - Favorites
~menu
if !%key%==!1 GOTO ~Act
if !%key%==!2 GOTO ~AA
if !%key%==!3 GOTO ~Adv
if !%key%==!4 GOTO ~Puz
if !%key%==!5 GOTO ~RPG
if !%key%==!6 GOTO ~6
if !%key%==!7 GOTO ~7
if !%key%==!8 GOTO ~8
if !%key%==!9 GOTO ~Dm
if !%key%==!0 GOTO ~Fav
INKEY Select your style %%key
GOTO ~menu
END
~Fav
SET style=Fav
SET key=""
CLS
echo 1 - SNATCHER (SCC in slot 2 needed)
echo 2 - Ys II: Ancient Ys Vanished - The Final Chapter
echo 3 - Snake and Rhino in the SketchBook
echo 4 - SD Snatcher
echo 5 - Pumpkin Adventure III: The Hunt for the Unknown
~select
inkey select your game %%key
if !%key%==!1 GOTO ~%style%1
if !%key%==!2 GOTO ~%style%2
if !%key%==!3 GOTO ~%style%3
if !%key%==!4 GOTO ~%style%4
if !%key%==!5 GOTO ~%style%5
GOTO ~select
END
~Act
SET style=Act
CLS
echo 1 - AKIN
echo 2 - Valis 2: The Fantasm Soldier
GOTO ~select
END
~AA
SET style=AA
CLS
echo 1 - Golvellius MSX2
echo 2 - War of the Dead
echo 3 - XZR II: Final Chapter
GOTO ~select
END
~Adv
SET style=Adv
CLS
echo 1 - SNATCHER (SCC in slot 2 needed)
echo 2 - Adv2
echo 3 - 
echo 4 - 
echo 5 - 
echo 6
echo 7
echo 8
echo 9
GOTO ~select
END
~Puz
SET style=Puz
CLS
echo 1 - Snake and Rhino in the SketchBook
echo 2 - Celcion
echo 3 - Columns
echo 4 - Puyo Puyo
GOTO ~select
END
~RPG
SET style=RPG
CLS
echo 1 - Dragon Slayer V - Sorcerian
echo 2 - Dragon Slayer VI - The Legend of Heroes
echo 3 - FRAY in Magical Adventure
echo 4 - Xak II: Rising of the Redmoon
GOTO ~select
END
~Dm
SET style=Dm
cls
echo 1 - 
GOTO ~select
END
~Fav1
CLS
ECHO LOADING SNATCHER
CD A:\GAMESHD\SNATCHER\
SNATCHER.COM
end
~Fav2
CLS
ECHO LOADING Ys II: Ancient Ys Vanished - The Final Chapter
CD A:\GAMESHD\YS2_HDD\
YS2 /L2
end
~Fav3
ECHO LOADING Snake&Rhino
SROM /D14 /Q A:\GAMES\2023\SNAKNRHI.ROM
END
~Fav4
ECHO LOADING SD SNATCHER
SRI /Q /C A:\GAMES.SR\DSK\SDSNATCH.DSK
END
~Fav5
ECHO LOADING Pumpkin Adventure III: The Hunt for the Unknown
SRI /Q /C A:\GAMES.SR\DSK\PUMPKIN3.DSK
END
~Act1
ECHO LOADING AKIN v2
SRI /Q /C A:\GAMES.SR\DSK\AKIN_V2.DSK
END
~Act2
ECHO LOADING Valis 2: The Fantasm Soldier
SRI /Q /C A:\GAMES.SR\DSK\VALIS2.DSK
END
~AA1
ECHO LOADING GOLVELLIUS MSX2
SRI /B2 /Q /C A:\GAMES.SR\DSK\GOLVLIUS.DSK
END
~AA2
ECHO LOADING WAR OF THE DEAD
SRI /Q /C A:\GAMES.SR\DSK\WOFDEAD2.DSK
END
~AA3
ECHO LOADING XZR II: Final Chapter
SRI /Q /C A:\GAMES.SR\DSK\XZR_II.DSK
END
~Adv1
CLS
ECHO LOADING SNATCHER
CD A:\GAMESHD\SNATCHER\
SNATCHER.COM
END
~Adv2
ECHO LOADING DEAD OF THE BRAIN
SRI /Q /C A:\GAMES.SR\DSK\DEADPBRN.DSK
END
~Puz1
ECHO LOADING Snake&Rhino
SROM /D14 /Q A:\GAMES\2023\SNAKNRHI.ROM
END
~Puz2
ECHO LOADING CELCION
SRI /Q /C A:\GAMES.SR\DSK\CELCION.DSK
END
~Puz3
ECHO LOADING COLUMNS
SRI /Q /C A:\GAMES.SR\DSK\COLUMNS.DSK
END
~Puz4
ECHO LOADING PUYO PUYO
SRI /Q /C A:\GAMES.SR\DSK\PUYOPUYO.DSK
END
~RPG1
ECHO LOADING Dragon Slayer V - Sorcerian
SRI /Q /C A:\GAMES.SR\DSK\DSLAYER5.DSK
END
~RPG2
ECHO LOADING Dragon Slayer VI - The Legend of Heroes
SRI /Q /C A:\GAMES.SR\DSK\DSLAYER6.DSK
END
~RPG3
ECHO LOADING FRAY in Magical Adventure
SRI /B1 /Q /F A:\GAMES.SR\DSK\FRAY.DSK
END
~RPG4
ECHO LOADING Xak II: Rising of the Redmoon
SRI /Q /C A:\GAMES.SR\DSK\XAKIIRRM.DSK
END
~Dm1
ECHO
END


Edité par DataPro Le 17/01/2024 à 21h34


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM + Gotek + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
   
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6285

Le 18/01/2024 à 23h37
eh salut, ça m interresse egalement un menu sous dos :top


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie