Problem with hardware flow control

瀏覽次數:375 次
跳到第一則未讀訊息

Eric Arrigo

未讀,
2021年5月24日 清晨5:11:062021/5/24
收件者:RC2014-Z80

Hi mates!

I'm new to this group and I'm using a "classic" RC2014 (the most basic version, but I love it :o) )

Is it me or is the BASIC 4.7c not using hardware flow control?

Using Putty or TeraTerm with RTS/CTS flow control, I have no problem pasting a couple of hundred lines of BASIC using the BASIC 4.7b but with the 4.7c version it starts failing after a few lines.

It does work on 4.7c with TeraTerm if I add "1ms" transmit delay, but this is really slow.

Am I missing something obvious?

Eric

Phillip Stevens

未讀,
2021年5月24日 清晨6:06:322021/5/24
收件者:RC2014-Z80
Eric wrote:
I'm new to this group and I'm using a "classic" RC2014 (the most basic version, but I love it :o) )
 
Welcome. 
 
Is it me or is the BASIC 4.7c not using hardware flow control?
 
Well, assuming you're talking about the version I prepared here, then it does use flow control.
It is exactly the same mechanism used in the 4.7b version. So unless there is a bug then they should behave the same.

Except the 4.7c uses 255 bytes of buffering to simplify (optimise) buffer management, where the 4.7b uses a 63 byte buffer.
 
Using Putty or TeraTerm with RTS/CTS flow control, I have no problem pasting a couple of hundred lines of BASIC using the BASIC 4.7b but with the 4.7c version it starts failing after a few lines.

I think quite a few people have reported issues with ACIA flow control over the years with 4.7b, so I'm actually surprised to hear it working for you.
Quite a long time ago (even before 4.7c was prepared) the slowprint.py utility was written to enable BASIC programs to be pasted more successfully.

I'll look into the issue with Putty and TeraTerm, and see if I can find anything I can fix.
Thanks again for letting me know.
 
It does work on 4.7c with TeraTerm if I add "1ms" transmit delay, but this is really slow.

Try with slowprint.py. It should be a bit faster for simple upload of BASIC.

Phillip

Phillip Stevens

未讀,
2021年5月24日 清晨6:22:342021/5/24
收件者:RC2014-Z80
Phillip Stevens wrote:
Eric wrote:
Is it me or is the BASIC 4.7c not using hardware flow control?
 
Well, assuming you're talking about the version I prepared here, then it does use flow control.
It is exactly the same mechanism used in the 4.7b version. So unless there is a bug then they should behave the same.
 
Using Putty or TeraTerm with RTS/CTS flow control, I have no problem pasting a couple of hundred lines of BASIC using the BASIC 4.7b but with the 4.7c version it starts failing after a few lines.

The only thing that stands out is that the number of bytes of "run-on" allowance in 4.7b is 15 (0x0F), but in 4.7c I have set it to 8 bytes.
If a serial interface cannot respond to /RTS in time then this might be an issue. I'll have a play with some different tuning of these parameters to see if it helps.

Phillip

Phillip Stevens

未讀,
2021年5月24日 清晨7:14:032021/5/24
收件者:RC2014-Z80
Phillip Stevens wrote:
Eric wrote:
Is it me or is the BASIC 4.7c not using hardware flow control?
 
Well, assuming you're talking about the version I prepared here, then it does use flow control.
It is exactly the same mechanism used in the 4.7b version. So unless there is a bug then they should behave the same.
 
Using Putty or TeraTerm with RTS/CTS flow control, I have no problem pasting a couple of hundred lines of BASIC using the BASIC 4.7b but with the 4.7c version it starts failing after a few lines.

Done some more testing. This is definitely something to fix.
In the interim, just use a 30ms delay at the end of each line (rather than each character).

Thanks again for reporting this.

Alan Cox

未讀,
2021年5月24日 上午8:47:032021/5/24
收件者:rc201...@googlegroups.com
On Mon, 24 May 2021 at 11:22, Phillip Stevens <phillip...@gmail.com> wrote:
Phillip Stevens wrote:
Eric wrote:
Is it me or is the BASIC 4.7c not using hardware flow control?
 
Well, assuming you're talking about the version I prepared here, then it does use flow control.
It is exactly the same mechanism used in the 4.7b version. So unless there is a bug then they should behave the same.
 
Using Putty or TeraTerm with RTS/CTS flow control, I have no problem pasting a couple of hundred lines of BASIC using the BASIC 4.7b but with the 4.7c version it starts failing after a few lines.

The only thing that stands out is that the number of bytes of "run-on" allowance in 4.7b is 15 (0x0F), but in 4.7c I have set it to 8 bytes.

For classic PC 16x50 serial port that's likely to break stuff because the FIFO is 16 bytes and the flow control is software managed with latencies in the OS side. USB ones will vary as they manage hardware flow control in the USB convertor firmware.

Alan


Phillip Stevens

未讀,
2021年5月24日 上午9:03:572021/5/24
收件者:RC2014-Z80
So I've identified the failure, and I believe that it is now fixed.

In January I had identified that as the ACIA Rx side is double buffered, it necessary to check whether any characters have arrived and the buffer is empty within the interrupt process. If this is not done it is possible to occasionally lose single bytes. Of course, I didn't notice that this mechanism broke the check for buffer fullness (that was previously done once per interrupt for each received byte). That check has now been moved, and the code seems to work as intended (again).

For good measure I've also set the run-on allowance to 16 bytes, addressing the point that Alan raised.

If you're able to burn a new ROM, please give this a try, or if you're using an Am9511A APU Module then use this one.

Hope this helps.

Cheers, Phillip

Eric Arrigo

未讀,
2021年5月24日 晚上8:27:412021/5/24
收件者:RC2014-Z80
Hi Phillip,

Thanks for the very quick fix!

It seems it took longer for me to remember how to burn a new ROM image than it took you to identify and fix the problem :o)

I tested this morning and It seems to work perfectly now.

Cheers,
Eric

Phillip Stevens

未讀,
2021年5月24日 晚上10:17:542021/5/24
收件者:RC2014-Z80
Eric wrote:
Thanks for the very quick fix!
I tested this morning and It seems to work perfectly now.

Good to hear. And thanks again for raising it. 
 
If you're able to burn a new ROM, please give this a try, or if you're using an Am9511A APU Module then use this one.

Cheers, Phillip 

Spencer Owen

未讀,
2021年5月25日 清晨5:47:242021/5/25
收件者:rc201...@googlegroups.com
Thanks for looking into this and resolving it so quickly.

I've updated my list of ROM images here, so will be sending out the new version with the AMA9511A kits on Tindie going forward https://www.tindie.com/products/semachthemonkey/rc2014-am9511a-apu-arithmetic-processor/

Cheers

Spencer

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/0047801a-48dd-44dd-95f8-064aed9b3ce8n%40googlegroups.com.

Chris Garrett

未讀,
2021年5月25日 上午11:00:342021/5/25
收件者:rc201...@googlegroups.com
I haven't been able to get files onto my CF card to use within CP/M using the Windows app, but I mainly use a mac anyway.

Is there an alternative that would work for me and my mac? Any way to write directly to the CF card using a card reader?

Would getting the ESP8266 board allow me to send files over the network (FTP etc)?

 

Spencer Owen

未讀,
2021年5月25日 上午11:21:082021/5/25
收件者:rc201...@googlegroups.com
Hi Chris,

There are a couple of options for converting files in a format to send over to the RC2014.  The first one is a python script that can be found here; https://groups.google.com/g/rc2014-z80/c/LY6ru_g5t80/m/eVS6xdG7AgAJ

Secondly, there is a web based conversion page on the RC2014 website. It is still in beta release at the moment, but seems to be working well http://rc2014.co.uk/filepackage/

You can also use cpmtools or cpmcbfs to mound the CF card on a desktop machine. I _think_ these are both available for Mac. There's a discussion about those here; https://groups.google.com/g/rc2014-z80/c/VD22SEht0PY/m/vdO-Y5XNAQAJ

The ESP8266 module won't offer you any different ways to access files to/from your RC2014, except for the fact that you don't need an FTDI cable plugged in directly.  You will still use a terminal program on your Mac to talk to the RC2014, but you can do it from the other side of your house (or anywhere in the world if you have the right access through your firewall!).

Hope that helps

Spencer

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

Chris Garrett

未讀,
2021年5月25日 上午11:37:452021/5/25
收件者:rc201...@googlegroups.com
Great stuff, thanks! I like the idea of being able to use Telnet but also eventually maybe I could program the FTP idea myself :)

Definitely will check out the mounting of the CF card option

Where can I find the BBC Basic files that works on this version of CP/M?

Chris Garrett

未讀,
2021年5月25日 上午11:40:422021/5/25
收件者:rc201...@googlegroups.com
BTW, easy mac version of CPMTools https://formulae.brew.sh/formula/cpmtools :)

S P Dixon

未讀,
2021年5月25日 中午12:06:372021/5/25
收件者:'andy....@googlemail.com' via RC2014-Z80
Hi Chris

I'm a Mac user too and I have made myself a neat solution. I wrote a utility which allows me to 'open' a binary (eg .BIN or .COM) on my mac - it converts it to IHX, which contains the A:DOWNLOAD instruction at the top. It exposes this in a text field so that you can simply copy that, go to your terminal, change to the drive you want to put the file in and paste.  It allows me to put a file on my CF card, without removing it from the RC2014, in a few clicks/keystrokes

I haven't yet made that utility available (it works great but isn't very polished). When I've mentioned it no-one's been interested. But if you like I'm happy to share that Mac utility.
 

Best wishes
Shiela

Chris Garrett

未讀,
2021年5月25日 中午12:14:002021/5/25
收件者:rc201...@googlegroups.com
Yes please! :)



S P Dixon

未讀,
2021年5月25日 中午12:31:492021/5/25
收件者:'andy....@googlemail.com' via RC2014-Z80
Send me an email - shi...@peacockmedia.software  

I'll get the app, such as it is, signed, notarised and all that nonsense, and send you a link, plus some screenshots of how to use it.


Best wishes
Shiela

Richard Deane

未讀,
2021年5月25日 下午2:07:452021/5/25
收件者:rc201...@googlegroups.com
You can use  : ApplePi-Baker is a free MacOS X application for Raspberry Pi user, for flashing SD-Cards (IMG) or prepare NOOBS SD-Cards.

This allows you to read and write an image file to mac. You can then use cpmtools to write into the image file, then write it back to  SD or CF

Haven't used it for about 18 m months as my mac os box died.

Richard

On Tue, 25 May 2021 at 16:00, Chris Garrett <ch...@chrisg.com> wrote:
--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

Chris Garrett

未讀,
2021年5月25日 下午2:26:382021/5/25
收件者:rc201...@googlegroups.com
Oh! I tried the Raspberry Pi imager and it didn't like it, will try that one :)



S P Dixon

未讀,
2021年5月25日 下午2:43:102021/5/25
收件者:'andy....@googlemail.com' via RC2014-Z80
For Chris and anyone else who might find this useful:


Shiela




On 25 May 2021, at 16:40, Chris Garrett <ch...@chrisg.com> wrote:

Chris Garrett

未讀,
2021年5月25日 下午2:52:172021/5/25
收件者:rc201...@googlegroups.com
Screen Shot 2021-05-25 at 12.50.56 PM.png
The disk image in the repo gives this error in Pi Baker even without any changes - any ideas?

karlab

未讀,
2021年5月25日 下午2:53:502021/5/25
收件者:RC2014-Z80

I am a mac user (mainly). I have used Serial for a long time without any issues, transferring small and large files to and from the RC2014, including text, binary and hex files.
And it is drag and drop on the mac, and xmodem  on the rc2014 (other protocols are supported).
Serial cost a small amount, but it is worth it.
see

Karl


Richard Deane

未讀,
2021年5月25日 下午5:08:412021/5/25
收件者:rc201...@googlegroups.com
If you are happy with a serial connection and line speeds, then I agree that Serial is the best package I could find  and was cheaper than several other commercial alternatives. Sad that I don't have macos access any more.

I actually prefer to use xmodem or kermit  for transfers, than use cpmtools - it is in a way a more portable method. You don't have to remember all the diskdefs. Also I worry about bent pins on disks or connectors if I move them too much.

Richard

karlab

未讀,
2021年5月25日 下午5:12:222021/5/25
收件者:RC2014-Z80

Well if you use windows, TeraTerm is equally powerful and has never failed me.
Karl

Richard Deane

未讀,
2021年5月26日 凌晨3:28:292021/5/26
收件者:rc201...@googlegroups.com
And I use teraterm macros to automate the teraterm send with xmodem to give me more time to find the file to be sent, to avoid failure due to build up of NAKs. 

Chris Garrett

未讀,
2021年5月26日 上午11:51:082021/5/26
收件者:rc201...@googlegroups.com
Another noob issue :)

I used DD to copy the individual disk images from the IMG in the repo. Seems A and C work but the others are unusable. Seeing as I already nearly corrupted my CF card and Apple Pi Baker etc won't work with it, I daren't write anything to A or C in case I make it unusable.

What am I missing here?

chris.garrett@chris-garrett ~ % cpmls -f rc2014 SIO2-B.img                                                                             

cpmls: cannot open SIO2-B.img (No such file or directory)

chris.garrett@chris-garrett ~ % mkfs.cpm -f rc2014 ~/SIO2-B.img                                                                                

chris.garrett@chris-garrett ~ % cpmls -f rc2014 ~/SIO2-B.img

cpmls: cannot open /Users/chris.garrett/SIO2-B.img (No such file or directory)

chris.garrett@chris-garrett ~ % cpmls -f rc2014 SIO2-B.img                                                                                     

cpmls: cannot open SIO2-B.img (No such file or directory)

chris.garrett@chris-garrett ~ % cpmcp -f rc2014 ~/SIO2-B.img /Users/chris.garrett/Downloads/Foxhollow-cpm/packages/BBCBASIC.COM 0:             

cpmcp: cannot open /Users/chris.garrett/SIO2-B.img (No such file or directory)

G Kr

未讀,
2021年5月26日 中午12:02:032021/5/26
收件者:RC2014-Z80

Hi,

a drive letter is missing after -f rc2014: e.g. -f rc2014a or rc2014c

- I would think

Gerd

Chris Garrett

未讀,
2021年5月28日 清晨6:00:172021/5/28
收件者:rc201...@googlegroups.com
I will check out Serial. Right now I might switch to Windows though as my mac isn't backing up the CF or writing to it :/

Seems Windows stuff is a lot easier

Chris Garrett

未讀,
2021年5月28日 清晨6:00:232021/5/28
收件者:rc201...@googlegroups.com
Those are for when reading the physical drive right? For the extracted images I have two definitions, one for boot disk and one for none 



--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

Chris Garrett

未讀,
2021年5月28日 清晨6:00:262021/5/28
收件者:rc201...@googlegroups.com


chris.garrett@chris-garrett ~ % cpmls -f rc2014b SIO2-B.img

cpmls: cannot open SIO2-B.img (No such file or directory)


Same result anyways :(

Chris Garrett

未讀,
2021年5月28日 清晨6:00:292021/5/28
收件者:rc201...@googlegroups.com
Using Windows and CPMCBFS is sooooo much easier

Screen Shot 2021-05-26 at 11.32.18 AM.png
Screen Shot 2021-05-26 at 11.33.26 AM.png

G Kr

未讀,
2021年5月28日 清晨7:20:382021/5/28
收件者:RC2014-Z80
Yes, it also seems to be related to the access rights to the file SIO2-B.img. But I can't judge that from here.
 I also use the cpmtools on Windows.
But should work in the same way under Linux. I use them there too.
It looks like this for me.

G:\... \cpmtools>cpmls -f rc2014c testorgi-128MB.img
0:

G:\... \cpmtools>

But if you've found a way for yourself ... all is well.

Gerd
回覆所有人
回覆作者
轉寄
0 則新訊息