Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incorporate 2400 baud routines by George Hug into custom rom #26

Open
rob-lindman opened this issue Jul 7, 2019 · 8 comments
Open

incorporate 2400 baud routines by George Hug into custom rom #26

rob-lindman opened this issue Jul 7, 2019 · 8 comments

Comments

@rob-lindman
Copy link

In Transactor Magazine, there was an article by a fellow named George Hug, which went into depth about the deficiencies of the Commodore 64's handling of the user port. This has become somewhat of a standardized library for my favorite software, terminal programs. Lately, there are a number of custom roms popping up, and I am curious if anyone out there has made effort to modify the default C64 roms so they would be able to handle 2400 baud+ without loading this routine? Maybe you are bored and would like the adventure. -- I was directed here by Paul Gardner-Stephen on Facebook.

@gardners
Copy link
Collaborator

gardners commented Jul 7, 2019 via email

@rob-lindman
Copy link
Author

@gardners
Copy link
Collaborator

Thanks,
Paul.

@FeralChild64
Copy link
Collaborator

Someone recently did some updates to the code - https://github.com/nanoflite/c64-up2400-cc65

@FeralChild64
Copy link
Collaborator

As I'm in the process of refactoring the Kernal I/O stack, I'm going to try to integrate both UP2400 (by George Hug) and UP9600 (by Daniel Dallman) - they will be selectable at compile time.

@gardners
Copy link
Collaborator

gardners commented Oct 29, 2019 via email

@ssuukk
Copy link

ssuukk commented Aug 29, 2020

Note though, that up2400 code contains a "fix" for receiving 0, which is not how rs232 is supposed to work (NUL should be escaped), as stated in discussion on author's page:

https://modelrail.otenko.com/electronics/commodore-64-fixing-rs-232-serial-limitations

Quote:

It seems that the c64 is almost binary transparent via rs232. The thing is; $00- $1f are control characters- very useful things to have. So we set up for transmission: $1b is the escape control code. if we want to send any binary number between $00- $1f we first preface it with the escape code $1b then the binary number EOR $20 is sent.
On reception if we receive $1b we throw it away, get the next character and EOR it by $20 and that’s binary transparency.
The cool thing is that all the other control codes when sent in the clear can be used to communicate out of band and control the receiver- the sky is the limit.

@FeralChild64
Copy link
Collaborator

I have seen the comment about 0 in UP2400 source code, but I didn't know the reason. OK, thank you for the information.

Sadly, I haven't integrated UP2400 yet, I'm constantly busy with other features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants