BeebSID

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
retroclinic
Posts: 3034
Joined: Thu Jul 03, 2008 1:22 pm
Location: East Riding of Yorkshire
Contact:

Re: BeebSID

Post by retroclinic » Wed Oct 14, 2009 1:09 pm

MartinB wrote:Mark (retroclinic) has picked $FCF8 onwards for DataCentre and hence we have a 5 byte overlap or cock-up to give it the correct name #-o

Given this, and despite the fact that Tom was already demo-ing BeebSID before DataCentre hit the streets :wink:, I think I have no choice but to recommend, nay insist, that the above circuit is changed to locate BeebSID at a different base address within FRED – probably anywhere after/including $FC50 is safe unless someone knows different?
:lol: Typical! You weren't to know though that I'd want to nick that space, I only chose it because it's near the "official" page RAM registers at FCFE and FCFF. Putting it at FC50 may cause a problem, as it's meant to be the address space of the second SCSI controller for ADFS, but I don't think it was ever implimented, so you could probably nick that space.

As you're also a fan of a reduced chip count, you can bring the logic down to one by using a PAL, something like this

Code: Select all

; BeebSID PAL - UNTESTED

chip BEEBSID PAL16L8

i1=1 i2=2 a5=3 a6=4 a7=5 mhz1=6 pgfc=7 i8=8 i9=9 GND=10 i11=11 o12=12 
o13=13 o14=14 o15=15 o16=16 en=17 o18=18 cs=19 VCC=20

; Pin 19 = to /CS 
; Pin 17 = Deglitched NPGFC

equations

;Chip Select FCE0

!cs = a5 & a6 & a7 & mhz1 & !en
cs.oe = vcc
;
;or use !a6 to put at FC50
;
; Single Gate Latch for PGFC DeGlitch
;
!en = !mhz1 & !pgfc
	# !en & !pgfc
en.oe = vcc
Not tried that, but it should work.

Nice job! Mark.
Image

Fraser
Posts: 559
Joined: Tue May 20, 2003 7:21 pm
Contact:

Re: BeebSID

Post by Fraser » Wed Oct 14, 2009 1:11 pm

I see it adds an exceptional case to NOR.

irrelevant

Re: BeebSID

Post by irrelevant » Wed Oct 14, 2009 3:34 pm

retroclinic wrote:As you're also a fan of a reduced chip count, you can bring the logic down to one by using a PAL, something like this...
Erm.. what does one need in order to programme a PAL, and how much do the blanks cost compared to a couple of TTL logic chips?

Whilst I would have no qualms about throwing together Martin's circuit as-is, or even plus another random 74LSs to fiddle the address, and I might even do so if a SID happens to cross my path, I tend to look away if I ever see a circuit with PALs, GALs, or anything else that needs programming.. I've not even got a (working) EPROM programmer!

(The exception would have to be something I ran up once that used an ATmega64 or something, where the "programmer" was little more than "connect these pins on the chip to these pins on a PC parallel port")

User avatar
retroclinic
Posts: 3034
Joined: Thu Jul 03, 2008 1:22 pm
Location: East Riding of Yorkshire
Contact:

Re: BeebSID

Post by retroclinic » Wed Oct 14, 2009 3:51 pm

irrelevant wrote:
retroclinic wrote:As you're also a fan of a reduced chip count, you can bring the logic down to one by using a PAL, something like this...
Erm.. what does one need in order to programme a PAL, and how much do the blanks cost compared to a couple of TTL logic chips?

Whilst I would have no qualms about throwing together Martin's circuit as-is, or even plus another random 74LSs to fiddle the address, and I might even do so if a SID happens to cross my path, I tend to look away if I ever see a circuit with PALs, GALs, or anything else that needs programming.. I've not even got a (working) EPROM programmer!

(The exception would have to be something I ran up once that used an ATmega64 or something, where the "programmer" was little more than "connect these pins on the chip to these pins on a PC parallel port")
The reason I like to use PALs in situations like these is the ease with which you can change things - no need to resolder or add gates to invert a couple of signals, just change the equations and reprogram.

A programmer such as this

http://cgi.ebay.co.uk/ws/eBayISAPI.dll? ... 0502096343

will do the trick - cheap and cheerful and does the job (I promise I didn't find that by searching the category :-) ) Price depends on where you buy, even from Farnell they're £1.00 for 10 for standard speed ones, off eBay a lot less in bulk.

You can use software such as OpalJR to make JEDECs (programming files) from the equations.

Mark.
Image

MurrayCakaMuzer
Posts: 294
Joined: Sat Sep 05, 2009 9:20 pm
Location: Hampshire
Contact:

Re: BeebSID

Post by MurrayCakaMuzer » Wed Oct 14, 2009 5:09 pm

Once this is fully standardised and somebody starts constructing one, I'll buy it!


And will there be/is there some way to figure out what expansion is connected to the 1MHz bus?

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Wed Oct 14, 2009 6:09 pm

irrelevant wrote:I would have no qualms about throwing together Martin's circuit as-is, or even plus another random 74LSs to fiddle the address, and I might even do so if a SID happens to cross my path
That's the spirit Rob :D
Murray wrote:...is there some way to figure out what expansion is connected to the 1MHz bus?
Not surprisingly, there's no official way anymore but JGH has done his best to produce a map here and using that I have made an executive decision regarding BeebSID so I'll post the update later.

I do realise that afer all the fuss this must be a bit frustrating for people desperate to have a BeebSID (sorry iomanoid and others :roll:) but we'll soon have it sorted so get yer begging letters ready... :wink:

Martin

User avatar
Elk Towers
Posts: 505
Joined: Sun Apr 23, 2006 2:10 am
Location: Kettering, Northants
Contact:

Re: BeebSID

Post by Elk Towers » Wed Oct 14, 2009 7:00 pm

did all c64 have the sid chip or was it just the mkII (amiga shaped one) and would this i/f work/made to work on an elk?
Nick

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Wed Oct 14, 2009 9:10 pm

@ AlanD and Prime : For my HD floppies mod, I've clocked 1772's at 16MHz when they're spec'd (on paper at least) to 10MHz but I guess that's an unexpected advanage of these older chips - they're made of pig-iron and seem to be virtually unburstable :D

@ corelki2005 : Read on... :wink:

On the address issue, I was going to briefly explain for novices how that works so...

The primary control of digital chips such as SID often boils down to just one signal which is typically the /CS line. The '/' is written to represent a bar above the signal mnemonic (as in my schematic) and means the chip will wake-up and talk or listen when the line goes low. Thus, to locate BeebSID at $FCE0, I use a 74LS30 which is an eight input NAND gate and this chip will set it's output line low (which is connected to SID's /CS) when all it's eight inputs are high. All 1MHz bus devices need to respond when NPGFC is low (like '/', the N here means NOT or low) and at the same time as the 1MHzE clock is high. Thus, I use the cleaned and inverted-to-high NPGFC and the 1MHzE signal as two of the eight inputs to the LS30. The NPGFC signal has done the $FCxx part of the decode for me so I then just use address lines A5, A6 & A7 to select the $xxEx (or $xxFx) portion of the address. By connecting these directly to another three inputs of the LS30, I will only get a /CS whenever all these are high together, i.e. at $FCEx or $FCFx. The remaining five address lines A0-A5 go directly to SID and give us 32 possible combinations or mapped locations which equate to the SID's 29 (3 not used) registers. The three spare inputs to the LS30 are tied high (connected to +5v) and are thus always 'true'.

The /CS signal is then used by SID as a prompt to talk when the R/W line is high and to listen when the R/W is low. The 02 clock line keeps everything in sync and SID probably (?) uses a divided version of it for it's tone oscillator.

Now, returning to the thorny issue of FRED addresses...

It looks as if it is going to be nigh on impossible to find 29 contiguous locations without trampling on something because it seems that Electron has snaffled a few entries at the start of each nibble boundary ($xxx0) within FRED and this, combined with all the Beeb stuff has left lots of spaces but none as big as SID needs. I haven't given lots of thought to the Elk as yet but it's always in my mind and I definitely don't want to rule it out by clashing with any of it's potential hardware expansions.

* Thus, after careful consideration, I have decided to formally declare that BeebSID will reside at $FC20 to $FC3C *

According to JGH's table, this area will theoretically only clash with the IEEE Adaptor, the Electron Econet interface and the Cambridge Ring interface. Now, since I don't know what any of those are, there can't possibly be a problem :wink:

That decided, lets look at how to change the current SID circuit to move the base address to $FC20.

As described already, the LS30 (SID's /CS driver) needs all it's inputs high to set it's output active low. The $FCxx is pre-selected by NPGFC, A4-A0 are connected directly to SID to select the 29 registers and we therefore ideally just want to use the remaining three addtess lines, A7-A5, to set our base address. $FC20 = $FC + % 0010 0000 and so we can see that A7-A5 will be %001 when we want to talk to SID. Since the LS30 requires all input lines to be high, if we simply invert A7 and A6 we will have what we need.

To achieve this we will add one more IC which will be a 74LS04. This is a Hex Inverter and contains six single input/output gates which do exactly what you would expect - they invert! We will use two of these gates and insert one in the A7 line between the one-meg bus connector Pin 34 & IC2 Pin 5 and a second in the A6 line between the one-meg bus connector Pin 33 & IC2 Pin 4. This done, SID has it's shiny new address at $FC20 :D

The LS04 has six gates and we've only used two so we can additionally use the other four in two pairs (forming double inverters) as buffers for the well-used 1MHzE and for the always overburdened R/W (Read/Write) line. (Note that any gate does add a few nano-seconds delay to a signal so it's not always possible to throw in gates at will because subtle timing issues can arise.)

I'll now try and update the drawing in some way or if that proves too difficult I'll have to start again #-o

