Sound and LOAD issues

About original Memotech hardware.
User avatar
Crazyboss
Site Admin
Posts: 234
Joined: 09 Aug 2012 21:45
Location: Sweden
Contact:

Re: Sound and LOAD issues

Post by Crazyboss » 08 Oct 2018 18:01

Is the sound we hear on the audiotape generated by the Soundchip ?

Could Lars´s CTC be bad, I heard it was common to be bad, I never saw any CTC problems on my Memotech computer.
//CLAUS - Webmaster at www.mtxworld.dk

muldjord
Posts: 28
Joined: 07 Oct 2018 14:49

Re: Sound and LOAD issues

Post by muldjord » 08 Oct 2018 19:57

I would assume that the sound output coming from the speakers when loading a game is coming from the sound chip. But I haven't much knowledge about it, so it's just an assumption. What is the CTC?

I'm gonna do some more troubleshooting when I get the IC's I ordered. I actually have no reason to believe the data loading won't work. It could well be that I concluded that too quickly when hearing the constant tone, and just assumed it was broken. But I did use a stereo jack, so it might aswell be that.

I'm really looking forward to getting those IC's, get a socket on there and add it, to see if that fixes the problem with the sound. Then I'm on to the data loading afterwards. :)

User avatar
1024MAK
Posts: 569
Joined: 24 Dec 2012 03:01
Location: Looking forward to summer, in Somerset, UK

Re: Sound and LOAD issues

Post by 1024MAK » 09 Oct 2018 00:31

The CTC is a Zilog timing, clock and interrupt chip. It is used to generate the timing for various internal functions. The MTX also uses it to generate interrupts to the Z80 CPU. Both to provide regular timing signals for software. And so that the ROM code can read data from the cassette tape input (the Ear socket).

Mark

User avatar
1024MAK
Posts: 569
Joined: 24 Dec 2012 03:01
Location: Looking forward to summer, in Somerset, UK

Re: Sound and LOAD issues

Post by 1024MAK » 09 Oct 2018 00:37

If the sound chip does not receive any data from the CPU, it’s internal registers contain garbage data at power-up. So it generates an annoying constant “tone”.

So in your case, either the sound chip is faulty, one of the chips that form the control logic for it is faulty, the data register (latch) that supplies it with data is faulty, there is a dry / poor solder joint in one of the above circuits, poor contact of a chip pin in a socket or a broken electrical connection.

If it helps, later in the week, when I have more time, I can guide you with more details on fault finding.

Mark

muldjord
Posts: 28
Joined: 07 Oct 2018 14:49

Re: Sound and LOAD issues

Post by muldjord » 09 Oct 2018 19:53

That is some very interesting insight. Thanks! I seem to recall this tone being there and I could still load games (It's been years since it started appearing I just haven't looked into it until now). So with that in mind, it does seem that it is either the sound chip or the support chips. I should be getting the octal flip-flops tomorrow. And that mono jack should be able tell me whether I can load data or not. I don't have it yet though and it might be a while before I get my hands on one as I am quite busy at work at the moment so there's not much time to go jack shopping.

Quickl question: If the CTC is bad, would I still be able to write and run a BASIC program on it?

Martin A
Posts: 417
Joined: 09 Nov 2013 21:03

Re: Sound and LOAD issues

Post by Martin A » 09 Oct 2018 20:11

You can run Basic without a CTC, however the bits that use interrupts wouldn't work or would work differently.

Meaning no flashing cursor and the break key wouldn't work, so no stopping run-away programs.

Panel would most likely be limited too, single stepping relies on interrupts.

muldjord
Posts: 28
Joined: 07 Oct 2018 14:49

Re: Sound and LOAD issues

Post by muldjord » 09 Oct 2018 20:32

Interesting, those things are easy to check. Thanks!

muldjord
Posts: 28
Joined: 07 Oct 2018 14:49

Re: Sound and LOAD issues

Post by muldjord » 10 Oct 2018 16:37

So I got a chance to do a bit more testing today. I hooked up my MTX512 to the monitor and hi-fi connections and got a great picture on my TV. The constant tone and a very high pitched tone is still there. I tried the <CTRL><G> combination but I didn't get a bell sound. If you guys have any input in regards to that when it comes to swapping the octal flip-flop that sits beside the sound chip, please let me know.

I also got the SN74HCT374N but natually I seem to have ordered the wrong IC socket, so that will have to wait till another day.

Lastly, the CTC seems to be all right. I get a blinking cursor and I can break a running program with the break key.

Martin A
Posts: 417
Joined: 09 Nov 2013 21:03

Re: Sound and LOAD issues

Post by Martin A » 10 Oct 2018 21:19

I had a look at the ROM code for the tap interface, the tape sounds are created by a call to "blip" with each bit transferred. The actual tape transfer is done via the CTC interrupt flipping the C flag to load. Or the output routine toggling the flip flop attached to OUT(3). As far as I can see, a faulty sound chip shouldn't stop the tape from loading or saving.

Code: Select all

                            ;start of cassette interface
                            
                            .toggle
0A53        3F              CCF
0A54        FB              EI
0A55        ED 4D           RETI
                            
                            .blip
0A57        DB 06           IN   A,(&06)
0A59        CB 47           BIT  0,A
0A5B        20 05           JR   NZ,blip2
0A5D        CD 06 0B        CALL resint
0A60        EF              RST  &28       ; Utility routine
0A61        3E              DB   &3E       ; Generate error no 62
                            .blip2
0A62        08              EX   AF,AF'
0A63        EE 0F           XOR  &0F
0A65        D3 06           OUT  (&06),A
0A67        08              EX   AF,AF'
0A68        DB 03           IN   A,(&03)
0A6A        C9              RET
                            
                            .inbit
0A6B        CD 57 0A        CALL blip
0A6E        FB              EI
0A6F        AF              XOR  A
                            .inbit1
0A70        30 FE           JR   NC,inbit1
                            .inbit2
0A72        3D              DEC  A
0A73        DA 72 0A        JP   C,inbit2
0A76        F3              DI
0A77        DD BE 00        CP   (IX+&00)
0A7A        C9              RET
                            
                            .outbit
0A7B        CD 57 0A        CALL blip
0A7E        3E 00           LD   A,&00
0A80        38 0A           JR   C,bhigh
                            .blow
0A82        30 FE           JR   NC,blow
0A84        D3 03           OUT  (&03),A
                            .blow1
0A86        38 FE           JR   C,blow1
0A88        3C              INC  A
0A89        D3 03           OUT  (&03),A
0A8B        C9              RET
                            
                            .bhigh
0A8C        38 FE           JR   C,bhigh
                            .bhigh1
0A8E        30 FE           JR   NC,bhigh1
0A90        D3 03           OUT  (&03),A
                            .bhigh2
0A92        38 FE           JR   C,bhigh2
                            .bhigh3
0A94        30 FE           JR   NC,bhigh3
0A96        3C              INC  A
0A97        D3 03           OUT  (&03),A
0A99        C9              RET
                            
                            .inbyte
0A9A        06 08           LD   B,&08
                            .inby1
0A9C        CD 6B 0A        CALL inbit
0A9F        CB 19           RR   C
0AA1        10 F9           DJNZ inby1
0AA3        C9              RET
                            
                            .outbyte
0AA4        06 08           LD   B,&08
                            .outby1
0AA6        CB 19           RR   C
0AA8        CD 7B 0A        CALL outbit
0AAB        10 F9           DJNZ outby1
0AAD        C9              RET
                            
                            .inout
0AAE        7A              LD   A,D
0AAF        B3              OR   E
0AB0        C8              RET  Z
0AB1        CD 10 0B        CALL setint
0AB4        08              EX   AF,AF'
0AB5        3E 90           LD   A,&90
0AB7        08              EX   AF,AF'
0AB8        28 2C           JR   Z,outblock
                            .inblock
0ABA        06 00           LD   B,&00
                            .inblk1
0ABC        CD 6B 0A        CALL inbit
0ABF        38 F9           JR   C,inblock
0AC1        10 F9           DJNZ inblk1
                            .stbit
