Previous Thread
Next Thread
Print Thread
Page 7 of 8 1 2 3 4 5 6 7 8
Re: BBC expansion devices WIP [Re: Pernod] #116691 01/05/20 05:25 PM
Joined: Mar 2001
Posts: 16,439
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,439
It's actually still possible to do the translation in harddisk.cpp, I'm just not sure if it's worthwhile.

Re: BBC expansion devices WIP [Re: R. Belmont] #116692 01/05/20 05:32 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
Originally Posted by R. Belmont
It's actually still possible to do the translation in harddisk.cpp, I'm just not sure if it's worthwhile.

Yeah, but would be quite hacky, and agree not worthwhile.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116706 01/07/20 08:50 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
The BeebOPL is a community developed sound card on the 1MHz bus implementing a Yamaha YM3812. A few demos were created to show it off by Sarah Walker, which I've added to the bbcb_flop softlist.

My personal favourite is Solar Winds:
mame64 bbcm -1mhzbus beebopl -flop1 oplsolar
Boot the floppy with SHIFT+BREAK (F12)
[Linked Image from i.imgur.com]
Sarah also created a demo Zone66 that made use of a DAC on the printer port (apparently the same as Covox):
mame64 bbcm -1mhzbus beebopl -printer covox -flop1 oplzone66
There are 3 floppy images for oplzone66, Standard (BBC B using OPL only), Master 128 (plays samples through SN76489), Master 128 + DAC (plays samples through printer port DAC), so select the DAC version.
Boot the floppy with A+SHIFT+BREAK (F12), A is needed to select ADFS.
[Linked Image from i.imgur.com]
Enjoy!


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116715 01/12/20 01:49 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
Looking for some chdman advice.

In my previous screenshot at https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=116677#Post116677 the chd was created with:
Code
chdman created -o cf1gb.chd -i cf1gb.dat -chs 7935,4,64 -ss 512

The number of cylinders was back calculated from the sector count in the partition image.
The CHS values reflect the logical size reported by HDINIT on real hardware. Real hardware reports a different physical size, something like xxxx,16,63. Can I somehow inject the expected physical geometry into the chd? I'd like to make the chd as authentic as possible.
If I created an empty chd with the physical geometry, then formatted in emulation to setup the logical partition, is there a way to import my partition image?


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116716 01/12/20 03:52 PM
Joined: Mar 2001
Posts: 16,439
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,439
ATA geometry is a bit like real mode x86 segment addressing; there are multiple valid values for a given capacity. If you just create the image as above with the hardware reported values it should work.

Re: BBC expansion devices WIP [Re: R. Belmont] #116717 01/12/20 04:15 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
Originally Posted by R. Belmont
If you just create the image as above with the hardware reported values it should work.

Everything works with what I have, but I'd like to be able to specify both logical and physical geometry.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116738 01/16/20 01:52 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
I'm taking another look at the Acorn SCSI Host Adaptor, see https://www.domesday86.com/?page_id=64

I started to use the legacy SCSI devices but gave up as it wasn't giving the expected status of the MSG line.

So now using NSCSI with SCSI callback as I need access to the individual control lines.
Code
NSCSI_BUS(config, m_scsi);
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", true);
NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsicb", true)
	.option_add_internal("scsicb", NSCSI_CB)
	.machine_config([this](device_t* device) {
		downcast<nscsi_callback_device&>(*device).msg_callback().set(*this, FUNC(bbc_scsi_device::scsi_msg_w));
		downcast<nscsi_callback_device&>(*device).bsy_callback().set(*this, FUNC(bbc_scsi_device::scsi_bsy_w));
		downcast<nscsi_callback_device&>(*device).req_callback().set(*this, FUNC(bbc_scsi_device::scsi_req_w));
		downcast<nscsi_callback_device&>(*device).io_callback().set(*this, FUNC(bbc_scsi_device::scsi_io_w));
		downcast<nscsi_callback_device&>(*device).cd_callback().set(*this, FUNC(bbc_scsi_device::scsi_cd_w));
	});

When I use m_scsi->ctrl_w(refid, 0, nscsi_device::S_ACK) and m_scsi->data_w(refid, data) what should I be using as the refid? I was expecting to use the scsi_id=7 but the harddisk has scsi_refid=0 and scsicb has scsi_refid=1. I have logging in all my callbacks but none are ever called. What am I doing wrong?

The only other example of using NSCSI_CB is in s100/ascsasi which I doubt works. In ascsasi it always uses refid=7 which is the scsi_id of NSCSI_CB, but will have a scsi_refid=0 if no other scsi devices are selected.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116739 01/16/20 02:59 PM
Joined: Jun 2001
Posts: 417
O
Olivier Galibert Offline
Senior Member
Offline
Senior Member
O
Joined: Jun 2001
Posts: 417
Originally Posted by Pernod

When I use m_scsi->ctrl_w(refid, 0, nscsi_device::S_ACK) and m_scsi->data_w(refid, data) what should I be using as the refid?


You shouldn't use m_scsi in the first place. Use the ack_w and write callbacks instead, which do have access to the refid.

OG.

Re: BBC expansion devices WIP [Re: Olivier Galibert] #116749 01/17/20 09:51 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
Originally Posted by Olivier Galibert
[quote=Pernod]
You shouldn't use m_scsi in the first place. Use the ack_w and write callbacks instead, which do have access to the refid.

Thanks, makes sense. So the s100/ascsasi device is clearly not a good example.

I'm now seeing SCSI 0 being selected and the callbacks being called so making progress. There are so many line inverters on the adaptor it gets confusing.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Re: BBC expansion devices WIP [Re: Pernod] #116757 01/20/20 06:20 PM
Joined: Apr 2012
Posts: 264
Pernod Offline OP
Senior Member
OP Offline
Senior Member
Joined: Apr 2012
Posts: 264
I think I'm close to being done with the SCSI Host Adaptor.

This is the ARM Evaluation System (BBC Master, ARM co-processor, 10MB Winchester):
[Linked Image from i.imgur.com]
I can obviously softlist the CHD with the software pre-installed. For machines such as the ABC 110, where the Winchester is not a peripheral but built into the machine, it should ideally boot straight into CP/M from the harddisk. In this case do we include the CHD with the machine, or make the user select the expected CHD from the softlist?

I see any changes written to a softlisted CHD are written to the diff folder, should I prefix softlisted CHD's with something like bbc_ to ensure no potential conflicts?


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Page 7 of 8 1 2 3 4 5 6 7 8

Who's Online Now
1 registered members (AJR), 164 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,749
Posts114,949
Members4,884
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3