Disk menu's

Page 2/6
1 | | 3 | 4 | 5 | 6

By Samor

Prophet (2106)

Samor's picture

25-01-2012, 11:56

keep them coming! they're all better than my old hardcoded menu's Wink

By giuseve

Paladin (744)

giuseve's picture

02-01-2014, 17:41

@NYYRIKKI ; @DanySoft
I FOUND YOUR MENU VERY USEFUL IN BASIC AMBIENT.

I have this: MSX2 with DOS 1.8 (I think the latest one a simply MSX2 can support)
I HAVE NOT DOS 2.2 or higher on my MSX2
I need a file manager like yours to use as a menù in DOS 1.8.
I'd like to list and launch .BAT and/or .COM files.
I've tried HD-Menu, M file manager etc. BUT THEY ARE ALL for DOS 2.2.

I've also tried to put in a DOS disk:
- an autoexec.bat to call basic and run one of yours menù saved as menu.bas
- change the RUN instruction of your menu with something like CALL SYSTEM ("file.bat")
but with no results.

Can you help me?

By NYYRIKKI

Enlighted (5873)

NYYRIKKI's picture

03-01-2014, 08:03

Unfortunately CALL SYSTEM("file.bat") also requires MSX-DOS2. In MSX-DOS1 CALL SYSTEM does not take any parameters.

To go around this problem I suggest that you use keyboard buffer... Put your load-command in keyboard buffer and then CALL SYSTEM.

If you don't know how to do that with traditional POKE-commands, then there is one (not very nice to read) alternative... You can copy the code of "Sourcered forces" up to first command in line 60. This will give you few new BASIC-commands including KEYBUF

So... To run "TEST.BAT" from disk:
- Load the "Sourcered forces" (Do not run it!!! It is self modifying code and it will delete the important stuff)
- DELETE 70-150
- Delete line 60 exept the first POKEU,195
- Add:

70 KEYBUF "TEST"+CHR$(13) ' This character 13 is RETURN-key
80 POKEU,201 ' Deinstall BASIC extension so that it will not crash DOS.
90 _SYSTEM

To directly access the keyboard buffer, please check the memory documentation in WIKI. I don't remember those addresses now by heart. :)

By anonymous

incognito ergo sum (116)

anonymous's picture

03-01-2014, 08:33

This works for me:

10 A$="FILENAME.EXT"
20 A$=LEFT$(A$,8)+CHR$(13): L=LEN(A$)
30 POKE &HF3FA,&HF0: POKE &HF3FB,&HFB
40 POKE &HF3F8,&HF0+L: POKE &HF3F9,&HFB
50 FOR T=1 TO L
60 POKE &HFBEF+T,ASC(MID$(A$,T,1))
70 NEXT T
80 _SYSTEM

Just checked, it's DOS2...
Try the listing on top of page 41... Dutch magazine, but luckily the basic commands are in English ;)
This listing should work without DOS2.

By NYYRIKKI

Enlighted (5873)

NYYRIKKI's picture

03-01-2014, 14:01

@Meits Thanks for checking out the addresses. Yes, that looks much more easy Smile
Please note anyway that this listing will limit the maximum number of characters in keyboard buffer to 16. (Should be enough to start the program anyway)

By giuseve

Paladin (744)

giuseve's picture

03-01-2014, 16:08

@MEITS
I used the listing on top of pg 41

