• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

17. April 2026, 09:11:56

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

Recent

Members
Stats
  • Total Posts: 12,834
  • Total Topics: 1,528
  • Online today: 215
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 162
Total: 163

162 Guests, 1 User
xesrjb

LambdaSpeak CPC Sprach-Synthesizer, Sample Player, RTC, MP3, UART Erweiterung

Started by LambdaMikel, 01. May 2017, 09:41:34

Previous topic - Next topic

0 Members and 11 Guests are viewing this topic.

Rennert

eetest sagt:
...
eeprom cleared
größenangabe
...
eeprom cleared
eeprom pages written
eeprom pages ok
eeprom done

bei drumload scheint tatsächlich die Länge das Problem zu sein. habe mal eine Standardlänge von 2345 Bytes gemacht und er lädt die Files alle und spielt sie beim Laden ab. mit drummer mal sehen, aber paar wavs gehen.

LambdaMikel

Quote from: Rennert on 19. July 2019, 21:13:10
eetest sagt:
...
eeprom cleared
größenangabe
...
eeprom cleared
eeprom pages written
eeprom pages ok
eeprom done

bei drumload scheint tatsächlich die Länge das Problem zu sein. habe mal eine Standardlänge von 2345 Bytes gemacht und er lädt die Files alle und spielt sie beim Laden ab. mit drummer mal sehen, aber paar wavs gehen.

gut, eeprom geht noch (hatte ich ja auch getestet bevor losgeschickt).
drummer.bas zeigt dir die groessenangabe in pages. im array. die kannst mal 512 und dann hast du die anzahl bytes. die eigentlichen dateien sind aber u.u. kuerzer als das... die restlichen bytes muessen immer mit 127 aufgefuellt werden, bis die letzte seite voll ist. das ist das was in drumload.bas in zeile 440 passiert.

Rennert

schau ich mal, hatte jetzt die Zeile 310 mit REM versehen und 311 Length=2345 festgesetzt als Test.

da blick ich nicht mehr durch, dazu sind meine Basic Kenntnisse zu gering 8)

LambdaMikel

Quote from: Rennert on 19. July 2019, 21:30:31
schau ich mal, hatte jetzt die Zeile 310 mit REM versehen und 311 Length=2345 festgesetzt als Test.

ok damit laedst du eben nur einen teil von jedem wav. dass problem bei drummer.bas ist, dass die fest einprogrammierten startseiten-addressen fuer die einzelnen trommeln nun nicht mehr stimmen. du muesstest dir also beim drumload.bas die "startpage" notieren und dann entsprechend die arrays anpassen in drummer. dann soltest du jede datei spielen koennen.

in zeile 210 in drummer.bas siehst du z.b. v[1]=11. das bedeutet, dass die 2. trommel bei seite 11 anfaengt. wenn du jetzt die laenge auf 2345 aenderst, aenderst du auch die startseiten.

Rennert

ist mir leider zu hoch, kann nur die einfachen Sachen im Basic 8)

Zumindest weiß ich jetzt, das das PCM Abspielen geht.

Rennert

warum läuft das nicht mit M4 Rom?
lade grad Drumload mit M4 Rom und fester Größenangabe zum Test und er lädt das rein.

Rennert

habe das Drumload mal angepasst, vorher im Emulator das originale laufen lassen wegens der Werte.
Im Emulator lädt es alles mit den richtigen Werten, später mal am KCC testen.

10 OUT &FBEE,255
20 FOR i=1 TO 1000:NEXT
30 CLS
40 PEN 1
50 PRINT "Loading LambdaDrums into EEPROM Memory"   
60 PRINT
70 PEN 3
80 PRINT "DOES NOT WORK WITH M4 FIRMWARE ROM"
90 PRINT "REQUIRES STANDARD AMSDOS OR PARADOS"
100 PEN 2
110 WAIT &FBEE,128
120 n$[0]="bd.wav"
125 l[0]=4435
130 n$[1]="snare.wav"
135 l[1]=6471
140 n$[2]="hhcl.wav"
145 l[2]=4174
150 n$[3]="hhop.wav"
155 l[3]=8208
160 n$[4]="clap.wav"
165 l[4]=7151
170 n$[5]="finger.wav" 
175 l[5]=1559
180 n$[6]="ride.wav" 
185 l[6]=21435
190 n$[7]="crash.wav"
195 l[7]=29112
200 n$[8]="lolotom.wav" 
205 l[8]=5373
210 n$[9]="lotom.wav" 
215 l[9]=5402
220 n$[10]="midtom.wav"
225 l[10]=5645
230 startpage=1
240 MEMORY &1FFF
250 FOR fi=0 TO 10
260 nn$=n$[fi]
265 ll=l[fi]
270 PRINT
280 PRINT "PCM: ",nn$
290 OUT &FBEE,&FE   
300 LOAD nn$,&2000     
310 REM length=VAL("&"+HEX$(PEEK(&A76E),2)+HEX$(PEEK(&A76D),2))
315 length=ll
320 pages=ROUND(length / 512)+1
330 PRINT "Bytes: ", length:PRINT "Pages: ", pages     
340 n=startpage
350 PRINT "Start page: ", n
360 PRINT "Next start: ", pages + n     
370 startpage=pages + n
380 WAIT &FBEE,32   
390 OUT &FBEE,n
400 WAIT &FBEE,32
410 OUT &FBEE,pages
420 WAIT &FBEE,32
430 FOR i=&2000 TO &2000+length-1:a=PEEK(i):OUT &FBEE,a:NEXT
440 FOR i=&2000+length-1 TO &2000+(pages * 512):OUT &FBEE,127:NEXT   
450 NEXT fi

LambdaMikel

Gute Idee!
Muss jetzt erstmal für ne Woche weg, versuche mich aber zwischenzeitlich mal hier zu melden.

Rennert

Quote from: LambdaMikel on 20. July 2019, 04:23:23
Gute Idee!
Muss jetzt erstmal für ne Woche weg, versuche mich aber zwischenzeitlich mal hier zu melden.

Viel Spaß  :)

Rennert

Also mein Prog läuft ohne Probleme, jetzt höre ich mit drummer alle Instrumente richtig.
das ganze läuft auch mit aktiviertem M4 Rom :)

@tfm: bei pcmmode kommt der Cursor nicht zurück und z.B. auch drummer2 hängt dann bei dem Befehl. also dasselbe bei eeget und eeput

LambdaMikel

Congrats! Die gleiche Method kannst verwenden, um sequence2.bas anzupassen.
ja, tfm hat ja auch keinen kc kompakt wenn ich das richtig weiß, also konnt er das nie testen.

Rennert


Rennert

was macht denn das Prog. sequenc2 genau?
Also meinte, wenn ich es starte. müssen da die Files mit drumload schon eingelesen sein? muss erst den Sinn vom Prog verstehen 8)

LambdaMikel

Quote from: Rennert on 20. July 2019, 17:51:45
was macht denn das Prog. sequenc2 genau?
Also meinte, wenn ich es starte. müssen da die Files mit drumload schon eingelesen sein? muss erst den Sinn vom Prog verstehen 8)

Ich hatte oben mal das Video gepostet  ;)
Hier noch mal


Einmal laden der Drums mittle drumload.bas reicht ja - ist ja nicht-flüchtiger Speicehr das EEPROM.

Rennert

Wenn ich Drumload mache und danach sequenc2, bekomme ich memory full beim Laden.

Blicke leider bei dem Listing nicht so durch wo ich was ändern müsste. Das ist soviel vom einfachen Basic entfernt :binkybaby: