Previous Thread
Next Thread
Print Thread
Page 7 of 11 1 2 5 6 7 8 9 10 11
Joined: Mar 2001
Posts: 16,654
Likes: 2
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,654
Likes: 2
It's actually still possible to do the translation in harddisk.cpp, I'm just not sure if it's worthwhile.

Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Mar 2001
Posts: 16,654
Likes: 2
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,654
Likes: 2
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.

Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Jun 2001
Posts: 429
O
Senior Member
Offline
Senior Member
O
Joined: Jun 2001
Posts: 429
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.

Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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.
Joined: Apr 2012
Posts: 293
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 293
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 11 1 2 5 6 7 8 9 10 11

Link Copied to Clipboard
Who's Online Now
1 members (Reznor007), 33 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,855
Posts116,548
Members4,933
Most Online890
Jan 17th, 2020
Forum hosted by www.retrogamesformac.com