10 ' DESPAT
20 ' past Desiplus aan voor de Star LC-10 printer
30 ' MSX Computer Magazine
40 ' 
50 ' ingezonden door Johan Meuwissen, Limbricht
60 '
70 SCREEN 0: WIDTH 80: KEY OFF: COLOR 15,4,4
80 PRINT "Dit Programma past Designer Plus aan voor het afdrukken van schermen 0 p de STAR LC-10 printer."
90 PRINT "Zorg ervoor dat een disk met een KOPIE (!!!!) van Designer Plus, met d e file- naam DESIPLUS.COM, in de drive is geplaatst, waarop ook DOS staat." 100 PRINT "Dit programma ALTIJD eerst opstarten voordat met Designer Plus geprin t wordt. Ermoet namelijk een hook worden omgebogen" 
110 ON ERROR GOTO 220: OPEN "desiplus.com" FOR INPUT AS#l: CLOSE: ON ERROR GOTO 0
120 OPEN "DESIPLUS.COW AS #1 LEN=l: FIELD #1,1 AS 1$: 1=14546: RESTORE 230
130 GET 1,1: IF ASC(I$)<>176 THEN B$=CHR$(127) ELSE B$="was al": GOTO 150
140 READ A$: IF A$<>"*" THEN A=VAL(A$): LSET I$=CHR$(A): PUT #1,1: 1=1+1: GOTO 140
150 CLOSE #1: PRINT: PRINT: PRINT "Designer plus "B$" aangepast."
160 PRINT "Hook &HFFB6 wordt omgebogen .... ": RESTORE 240
170 READ A$: IF A$<>"*" THEN POKE &HFA75+T,VAL(I&H"+A$): T=T+1: GOTO 170
180 POKE &HFFB6,&HC3: POKE &HFFB7,&H75: POKE &HFFB8,&HFA
190 PRINT: PRINT "Designer Plus wordt geladen": A$=IDESIPLUS"+CHR$(13)
200 POKE &HF3FA,&HF0: POKE &HF3FB,&HFB: POKE &HF3F8,&HF9: POKE &HF3F9,&HFB
210 FOR T=l TO 9: POKE &HFBEF+T,ASC(MID$(A$,T,l»: NEXT T: POKE &HF346,1: CALL SYSTEM
220 PRINT "DESIPLUS.COM is niet aanwezig op deze disk, plaats disk met DESIPLUS. COM en drukop F5.": END
230 DATA 176,216,204,24,00,000,00,000,00,00,00,00,00,000,254,~16,90,1,224,* 221 240 DATA ED,43,00,FE,06,08,CB,2F,CB,II,05,C2,7B,FA,79,ED,4B,00,FE,C9,*

MSX says DIRECT STATEMENT IN FILE: where is desiplus.com requested in line 110?

@NYYRIKKi
I prepared YOUR listing and it says
OUT OF DATA in 30

:-(

By giuseve

Paladin (744)

giuseve's picture

03-01-2014, 18:17

I called this file MENU.BAS and it works (thanks to all):

10 CLS:KEYOFF:COLOR13,1,1
20 PRINT"GiuSeVe MSXDemoDISK 02":print
30 PRINT"1) BOLD [msx1]
40 PRINT"2) INVASION OF THE BIG PIXELS [msx1]
50 PRINT"3) RABIES [msx1]
60 PRINT"4) SYNTAX INFINITY [msx1]
70 PRINT"5) RYADH [msx1]
80 PRINT:PRINT"Fai la tua scelta - Make your choise"
90 B$=INPUT$(1)
100 IF B$="1" THEN A$="BOLD": goto 200
110 IF B$="2" THEN A$="INVASION": goto 200
120 IF B$="3" THEN A$="RABIES": goto 200
130 IF B$="4" THEN A$="syntax": goto 200
140 IF B$="5" THEN A$="shalam": goto 200
150 GOTO 90
200 A$=LEFT$(A$,8)+CHR$(13): L=LEN(A$)
300 POKE &HF3FA,&HF0: POKE &HF3FB,&HFB
400 POKE &HF3F8,&HF0+L: POKE &HF3F9,&HFB
500 FOR T=1 TO L
600 POKE &HFBEF+T,ASC(MID$(A$,T,1))
700 NEXT T
800 _SYSTEM

Now the last problem is how to invoke this file from a MSX-DOS 1 working AUTOEXEC.BAT

Regards

By NYYRIKKI

Enlighted (5873)

NYYRIKKI's picture

03-01-2014, 18:20

That would be:
BASIC MENU.BAS
(in AUTOEXEC.BAT)

By giuseve

Paladin (744)

giuseve's picture

15-04-2014, 08:59

Thanks Nyyrikki for your suggestions.
My menù now works very fine.
Now I'd like to have a bigger quest (for me, i mean).
I'd like to:
- add an image of about half screen at the top or at the bottomside of the screen (maybe I've tu put all in Screen2 or screen4??) (which image format?)
- add a smooth scrolling text anywhere
- compiling it in .BIN or .COM and/or meke it unmodificable.

Any suggestion?

Regards

By NYYRIKKI

Enlighted (5873)

NYYRIKKI's picture

15-04-2014, 10:01

In your idea there are few combinations that will not work:
- Smooth scroll, SCREEN 2/4 & BASIC -> No go
- BASIC, file handling & compiling COM/BIN -> No go

Take a look at the loader on this disk... I think it might be quite a close what you want...

Page 2/6
1 | | 3 | 4 | 5 | 6