Bit of fun - One change only

on-topic Acorn-related news and discussions not covered by the other forums
User avatar
1024MAK
Posts: 8893
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Bit of fun - One change only

Post by 1024MAK » Thu May 02, 2019 7:42 pm

The 6845 itself does not care about the width of the video memory. However, because it was designed to generate text based display (using a character ROM or RAM), this limits what is possible.

It’s the design of the videoproc / video ULA and because of the way that Acorn arranged the circuitry that really limits what can be done.

The other important consideration is what both Acorn wanted and what the BBC wanted, and the time limits and deadlines they were working to. The volume production was delayed as it was...

Given more time and more development, no doubt a more flexible system may have been possible.

Mark

RobC
Posts: 2626
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Bit of fun - One change only

Post by RobC » Thu May 02, 2019 8:25 pm

1024MAK wrote:
Tue Apr 30, 2019 9:29 pm
As far as I can remember, the BBC Micro was the only 8 bit machine with a true analogue port. As in it used a proper ADC chip.
Pretty sure the Einstein has one too. ISTR an Einstein magazine article which says it has a better resolution than the Beeb's ADC.
1024MAK wrote:
Thu May 02, 2019 7:42 pm
The 6845 itself does not care about the width of the video memory.
Yes - the 6845 is really just generating addresses so you could, in theory, use it for all manner of bit depths. The (video) databus width is the limiting factor.

The Arc has a similar scheme with MEMC dealing with addresses and VIDC dealing with data.

Commie_User
Posts: 1309
Joined: Wed Jan 27, 2016 12:50 am
Contact:

Re: Bit of fun - One change only

Post by Commie_User » Thu May 02, 2019 11:11 pm

The C64 also had analogue pins in its two joystick ports. Must have been in the VIC 20 too.

RobC
Posts: 2626
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: Bit of fun - One change only

Post by RobC » Fri May 03, 2019 7:45 am

Commie_User wrote:
Thu May 02, 2019 11:11 pm
The C64 also had analogue pins in its two joystick ports. Must have been in the VIC 20 too.
I think the C64 uses the SID for ADC rather than using a dedicated ADC chip like the Beeb or Einstein.

Looking through my Einsten hardware manual last night, it seems that its ADC is only 8-bit (as is the C64) as opposed to 10-bit on the Beeb.

User avatar
1024MAK
Posts: 8893
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Bit of fun - One change only

Post by 1024MAK » Fri May 03, 2019 8:25 am

Details of the C64 analogue inputs:
274A877F-1909-4227-AD90-0A2EF5FE7393.jpeg
Extract from the C64 service manual
Extracts from the SID datasheet:
Two A/D converters are provided for inter-facing SID with potentiometers. These can be used for “paddles” in a game environment or as front panel controls in a music synthesizer
MISC
POTX (Register $19)
This register allows the microprocessor to read the position of the potentiometer tied to POTX (pin 24), with values ranging from 0 at minimum resistance, to 255 (#FF) at maximum resistance. The value is always valid and is updated every 512 02 clock cycles. See the Pin Description section for information on post and capacitor values.
POTY (Register $1A)
Same as POTX for the pot tied to POTY (pin 23).
SID PIN DESCRIPTION
POTX-, POTY (Pins 24,23) — These pins are inputs to the A/D converters used to digitize the position of potentiometers. The conversion process is based on the time constant of a capacitor tied from the POT pin to ground, charged by a potentiometer tied from the POT pin to +5 volts. The component values are determined by:
RC = 4.7E-4
Where R is the maximum resistance of the pot and C is the capacitor.
The larger the capacitor, the smaller the POT value jitter. The recommended values for R and C are 470 KOhms and 1000 pF.
Note that a separate pot and cap are required for each POT pin.
85DABC31-B78D-4C80-B06C-369FC98A8DB5.jpeg
Schematic from SID datasheet
So it is not at all clear what type of analogue to digital conversion system is being used, but i’m guessing, as the documents speak of variable resistors (potentiometers or pots) and capacitors, that inside the SID chip, the ADC is formed from a transistor (to discharge the capacitor) and a comparator coupled to a counter. When the transistor finishes discharging the capacitor, a counter starts timing. With the transistor off, the pot slowly charges the capacitor. When the voltage passes the set voltage for the comparator, the counter stops. The value is then put in a register that the CPU can read. At least, that’s my take on reading the documents. I’m welcome to hear if what I wrote is complete rubbish, so if I’m wrong, please correct me.

Mark

User avatar
1024MAK
Posts: 8893
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Bit of fun - One change only

Post by 1024MAK » Fri May 03, 2019 8:52 am

The Einstein hardware manual says this:
460FEC47-869E-43FA-A5A7-E78D9E60ACD2.jpeg
Einstein hardware manual - Description of the Analogue Interface 1
FEA2CDFC-2ECD-4CF1-8058-60AF6A781DD9.jpeg
Einstein hardware manual - Description of the Analogue Interface 2
09E93709-94A8-4144-91BC-E90A371CA8FD.jpeg
Einstein hardware manual - IC Details
87A9C1B8-DBB5-44C3-9F36-6A3D7927ED73.jpeg
Einstein hardware manual - Extract from the schematic
Anyone get the idea that someone studied the BBC B design?

The datasheet for the ADC0844 is here.

Mark
Last edited by 1024MAK on Fri May 03, 2019 8:57 am, edited 1 time in total.

User avatar
tricky
Posts: 3506
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Bit of fun - One change only

Post by tricky » Fri May 03, 2019 10:05 am

The 6845 only really cares about counting and the output is used as an address, so implicitly byte based. If the ULA had done something more adventurous, it would have had to use a different clock, a bit like video nula does for its three pixel per byte mode 1, where two of the bits specify the palette and then the other three pairs of bits give the three wider than useual pixels. This allows 16 colours with 2 2/3 bits per pixel at 240x256 full width.

PS sorry, somehow I've replied to an earlier post :oops:
Last edited by tricky on Fri May 03, 2019 10:11 am, edited 2 times in total.

User avatar
Pernod
Posts: 1555
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK
Contact:

Re: Bit of fun - One change only

Post by Pernod » Fri May 03, 2019 11:38 am

1024MAK wrote:
Fri May 03, 2019 8:52 am
Anyone get the idea that someone studied the BBC B design?

The datasheet for the ADC0844 is here.

Mark
Also used in the Electron Plus 1.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.

Post Reply