News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Recent posts

#1
Quote from: tubs74 on Today at 13:58So typing this exactly as it is, would create a little com program called c10pm3.ems that would allow me to read PCW disks?
It will patch the c10pm3.ems program, so you should do this with a copy of your CP/M disk.

One thing to consider: The patch replaces the configuration for the data format. That means CP/M will no longer be able to access disks in data format. You can only access CP/M system format disks and PCW disks if you boot CP/M with a patched c10pm3.ems
#2
Luckily! If the PCW16 had a tape drive, it would be the best computer in history.

That, SymbOS... and a Mega Drive cartridge slot!
#3
So typing this exactly as it is, would create a little com program called c10pm3.ems that would allow me to read PCW disks?
#4
avatar_McArti0
Programming / Re: interesting walkthrough vi...
Last post by McArti0 - Today at 13:04
I see here another problem of synchronizing the F4 change with the edges of the AY clock. To stiffen it, We would have to exit from the interrupt to handle AY.
#5
avatar_Longshot
Programming / Re: interesting walkthrough vi...
Last post by Longshot - Today at 12:39
Quote from: McArti0 on 22:24, 12 May 25org #4000

di
call init

ld d,#F5
ld bc,#F400

loop

  inc c
  out (c),c

vsync1
ld a,d : in a,(0) : rra : jr nc,vsync1
vsync2
ld a,d : in a,(0) : rra : jr c,vsync2

jr loop

ret

init
ld bc,#F782 ;PC set PA as OUT
OUT (c),c

ld bc,#F407 ;PA has R sel (vol A channel)
OUT (c),c

ld bc,#F6C0 ;PC move PA to sel R
OUT (c),c

ld bc,#F600 ;PC dis AY
OUT (c),c

ld bc,#F43e ;PA set
OUT (c),c

ld bc,#F680 ;PC open AY and connect PA with Rsel
OUT (c),c

ld bc,#F600 ;PC dis AY
OUT (c),c

; R8

ld bc,#F408 ;PA has R sel (vol A channel)
OUT (c),c

ld bc,#F6C0 ;PC move PA to sel R
OUT (c),c

ld bc,#F600 ;PC dis AY
OUT (c),c

ld bc,#F409 ;PA set
OUT (c),c

ld bc,#F680 ;PC open AY and connect PA with Rsel
OUT (c),c

ld bc,#F600 ;PC dis AY
OUT (c),c

; R0

ld bc,#F400 ;PA has R sel (vol A channel)
OUT (c),c

ld bc,#F6C0 ;PC move PA to sel R
OUT (c),c

ld bc,#F600 ;PC dis AY
OUT (c),c

ld bc,#F400 ;PA set 0
OUT (c),c

ld bc,#F680 ;PC open AY and connect PA with Rsel
OUT (c),c



ret

As Prodatron, Targhan and Bsc said, you must use 3 OUTs to send a value to an AY register, even if you don't change registers in the meantime.

So you have to enter the data on F4. Then on F6, select the type of data (bdir/bc1>>#10) and validate everything (bdir/bc1>>00).

Otherwise, the data in other AY registers becomes corrupted quite quickly. Lbb and I studied this in 1992. He deduced that if, after 1040 nops on his machine, there has been no validation, all the registers begin to be masked with an AND that is related to the last value sent to port A (F4). I think this can be explained by the way registers are assigned in these old circuits, often based on AND and OR.

If validation is done, your register is no longer in write mode. So you have to put #80 back in port C.

The example given by McArti0 doesn't work on my real machines (Plus or not). No sound.
Winape does generate a progressive sound with this code, but it's not the reference. :laugh:

In its settings/general menu, Winape has an option to enable (or not) the Plus's PPI emulation, but it's far from sufficient because there are several bugs.
For example, the read frequency registers return 16-bit values. Not to mention the lack of PPI lock for managing DMA sounds.

In my opinion, DMA sounds remain the only way to reach 125 kHz.
#6
Quote from: Maniac on Today at 08:42
Quote from: lightforce6128 on Today at 02:30
Quote from: McArti0 on Yesterday at 11:22
Quote from: Targhan on 20:15, 12 May 25
Quote from: andycadley on 12:38, 12 May 25I have a sneaking suspicion you may not get audio on a Plus machine if you don't,
Yup, you're right!
Does any emulator show this?
It would be a very absurd design. Blocking the F4 port to switch something in F6? After all, AY works the same way.

I tried on WinAPE. Configured to 6128 and 6128 plus it did not show a difference. In both cases it works. Would be good to know how different actual hardware behave.

@Targhan : Does "Yup, you're right!" mean: "I got the same feeling. I agree with this." Or does it mean: "I tried this on real hardware. It did not work as expected."

Don't count on WinAPE being accurate for this. When I was patching Split Personalities to work on the Plus the audio was fine on WinAPE. When I then tested on my Plus it has odd sound interference. The emulator seems to take a few shortcuts with this side of things.
WinAPE is a lovely emulator and it is great for playing the main cart releases. It's accuracy of Plus emulation is very buggy though in lots of ways, so I'd never rely on it for checking what real hardware does.
#7
avatar_Targhan
Programming / Re: interesting walkthrough vi...
Last post by Targhan - Today at 12:26
Quote from: lightforce6128 on Today at 02:30I tried on WinAPE. Configured to 6128 and 6128 plus it did not show a difference. In both cases it works.
To my knowledge, if you don't #f600 on CPC Plus, there is no sound.
#8
avatar_XeNoMoRPH
Games / Re: Mighty Renegades [ wip ]
Last post by XeNoMoRPH - Today at 11:55
#9
I was never able to format the X-Mass using the SymbOS tool, but from Windows, choosing a FAT16 primary partition.
#10
D
GFX + Tunes / Re: Amstrad music
Last post by dal - Today at 10:41
Powered by SMFPacks Menu Editor Mod