utz wrote:

Anyway, the main reason you'll see bit 3 being used is because it costs additional cycles to mask it out.

I see. I thought that the 3rd bit is set for reason because I failed to comprehend what's happening in the engine from the readPtn label and up to the playNote.

utz wrote:

Haha, no, I can't take any credit for that discovery, you figured that out by yourself!

Thankies! Tho I won't be able to make it without the test track you've made ^~^

As utz and I figured out, behaviour for MIC and EAR ports on the ZX Spectrum 128k +3 with Amstrad 40077 Gate Array produces completely different output in comparison to a classic Speccy.

For the Speccy, values: 00, 01, 10, 11 of bits 4 and 3 produces 0.39, 073, 3.66, and 3.79 volts respectively.
For the +3 however, values: 00, 01, 10, and 11 would produce ~0, ~5, ~0, and ~5 volts, so the result level is driven by (bit4 & bit3).

So the question is: what is the reason for using all 4 levels (both MIC and EAR bits)?

3

(19 replies, posted in Sinclair)

So yeah, I added

    and #f7 ;11110111b MIC output makes weird noise on +3 

before every time it writes to the port and it now sounds pretty normal (but slow, as I obvs messed up with timings).

4

(19 replies, posted in Sinclair)

It feels like I have an idea what is happening with 1bit trackers on +3

The ULA chip uses the same pin (28) for all of the MIC socket, EAR socket and the internal speaker, so bits 3 and 4 of an OUT to Port 0xfe will affect bit 6 as read by an IN from Port 0xfe.

tl;dr on a classic speccy different values on bits 3 and 4 produces 4 different distinct levels. However, 1) MIC and EAR are separate lines on the +3 Amstrad Gate Array.

Bit 6 of Port 0xfe of the +2A/+3 does not show the same dependence on what was written to Port 0xfe as it does on the other machines, and always returns 0 if there is no signal.

2) there is no logic for +3 in fuse, that's why it works there.

5

(19 replies, posted in Sinclair)

Could it be the other way around (twice faster), because 48K plays the tone ~480Hz tone, while +3 plays ~970Hz?

(updated the attach so the pulses are aligned, wonder why there is the step on the 48K one on the bottom in the middle of the pulse)

6

(19 replies, posted in Sinclair)

Here the results: a screen capture and a scope.

7

(19 replies, posted in Sinclair)

@utz you've missed the attach.

I'll try to involve @noelsretrolab as he probably has plenty of it.

8

(19 replies, posted in Sinclair)

Sounds exactly the same :< Here's .asm. It still produces extra pulses every 20us like on the pulse.png from the drive.

9

(19 replies, posted in Sinclair)

Here is how it sounds on +3 and on 48k Issue 2

There are a tap file, a recording, and screenshots from scope.

if you see the attached image (+3 on top and in yellow), it seems like +3 sends extra pulse every time.


P.S.

Shiru wrote:

A guy

A girl ;_;