Previous Thread
Next Thread
Print Thread
Page 10 of 11 1 2 8 9 10 11
Re: BBC Tube WIP [Re: Pernod] #117643 08/08/20 04:57 PM
Joined: Apr 2012
Posts: 291
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 291
I'm in need of some assistance with a device I'm working on ...

It's the Hybrid Music 5000 Synthesiser, schematic at https://www.retro-kit.co.uk/user/cu...chnologyHTMusicSynthesiser-Schematic.pdf

My initial implementation was a port from another emulator, and worked well, and in stereo. I'm now updating it to make use of the DAC76 device (Am6070 on schematic), but the current DAC76 only supports a single output channel whereas the Music 5000 uses both decode and encode outputs switched by the EnD input line.

So the DAC76 device requires another input line ed_w, no problem. I'm not sure how sound_stream_update should be changed to output to both channels though, depending on state of the EnD line. My limited knowledge of the sound system suggests the device can only output to either decode or encode at any time, but wouldn't sound_stream_update need to update both channels? Anyone suggest how this should be implemented?


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC Tube WIP [Re: Pernod] #117795 09/08/20 12:02 PM
Joined: Apr 2012
Posts: 291
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 291
Here's a BBC Master with a 10MB Acorn Winchester and ARM7TDMI co-processor running at 64MHz attached, running Frontier! (albeit only at about 40%)

Also has VideoNuLA fitted for the enhanced palette.
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC Tube WIP [Re: Pernod] #117800 09/08/20 01:47 PM
Joined: May 2004
Posts: 909
D
Duke Online Content
Senior Member
Online Content
Senior Member
D
Joined: May 2004
Posts: 909
Very cool! You should make a video of it running smile

Re: BBC Tube WIP [Re: Duke] #117802 09/08/20 03:12 PM
Joined: Apr 2012
Posts: 291
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 291
Originally Posted by Duke
Very cool! You should make a video of it running smile

Thanks, I've never really played Frontier though did have it on the Amiga back in the 90's. Will consider a video when I'm happy with the emulation, want to get a little more performance out of it.

I should add that this is a port of the ST version, and has to run from the Winchester as the executable is 2MB which is too large for any Acorn floppy formats.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC Tube WIP [Re: Pernod] #117803 09/08/20 04:07 PM
Joined: May 2009
Posts: 1,878
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,878
Originally Posted by Pernod
Originally Posted by Duke
Very cool! You should make a video of it running smile

Will consider a video when I'm happy with the emulation, want to get a little more performance out of it.


Just to clarify, if you use -aviwrite and also specify -noafs, then the resulting video will play back full-speed regardless of how slow the emulation is during recording.

Re: BBC Tube WIP [Re: Pernod] #117918 09/29/20 04:33 PM
Joined: Apr 2012
Posts: 291
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 291
Back to my performance issues ... would converting memory mapped slot devices to use map(address_map &map) instead of read/write handlers be a worthwhile improvement? My tube and fdc slot interfaces could easily be converted, and would probably make the code more concise too.

I know the 32016 is still under development but running the Cambridge Workstation (acw443) is down to ~50%, so if converting the tube slot interface to use map is worthwhile then it should improve performance of this machine.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC Tube WIP [Re: Pernod] #117919 09/29/20 04:54 PM
Joined: May 2009
Posts: 1,878
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,878
It's not going to improve performance by any notable margin. The simple fact is that you have fast interpreter CPUs. That's a death sentence for any kind of performance in MAME.

Re: BBC Tube WIP [Re: Just Desserts] #117920 09/29/20 05:59 PM
Joined: Apr 2012
Posts: 291
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 291
Originally Posted by Just Desserts
The simple fact is that you have fast interpreter CPUs. That's a death sentence for any kind of performance in MAME.

Yeah, but I get good performance from emu3 which uses the NS32016, and similarly for other machines using ARM7. It's just when I put something on the tube interface it seriously kills performance.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC Tube WIP [Re: Pernod] #117921 09/29/20 06:13 PM
Joined: Mar 2006
Posts: 1,047
L
Lord Nightmare Offline
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,047
For the AM6070 encode/decode issue, the AM6070 device probably needs to have a stream-input plumbed to it (using the new stream system which makes this easier than ever before) and then someone to write the appropriate-delay successive-approximation or flash or hybrid ADC code that it should run per clock/sample.

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
Re: BBC Tube WIP [Re: Pernod] #117923 09/30/20 04:19 AM
Joined: Nov 2016
Posts: 51
P
pmackinlay Offline
Member
Offline
Member
P
Joined: Nov 2016
Posts: 51
Please note that the 32016 is seriously non-optimal right now; in particular, it currently fetches instructions "piece by piece" without any prefetch or aggregation, so it's going to exacerbate any inefficiencies in your memory pathway. I hope this will be improved somewhat when I get to implementing the 32082 MMU and the 32016 instruction prefetch logic, but for now it's very much a "get it working" implementation.

With this in mind and from a very quick look at the 32016 tube implementation, you may be able to improve things a bit by eliminating your (8-bit) read/write trampolines.

There are a few different ways to do this, one of them as follows, mostly in device_reset():
  • Install your ram_device directly into the memory map.
  • Install the ROM shadow over it, overwriting the RAM read handler for the relevant range.
  • Install a write tap in the RAM region.


The tap logic does the following:
  • Re-installs the ram_device, overwriting the ROM shadow.
  • Deletes itself.


This means that for most of the time, the CPU will directly hit the 16-bit (effective, due to 32016 data bus width) ROM or RAM handlers instead of your trampolines. The cost of the tap is minimal because it's a one-shot.

Page 10 of 11 1 2 8 9 10 11

Who's Online Now
3 registered members (mahlemiut, Olivier Galibert, Praxis), 37 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,823
Posts116,132
Members4,921
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3