Wires? Pah.....

discuss pc<>acorn file transfer issues and the use of other utils
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

For those building their own cables, here's some shots of a finished connector which shows the diode orientation. Their thick black rings, the cathode or -ve (the flat line across the triangle on the diode symbol), face away from the D-type and their opposite non-black ends are joined together sharing D-type pin 5 with the cable ground (0v) lead. The resistors don't have any polarity and can be used either way round. Hope this helps.... :wink:
UPURS Connector 1.JPG
UPURS Connector 2.JPG
UPURS Connector 3.JPG
Attachments
UPURS Connector 4.JPG
User avatar
CMcDougall
Posts: 7048
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Wires? Pah.....

Post by CMcDougall »

Martin wrote:Hope this helps
=D>
A picture tells me a thousand words! :shock: (Pic2) :D
\/pic of bits/the diagram on Pg6 of beeb PDF manual 8)
http://www.stardot.org.uk/forums/downlo ... &mode=view
http://www.stardot.org.uk/forums/downlo ... &mode=view
Thanks for clearing that up :wink: , only learnt what the black line down the side of a capacitor was for when I was changing my beeb PSU adaptor (gnd/0/-neg) :oops:
ImageImageImage
User avatar
CMcDougall
Posts: 7048
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Wires? Pah.....

Post by CMcDougall »

I've made one :mrgreen:
some info for the 'make this easy' crew :
Get stupid old desktop PC, rip out HDisc 40 way cable. Take off the 3 (or 2) connectors with small screwdriver, peel off connectors slowly from wires.
Count 20 bits of wire, and half it.
Use holes already present, put on 20way bump connector, making sure to line up the pins to holes already in cable. Squash together using old HDisc connector on flat hard surface, if wires look set in, put proper 20 connector on.
Other now bare end, get black pen, and mark the wires you want to keep, cut others away, and use your teeth to slowly rip off ends to show bare wire for about 5mm:
getting ready!
getting ready!
Then, grab the 9-pin Female connector, put solder onto holes that are needed. Cut Resistors one end about 5mm, and shove in hole while solder is running.
Same with Diode noting black strip away from 9pin connector.
Other ends of resistor and diode, twist together, run some solder on.
Bare wires at end of 20way, 5 only usefull, so run some solder on these.
Connect the wires by shoving the wire on to 9way plug down the holes, run solder and blow :-
Connect pin 4 & 6 together last on 9pin, with wire from bits spare off 20 way cable.
all ready to go!
all ready to go!
Try it on computers if it works, cut excess wire off end of diodes and resistors, put in housing to make it look nice :D

Extra Notes:
If on a laptop Win8.1 (probably 8 too), no need to uninstall/install USB>RS232 FTDI drivers, just plug USB end into the USB2 port, and it does the rest. Shows on mine as "Device FTDIBUS\VID_0403+PID_6001+6&32bd888&0&2\0000 was configured." and it is Port COM3.

Wicked stuff Martin =D> 8)
ImageImageImage
User avatar
flaxcottage
Posts: 5717
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire
Contact:

Re: Wires? Pah.....

Post by flaxcottage »

CMcDougall wrote:
Other now bare end, get black pen, and mark the wires you want to keep, cut others away, and use your teeth to slowly rip off ends to show bare wire for about 5mm:
My dentures won't stand up to making this! :twisted:
- John

Check out the Educational Software Archive at www.flaxcottage.com
User avatar
paulv
Posts: 3866
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv »

I've made one :mrgreen:
some info for the 'make this easy' crew :
Alternatively some of us offer a "for the price of parts" + P&P build and test service...

No danger of losing any teeth either :lol: :lol: :lol: :lol:

Paul
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Wires? Pah.....

Post by leenew »

Hi Paul, :D
Would you mind awfully checking your P.M.'s
Thanks,

Lee.
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

Col wrote:I've made one :mrgreen:
Nice one Colin =D>

Your infectious enthusiasm might well inspire me to upgrade UPURS to a long-overdue 5.1 and sort out a few niggles that have been reported - it is only a few but I keep meaning to get on the case. If any users have any gripes or enhancement ideas, can you shout up on here over next few weeks plz..... 8)

Lee, nicely on topic - if you're thinking of equipping with UPURS, the UPXROM ? command will list any SWR in a Beeb :D

Here showing your Holy Grail of slots 4 & 5 as an example...... :wink:
UPXROM.png
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

Elsewhere I suggested that I would post a development version of the Electron version of UPCFS (which is part of the UPURS rom) for Colin, Stuart and anyone else to have a play with. Attached then is an UPURS 1.0E rom image containing UPCFS development version 1.dE. This is essentially identical in functional terms to the current release version and to keep things simple, I've removed any code changes I have been playing with and limited the changes to the location in memory of the fast serial buffer and the rom switching code. These are now both embedded around the centre of the CPU Stack in an area that I have slowly refined to one which appears to be least used by a large sample of games during their loading sequences. (It doesn't matter if UPCFS is overwritten after loading because it's then finished with.)

Basically then Colin and Stuart (and anyone else?), just try to get a feel for whether this is an improvement or not. Through much iterative testing, Paul V and I were able to get the Beeb up to over %80+ games compatibility I'd say but the Elk seems to be a much tougher nut to crack with every bit of memory being hunted down, especially during loading. (A lack of the 1K Mode 7 seems to be partly be responsible.)

No rush, whenever suits and it can be a long job anyway.... 8)

UPURS 1.0E + UPCFS 1.0dE.zip
(5.2 KiB) Downloaded 177 times
User avatar
aerworuld
Posts: 1748
Joined: Tue Sep 25, 2012 9:40 pm
Location: Basingstoke, Hampshire
Contact:

Re: Wires? Pah.....

Post by aerworuld »

Nice one Martin 8) will make a start of some games testing :wink:

Would it be beneficial to make a list of games i have actually tried and annotate whether they play ball or not?

Stuart :)

edit, me being me, I couldn't wait and have started a list :lol: it is in this thread.
User avatar
CMcDougall
Posts: 7048
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Wires? Pah.....

Post by CMcDougall »

Many thanks for the new elk UPCFS version Martin =D> =D> =D>

Will give it a go very soon :wink:

Wish I could mind all the ones that did not work with the now older version #-o so that you know your new code will give you even more games to play, as I know you ARE really a hardcore elk gamer 8)
ImageImageImage
User avatar
george.h
Posts: 1033
Joined: Wed Apr 13, 2011 6:32 pm
Location: Chelmsford Essex
Contact:

Re: Wires? Pah.....

Post by george.h »

I'm sure there is something probably buried in the 27 (!!) pages of this thread, but has anyone used one of the many TTL to RS-232 converters available on fleabay (based on the ubiquitous MAX232) for the PC end of a UPURS cable?

I've got four around which I bought (for work) to do level translating on a couple of old Sprecher & Schuh SE290 PLCs. I'm tempted to give one a try with UPURS so just wondering if the slew rate on them would be good enough?

George
:D
Pic Caption: "Now now boys stop annoying your sister..."
User avatar
1024MAK
Posts: 12780
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Wires? Pah.....

Post by 1024MAK »

@ George - why do you want a level converter? UPURS is designed to connect between a Beeb user port / Elk user port and a PC.

Answers please (but not on a post card :lol: )...

Mark
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

Ha ha - me and Mark always seem to wait all day and then post synchronously... :lol:

I've never tried an active converter myself, I decided that I could suitably manage the RS232 levels with resistors and diodes for modern equipment such as PC legacy ports and USB converters. There's no reason why a MAX232 shouldn't work and specifically in terms of slew rate requirements, 115K Baud isn't especially fast (except in Beeb transfer-rate terms :wink:). Furthermore, I designed my bit-banging algorithm to be level sensitive in the centre of each bit period rendering it largely immune to rise and fall times.

What is the terminal equipment you have in mind?
User avatar
george.h
Posts: 1033
Joined: Wed Apr 13, 2011 6:32 pm
Location: Chelmsford Essex
Contact:

Re: Wires? Pah.....

Post by george.h »

1024MAK wrote:@ George - why do you want a level converter? UPURS is designed to connect between a Beeb user port / Elk user port and a PC.

Answers please (but not on a post card :lol: )...

Mark
Erm..... 'cos I have them.. :lol: (and work paid for 'em)
MartinB wrote:What is the terminal equipment you have in mind?
Mainly older laptops (Dell Latitude PIII, Toshiba Libretto 110CT) so they have pucka serial ports.

I guess it is one of those "why climb a mountain" type things.... :lol:
Pic Caption: "Now now boys stop annoying your sister..."
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

George wrote:I guess it is one of those "why climb a mountain" type things....
Because Julie Andrews says you must... :-k

(...and in which case, don't forget to ford every stream while you're about it :- )
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

As requested by dp11 over on the recent WiFi gadget thread, attached are two of the base utilities from the UPURS suite that between them contain my bit-banged RS232 Tx and Rx engine. These two examples are the disc-based versions of these particular utils and there are some differences for the rom-based equivalents but not in terms of the core technical functionality.

Over time, I've tended to migrate to the simplest text editors I can find - it used to be PSPad and is now Notepad 2 so the code probably needs to be viewed in something equally simple. Most importantly, Tabs must be set to 10 or it’ll be a mess because I'm afraid there are a mixture of Tabs and White Spaces in the text #-o

The most difficult of the Tx/Rx pair is Rx (PC to Beeb) and for a quick look, this is pasted below. It is very important that anyone thinking about modifying the code is fully conversant with the nature of RS232 in terms of the protocols, bit timings for given baud rates (including allowable tolerances), PC Tx byte overrun and the relationships between the data and CTS/RTS handshake control signals. I recommend not diving in with thoughts of apparent easy-win cycle or byte saving within the core routines because it really isn’t that simple – changing an instruction at a critical point (just about everywhere) and risking adding or removing just one cycle will likely terminally break the engine. The routine below should also be reviewed in the context of the full listing for UPSSD because some things might not make sense. Hmmm..., possibly even all of it :shock: :lol:

Experience has taught me that it is necessary for me to point these things out…. :roll: [-X :wink:

Code: Select all

\-------------------------------------------------------------------------------
\Core User Port 115200 baud RS232 receive routine. Fills the buffer at [buffer]
\with <16384 + overrun> bytes (= 6 tracks). Cycle critical code.

getbytes  CLI                           \enable user keypress interrupt
          LDA       #0                  \zero temporary store
          STA       temp
          JMP       sb1                 \and goto loop wait for Start bit

sb2       LDA       upiob               \during overrun, i.e. immediately after
          BMI       T0                  \CTS dropped, wait for Start bit via 
          LDA       upiob               \delay list reads
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0
          LDA       upiob
          BMI       T0

rxrti     LDA       #0                  \if no start bit detected, ensure
          STA       upiob               \CTS is reset
          STY       ylast               \save last received byte pointer
          RTS                           \and return 

                                        \immediate post-CTS set start bit loop
sb1       LDA       #$40                \assert CTS
          STA       upiob 
idle      LDA       upiob               \wait for Tx line idle (low)
          BMI       idle

sb3       LDA       upiob               \wait loop for start bit
          BPL       sb3                 \only exited via a Strat bit detection
                                        \or a terminating user keypress

                                        \start bit detected...
T0        INY                           \increment byte buffer storage pointer
          BEQ       T0a                 \if exceeded 255, goto increment page
          BIT       0                   \dummy cycle expend
          LDA       #1                  \dummy cycle expend and branch trigger
          BNE       wcts                \goto refresh CTS

T0a       INC       sbufh               \increment track buffer page pointer
          INX                           \increment CTS control counter (-ve up)

wcts      NOP                           \dummy cycle expend
          LDA       upiob               \early read of bit 0

          STX       upiob               \X page counter maintains or drops CTS

          ASL                           \remaing bit 0 processing
          LDA       #0
          ROR
                                        \remaining bit 1 to bit 7 reads
          STA       temp                \bit 1
          LDA       upiob
          ASL
          LDA       temp
          ROR
          NOP

          STA       temp                \bit 2
          LDA       upiob
          ASL
          LDA       temp
          ROR

          STA       temp                \bit 3
          LDA       upiob
          ASL
          LDA       temp
          ROR
          NOP

          STA       temp                \bit 4
          LDA       upiob
          ASL
          LDA       temp
          ROR

          STA       temp                \bit 5
          LDA       upiob
          ASL
          LDA       temp
          ROR
          NOP

          STA       temp                \bit 6
          LDA       upiob
          ASL
          LDA       temp
          ROR
          LSR

          STA       temp                \bit 7
          LDA       upiob
          AND       #$80
          ORA       temp
          EOR       #$FF                \RS232 line data is inverted

          STA       (sbufl),Y           \save byte in buffer
          CPX       bpgcnt              \test for CTS de-asserted
          BCS       sb3                 \CTS still set, goto loop for start bit
          JMP       sb2                 \else CTS reset, goto delay list reads

\-------------------------------------------------------------------------------
upssds_4dot0B.txt
(18.96 KiB) Downloaded 175 times
upxssds_4dot0B.txt
(22.38 KiB) Downloaded 163 times
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Wires? Pah.....

Post by Coeus »

MartinB wrote:...Best of all, now we've got legacy support, it's a true 'authentic' add-on in that there's nothing in the system that couldn't have been done back in the day :wink:
Which obviously invites one to consider why it wasn't done. I think ideas don't generally occur in a vacuum, they rely on things that have gone before. Casting my mind back, among those of us who had a BBC micro, exchanging discs was the main mechanism for transferring data from one machine or one person to another. The only interest in serial lines was for getting onto bulletin boards but that was very limited by the cost of phone calls. I wonder if it was the same in the mainframe world? Did people ship tapes around rather than attempt to make serial lines go quickly? I guess it's the old bandwidth vs. latency argument. I know later in the 1980s, at work, finding that while both the company mainframes and our Unix workstations all had some kind of networking there were no protocols in common so getting data from one of the mainframes was indeed via 1/2 tape. It was hailed as a major step forwards when the mainframes starting talking the IP protocols.

So, thinking of what one would have done with this had in been available back in the day, i.e. what would one connect to the other end the first thing that comes to mind is another BBC micro. Has anyone tried this? I guess it's a more of a curiosity than of practical value. I can't do so myself as I only have the one BBC micro.
User avatar
PitfallJones
Posts: 455
Joined: Fri Feb 22, 2008 3:44 pm
Contact:

Re: Wires? Pah.....

Post by PitfallJones »

Did you ever have the Pico-Plug working through the serial port on the BBC?
Or was it only with a UPURS cable to the user port?
Thanks
PJ
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

Hi PJ :)

No, not really - the Pico plug was about innovating PC-to-Beeb comms via Bluetooth and I originally went for parallel because the Beeb R423 port is somewhat pants above 9600 baud. I then got into the science of high speed serial bitbanging but couldn't get the Pico Plug to play bi-directionally over it's Centronics interface and so ultimately, I abandoned Bluetooth, developed UPURS and the rest, as they say, is history! I can still send disc images to a Beeb from Bluetooth devices [such as that HP PDA] using the Pico Plug but its just for my own amusement really :wink:

I'm now a big fan of I2C because the world is pretty much your oyster with the infinite range of devices costing just pennies and I don't doubt wireless comms, generic RF or Bluetooth, would be eminently doable. I'll certainly pursue this one day when I get through my other higher priority commitments... (Dave H - not forgotten :wink:)
User avatar
Slo
Posts: 421
Joined: Sun Mar 20, 2011 11:02 am
Location: Worksop Notts
Contact:

Re: Wires? Pah.....

Post by Slo »

Can upurs send a 640 ADFS file for an elk or beeb to create on a physical floppy?
User avatar
Pernod
Posts: 3439
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Wires? Pah.....

Post by Pernod »

Slo wrote:Can upurs send a 640 ADFS file for an elk or beeb to create on a physical floppy?
No, UPURS is DFS only.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
Slo
Posts: 421
Joined: Sun Mar 20, 2011 11:02 am
Location: Worksop Notts
Contact:

Re: Wires? Pah.....

Post by Slo »

Thanks for the quick reply Pernod

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

Re: Wires? Pah.....

Post by 1024MAK »

To clarify...
In theory, yes using a UPURS cable and some new software on the Beeb or Electron, ADFS disk images or files could be transferred. However, someone would have to write the ADFS write data to disk part of the software, as it currently does not exist.

Mark
User avatar
Slo
Posts: 421
Joined: Sun Mar 20, 2011 11:02 am
Location: Worksop Notts
Contact:

Re: Wires? Pah.....

Post by Slo »

That's what i thought Mark, ah well that's not going to happen is it seeing as our serial upursist inventor is such a fan of adfs lol
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

I'll have you know, I've got an ADFS floppy disc somewhere.

Now, let me see, where did I put it.......? :-k

ADFS Disc.jpg
User avatar
Slo
Posts: 421
Joined: Sun Mar 20, 2011 11:02 am
Location: Worksop Notts
Contact:

Re: Wires? Pah.....

Post by Slo »

:lol: Now that did make me laugh :mrgreen:

All my acorn bits n bobs have been packed away for at least 6 years until I recently got everything out again and have returned to my elk and upurs to attempt to make a master welcome disk and instantly binned that idea and wasted an entire evening upursing elk games, what a great and easy to use system it is, right out the box instantly works \:D/
User avatar
daveejhitchins
Posts: 7876
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Wires? Pah.....

Post by daveejhitchins »

MartinB wrote:Now, let me see, where did I put it.......? :-k
[-( :-#

Dave H :lol:
Available: ARA II : ARA III-JR/PR : ABR : AP5 : AP6 : ABE : ATI : MGC : Plus 1 Support ROM : Plus 3 2nd DA : Prime's Plus 3 ROM/RAM : Pegasus 400 : Prime's MRB : ARCIN32 : Cross-32
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

In response to a new-user query regarding UPCFS and UEF's......

Most UEF's around are individually 'gzipped' (topical on the forum!) and UPCFS can't load those directly but it should tell you with an error message if you try to use one that hasn't been unzipped. Anyway, attached is a bunch of Beeb-tested non-gzipped UEF's in one normal zip file so if you unzip these to a folder somewhere using a standard winzip utility, you can then send them to UPCFS from Hercules without any further messing.

In summary, you need to set up your normal UPURS connection and confirm everything is working by say making a normal disc image with UPSSD.

Then, on the Beeb....

<Ctrl><Break>
*UPCFS <Enter>

Beeb prints UPCFS header and > prompt returns.
On the PC/Hercules, 'Send' the UEF file but note that it will just stall (frozen progress bar) waiting for the Beeb.

On the Beeb....

CHAIN"" <Enter>

or , according to the game's needs...

*RUN"" <Enter>

...and the rest is all automatic! Start with the first in the folder, 3D-Bomb Alley - I've just checked it on a Beeb and it was fine.

(The only caveat with your using a Master is that the chosen game must be Master-compatible in the usual way - not a UPCFS limitation!)

UPCFS UEFs.zip
(2.35 MiB) Downloaded 73 times

.
Last edited by MartinB on Sun Sep 02, 2018 9:59 pm, edited 5 times in total.
User avatar
Elminster
Posts: 4315
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: Wires? Pah.....

Post by Elminster »

And just to reiterate what I said in the Electron UPURS thread if you forget to turn off transmit delay options UPCFS is pants. If you remove said offending options it works great. Feature request to MartinB for feature to 'remind me to switch off random options I may randomly switch on and then blame his software for not working reminder' feature.

Edit: I forgot to write the point. The point being when you have about 5 different serial cables, for about a dozen difference types of serial devices and use the same program for each, remember to save profiles or you get yourself in a mess!
Last edited by Elminster on Sun Sep 02, 2018 10:15 pm, edited 2 times in total.
User avatar
MartinB
Posts: 5635
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB »

Duncan wrote:The point being when you have about 5 different serial cables, for about a dozen difference types of serial devices and use the same program for each, remember to save profiles or you get yourself in a mess!
Better just to keep the UPURS one and throw the other 4 away.
Post Reply

Return to “software & utilities for the pc, mac or unix”