(Unless of course there any willing and able electronic layout specialists out there.... [-o< )

Martin

(I feel really punch-drunk now because doing is much simpler than explaining and there may be typos in there - please don't hesitate to shout up if something sounds or looks wrong :) )

User avatar
retroclinic
Posts: 3034
Joined: Thu Jul 03, 2008 1:22 pm
Location: East Riding of Yorkshire
Contact:

Re: BeebSID

Post by retroclinic » Wed Oct 14, 2009 9:23 pm

MartinB wrote:Thus, after careful consideration, I have decided to formally declare that BeebSID will reside at $FC20 to $FC3C

According to JGH's table, this area will theoretically only clash with the IEEE Adaptor, the Electron Econet interface and the Cambridge Ring interface. Now, since I don't know what any of those are, there can't possibly be a problem :wink:
Well phooey, I was planning on enjoying listening to some SID while transferring data to my Spectrum Analyser :lol:

Good choice actually. I was thinking that maybe you need only 2 addresses, one to select the register, and one for the data, but that may make it incompatible with some pre-existing players?
MartinB wrote:That decided, lets look at how to change the current SID circuit to move the base address to $FC20.
For those enquiring about PALs, this demonstrates their advantage, as to do that you would simply change one line in the code and reprogram it

Code: Select all

!cs = a5 & !a6 & !a7 & mhz1 & !en
Mark.
Image

User avatar
SarahWalker
Posts: 1220
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: BeebSID

Post by SarahWalker » Wed Oct 14, 2009 9:28 pm

retroclinic wrote:
MartinB wrote:Thus, after careful consideration, I have decided to formally declare that BeebSID will reside at $FC20 to $FC3C
Good choice actually. I was thinking that maybe you need only 2 addresses, one to select the register, and one for the data, but that may make it incompatible with some pre-existing players?
That would make it incompatible with every player. Which would defeat the point somewhat.

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Wed Oct 14, 2009 9:32 pm

Now look here Mark, I could have done the job in 20 minutes - it's only taken 3 hours because I decided to explain it :wink:

As far as I know, a PIC is something my digital camera takes, a PAL is a good friend and FPGA is a song by the Village People. Now, let's see how long it takes you to explain otherwise :lol:

Ok, I'm a retro luddite - there, I said it :D

Martin

(@ Tom - don't worry btw, I'll update your BeebSID if you don't fancy a challenge!)

User avatar
AlanD
Posts: 241
Joined: Fri Jan 09, 2009 8:30 pm
Contact:

Re: BeebSID

Post by AlanD » Wed Oct 14, 2009 9:43 pm

Hello Martin

if you change the 74ls30 to an 74ls138
wire the 3 addresses lines to a5,6,7 from 1MHz bus to a0,1,2 on the ls138 and and connect the 1MHz bus enable to a 74ls138 enable
you wont need an extra chip also you could jumper the 8 ls138 outputs to SID cs
that would make the base address programmable
you will probably need a pull up on sid cs line
just a thought

AlanD
notls30.JPG
notls30.JPG (71.69 KiB) Viewed 2985 times
Last edited by AlanD on Wed Oct 14, 2009 10:03 pm, edited 2 times in total.

irrelevant

Re: BeebSID

Post by irrelevant » Wed Oct 14, 2009 9:51 pm

AlanD wrote:if you change the 74ls30 to an 74ls138 ....... you wont need an extra chip also you could jumper the 8 ls138 outputs to SID cs that would make the base address programmable
Sounds like a good idea to me, especially because if I ever start to play with my Electrons, I'd want to look into putting Econet onto it...

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Wed Oct 14, 2009 10:03 pm

Hi Alan :D

Yeah, that would cerainly do the trick but I'd already decided that if nothing else, the 1MhzE and R/W lines should be buffered and therefore at least one more IC was already on the horizon. There's an idea kicking around that we need to pull together on any mass-interest add-ons and plan that they can all be connected and used together. Given that, we should probably buffer everything but I guess the address and data busses will cope ok since they will only ever be servicing one peripheral at a time.

With regard to being able to move the address, that would defeat the objective of having an 'official' SID peripheral and any software trying to take advantage of the new gadget would be rodgered from the outset. No, we do need to fix the address - stat!

What I do want is to fix a design asap and then get some PCB's made because it would take a fraction of the time to build and I'd then be happy to do my share. Problem is, I don't do PCB's... :(

Martin

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 11:30 am

Not wishing to be unduly dismissive of other people's ideas last night, I had a play with various methods of configuring the $FCxx address select and it quickly becomes clear that implementing 32 contiguous addresses is actually a bit more problematic than it first seems. As we are only using address lines A7-A5, we immediately force a resolution of 32 on our base address and therefore, even with AlanD's idea of using an LS138, you don't have free reign over the address selection since each of the eight outputs will be intrinsically preset to an even number in the second nibble of the address - i.e. $FC00, $FC20, $FC40, $FC60... etc. Now, other than $FC20, all these later even boundaries will cause an overlap onto pre-allocated Electron expansion peripherals and these are ones that do exist in quantity such as the serial or analogue ports. Given this, and the fact that I still believe it is important if not crucial to fix a SID 'standard', I don't think that the 138 approach, as good as it is, will offer any significant benefit. I also do think it is important that we buffer 1MHzE and R/W and so an extra chip will be needed for either the LS30 or the LS138 approach.

Regarding Mark's suggestion of a PIC or a PAL, my issue here would be that we would immediately impose a dependancy on people who have the ability to program these devices. I would much prefer to finish this project by publishing a schematic which any amateur electronic enthusiast can go away and build by themselves without their having to rely on specialised devices. There is already the not insignificant issue of locating a SID chip so it doesn't seem sensible to me to double the problem by also single-sourcing the rest of the project.

Therefore, whilst I am not trying to tyranically impose a design for BeebSID, I feel there are sufficient good reasons for going with the original design plus the $FC20 and buffering mod.

Does all that sound fair gentlemen?

@ Tom W - talk to us about SID filter caps and the 1MHz Bus 'Analog In' issue please :wink:

Anyone have any thoughts on rationalising power supplies? Does anyone have any power consumption/tolerance data on SID chips and if so, would batteries (3 or 4 x AA 1.5v and 1 x PP3 9V) be a viable option for BeebSID do we think?

Let's keep the ball rolling people.... :D

Martin

User avatar
SarahWalker
Posts: 1220
Joined: Fri Jan 14, 2005 3:56 pm
Contact:

Re: BeebSID

Post by SarahWalker » Thu Oct 15, 2009 3:32 pm

MartinB wrote:@ Tom W - talk to us about SID filter caps and the 1MHz Bus 'Analog In' issue please :wink:
Filter caps - this isn't really an issue for 8580 SIDs, but anyone trying to use a 6581 might want to play with the values of these a bit, as the filter sound will vary from chip to chip. It's largely a matter of personal preference.

1MHz Bus Analog in - it was you who told me you were problems with this! I've only tested it on my Master, but it seems to work okay there. It is possible to jumper that machine so this is an analog out instead of in, but I doubt this was ever done.

I'd only recommend that this is used though if the internal speaker isn't plugged in - it sounds awful.

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 4:04 pm

Tom wrote:Filter caps ....it's largely a matter of personal preference.
Music to my ears... :D
...and wrote:1MHz Bus Analog in - it was you who told me you were having problems with this!
Hmmm... no elegant way out of that one then :oops:

Ah yes, checked my original notes and I was just speculating about signal levels and whether I should fit a level control. However since "it sounds awful" I think we'll just have a link or switch in there.

Ok, that's two more items ticked off then... =D>

Martin

MurrayCakaMuzer
Posts: 294
Joined: Sat Sep 05, 2009 9:20 pm
Location: Hampshire
Contact:

Re: BeebSID

Post by MurrayCakaMuzer » Thu Oct 15, 2009 4:54 pm

Power supplies - how about the option of either a user-supplied power brick (voltage a multiple of 1.5 and with a common plug so most multivoltage adaptors work, put a regulator and a small transformer inside) or the drive output (which IIRC is what you have already) - that way people already using the drive output but who have a free socket can use the socket and vice versa.

User avatar
iomanoid
Posts: 501
Joined: Sat Aug 08, 2009 9:38 am
Location: Baseworld: Cygni
Contact:

Re: BeebSID

Post by iomanoid » Thu Oct 15, 2009 5:25 pm

This is even more exciting than when the coloured lights came out of my taps :D

As far as "feature requests" go, it would be really cool if it had a pass-through. I've got no idea how simple (or not) that would be to implement, but so many modern gizmos using the bus certainly make it desirable...
Image

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 6:50 pm

iomanoid wrote:This is even more exciting than when the coloured lights came out of my taps :D
"Nurse!... iomanoid's out of bed again!" :shock:
...and wrote:...it would be really cool if it had a pass-through.
Martin was way ahead of you when he wrote:Buffering and pass-through : The prototype does not include any buffering and if BeebSID is all alone on the bus then this is fine. However, if we are thinking ahead (cue Arcadian) then ideally every device would include full buffering. For example, I have used three hard-wired copies of the 1MHzE clock and I would at least rather see that signal buffered to support the fan-out. There should also be a 1MHz Bus pass-through expansion connector on each peripheral to allow daisy-chaining of multiple devices.
@ Murray : That's not a bad idea actually :D. We could have a single standard DC power connector (as used everywhere on everything :wink:) and configured for a nominal +12v input. Then, we just add a 7805 (+5v) regulator to BeebSID and it could then be run from either the 12v rail of the disc drive power connector via an adaptor cable or, as you say, from a stock 12v DC adaptor. Yeah, sounds good - Cheers Murray =D>

Martin

User avatar
retroclinic
Posts: 3034
Joined: Thu Jul 03, 2008 1:22 pm
Location: East Riding of Yorkshire
Contact:

Re: BeebSID

Post by retroclinic » Thu Oct 15, 2009 7:18 pm

Regarding Power supply:

http://cpc.farnell.com/_/3a-041we09/ada ... dp/PW02153

Supplies 9v regulated, then use a small 5v reg to give you the TTL voltage.

Or you could run it from 12v, and use a 9.1v zener for the 9v and a regulator for the 5v?

I understand you wanting it to be a "PAL-FREE" zone so anyone can make one, but they're really not that much of an issue - the programmers are cheap, and we could supply the pre-programmed chips to people who still don't want to get their own, and using a PAL would allow you to make the address "jumper settable", just add some extra logic to the equations. You can also add the other address lines to the PAL and program the equations so it only resolves the actual address range required.

You could of course make the board with sockets for both TTL and a PAL?

Mark.
Image

MurrayCakaMuzer
Posts: 294
Joined: Sat Sep 05, 2009 9:20 pm
Location: Hampshire
Contact:

Re: BeebSID

Post by MurrayCakaMuzer » Thu Oct 15, 2009 8:33 pm

Of course, a jumper-settable address would throw the whole idea of standardisation out of the window, unless you set two bytes unused by any peripheral to contain the start address of the SID (that isn't a bad idea actually).

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 8:42 pm

Cheers Mark, food for thought :-k

This is the reason I was asking about current consumption figures for SID - I doubt it's much but you just never know, some of these fancy things can be deceptive. That's why I just threw the towel in and decided on standard IC regs because they cover all your bases and to be honest, they're cheap and not really that cumbersone if, as in this case, no heatsink is needed. I could use a zener but I generally only do so if I'm happy that I have the numbers and that the numbers are small.

Heh, PAL-free zone indeed! Since it's muggins here who will probably end up designing and procuring the PCB's, I will not be planning on dualling-up [-X

If anyone such as yourself wants to make your own BeebSID by whatever means then that of course is fine by me and all I would ask is that you abide my RULING that the SID should live at $FC20 and use 32 contiguous addresses 8)

Martin

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 9:19 pm

Sorry Murray - only just noticed that you had posted whilst I was composing!
Murray wrote:...unless you set two bytes unused by any peripheral to contain the start address of the SID (that isn't a bad idea actually).
I'm not sure what you mean?

Martin

irrelevant

Re: BeebSID

Post by irrelevant » Thu Oct 15, 2009 9:56 pm

I think he means that, say, FC20&FC21 can be read to reveal an address, which will in turn be the actual configured address of the peripheral..

You'd actually only need one byte, assuming everything will be in FCxx...

Now .. this brings us nicely into the concept of plug-and-play peripherals ... Perhaps just add another byte or two to contain a unique (per device type) code to identify the peripheral. Anybody fancy working out how to actually do it, and allow multiple devices to co-exist?

User avatar
retroclinic
Posts: 3034
Joined: Thu Jul 03, 2008 1:22 pm
Location: East Riding of Yorkshire
Contact:

Re: BeebSID

Post by retroclinic » Thu Oct 15, 2009 10:10 pm

irrelevant wrote:I think he means that, say, FC20&FC21 can be read to reveal an address, which will in turn be the actual configured address of the peripheral..

You'd actually only need one byte, assuming everything will be in FCxx...

Now .. this brings us nicely into the concept of plug-and-play peripherals ... Perhaps just add another byte or two to contain a unique (per device type) code to identify the peripheral. Anybody fancy working out how to actually do it, and allow multiple devices to co-exist?
As I'm out of range of a swift backhand from Martin 8-[ , I would point out that you could more than likely do that, and have all the glue logic in a GAL22V10....

You could also still have it jumper configurable to 2 different addresses, and the GAL would report back the correct address each time. I've not gone into writing an equation set for that, I'm just thinking out loud that it would need 8 outputs for the Data Bus, 8 inputs for the address, Jumper config, 1MHz, R/W and NPGFC, with the /CS output and /EN as a deglitch - that's 10 outputs and 12 inputs - within the pin count of a 22V10.

Going a stage further, you could have it true plug and play, so the Beeb could read the ID at a default address, then program the base address it wanted to use. That would need a step up to a CPLD though I think, and I'm risking getting some sort of airbourne attack if I keep on :lol:

Mark.
Image

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 10:16 pm

Image

irrelevant

Re: BeebSID

Post by irrelevant » Thu Oct 15, 2009 10:27 pm

LOL.

(I turned GIF animation back on just to see what that was, and cor, aren't the smilies to the left of this reply page busy! F12-E here we come ..)

User avatar
MartinB
Posts: 5273
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: BeebSID

Post by MartinB » Thu Oct 15, 2009 10:41 pm

Dammit! - missed :lol:

I fully appreciate what's being said but before any of this went public, Tom and I did discuss it at great length and Tom, being the original BeebSID visionary and music maestro, was keen to keep the implementation as 'authentic' as possible for easier porting of existing music and players. Now, if we get into soft device ID's or even just the more usual data select register to reduce the map space, we will lose that planned compatibility and more generally you're heading towards needing some supporting changes in the OS and/or a control rom.

Now, part of my reason for not just doing it all quietly and being verbose about the (actually very simple) design is to encourage others to join in with their own ideas for 1MHz devices. Generally there wouldn't be such a massive overhead of map space (e.g. by using a register select latch) and in which case there is plenty of room for more devices. I worry that if you over-complicate the peripheral design it'll deter the less confident people from 'having a go'.

Martin

User avatar
iomanoid
Posts: 501
Joined: Sat Aug 08, 2009 9:38 am
Location: Baseworld: Cygni
Contact:

Re: BeebSID

Post by iomanoid » Fri Oct 16, 2009 10:13 am

Re: buffering and pass-through, splendid! :) Sorry about that, but you don't really expect me to read through all the technical trickery and pokery do you? That's for greater men than me to decipher - I'm just sitting here in a circle of SID chips, chanting and occasionally peeking at the pretty pictures :D
Image

Post Reply