Page 1 of 1
FUQL v0.91 Available
Posted: Fri Jan 27, 2023 10:36 am
by spkr
Hi there boys and girls,
there is stuff brewing in the QL development, and as such, FUQL is updated once more. This time its version v0.91, with some improvements on the UI visibility and UI interaction.
Changes:
Code: Select all
FUQL Track v092 Changes:
- Patternsheet editor now supports more than 16 patterns for editing
- Updated pattern loop and song playing capability to support abovementioned fea
ture
FUQL Track v091 Changes:
- Visible key explanation in tracker
- Separate `keyboard-throttle' values for different interactions (increased delay for pattern editing, decreased delay for instrument editing)
- Supporting copy paste of pattern values in the pattern-sheet editor
- Temporarily removed demosystem-playback support (])
- Altered screen setting at init to hopefully prevent black screen occurring.
The example song of Bars 'n Beats is provided for educational purposes.
Download link:
http://frummel.org/~weedz/atari/prods/ql/fuql_v092.zip
Kind regards,
Wietze
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 8:13 pm
by Cristian
Above all, thank you for the update ad your efforts.
And now... bug report time.
The program does not run with Minerva Rom (both with Qemulator and with real QL).
I found problems also with my Supergoldcard + JM Rom (I have a Superdgoldcard clone, maybe someone else could try with the original one).
The tracker runs on real QL+JM Rom, but sometimes loses the display (black screen); anyway it can load and play the song.
The pitch of higher notes goes slightly down (on real QL at least).
Said that, the program is really promising and innovative in QL scene. I hope this little bug report will help you to improve the tracker!
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 9:26 pm
by spkr
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
Above all, thank you for the update ad your efforts.
Thanks, feedback is essential!
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
The program does not run with Minerva Rom (both with Qemulator and with real QL).
I only target Stock QL, the rest is YMMV. If you want to use it, use stock QL.
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
I found problems also with my Supergoldcard + JM Rom (I have a Superdgoldcard clone, maybe someone else could try with the original one).
Ditto.
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
The tracker runs on real QL+JM Rom, but sometimes loses the display (black screen); anyway it can load and play the song.
Ditto.
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
The pitch of higher notes goes slightly down (on real QL at least).
Im not sure what you mean by this. Would you please elaborate? I found that ALL Emulators do not match the sound of the actual Sinclair QL. Im therefor not sure if you're mentioning something about FUQL or about the emulator.
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pm
Said that, the program is really promising and innovative in QL scene. I hope this little bug report will help you to improve the tracker!
I appreciate you taking the time to report. Please dont mistake my narrowminded/blunt responses for lack of appreciation. I just want to be clear that I have no intention to support anything else than stock QL
. Please let me know about what you mean with the pitch; it could very well be I made an error in my note mapping somewhere.
Kind regards,
Wietze
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 10:20 pm
by dex
What means "stock QL", if Minerva ROM or JM ROM machines arent "stock QL"?
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 10:27 pm
by mk79
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pmThe program does not run with Minerva Rom (both with Qemulator and with real QL).
Minerva derives the location of the system variables from the SSP, which the code moves to another location. Switching to the original SSP before a TRAP might fix this, but yeah, this code doesn't look like it's meant to play well with other environments. Still pretty cool (though I have only heard the QemuLator version for now, too lazy to power up a real QL
)
spkr wrote: ↑Sun Jan 29, 2023 9:26 pmIm not sure what you mean by this. Would you please elaborate? I found that ALL Emulators do not match the sound of the actual Sinclair QL. Im therefor not sure if you're mentioning something about FUQL or about the emulator.
Not for lack of trying... emulating the IPC sound is amazingly difficult, IIRC the IPC code even relies on uninitialized registers.
All the best, Marcel
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 10:33 pm
by spkr
dex wrote: ↑Sun Jan 29, 2023 10:20 pm
What means "stock QL", if Minerva ROM or JM ROM machines arent "stock QL"?
You are probably right here. Afaik JM ROM is the one that the machine was originally shipped with. Incase we have bugs on stock ROM, this may be interesting; but if it doesnt hamper functionality it surely is minor
Re: FUQL v0.91 Available
Posted: Sun Jan 29, 2023 10:44 pm
by spkr
mk79 wrote: ↑Sun Jan 29, 2023 10:27 pm
Cristian wrote: ↑Sun Jan 29, 2023 8:13 pmThe program does not run with Minerva Rom (both with Qemulator and with real QL).
Minerva derives the location of the system variables from the SSP, which the code moves to another location. Switching to the original SSP before a TRAP might fix this, but yeah, this code doesn't look like it's meant to play well with other environments. Still pretty cool (though I have only heard the QemuLator version for now, too lazy to power up a real QL
)
This is interesting to know, but I am indeed an elephant in a porcelain closet; I just want to get it to work on my QL machine+emulator. Indeed, I do move the stackpointer to an absolute address once I relocate the code. In the end this is just a means to an end to make tracks to be used in demos. The UI looks bad and has very limited userfriendlyness; but it works
.
spkr wrote: ↑Sun Jan 29, 2023 9:26 pmIm not sure what you mean by this. Would you please elaborate? I found that ALL Emulators do not match the sound of the actual Sinclair QL. Im therefor not sure if you're mentioning something about FUQL or about the emulator.
mk79 wrote: ↑Sun Jan 29, 2023 10:27 pm
Not for lack of trying... emulating the IPC sound is amazingly difficult, IIRC the IPC code even relies on uninitialized registers.
Correct. What I do sometimes, is `split up' the QL sound command over different VBLANKS (simply because sending commands to the IPC too fast locks the system, and poll-waiting for the IPC to become availabile over the course of a complete sound command may take UP TO 70%). By splitting out the sound command into several bytes per frame, this wait delay is sliced to manageable size. However, this does also mean that the sound command effects, such as random and pitch etc, are only altered once the command is received. This is not emulated on correctly. Furthermore the sound emulation on Qemulator for windows and osx have different implementations, where Qemulator relies on the DirectX sound driver; in case this one is buffered, it has the tendency to miss notes when notes are entered subsequently in QL. Similarly, on the actual QL, rapidly successing notes may not be heard at all.
The after-market IPC rom changes this behaviour slightly.
JobOne was so kind to provide me with a hermes chip. The results were interesting to compare. What I compared was:
- hermes vs stock ipc rom
- sound command issues in 1 VBLANK, or spread over multiple (in my case 4 VBLANK).
hear for yourself:
- hermes.zip
- zip file containing 4 recorded sound recordings from real hardware, different rom and sound driver implementations
- (6.51 MiB) Downloaded 28 times
Re: FUQL v0.91 Available
Posted: Mon Jan 30, 2023 6:11 pm
by Cristian
Wietze, I'll try to explain better:
I also utilized an actual "stock QL" with its original Sinclair JM Rom. Sometimes the graphic interface doesn't appear (black screen) even if the program can load and play the song. In the same "stock QL" with its original JM Rom, the sound of higher notes is slightly out-of-tune (lower pitch). The medium and lower pitch notes seem perfectly intoned.
Please feel free to ask if something unclear.
Thanks
Re: FUQL v0.91 Available
Posted: Mon Jan 30, 2023 7:43 pm
by spkr
Cristian wrote: ↑Mon Jan 30, 2023 6:11 pm
Wietze, I'll try to explain better:
I also utilized an actual "stock QL" with its original Sinclair JM Rom. Sometimes the graphic interface doesn't appear (black screen) even if the program can load and play the song. In the same "stock QL" with its original JM Rom, the sound of higher notes is slightly out-of-tune (lower pitch). The medium and lower pitch notes seem perfectly intoned.
Please feel free to ask if something unclear.
Thanks
You mean that when you run a high pitched note, it is not as you would expect it to be? E.g. some A# doesnt exactly sound like an A# or something? The only explanation is that I can think of, is that the QL is not able to match the actual humanly expected tone/frequency with its availabile note frequencies. The QL has a tone selection consisting of 255 steps, with some arbirary scale, and thus not any specific desired frequency. I have graphed these frequencies and mapped them to a note layout approximation (the instrument editor allows yout o explore all 255 settings):
Code: Select all
tone_b6 equ -1
tone_a6b equ -1
tone_a6 equ -1
tone_g6b equ -1
tone_g6 equ -1
tone_f6b equ -1
tone_f6 equ -1
tone_e6 equ -1
tone_d6b equ -1
tone_d6 equ 1 ; real:1175 ql:1176
tone_c6b equ -1
tone_c6 equ 2 ; real;1047 ql:1066
tone_b5 equ 3 ; real; 988 ql: 974
tone_a5b equ -1 ; real; 932 -
tone_a5 equ 4 ; real; 880 ql: 897
tone_g5b equ 5 ; real; 831 ql: 831
tone_g5 equ 6 ; real; 784 ql: 774
tone_f5b equ 7 ; real; 740 ql: 725
tone_f5 equ 8 ; real; 698 ql: 681
tone_e5 equ 9 ; real; 659 ql: 642
tone_d5b equ 10 ; real; 622 ql: 608
tone_d5 equ 11 ; real; 587 ql: 577
tone_c5b equ 12 ; real; 554 ql: 548
tone_c5 equ 13 ; real; 523 ql: 524
tone_b4 equ 14 ; real; 494 ql: 500
tone_a4b equ 16 ; real; 466 ql: 460
tone_a4 equ 17 ; real; 440 ql: 442
tone_g4b equ 19 ; real; 415 ql: 410
tone_g4 equ 20 ; real; 392 ql: 395
tone_f4b equ 22 ; real; 370 ql: 370
tone_f4 equ 23 ; real; 349 ql: 358
tone_e4 equ 26 ; real; 330 ql: 327
tone_d4b equ 28 ; real; 311 ql: 309
tone_d4 equ 30 ; real; 294 ql: 293
tone_c4b equ 32 ; real; 277 ql: 278
tone_c4 equ 35 ; real; 262 ql: 259
tone_b3 equ 37 ; real; 246.94 ql: 248
tone_a3b equ 40 ; real; 233.08 ql: 233
tone_a3 equ 43 ; real; 220 ql: 219
tone_g3b equ 46 ; real; 207.65 ql: 207
tone_g3 equ 49 ; real; 196 ql: 196
tone_f3b equ 53 ; real; 185 ql: 184
tone_f3 equ 56 ; real; 174.61 ql: 175
tone_e3 equ 60 ; real: 164.81 ql: 165
tone_d3b equ 64 ; real: 155.56 ql: 156
tone_d3 equ 69 ; real; 146.83 ql: 146.02
tone_c3b equ 73 ; real; 138.59 ql: 138.87
tone_c3 equ 78 ; real; 130.81 ql: 130.85
tone_b2 equ 83 ; real: 123.47 ql: 123.7
tone_a2b equ 89 ; real; 116.54 ql: 116.11
tone_a2 equ 94 ; real; 110 ql: 110
tone_g2b equ 101 ; real; 103.83 ql: 103.4
tone_g2 equ 107 ; real; 98 ql: 98
tone_f2b equ 114 ; real; 92.50 ql: 92.44
tone_f2 equ 121 ; real; 87.31 ql: 87.45
tone_e2 equ 129 ; real; 82.41 ql: 82.37
tone_d2b equ 137 ; real; 77.78 ql: 77.84
tone_d2 equ 146 ; real; 73.42 ql: 73.31
tone_c2b equ 155 ; real: 69.30 ql: 69.28
tone_c2 equ 165 ; real; 65.41 ql: 65
tone_b1 equ 174 ; real; 62 ql: 62.07
tone_a1b equ 186 ; real; 58.27 ql: 58.24
tone_a1 equ 197 ; real; 55 ql: 55
tone_g1b equ 209 ; real; 52 ql: 52.09
tone_g1 equ 223 ; real; 48.99 ql: 48.94
tone_f1b equ 236 ; real; 46.25 ql: 46.34
tone_f1 equ 251 ; real; 43.65 ql: 43.66
tone_e1 equ -1
tone_d1b equ -1
tone_d1 equ -1
tone_c1b equ -1
tone_c1 equ -1
Either way, there is nothing I can do here.
Regarding the black loading screen, perhaps I had some garbage at the init, I have removed it, and will pack it up and update the link in the original post Not sure if it fixes it, but could be. Please do test
Kind regards,
Wietze