All topics
14
Yes No
Hide topic messages
Yes No
Enable infinite scrolling
Salve,
esiste una soluzione per poter conservare i variabili, in molti casi non solo DIM e variabili, ma anche salvare gli altri variabili su unità o ramdisk in caso di non avere più spazio sulla memoria del BASIC.

sono tre funzioni più diffusi della BASIC:

OPEN #
LINE INPUT #
PRINT #,
Prendiamo tutti i variabili che voglio conservare per il nostro gioco, scriviam
0replies
4views
Per ruotare un'immagine, vediamo l'esempio qua sotto:

copy "nomefile",dir to (x,y),pag,log

dir: 0,1,2,3 quale ruotare un'immagine
x,y: posizionare l'immagine nella vram
pag: quale pagina deve mettere l'immagine, ogni screen ha un numero disponibile di pagina, mettiamo il numero 0 in pagina.
log: TPRESET,TPSET,TXOR,TAND,TOR logico per cambiare l'aspetto dell'immagine
Da notare che si pu&ograv
0replies
2views
Salve,
per utilizzare la memory mapper in page 2 (08000h-0BFFFh) si può
spostare l'indirizzo 08000h al 0C000h.
Come fare ?
Si scrive all'indirizzo 0F676h (2 bytes)

poke &HC000,0:
poke &HF676,1
poke &HF677,&HC0
new
Oppure si può usare la LOAD all'interno del listato BASIC come
AUTOEXEC.BAS

5 rem save "autoexec.bas"
10 if peek(&Hf677)=128 th
0replies
3views
Per vedere quanti unità di drive sono connessi al computer, anzichè
digitare CALL FORMAT per sapere quanti unità ("A,B,C,..." si potrà usare la PEEK(&HF347)!

Indirizzo: &HF347, Elenco unità drive disponibili
Risultato: 2 unità (A,B)

Al basic, digitare la seguente istruzione:

10 print "Unità drive disponibili:";peek(&H
0replies
6views
Salve, l'ipotesi di poter costruire un 32x24 in screen 5 è possibile anche questa lista:

*SCREEN 5 (256*212 Graphic mode, 16 colours):
Matrix 0000-69FF
Sprite colours 7400-75FF
Sprite attribute table 7600-767F
Palette 7680-769F
Sprite character patterns 7800-7FFF
In alcuni casi, è possibile cambiare
0replies
4views
DanySoft posted Aug 13 at 9:29 pm
In MSX2, il comando CALL MEMINI, a volte può anche salvare i
dati (OPEN/INPUT #,PRINT #) e i listati (.BAS) sulla memoria.

CALL MEMINI (+ Invio)
disponibili lo spazio per caricare o salvare i nostri dati.
SAVE "MEM:file"
verrà salvato sul memoria, per vedere se è carica, digita
CALL MFILES
a questo punto visualizza una lista di dati salvati.

per elim
0replies
9views
Per copiare una stringa o una funzione che si trova nel
listato del BASIC, basterà spostare il nostro cursore sulla
posizione come qua sotto:

10 print "ciaooo"
x <- posizione cursore

10 print xciaooo"
a questo punto cancella verso sinistra con il tasto BS
xciaooo"
Ecco fatto, ora attivo il tasto INS per inserire il testo
key 1,"xciaooo"
poi sposta il cursore x all'ultima riga
0replies
3views
DanySoft posted Aug 13 at 9:11 pm
...
100 x=100:y=100
110 put sprite 0,(x,y),10,0
...
180 T=6144
190 a=0: rem offset X
200 b=0: rem offset Y
210 H=int((y+b)/8)
220 L=int((x+a)/8)
230 g=t+h*32+l
240 a=vpeek(g)
250 if a=128 then vpoke g,32
Alla riga 100 sono le posizioni di uno sprite con X,Y
Alla riga 180, è l'indirizzo della vram dove si trova i char che
appaiano sullo schermo.

<A> e <B> sono offset d
0replies
4views
DanySoft posted Aug 13 at 9:04 pm
OTIR output via PortI/O, example 0x98 output VRAM

Input:
HL=indirizzo FONT/GRAPHICS
B= <size>
C=0x98 ; port VRAM
Output: out to VRAM

ld a,2
call $5f

ld a,$6A
ld hl,8192
ld bc,6144
call $56

ld hl,0
call vram

ld hl,font
ld bc,$0898
otir

call $9f

ld a,0
call $5f
ret
Al posto del HL,0 (posizione VRAM) può anche scrivere in due
registri: <H> e <L>
0replies
4views
DanySoft posted Aug 13 at 8:41 pm
PLAY(0)= All musics
PLAY(1)= 1 Canal
PLAY(2)= 2 Canal
PLAY(3)= 3 Canal

If PLAY() return 0, exit
If PLAY() return -1, continue the music ...
DanySoft

5 REM save "music.bas
7 CLS:A=1:B=1:C=1
10 PLAY "cdcd","ababababab","cdee"
20 IF A=1 AND PLAY(1)=0 THEN PRINT"Fine(1)":A=0
21 IF B=1 AND PLAY(2)=0 THEN PRINT"Fine(2)":B=0
22 IF C=1 AND PLAY(3)=0 THEN PRINT"Fine(3)":C=0
23 IF PL
0replies
4views
DanySoft posted Aug 13 at 8:39 pm
Char <C> = numero carattere

<X>,<Y>= posizione

<A$>= stringa
Serve per mettere il titolo oppure come testo per il caricamento successivo del gioco su cassetta o disk.

DanySoft

5 REM save "a.bas
10 CLS
20 C=130:X=0:Y=0:A$="wash":GOSUB1000
21 C=131:X=0:Y=8:A$="man":GOSUB1000
30 END
1000 REM
1010 REM
1020 REM
1030 A=Y:T$=CHR$(C)
1040 FOR J=1 TO LEN(A$)
105
0replies
6views
andrea posted Aug 12 at 3:02 pm
Ciao Daniele,

Ecco qui il nuovo forum di DreamQuick Studio, prova a vedere
se funziona tutto bene.

Saluti
Andrea

0replies
5views
All posts under this topic will be deleted ?
With selected deselect topics
Pending draft ... Click to resume editing
Discard draft