QSound and QPrint Interface

Nagging hardware related question? Post here!
Silvester
Gold Card
Posts: 436
Joined: Thu Dec 12, 2013 10:14 am
Location: UK

Re: QSound and QPrint Interface

Post 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 :twisted:

I should have an interface working in a few days (OK, by end end of week :lol: ) 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.


David
User avatar
aalea
Bent Pin Expansion Port
Posts: 86
Joined: Mon Feb 07, 2022 9:27 pm

Re: QSound and QPrint Interface

Post 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 :twisted:

I should have an interface working in a few days (OK, by end end of week :lol: ) 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).


Silvester
Gold Card
Posts: 436
Joined: Thu Dec 12, 2013 10:14 am
Location: UK

Re: QSound and QPrint Interface

Post 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 :roll: ).


David
User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: QSound and QPrint Interface

Post 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
Last edited by mk79 on Sun Oct 02, 2022 11:50 pm, edited 1 time in total.


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: QSound and QPrint Interface

Post 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 ;)


User avatar
aalea
Bent Pin Expansion Port
Posts: 86
Joined: Mon Feb 07, 2022 9:27 pm

Re: QSound and QPrint Interface

Post 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 :roll: ).
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.


User avatar
aalea
Bent Pin Expansion Port
Posts: 86
Joined: Mon Feb 07, 2022 9:27 pm

Re: QSound and QPrint Interface

Post 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.


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: QSound and QPrint Interface

Post 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.
Last edited by mk79 on Sun Oct 09, 2022 11:06 pm, edited 1 time in total.


Derek_Stewart
Font of All Knowledge
Posts: 3975
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: QSound and QPrint Interface

Post 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?


Regards,

Derek
User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: QSound and QPrint Interface

Post 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.


Post Reply