0AC3        FB              EI
0AC4        AF              XOR  A
0AC5        3F              CCF
0AC6        CD 72 0A        CALL inbit2
0AC9        30 F8           JR   NC,stbit
                            .inblk2
0ACB        CD 9A 0A        CALL inbyte
0ACE        3A 67 FD        LD   A,(VERIF)
0AD1        A7              AND  A
0AD2        28 09           JR   Z,inblk3
0AD4        7E              LD   A,(HL)
0AD5        B9              CP   C
0AD6        28 06           JR   Z,inblk4
0AD8        CD 06 0B        CALL resint
0ADB        EF              RST  &28       ; Utility routine
0ADC        0B              DB   &0B       ; Generate error no 11
                            .inblk3
0ADD        71              LD   (HL),C
                            .inblk4
0ADE        23              INC  HL
0ADF        1B              DEC  DE
0AE0        7A              LD   A,D
0AE1        B3              OR   E
0AE2        20 E7           JR   NZ,inblk2
0AE4        18 20           JR   resint
                            
                            .outblock
0AE6        01 DC 05        LD   BC,&05DC    ;delay =1500
                            .otblk1
0AE9        AF              XOR  A
0AEA        CD 82 0A        CALL blow
0AED        0B              DEC  BC
0AEE        78              LD   A,B
0AEF        B1              OR   C
0AF0        20 F7           JR   NZ,otblk1
                            .del1
0AF2        30 FE           JR   NC,del1
0AF4        D3 03           OUT  (&03),A
                            .del2
0AF6        38 FE           JR   C,del2
0AF8        3F              CCF
0AF9        CD 92 0A        CALL bhigh2
                            .otblk2
0AFC        4E              LD   C,(HL)
0AFD        CD A4 0A        CALL outbyte
0B00        23              INC  HL
0B01        1B              DEC  DE
0B02        7A              LD   A,D
0B03        B3              OR   E
0B04        20 F6           JR   NZ,otblk2
                            .resint
0B06        CD 7F 09        CALL ijinit
0B09        3E 55           LD   A,&55
0B0B        D3 1F           OUT  (&1F),A
0B0D        C3 96 09        JP   init125
                            
                            .setint
0B10        CD 7F 09        CALL ijinit
0B13        E5              PUSH HL
0B14        21 53 0A        LD   HL,toggle
0B17        22 F2 FF        LD   (IJTABLE+2),HL
0B1A        22 F6 FF        LD   (IJTABLE+6),HL
0B1D        E1              POP  HL
0B1E        DD 21 60 FD     LD   IX,MIDVAL
0B22        3E FE           LD   A,&FE
0B24        D3 05           OUT  (&05),A
0B26        3E AA           LD   A,&AA
0B28        D3 1F           OUT  (&1F),A
0B2A        0E 0B           LD   C,&0B
0B2C        06 C5           LD   B,&C5
0B2E        3A 68 FD        LD   A,(TYPE)
0B31        A7              AND  A
0B32        20 05           JR   NZ,setin1
0B34        0E 09           LD   C,&09
0B36        3A 5F FD        LD   A,(CASBAUD)
                            .setin1
0B39        ED 41           OUT  (C),B
0B3B        ED 79           OUT  (C),A
0B3D        FB              EI
0B3E        ED 4D           RETI
                            
                            ;end of cassette interface

muldjord
Posts: 28
Joined: 07 Oct 2018 14:49

Re: Sound and LOAD issues

Post by muldjord » 10 Oct 2018 22:04

On that note, I hope to get the mono jack cable one of the coming days (I ordered one yesterday). With the information you just provided Martin, it seems it should then be able to load games even with the sound being faulty. And that does worry me a bit, because earlier today I actually managed to find a mono minijack to phono cable at work. From the phone I connected that to a female-female phono connector and plugged another phono into that which leads to a stereo mini jack which went to the MTX512's EAR (that messy setup is the best I could do with what I have right now). This should've worked as the mono jack in the phone should have directed sound into both of the stereo channels of the cable. Tried different volumes and EQ settings on the phone, but no luck. So right now I'm hoping it was a faulty cable and awaiting the actual mono jack to jack I ordered.

Post Reply