Page 12 of 19
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 12:57 am
by Silvester
mk79 wrote:When I compare 1.31 and 1.40 they are completely different, almost no bytes shared
aalea wrote:No idea, I convert to "ascii" with hexdump and them check de diferences, and get the change in the banner at the begin of rom and the PAR/CEN change
Ditto, when I check versions posted earlier in thread
v1.31 and
v1.40 I find only banner and printer device name differences.
aalea wrote:Anyway, my board seem to no like by qubide interface, and in the emulator with the original rom there is no "out of range" error, so I start to think there are some problem in my design.
Is there an address clash? Is Qubide positioned at $C0000 as well as QSound. I would not assume that QL bus expanders/through port have wired out SP0-SP3 appropriately.
If 'Ding' is sounding then I think it is safe to assume that interface is working OK. The 'out of range' error from a string seems like a bug. Are you using Minerva or QDOS when error occurs. IMHO I always defer to real hardware when problems occur
I should have an interface working in a few days (OK, by end end of week

) so I can give more concrete feedback then.
mk79 wrote: [V1.90] There's also the preliminary source if anybody wants to debug it. Oh, it doesn't include QPrint for now and it doesn't have the rest of the crap commands.
Thanks, that would be the ideal target EPROM to get working.
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 9:14 am
by aalea
Silvester wrote:aalea wrote:Anyway, my board seem to no like by qubide interface, and in the emulator with the original rom there is no "out of range" error, so I start to think there are some problem in my design.
Is there an address clash? Is Qubide positioned at $C0000 as well as QSound. I would not assume that QL bus expanders/through port have wired out SP0-SP3 appropriately.
If 'Ding' is sounding then I think it is safe to assume that interface is working OK. The 'out of range' error from a string seems like a bug. Are you using Minerva or QDOS when error occurs. IMHO I always defer to real hardware when problems occur
I should have an interface working in a few days (OK, by end end of week

) so I can give more concrete feedback then.
I don't think so, I test several positions in ROM, and seem ok, because banners of the diferent interfaces apears in order as per memory position. My qubide interface is design by myself and include proper SP0-SP1 on passtrough conector, that was not included in the one I use as source.
I have a 8 in 1 ROM, So I tested QDos and Minerva, in english and spanish, with several version and without TK2, no lucky. I also think in a problem with the PSG, check with another (I have a original from GI and one from Microchip), same result.
The unddemo2.bas program you post early work OK, apart fron ROM sounds, I heard a "ding" when press 2 and diferent noises with 3,6,7 and 8.
So POKE_AY, LIST_AY and SOUND work ok, but no way with any program that use PLAY (I think is related with Octave change command).
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 10:18 am
by Silvester
Just a quick reply, did you change the 100K resistor to 5K or less ? The original used 1K, I would try that first. It is not a pull up for unused inputs, it is part of the selection logic off 5 open-collector outputs. It uses crude /DSL.E logic, it might be border line (BTW even EPROM is accessed over 750kHz 6800 VPAL bus

).
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 2:23 pm
by mk79
aalea wrote:mk79 wrote:
When I compare 1.31 and 1.40 they are completely different, almost no bytes shared
No idea, I convert to "ascii" with hexdump and them check de diferences, and get the change in the banner at the begin of rom and the PAR/CEN change, see:
Argh, right, one of my files had the QDOS header and thus was offset by a few bytes... I see it now.
I burn and test, but no lucky, it hang after show the banner of the version (there is no "ding" at boot).
I disabled the Ding, because I'd find that annoying as hell

And I forgot to save a few registers. JS was more forgiving but I got the hang with Minerva, too. I have attached a fixed version.
Anyway, my board seem to no like by qubide interface, and in the emulator with the original rom there is no "out of range" error, so I start to think there are some problem in my design.
When does this error happen?
All the best, Marcel
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 2:35 pm
by mk79
Btw, the "SOUND" command is renamed to "SOUND_AY" in my ROM because it clashes with the "SOUND" device that is more widely used than the QSound commands

Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 9:59 pm
by aalea
Silvester wrote:Just a quick reply, did you change the 100K resistor to 5K or less ? The original used 1K, I would try that first. It is not a pull up for unused inputs, it is part of the selection logic off 5 open-collector outputs. It uses crude /DSL.E logic, it might be border line (BTW even EPROM is accessed over 750kHz 6800 VPAL bus

).
Yes, I check the datasheets, and considering the maximun values of 0,1mA Ioh in 74LS266, 0,25mA Ioh in 74LS03 and 0,1mA Iil in 74LS10, pull up resistor shall not be over 2,2K (I install this), anyway, my chips have less leak,so this do not change anything.
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 10:26 pm
by aalea
mk79 wrote:I disabled the Ding, because I'd find that annoying as hell

And I forgot to save a few registers. JS was more forgiving but I got the hang with Minerva, too. I have attached a fixed version.
Well, this version boot sometimes, depend on the ROM and the TK2 installed (in the rom slot), in any case, even shoot, bell, explode do not cause error, no sound happend, my QSound ROM is mapped in default address $C0000.
- JS rom -> alwais hang on boot.
MF or MGE + TK2 2.34 -> hang on boot, TK2 banner is print twice, before and after the one of Qsound.
Minerva with or without TK2 2.34 > boot, but after apear the red/white windows, you can not write anything (key click of hermes sound).
MF or MGE alone work normally (but no sound)
Minerva, MF or MGE with TK2 2.23 work normally.
sqlux with minerva, no tk2 and qsound rom in $0C000 work normally.
Happend that silverter's menuett_bas program also cause out of range with your rom (but not in sqlux again).
The detail that TK2 V2.23 work with your interface, but TK2.34 no, made me think about some bug related to the position of the ROM in memory.
mk79 wrote:When does this error happen?
The "out of range" error happend mainly when the command O is used to change the octave in complex play strings, so play 1,A$ will
- A$='o2' -> work
A$='v15CDp' -> work
A$='CDCDpCDpEFpCCCCCp' -> work
A$='v15o3CDp' -> can made error
A$='v15o3CDDpDo4CDEEDp`-> will cause error alwais.
Re: QSound and QPrint Interface
Posted: Sun Oct 02, 2022 11:49 pm
by mk79
aalea wrote:Well, this version boot sometimes, depend on the ROM and the TK2 installed (in the rom slot), in any case, even shoot, bell, explode do not cause error, no sound happend, my QSound ROM is mapped in default address $C0000.
Damn, I overcorrected and introduced another bug this way that can corrupt basic, sorry!

I attached 1.91 which should finally boot fine on all OS and with all TK2 versions... not sure about the "no sound is happening", but as basic might be subtly corrupted I cannot be 100% sure the commands were executed at all. At least I don't find any obvious problems in the hardware code, which was lifted out of the original ROM anyway.
The "out of range" error happend mainly when the command O is used to change the octave in complex play strings, so play 1,A$ will
I found one potential OOR error, but I don't think it's relevant in practice. But better safe than sorry.
- A$='o2' -> work
A$='v15CDp' -> work
A$='CDCDpCDpEFpCCCCCp' -> work
A$='v15o3CDp' -> can made error
A$='v15o3CDDpDo4CDEEDp`-> will cause error alwais.
Hmm, works for me in QPC all the time. QPC and my QSound ROM share 99% of the code, but as QPC simulates two chips there could be subtle differences in this aspect.
Re: QSound and QPrint Interface
Posted: Mon Oct 03, 2022 8:46 am
by Derek_Stewart
mk79 wrote:Btw, the "SOUND" command is renamed to "SOUND_AY" in my ROM because it clashes with the "SOUND" device that is more widely used than the QSound commands

What does the SOUND_AY command do that the SOUND command does not?
Re: QSound and QPrint Interface
Posted: Mon Oct 03, 2022 8:56 am
by mk79
Derek_Stewart wrote:mk79 wrote:Btw, the "SOUND" command is renamed to "SOUND_AY" in my ROM because it clashes with the "SOUND" device that is more widely used than the QSound commands

What does the SOUND_AY command do that the SOUND command does not?
Nothing, it's the same command, just renamed. Otherwise existing programs using the SOUND device may stop working.