L'atelier CARTOUCHE RADIO FM + MP3 radio + mp3
Bonjour ,
une cartouche MSX "RADIO FM + MP3" va sortir
Si précommandée avant le 1er aout c'est 55 euros (après c'est 68 euros)
http://www.msx-shop.nl/product-categorie/nieuwe-hardware-invoorbereiding/
Pour precommander il faut écrire sur l'EMAIL de msx.shop.nl = info@msxworldwide.com
Lien du site du créateur de la cartouche :
http://www.tmtlogic.com/tmtlogic.com/index.php/umja/msx-se-one-mp3-player
Lien MSX.ORG :
https://www.msx.org/forum/msx-talk/hardware/checking-interest-in-mp3-cartridge?page=0
Lien video software radio FM :
https://www.youtube.com/watch?v=FNtXAOlQjXs
https://www.youtube.com/watch?v=7hUXGUXiUSc
A+
une cartouche MSX "RADIO FM + MP3" va sortir
Si précommandée avant le 1er aout c'est 55 euros (après c'est 68 euros)
http://www.msx-shop.nl/product-categorie/nieuwe-hardware-invoorbereiding/
Pour precommander il faut écrire sur l'EMAIL de msx.shop.nl = info@msxworldwide.com
Lien du site du créateur de la cartouche :
http://www.tmtlogic.com/tmtlogic.com/index.php/umja/msx-se-one-mp3-player
Lien MSX.ORG :
https://www.msx.org/forum/msx-talk/hardware/checking-interest-in-mp3-cartridge?page=0
Lien video software radio FM :
https://www.youtube.com/watch?v=FNtXAOlQjXs
https://www.youtube.com/watch?v=7hUXGUXiUSc
A+
Salut ,
cartouche recue
Voici mes petits tests :
1) RADIO
Pas très sensible (en ville je pense que ça pose pas probleme)
Les softs sont encore en cours de developement
il existe un logiciel en BASIC très succinct et un logiciel sous SYMBOS (pas testé)
J'ai me suis amusé a rajouter des fonctions au logiciel en BASIC ( a optimiser bien sur...)
RADIO.zip
2) MP3
Fonctionne super bien
J'ai mis un fichier MP3 de 24Mo (10min en 320K) , et ça le lit super bien
3) LEDS
C 'est sympa on peut programmer pour faire des chenillards....(2* 8 LEDS)
A suivre les prochains softs
http://www.tmtlogic.com/tmtlogic.com/index.php/umja/msx-se-one-mp3-player Edité par msx45 Le 25/09/2017 à 18h40
cartouche recue
Voici mes petits tests :
1) RADIO
Pas très sensible (en ville je pense que ça pose pas probleme)
Les softs sont encore en cours de developement
il existe un logiciel en BASIC très succinct et un logiciel sous SYMBOS (pas testé)
J'ai me suis amusé a rajouter des fonctions au logiciel en BASIC ( a optimiser bien sur...)
RADIO.zip
2) MP3
Fonctionne super bien
J'ai mis un fichier MP3 de 24Mo (10min en 320K) , et ça le lit super bien
3) LEDS
C 'est sympa on peut programmer pour faire des chenillards....(2* 8 LEDS)
A suivre les prochains softs
http://www.tmtlogic.com/tmtlogic.com/index.php/umja/msx-se-one-mp3-player Edité par msx45 Le 25/09/2017 à 18h40
TurboSEB
Membre non connecté
Conseiller Municipal
TurboSEB
Membre non connecté
Conseiller Municipal
Donc un Mp3 de quelques ko, des samples genre "Prooout !", "Pan"," Aaaaargh !", "Même pas cap?", ....., "Oups !" ça doit pas trop ralentir l'ordinateur, si c'est intégré dans le gameplay
On compte bienentendu sur le dévouement de Msx45 pour réalisé les enregistrements des samples et faire les testes
Blague à part si qqun envisage d'en acheter une et s'occupe d'une commande groupé, je paierai ma part, ainsi que les frais de port groupé 19euros et la lettre Max pour le renvoi chez moi Edité par TurboSEB Le 03/10/2017 à 21h11
On compte bienentendu sur le dévouement de Msx45 pour réalisé les enregistrements des samples et faire les testes
Blague à part si qqun envisage d'en acheter une et s'occupe d'une commande groupé, je paierai ma part, ainsi que les frais de port groupé 19euros et la lettre Max pour le renvoi chez moi Edité par TurboSEB Le 03/10/2017 à 21h11
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
MSXlegend
Membre non connecté
Conseiller Municipal
Hello
Il y a encore quelques pieces de dispo de la SE-ONE V2 Mp3 et radio, et j avoue etre tenté d'avoir un gadget de plus
Il a aussi un port USB pour pouvoir mettre directement ses mp3 dessus.
A suivre
https://www.msx-shop.nl/product/10931/
Software:
https://drive.google.com/drive/folders/1Suf5DXEM_dXEkFTT_A8dazax2HOKKqdo Edité par MSXlegend Le 10/12/2024 à 22h59
Il y a encore quelques pieces de dispo de la SE-ONE V2 Mp3 et radio, et j avoue etre tenté d'avoir un gadget de plus
Il a aussi un port USB pour pouvoir mettre directement ses mp3 dessus.
A suivre
https://www.msx-shop.nl/product/10931/
Software:
https://drive.google.com/drive/folders/1Suf5DXEM_dXEkFTT_A8dazax2HOKKqdo Edité par MSXlegend Le 10/12/2024 à 22h59
MSXlegend
Membre non connecté
Conseiller Municipal
Hello
recu et premier test effectué. Tout sous basic.
Comme la carte son est complètement indépendante, cela ne demande aucune ressource particulière pour jouer un morceaux mp3 (ogg, wav aussi possible)
sous basic, une instruction est envoyé et le morceau est joué. En appuyant sur stop, une autre instruction est envoyé vers la cartouche pour Arreter le mp3. si l on fait un reset, le morceaux est toujour en cours via la sortie jack. Si l'on fait un crtl+stop, on se retrouve sous basic et la musique continu.
ça veux dire qu'il est devenu facile de faire une petit jeu avec des bruitage et musique de bonne qualité en executant le morceaux choisi en stereo svp
test a suivre. en attendant j'ai glissé le programme basic
PLAYER MP3 SOUS BASIC
recu et premier test effectué. Tout sous basic.
Comme la carte son est complètement indépendante, cela ne demande aucune ressource particulière pour jouer un morceaux mp3 (ogg, wav aussi possible)
sous basic, une instruction est envoyé et le morceau est joué. En appuyant sur stop, une autre instruction est envoyé vers la cartouche pour Arreter le mp3. si l on fait un reset, le morceaux est toujour en cours via la sortie jack. Si l'on fait un crtl+stop, on se retrouve sous basic et la musique continu.
ça veux dire qu'il est devenu facile de faire une petit jeu avec des bruitage et musique de bonne qualité en executant le morceaux choisi en stereo svp
test a suivre. en attendant j'ai glissé le programme basic
PLAYER MP3 SOUS BASIC
Caché :
Edité par
MSXlegend
Le 18/12/2024 à 18h04
10 '--- Start Progrm Seplayer 2.0 ---
20 '
30 SCREEN0:WIDTH80
40 DIMA$(500):KEYOFF:COLOR15,4,4
50 '
60 '--- Define variables
70 '
80 AT$=""
90 PH$="/"
100 FS=0
110 VU$(0)=" "
120 VU$(1)="Ü "
130 VU$(2)="ÜÜ "
140 VU$(3)="ÜÜÜÜ "
150 VU$(4)="ÜÜÜÜÜ "
160 VU$(5)="ÜÜÜÜÜÜ "
170 VU$(0)="ÜÜÜÜÜÜÜÜ "
180 VU$(7)="ÜÜÜÜÜÜÜÜÜ "
190 VU$(8)="ÜÜÜÜÜÜÜÜÜÜ"
200 '
210 '--- Start build screen ---
220 '
230 CLS:COLOR 15,4,4
240 PRINT"XWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY";
250 PRINT"V ----- TMTLOGIC 2018 SEPLAYER 2.0 ---- V";
260 PRINT"V V";
270 PRINT"V SE-ONE Mass Storage Device player (AAC,MP3,MP4,M4A,WMA,WAV,MID,OGG) V";
280 PRINT"TWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWS";
290 PRINT"V Path is: S: V";
300 PRINT"TWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWS";
310 FOR T = 0 TO 13
320 PRINT"V V";
330 NEXT T
340 PRINT"ZWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[";
350 LOCATE 14,5:PRINT PH$
360 LOCATE 0,7:Y=CSRLIN:X=POS(0)
370 '
380 '--- Check if SE-ONE already is initalieerd ---
390 '
400 IF FS = 1 THEN GOTO 560
410 FS=1
420 '
430 LOCATE 30,10:PRINT"Install USB device";
440 '
450 '--- Check Firmware ----
460 '
470 AT$="AT+SEFIRMWARE?":GOSUB 1430:GOSUB 1600
480 DFU$=AV$
490 AT$="AT+SEFIRMWARECHK=12092018":GOSUB 1430
500 GOSUB 1720 'Check firmware
510 '
520 AT$="AT+SEMODE=MP3B":GOSUB 1430
530 AT$="AT+USBINIT":GOSUB 1430
532 AT$="AT+MSDPATH=/":GOSUB 1430
540 LOCATE 30,10:PRINT SPC(30)
550 '
560 LOCATE 57,1 :PRINT DFU$
570 '
580 '--- Get file list ---
590 '
600 X=3:Y=7
610 AT$="AT+MSDFILES":GOSUB 1430
612 IF PH$<>"/" THEN LOCATE 3,7:PRINT "/..";:X=18
620 D=INP(&H25)':PRINTD
630 IF D = 0 THEN GOTO 700
640 IF D = 9 THEN X=X+1
650 IF D = 9 AND X > 63 THEN X=2:Y=Y+1
660 IF D <> 9 THEN LOCATE X,Y:PRINT CHR$(D);
670 X=X+1
680 GOTO 620
690 '
700 LOCATE3,7:Y=CSRLIN:X=POS(0)
710 IN$=INPUT$(1)'wachtopESC
720 IF IN$=CHR$(30) THEN X=X:Y=Y-1: GOSUB 790
730 IF IN$=CHR$(28) THEN X=X+15:Y=Y:GOSUB 790
740 IF IN$=CHR$(29) THEN X=X-15:Y=Y:GOSUB 790
750 IF IN$=CHR$(31) THEN X=X:Y=Y+1: GOSUB 790
760 IF IN$=CHR$(13) THEN GOTO 860
770 GOTO 710
780 '
790 IFY >=20 THEN Y=20
800 IFX >=63 THEN X=63
810 IFX < 3 THEN X=3
820 IFY < 7 THEN Y=7
830 LOCATEX,Y
840 RETURN
850 '
860 A=CSRLIN
870 B=POS(0)
880 P=A*80
890 CH$=""
900 FORX=0TO11:CH=VPEEK((P+B)+X)
910 IF CH = 0 THEN 940
920 IF CH = 32 THEN 940
930 IF CH$ <> " " THEN CH$ = CH$ + CHR$(CH)
940 NEXT
950 '
960 IF CH$="" THEN GOTO 700
970 IF LEFT$(CH$,1) <> "/" THEN GOTO 1250
980 'is an Directry
990 IF CH$="/." THEN GOTO 700
1000 IF CH$="/.." THEN GOSUB 1040:GOTO 1020
1010 IF PH$="/" THEN PH$=CH$ ELSE PH$=PH$+CH$
1020 AT$="AT+MSDPATH="+PH$: GOSUB 1430
1030 GOTO 210
1040 ' Search "/"
1050 X = LEN(PH$)
1060 C$ = RIGHT$(LEFT$(PH$,X),1)
1070 IF C$ = "/" THEN PH$ = LEFT$(PH$,X-1):GOTO 1110
1080 IF X>1 THEN X=X-1 : GOTO 1060
1090 PRINT"foutje ";X,C$,PH$
1100 END
1110 IF X = 1 THEN PH$="/"
1120 RETURN
1130 CR$=RIGHT$(CH$,3)
1140 IF CR$="MP3" THEN GOTO 1250
1150 IF CR$="MP4" THEN GOTO 1250
1160 IF CR$="MID" THEN GOTO 1250
1170 IF CR$="AAC" THEN GOTO 1250
1180 IF CR$="OGG" THEN GOTO 1250
1190 IF CR$="WAV" THEN GOTO 1250
1200 IF CR$="WMA" THEN GOTO 1250
1210 IF CR$="M4A" THEN GOTO 1250
1220 BEEP
1230 GOTO 700
1240 '
1250 GOTO 2020 'Play screen
1260 AT$="AT+MSDPLAY="+PF$:GOSUB 1430
1270 GOTO 2020 'Play screen
1280 PRINT"P = PAUZE"
1290 PRINT"C = CONTINU"
1300 PRINT"S = STOP"
1310 '
1320 IF (INP(&H23) AND 32) = 0 THEN GOTO 1400
1330 IN$=INKEY$
1340 IF IN$="" THEN GOTO 1320
1350 IF IN$="P" THEN AT$="AT+MSDPAUSE":GOSUB 1430:ST$="PAUSE "
1360 IF IN$="C" THEN AT$="AT+MSDSTART":GOSUB 1430:ST$="PLAYING"
1370 IF IN$="S" THEN AT$="AT+MSDSTOP" :GOSUB 1430: GOTO 1400
1380 LOCATE 0,0 :PRINTST$
1390 GOTO 1320
1410 '----------------------
1420 '
1430 '--- Send AT Command ---
1440 '
1450 L= LEN(AT$)
1460 FOR T = 1 TO L
1470 CH$ = RIGHT$(LEFT$(AT$,T),1)
1480 CH = ASC(CH$)
1490 OUT &H20,CH
1500 NEXT T
1510 OUT &H20,13
1520 W = 10000
1530 CH = INP(&H20)
1540 IF W = 0 THEN PRINT"SE-ONE TIME OUT ERROR":END
1550 IF CH = 0 THEN W=W-1:GOTO 1530
1560 IF CH = ASC("E") THEN GOTO 1820' ERROR
1570 RETURN
1580 END
1590 '
1600 '--- Get AT value to AV$ ---
1610 '
1620 I=INP(&H20) 'Search char '='
1630 IF I = 0 THEN RETURN
1640 IF I = 61 THEN GOTO 1660
1650 GOTO 1620
1660 AV$=""
1670 I = INP(&H20) 'Get value
1680 IF I = 0 OR I = 13 THEN RETURN
1690 AV$=AV$+CHR$(I)
1700 GOTO 1670
1710 '
1720 '--- Check firmware ---
1730 FOR T = 1 TO 17:CH=INP(&H20):NEXT T '18e Char 'T' from treu
1740 IF CH = ASC("T") THEN RETURN
1750 'Not true
1760 COLOR 15,6:CLS
1770 LOCATE 23,10:PRINT "!! YOU MUST UPDATE YOUR SE-ONE !!"
1780 LOCATE 14,12:PRINT" Go to Support from the website www.tmtlogic.com
1790 LOCATE 0,20:PRINT"."
1800 END
1810 '
1820 'ERROR DISPLAY
1830 LOCATE 23,21
1840 AT$="AT+SEFAULTTXT?"
1850 L= LEN(AT$)
1860 FOR Q = 1 TO L
1870 CH$ = RIGHT$(LEFT$(AT$,Q),1)
1880 CH = ASC(CH$)
1890 OUT &H20,CH
1900 NEXT Q
1910 OUT &H20,13
1920 W = 10000
1930 CH = INP(&H20)
1940 IF W = 0 THEN PRINT"SE-ONE TIME OUT ERROR":END
1950 IF CH = 0 THEN W=W-1:GOTO 1930
1960 IF CH = 10 THEN END
1970 PRINT CHR$(CH);
1980 GOTO 1930
1990 PRINT
2000 END
2001 '
2002 '--- AT MSDSTOP Handler --
2003 '
2004 AT$="AT+MSDSTOP" :GOSUB 1430
2005 IF (INP(&H23) AND 8) <> 8 THEN GOTO 2005
2006 GOTO 210 'Start screen
2010 '
2020 '--- Play screen ----
2030 '
2040 PF$=CH$ 'save filename
2050 CLS
2060 PRINT
2070 PRINTTAB(20)+"XWWWWWWWWWWWWWWWWWWWWWWWWWWY"
2080 PRINTTAB(20)+"V TMTLOGIC USB PLAYER V"
2090 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2100 PRINTTAB(20)+"V File: V"
2110 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2120 PRINTTAB(20)+"V V"
2130 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2140 PRINTTAB(20)+"V V"
2150 PRINTTAB(20)+"ZWWWWWWWWWWWWWWWWWWWWWWWWWW["
2160 LOCATE 29,4
2170 PRINT PF$
2180 LOCATE 0,15
2190 PRINTTAB(16)+"(S)Stop (C)Continu (P)Pause"
2200 PRINT
2210 PRINTTAB(16)+"(V)Volume+ (v)Volume -"
2220 PRINTTAB(16)+"(B)Bass+ (b)Bass-"
2230 PRINTTAB(16)+"(T)Treble+ (t)Treble-"
2240 '
2250 '--- Play File ---
2260 AT$="AT+MSDPLAY="+PF$:GOSUB 1430
2270 '--- Get file size ---
2280 '
2290 AT$="AT+MSDSIZE?":GOSUB 1430:GOSUB 1600 'Get file size
2300 AV=VAL(AV$)
2310 IF AV > 10000!# THEN AV=INT(AV/10000!#):AE$="MB":GOTO 2340
2320 IF AV > 1000 THEN AV=INT(AV/1000) :AE$="Kb":GOTO 2340
2330 AE$=" "
2340 LOCATE 16,13:PRINT"File size: ";AV;AE$
2350 '
2360 TT=50:BB=50:VV=100
2370 '
2380 '--- Get CNT value 0-100% ---
2390 '
2400 CI=CI+1
2410 IF CI < 60 THEN GOTO 2470
2420 CI=0
2430 AT$="AT+MSDCNT?":GOSUB 1430:GOSUB 1600 'Get cnt value 0-100%
2440 AV=VAL(AV$)
2450 LOCATE 21,6:PRINT STRING$((AV/4)+1,"Ä")
2460 '
2470 '--- Get VU level indicators ---
2480 LOCATE 21,8:PRINT VU$(INP(&H26))
2490 LOCATE 37,8:PRINT VU$(INP(&H27))
2500 '
2510 IF (INP(&H23) AND 8) = 8 THEN GOTO 210
2520 '
2530 IN$=INKEY$
2540 IF IN$="" THEN GOTO 2380
2550 IF IN$="P" THEN AT$="AT+MSDPAUSE":GOSUB 1430:LOCATE 32,10:PRINT"PAUSE "
2560 IF IN$="C" THEN AT$="AT+MSDSTART":GOSUB 1430:LOCATE 32,10:PRINT"PLAYING"
2570 IF IN$="S" THEN GOTO 2001 'Stop Handler
2580 IF IN$="V" THEN VV=VV+10:IF VV > 100 THEN VV = 100
2590 IF IN$="v" THEN VV=VV-10:IF VV < 0 THEN VV = 0
2600 IF IN$="B" THEN BB=BB+10:IF BB > 100 THEN BB = 100
2610 IF IN$="b" THEN BB=BB-10:IF BB < 0 THEN BB = 0
2620 IF IN$="T" THEN TT=TT+10:IF TT > 100 THEN TT = 100
2630 IF IN$="t" THEN TT=TT-10:IF TT < 0 THEN TT = 0
2640 AT$="AT+DSPBASS="+STR$(BB) :GOSUB 1430
2650 AT$="AT+DSPTREBLE="+STR$(TT) :GOSUB 1430
2660 AT$="AT+DSPVOLL="+STR$(VV) :GOSUB 1430
2670 AT$="AT+DSPVOLR="+STR$(VV) :GOSUB 1430
2680 LOCATE 40,17:PRINTVV
2690 LOCATE 40,18:PRINTBB
2700 LOCATE 40,19:PRINTTT
2710 GOTO 2370
2720 IF (INP(&H23) AND 32) = 0 THEN GOTO 1400
20 '
30 SCREEN0:WIDTH80
40 DIMA$(500):KEYOFF:COLOR15,4,4
50 '
60 '--- Define variables
70 '
80 AT$=""
90 PH$="/"
100 FS=0
110 VU$(0)=" "
120 VU$(1)="Ü "
130 VU$(2)="ÜÜ "
140 VU$(3)="ÜÜÜÜ "
150 VU$(4)="ÜÜÜÜÜ "
160 VU$(5)="ÜÜÜÜÜÜ "
170 VU$(0)="ÜÜÜÜÜÜÜÜ "
180 VU$(7)="ÜÜÜÜÜÜÜÜÜ "
190 VU$(8)="ÜÜÜÜÜÜÜÜÜÜ"
200 '
210 '--- Start build screen ---
220 '
230 CLS:COLOR 15,4,4
240 PRINT"XWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY";
250 PRINT"V ----- TMTLOGIC 2018 SEPLAYER 2.0 ---- V";
260 PRINT"V V";
270 PRINT"V SE-ONE Mass Storage Device player (AAC,MP3,MP4,M4A,WMA,WAV,MID,OGG) V";
280 PRINT"TWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWS";
290 PRINT"V Path is: S: V";
300 PRINT"TWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWS";
310 FOR T = 0 TO 13
320 PRINT"V V";
330 NEXT T
340 PRINT"ZWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW[";
350 LOCATE 14,5:PRINT PH$
360 LOCATE 0,7:Y=CSRLIN:X=POS(0)
370 '
380 '--- Check if SE-ONE already is initalieerd ---
390 '
400 IF FS = 1 THEN GOTO 560
410 FS=1
420 '
430 LOCATE 30,10:PRINT"Install USB device";
440 '
450 '--- Check Firmware ----
460 '
470 AT$="AT+SEFIRMWARE?":GOSUB 1430:GOSUB 1600
480 DFU$=AV$
490 AT$="AT+SEFIRMWARECHK=12092018":GOSUB 1430
500 GOSUB 1720 'Check firmware
510 '
520 AT$="AT+SEMODE=MP3B":GOSUB 1430
530 AT$="AT+USBINIT":GOSUB 1430
532 AT$="AT+MSDPATH=/":GOSUB 1430
540 LOCATE 30,10:PRINT SPC(30)
550 '
560 LOCATE 57,1 :PRINT DFU$
570 '
580 '--- Get file list ---
590 '
600 X=3:Y=7
610 AT$="AT+MSDFILES":GOSUB 1430
612 IF PH$<>"/" THEN LOCATE 3,7:PRINT "/..";:X=18
620 D=INP(&H25)':PRINTD
630 IF D = 0 THEN GOTO 700
640 IF D = 9 THEN X=X+1
650 IF D = 9 AND X > 63 THEN X=2:Y=Y+1
660 IF D <> 9 THEN LOCATE X,Y:PRINT CHR$(D);
670 X=X+1
680 GOTO 620
690 '
700 LOCATE3,7:Y=CSRLIN:X=POS(0)
710 IN$=INPUT$(1)'wachtopESC
720 IF IN$=CHR$(30) THEN X=X:Y=Y-1: GOSUB 790
730 IF IN$=CHR$(28) THEN X=X+15:Y=Y:GOSUB 790
740 IF IN$=CHR$(29) THEN X=X-15:Y=Y:GOSUB 790
750 IF IN$=CHR$(31) THEN X=X:Y=Y+1: GOSUB 790
760 IF IN$=CHR$(13) THEN GOTO 860
770 GOTO 710
780 '
790 IFY >=20 THEN Y=20
800 IFX >=63 THEN X=63
810 IFX < 3 THEN X=3
820 IFY < 7 THEN Y=7
830 LOCATEX,Y
840 RETURN
850 '
860 A=CSRLIN
870 B=POS(0)
880 P=A*80
890 CH$=""
900 FORX=0TO11:CH=VPEEK((P+B)+X)
910 IF CH = 0 THEN 940
920 IF CH = 32 THEN 940
930 IF CH$ <> " " THEN CH$ = CH$ + CHR$(CH)
940 NEXT
950 '
960 IF CH$="" THEN GOTO 700
970 IF LEFT$(CH$,1) <> "/" THEN GOTO 1250
980 'is an Directry
990 IF CH$="/." THEN GOTO 700
1000 IF CH$="/.." THEN GOSUB 1040:GOTO 1020
1010 IF PH$="/" THEN PH$=CH$ ELSE PH$=PH$+CH$
1020 AT$="AT+MSDPATH="+PH$: GOSUB 1430
1030 GOTO 210
1040 ' Search "/"
1050 X = LEN(PH$)
1060 C$ = RIGHT$(LEFT$(PH$,X),1)
1070 IF C$ = "/" THEN PH$ = LEFT$(PH$,X-1):GOTO 1110
1080 IF X>1 THEN X=X-1 : GOTO 1060
1090 PRINT"foutje ";X,C$,PH$
1100 END
1110 IF X = 1 THEN PH$="/"
1120 RETURN
1130 CR$=RIGHT$(CH$,3)
1140 IF CR$="MP3" THEN GOTO 1250
1150 IF CR$="MP4" THEN GOTO 1250
1160 IF CR$="MID" THEN GOTO 1250
1170 IF CR$="AAC" THEN GOTO 1250
1180 IF CR$="OGG" THEN GOTO 1250
1190 IF CR$="WAV" THEN GOTO 1250
1200 IF CR$="WMA" THEN GOTO 1250
1210 IF CR$="M4A" THEN GOTO 1250
1220 BEEP
1230 GOTO 700
1240 '
1250 GOTO 2020 'Play screen
1260 AT$="AT+MSDPLAY="+PF$:GOSUB 1430
1270 GOTO 2020 'Play screen
1280 PRINT"P = PAUZE"
1290 PRINT"C = CONTINU"
1300 PRINT"S = STOP"
1310 '
1320 IF (INP(&H23) AND 32) = 0 THEN GOTO 1400
1330 IN$=INKEY$
1340 IF IN$="" THEN GOTO 1320
1350 IF IN$="P" THEN AT$="AT+MSDPAUSE":GOSUB 1430:ST$="PAUSE "
1360 IF IN$="C" THEN AT$="AT+MSDSTART":GOSUB 1430:ST$="PLAYING"
1370 IF IN$="S" THEN AT$="AT+MSDSTOP" :GOSUB 1430: GOTO 1400
1380 LOCATE 0,0 :PRINTST$
1390 GOTO 1320
1410 '----------------------
1420 '
1430 '--- Send AT Command ---
1440 '
1450 L= LEN(AT$)
1460 FOR T = 1 TO L
1470 CH$ = RIGHT$(LEFT$(AT$,T),1)
1480 CH = ASC(CH$)
1490 OUT &H20,CH
1500 NEXT T
1510 OUT &H20,13
1520 W = 10000
1530 CH = INP(&H20)
1540 IF W = 0 THEN PRINT"SE-ONE TIME OUT ERROR":END
1550 IF CH = 0 THEN W=W-1:GOTO 1530
1560 IF CH = ASC("E") THEN GOTO 1820' ERROR
1570 RETURN
1580 END
1590 '
1600 '--- Get AT value to AV$ ---
1610 '
1620 I=INP(&H20) 'Search char '='
1630 IF I = 0 THEN RETURN
1640 IF I = 61 THEN GOTO 1660
1650 GOTO 1620
1660 AV$=""
1670 I = INP(&H20) 'Get value
1680 IF I = 0 OR I = 13 THEN RETURN
1690 AV$=AV$+CHR$(I)
1700 GOTO 1670
1710 '
1720 '--- Check firmware ---
1730 FOR T = 1 TO 17:CH=INP(&H20):NEXT T '18e Char 'T' from treu
1740 IF CH = ASC("T") THEN RETURN
1750 'Not true
1760 COLOR 15,6:CLS
1770 LOCATE 23,10:PRINT "!! YOU MUST UPDATE YOUR SE-ONE !!"
1780 LOCATE 14,12:PRINT" Go to Support from the website www.tmtlogic.com
1790 LOCATE 0,20:PRINT"."
1800 END
1810 '
1820 'ERROR DISPLAY
1830 LOCATE 23,21
1840 AT$="AT+SEFAULTTXT?"
1850 L= LEN(AT$)
1860 FOR Q = 1 TO L
1870 CH$ = RIGHT$(LEFT$(AT$,Q),1)
1880 CH = ASC(CH$)
1890 OUT &H20,CH
1900 NEXT Q
1910 OUT &H20,13
1920 W = 10000
1930 CH = INP(&H20)
1940 IF W = 0 THEN PRINT"SE-ONE TIME OUT ERROR":END
1950 IF CH = 0 THEN W=W-1:GOTO 1930
1960 IF CH = 10 THEN END
1970 PRINT CHR$(CH);
1980 GOTO 1930
1990 PRINT
2000 END
2001 '
2002 '--- AT MSDSTOP Handler --
2003 '
2004 AT$="AT+MSDSTOP" :GOSUB 1430
2005 IF (INP(&H23) AND 8) <> 8 THEN GOTO 2005
2006 GOTO 210 'Start screen
2010 '
2020 '--- Play screen ----
2030 '
2040 PF$=CH$ 'save filename
2050 CLS
2060 PRINT
2070 PRINTTAB(20)+"XWWWWWWWWWWWWWWWWWWWWWWWWWWY"
2080 PRINTTAB(20)+"V TMTLOGIC USB PLAYER V"
2090 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2100 PRINTTAB(20)+"V File: V"
2110 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2120 PRINTTAB(20)+"V V"
2130 PRINTTAB(20)+"TWWWWWWWWWWWWWWWWWWWWWWWWWWS"
2140 PRINTTAB(20)+"V V"
2150 PRINTTAB(20)+"ZWWWWWWWWWWWWWWWWWWWWWWWWWW["
2160 LOCATE 29,4
2170 PRINT PF$
2180 LOCATE 0,15
2190 PRINTTAB(16)+"(S)Stop (C)Continu (P)Pause"
2200 PRINT
2210 PRINTTAB(16)+"(V)Volume+ (v)Volume -"
2220 PRINTTAB(16)+"(B)Bass+ (b)Bass-"
2230 PRINTTAB(16)+"(T)Treble+ (t)Treble-"
2240 '
2250 '--- Play File ---
2260 AT$="AT+MSDPLAY="+PF$:GOSUB 1430
2270 '--- Get file size ---
2280 '
2290 AT$="AT+MSDSIZE?":GOSUB 1430:GOSUB 1600 'Get file size
2300 AV=VAL(AV$)
2310 IF AV > 10000!# THEN AV=INT(AV/10000!#):AE$="MB":GOTO 2340
2320 IF AV > 1000 THEN AV=INT(AV/1000) :AE$="Kb":GOTO 2340
2330 AE$=" "
2340 LOCATE 16,13:PRINT"File size: ";AV;AE$
2350 '
2360 TT=50:BB=50:VV=100
2370 '
2380 '--- Get CNT value 0-100% ---
2390 '
2400 CI=CI+1
2410 IF CI < 60 THEN GOTO 2470
2420 CI=0
2430 AT$="AT+MSDCNT?":GOSUB 1430:GOSUB 1600 'Get cnt value 0-100%
2440 AV=VAL(AV$)
2450 LOCATE 21,6:PRINT STRING$((AV/4)+1,"Ä")
2460 '
2470 '--- Get VU level indicators ---
2480 LOCATE 21,8:PRINT VU$(INP(&H26))
2490 LOCATE 37,8:PRINT VU$(INP(&H27))
2500 '
2510 IF (INP(&H23) AND 8) = 8 THEN GOTO 210
2520 '
2530 IN$=INKEY$
2540 IF IN$="" THEN GOTO 2380
2550 IF IN$="P" THEN AT$="AT+MSDPAUSE":GOSUB 1430:LOCATE 32,10:PRINT"PAUSE "
2560 IF IN$="C" THEN AT$="AT+MSDSTART":GOSUB 1430:LOCATE 32,10:PRINT"PLAYING"
2570 IF IN$="S" THEN GOTO 2001 'Stop Handler
2580 IF IN$="V" THEN VV=VV+10:IF VV > 100 THEN VV = 100
2590 IF IN$="v" THEN VV=VV-10:IF VV < 0 THEN VV = 0
2600 IF IN$="B" THEN BB=BB+10:IF BB > 100 THEN BB = 100
2610 IF IN$="b" THEN BB=BB-10:IF BB < 0 THEN BB = 0
2620 IF IN$="T" THEN TT=TT+10:IF TT > 100 THEN TT = 100
2630 IF IN$="t" THEN TT=TT-10:IF TT < 0 THEN TT = 0
2640 AT$="AT+DSPBASS="+STR$(BB) :GOSUB 1430
2650 AT$="AT+DSPTREBLE="+STR$(TT) :GOSUB 1430
2660 AT$="AT+DSPVOLL="+STR$(VV) :GOSUB 1430
2670 AT$="AT+DSPVOLR="+STR$(VV) :GOSUB 1430
2680 LOCATE 40,17:PRINTVV
2690 LOCATE 40,18:PRINTBB
2700 LOCATE 40,19:PRINTTT
2710 GOTO 2370
2720 IF (INP(&H23) AND 32) = 0 THEN GOTO 1400
MSXlegend
Membre non connecté
Conseiller Municipal
LA RADIO SOUS BASIC
Caché :
10 CLS
20 WIDTH 80:COLOR 15,4,4:BEEP
30 'Buld screen
40 '
50 PRINT"**************************"
60 PRINT"* *"
70 PRINT"* FREQ: -- *"
80 PRINT"* *"
90 PRINT"**************************"
100 PRINT"* UP = STEP + 0.1 *"
110 PRINT"* DOWN = STEP - 0.1 *"
120 PRINT"* LEFT = SCAN DOWN *"
130 PRINT"* RIGHT = SCAN UP *"
140 PRINT"**************************"
150 '
160 '--------------------------------------------------------------
170 ' --- Declare variables ---"
180 '
190 AT$ ="" 'string input at command"
200 RV = 0 'integer reponse
210 FR = 87 :'INTEGER ACTUAL FREQUENTION "
220 RS$ = ""'string response"
230 KS$ = ""'keyboard input"
240 I = 0 'input IO 0x20"
250 L = 0 'integer lenght at$ string"
260 T = 0 'integer teller
270 C = 0 'integer character"
280 SW = 0 'integer switch
290 '
300 '--------------------------------------------------------------
310 'Init SE-ONE
320 ' "
330 AT$="AT+SEMODE=FM": GOSUB 560
340 AT$="AT+FMBAND=EUR": GOSUB 560
350 AT$="AT+FMFREQ=87": GOSUB 560
360 '
370 '--------------------------------------------------------------
380 '--refresh parameters--
390 '
400 AT$="AT+FMFREQ?":GOSUB 650:FR=RV
410 '
420 LOCATE 9,2 :PRINT USING "###.# ";FR
430 '
440 LOCATE 3 ,11
450 PRINT SPC(30)
460 '-- Loop keyboard input --
470 '
480 KS$ = INKEY$
490 IF KS$= "" THEN GOTO 460
500 IF KS$=CHR$(30) THEN FR=FR+.1:AT$="AT+FMFREQ="+STR$(FR):GOSUB 560
510 IF KS$=CHR$(31) THEN FR=FR-.1:AT$="AT+FMFREQ="+STR$(FR):GOSUB 560
520 IF KS$=CHR$(29) THEN AT$="AT+FMSCANDOWN":GOSUB 560
530 IF KS$=CHR$(28) THEN AT$="AT+FMSCANUP":GOSUB 560
540 GOTO 380
550 '--------------------------------------------------------------
560 ' send AT wait op response
570 '
580 'in AT$
590 'out response
600 GOSUB 990
610 GOSUB 1140
620 'IF LEFT$(RS$,1) = "E" THEN PRINT"E Err":GOTO 1860
630 RETURN
640 '--------------------------------------------------------------
650 '-- ask value AT command handler
660 '
670 'in: AT$ "
680 'out: value in rv"
690 '
700 GOSUB 990
710 GOSUB 1140
720 GOSUB 850
730 RV = VAL(RS$)
740 RETURN
750 '--------------------------------------------------------------
760 '-- Ask string AT command handler
770 '
780 ' in: AT$ "
790 ' out: value in rs$"
800 GOSUB 990
810 GOSUB 1140
820 GOSUB 850
830 RETURN
840 '--------------------------------------------------------------
850 '-- read data inputstring
860 SW=0
870 V$=""
880 IF LEFT$(RS$,1) <> "A" THEN PRINT"NO A(T...) Response":GOTO 1290
890 L = LEN(RS$)
900 FOR T = 1 TO L
910 C = ASC(RIGHT$(LEFT$(RS$,T),1))
920 IF C = 13 THEN GOTO 960
930 IF SW = 1 THEN V$=V$+CHR$(C)
940 IF C=ASC("=") THEN SW=1
950 NEXT T
960 RS$ = V$
970 RETURN
980 '--------------------------------------------------------------
990 '-- send AT command to SE-ONE
1000 '
1010 LOCATE 3,11
1020 PRINTSPC(30)
1030 LOCATE 3,11
1040 PRINT"AT SEND:";AT$
1050 '
1060 L = LEN(AT$)
1070 FOR T = 1 TO L
1080 S = ASC(RIGHT$(LEFT$(AT$,T),1))
1090 OUT &H20,S
1100 NEXT T
1110 OUT &H20,13
1120 RETURN
1130 '--------------------------------------------------------------
1140 '-- read from SE-ONE inputstring to chr$(10) complete strng
1150 '
1160 'Timeout reset
1170 TM = 0'time out is 0"
1180 RS$=""
1190 '
1200 'loop read input
1210 I = INP(&H20)
1220 TM = TM + 1
1230 IF TM > 15000 THEN :PRINT"Timeout read Respose":GOTO 1290
1240 IF I = 0 THEN GOTO 1200
1250 IF I = 10 THEN RETURN
1260 IF I > 10 THEN RS$=RS$+CHR$(I)
1270 GOTO 1200
1280 '--------------------------------------------------------------
1290 '-- Error handler
1300 '
1310 PRINT "AT TIMEOUT ERROR"
1320 END
1330 '--------------------------------------------------------------
20 WIDTH 80:COLOR 15,4,4:BEEP
30 'Buld screen
40 '
50 PRINT"**************************"
60 PRINT"* *"
70 PRINT"* FREQ: -- *"
80 PRINT"* *"
90 PRINT"**************************"
100 PRINT"* UP = STEP + 0.1 *"
110 PRINT"* DOWN = STEP - 0.1 *"
120 PRINT"* LEFT = SCAN DOWN *"
130 PRINT"* RIGHT = SCAN UP *"
140 PRINT"**************************"
150 '
160 '--------------------------------------------------------------
170 ' --- Declare variables ---"
180 '
190 AT$ ="" 'string input at command"
200 RV = 0 'integer reponse
210 FR = 87 :'INTEGER ACTUAL FREQUENTION "
220 RS$ = ""'string response"
230 KS$ = ""'keyboard input"
240 I = 0 'input IO 0x20"
250 L = 0 'integer lenght at$ string"
260 T = 0 'integer teller
270 C = 0 'integer character"
280 SW = 0 'integer switch
290 '
300 '--------------------------------------------------------------
310 'Init SE-ONE
320 ' "
330 AT$="AT+SEMODE=FM": GOSUB 560
340 AT$="AT+FMBAND=EUR": GOSUB 560
350 AT$="AT+FMFREQ=87": GOSUB 560
360 '
370 '--------------------------------------------------------------
380 '--refresh parameters--
390 '
400 AT$="AT+FMFREQ?":GOSUB 650:FR=RV
410 '
420 LOCATE 9,2 :PRINT USING "###.# ";FR
430 '
440 LOCATE 3 ,11
450 PRINT SPC(30)
460 '-- Loop keyboard input --
470 '
480 KS$ = INKEY$
490 IF KS$= "" THEN GOTO 460
500 IF KS$=CHR$(30) THEN FR=FR+.1:AT$="AT+FMFREQ="+STR$(FR):GOSUB 560
510 IF KS$=CHR$(31) THEN FR=FR-.1:AT$="AT+FMFREQ="+STR$(FR):GOSUB 560
520 IF KS$=CHR$(29) THEN AT$="AT+FMSCANDOWN":GOSUB 560
530 IF KS$=CHR$(28) THEN AT$="AT+FMSCANUP":GOSUB 560
540 GOTO 380
550 '--------------------------------------------------------------
560 ' send AT wait op response
570 '
580 'in AT$
590 'out response
600 GOSUB 990
610 GOSUB 1140
620 'IF LEFT$(RS$,1) = "E" THEN PRINT"E Err":GOTO 1860
630 RETURN
640 '--------------------------------------------------------------
650 '-- ask value AT command handler
660 '
670 'in: AT$ "
680 'out: value in rv"
690 '
700 GOSUB 990
710 GOSUB 1140
720 GOSUB 850
730 RV = VAL(RS$)
740 RETURN
750 '--------------------------------------------------------------
760 '-- Ask string AT command handler
770 '
780 ' in: AT$ "
790 ' out: value in rs$"
800 GOSUB 990
810 GOSUB 1140
820 GOSUB 850
830 RETURN
840 '--------------------------------------------------------------
850 '-- read data inputstring
860 SW=0
870 V$=""
880 IF LEFT$(RS$,1) <> "A" THEN PRINT"NO A(T...) Response":GOTO 1290
890 L = LEN(RS$)
900 FOR T = 1 TO L
910 C = ASC(RIGHT$(LEFT$(RS$,T),1))
920 IF C = 13 THEN GOTO 960
930 IF SW = 1 THEN V$=V$+CHR$(C)
940 IF C=ASC("=") THEN SW=1
950 NEXT T
960 RS$ = V$
970 RETURN
980 '--------------------------------------------------------------
990 '-- send AT command to SE-ONE
1000 '
1010 LOCATE 3,11
1020 PRINTSPC(30)
1030 LOCATE 3,11
1040 PRINT"AT SEND:";AT$
1050 '
1060 L = LEN(AT$)
1070 FOR T = 1 TO L
1080 S = ASC(RIGHT$(LEFT$(AT$,T),1))
1090 OUT &H20,S
1100 NEXT T
1110 OUT &H20,13
1120 RETURN
1130 '--------------------------------------------------------------
1140 '-- read from SE-ONE inputstring to chr$(10) complete strng
1150 '
1160 'Timeout reset
1170 TM = 0'time out is 0"
1180 RS$=""
1190 '
1200 'loop read input
1210 I = INP(&H20)
1220 TM = TM + 1
1230 IF TM > 15000 THEN :PRINT"Timeout read Respose":GOTO 1290
1240 IF I = 0 THEN GOTO 1200
1250 IF I = 10 THEN RETURN
1260 IF I > 10 THEN RS$=RS$+CHR$(I)
1270 GOTO 1200
1280 '--------------------------------------------------------------
1290 '-- Error handler
1300 '
1310 PRINT "AT TIMEOUT ERROR"
1320 END
1330 '--------------------------------------------------------------
les commandes a partir du basic se font par des OUT &H20
toute les infos sur la cartouche sont dans ce lien à la rubrique SE-ONE
https://drive.google.com/drive/folders/1Suf5DXEM_dXEkFTT_A8dazax2HOKKqdo
toute les infos sur la cartouche sont dans ce lien à la rubrique SE-ONE
https://drive.google.com/drive/folders/1Suf5DXEM_dXEkFTT_A8dazax2HOKKqdo
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie