C64 Core

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, spiny, Greenious, Sorgelig, Moderator Team

Locked
vanfanel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 129
Joined: Tue Oct 09, 2018 10:19 pm
Location: Salamanca, España

Re: C64 Core

Post by vanfanel »

yellperil wrote:
vanfanel wrote:Does Wizball work for you guys in the latest version of the core? It seems to hang before the tittle screen. Game was working with older versions of the core. Could it be a regression? Or maybe the dual SID somehow confusing the game's code?
The last core that wizball worked on was : C64_20190128.rbf
So we have a regression after all... :cry:
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

slingshot wrote:I think this 300 baud (or 2400) is only by software controlled communications (as I read, the ROM routine doesn't use the shift register). The CIA itself is capable of more (just think about the VIA SR is used for SPI to SD-Cards in BBC Micro).
ROM routines only support up to about 600 baud, and can not be used for a terminal program. Take a look at the source code for any of the terminal programs out there (like CCGMS for example). The CIA is accessed directly because the ROM routines are not capable of handling even 1200 baud. The CIA's shift register is used.

I did one of the first conversions of CCGMS when the author released the source code, and I have a ton of experience with it and the WiModem (which I created). I also created UP9600 compatible code and even some 38400 and 57600 code for the hard drive emulation that the WiModem has.
I am the flux ninja
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

Sorgelig wrote:It's not hard to use UART connection. MiSTer framework provides standard UART signals to connect to supported core. So, need some one who knows how to connect C64 side to UART and knows the required software.
You don't need a UART. You just need to add 3 lines from the CIA to FPGA pins:

Tx = USER PORT 'M' (pin 23), connected to CIA U2 pin 4 (PA2).
Rx = USER PORT 'B' (pin 14), connected to CIA U2 pin 24 (/FLAG2).
Rx = USER PORT 'C' (pin 15), connected to CIA U2 pin 10 (PB0).

Tx -> Tx port pin USB-C connector
The two 'RX' connections are tied together -> Rx port pin (USB-C connector)

If this was supported in the core, then you could use any modern modem through the USB-C connector.

One thing that the C64 emulation does need is the removal of the copyrighted ROM code (computer and disk drive) and make it load an external ROM files like the arcade cores do.
I am the flux ninja
ericgus
Atari Super Hero
Atari Super Hero
Posts: 509
Joined: Fri Apr 08, 2016 4:53 am
Location: Boston MA - USA

Re: C64 Core

Post by ericgus »

JimDrew wrote:
Sorgelig wrote:It's not hard to use UART connection. MiSTer framework provides standard UART signals to connect to supported core. So, need some one who knows how to connect C64 side to UART and knows the required software.
You don't need a UART. You just need to add 3 lines from the CIA to FPGA pins:

Tx = USER PORT 'M' (pin 23), connected to CIA U2 pin 4 (PA2).
Rx = USER PORT 'B' (pin 14), connected to CIA U2 pin 24 (/FLAG2).
Rx = USER PORT 'C' (pin 15), connected to CIA U2 pin 10 (PB0).

Tx -> Tx port pin USB-C connector
The two 'RX' connections are tied together -> Rx port pin (USB-C connector)

If this was supported in the core, then you could use any modern modem through the USB-C connector.

One thing that the C64 emulation does need is the removal of the copyrighted ROM code (computer and disk drive) and make it load an external ROM files like the arcade cores do.
Jim, I think you are missing that with the Mister's MIDILINK/TCP {software} UART functionally you don't need to physically connect it to an external serial connection. Midilink is part of Mister. The MIDILINK/TCP works like a software wifi modem internally using the Mister's network stack.. so no need to eternally wire the core to external hardware like voltage shift or anything like that, this is totally 100% internal to the mister and no need for a "real" actual electrically connected eternal serial device.. just tie the MIDILINK UART functionality to the FPGA core .. the MIDILINK TCP has wifi "hayes" modem commands on the UART connection.. try it with the AO486 or the Amiga core and any serial port term program like ProComPlus for the pc or TERM 4.8 for the Amiga, you just type "ATDT" and the address like a wifi modem.. its actually less complicated than I think you realize.

for reference I think you should look at this regarding MIDILINK and scroll down to the TCP section https://github.com/bbond007/MiSTer_MidiLink
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

I am well aware of the MIDILINK/TCP option, and it is *extremely* limited with its Hayes compatibility. Having the 2 pins externally available would open the door to using real hardware for running a BBS, using various programs and terminal software that require certain commands, and having hard drive emulation. Having 4 pins available (Rx/Tx/RTS/CTS) would let you emulate the UP9600 baud hack and give you high speed serial support. That would make it compatible with any real hardware.
I am the flux ninja
BBond007
Captain Atari
Captain Atari
Posts: 466
Joined: Wed Feb 28, 2018 3:23 am

Re: C64 Core

Post by BBond007 »

JimDrew wrote:I am well aware of the MIDILINK/TCP option, and it is *extremely* limited with its Hayes compatibility. Having the 2 pins externally available would open the door to using real hardware for running a BBS, using various programs and terminal software that require certain commands, and having hard drive emulation. Having 4 pins available (Rx/Tx/RTS/CTS) would let you emulate the UP9600 baud hack and give you high speed serial support. That would make it compatible with any real hardware.
In other news... Jim sells WiFi modems...
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

True, and mine has hard drive emulation and other features. But, there are MANY different WiFi modems for the C64/128, as well as other devices that plug into the USER port that need real serial access. I think the MiSTer setup would make an ideal platform from running a C64 BBS.
I am the flux ninja
hernan43
Atariator
Atariator
Posts: 21
Joined: Thu Dec 27, 2018 7:10 pm

Re: C64 Core

Post by hernan43 »

Those WiFi adapters are super fun. I just assembled one recently and have been surfing BBSes.
User avatar
Paradroyd
Captain Atari
Captain Atari
Posts: 300
Joined: Tue Sep 10, 2013 10:50 pm
Contact:

Re: C64 Core

Post by Paradroyd »

Honestly, both options (physical serial lines and tcp virtual serial/UART) would be useful, for different reasons.

The ultimate thing would to eventually have both options selectable in the F12 menu. At this point i'd be glad to have any of the above, but for my own selfish reasons, If I had to choose I'd prefer to be able to pipe it over tcp, just because it would be easy to turn it on without any additional physical hookups or hardware at a moment's notice.
- Paradroyd
@paradroyd on Twitter, @paradroyd@mastodon.sdf.org on Mastodon
BBond007
Captain Atari
Captain Atari
Posts: 466
Joined: Wed Feb 28, 2018 3:23 am

Re: C64 Core

Post by BBond007 »

@Paradroyd

What would be your suggestion for C64 terminal programs?
User avatar
Paradroyd
Captain Atari
Captain Atari
Posts: 300
Joined: Tue Sep 10, 2013 10:50 pm
Contact:

Re: C64 Core

Post by Paradroyd »

BBond007 wrote:@Paradroyd

What would be your suggestion for C64 terminal programs?
I Personally like Striketerm 2014, but I tend to stick with what I know/what works on things like this.

The hot new terminal that's got a really great reputation right now is CCGMS Ultimate. I keep meaning to give that one a try.
Last edited by Paradroyd on Fri Feb 08, 2019 12:55 am, edited 1 time in total.
- Paradroyd
@paradroyd on Twitter, @paradroyd@mastodon.sdf.org on Mastodon
yellperil
Atari freak
Atari freak
Posts: 51
Joined: Sun Jun 04, 2017 10:53 am

Re: C64 Core

Post by yellperil »

vanfanel wrote:
yellperil wrote:
vanfanel wrote:Does Wizball work for you guys in the latest version of the core? It seems to hang before the tittle screen. Game was working with older versions of the core. Could it be a regression? Or maybe the dual SID somehow confusing the game's code?
The last core that wizball worked on was : C64_20190128.rbf
So we have a regression after all... :cry:
Sorry . . . I tried it again tonight and I was wrong I can't get it to work on C64_20190128.rbf at all.

I went and deleted ALL the c64 cores off of my Mister and retried it all over again with just single cores.

It does actually work on C64_20190111.rbf . . . that's before the CIA changes.
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

Paradroyd wrote:The ultimate thing would to eventually have both options selectable in the F12 menu. At this point i'd be glad to have any of the above, but for my own selfish reasons, If I had to choose I'd prefer to be able to pipe it over tcp, just because it would be easy to turn it on without any additional physical hookups or hardware at a moment's notice.
In either case it is going to require that the CIA pins be emulated and connected either to external FPGA pins or re-directed to the MIDILINK thing. So, since most of work has to be done on the CIA side anyways, having both options at that point should be fairly simple.
I am the flux ninja
BBond007
Captain Atari
Captain Atari
Posts: 466
Joined: Wed Feb 28, 2018 3:23 am

Re: C64 Core

Post by BBond007 »

JimDrew wrote: In either case it is going to require that the CIA pins be emulated and connected either to external FPGA pins or re-directed to the MIDILINK thing. So, since most of work has to be done on the CIA side anyways, having both options at that point should be fairly simple.
If an external option is added, then it should probably be done at a level where it is available to all cores supporting serial UART (not just C64)

The possibility also exists to route the serial data from /dev/ttyS1 to a USB serial adapter using the HPS - just like a USB MIDI adapter currently works. That way people don't need a MAX232 (or whatever) for voltage conversion.

I am definitely way over my head with this HDL stuff, but fortunately ElectronAsh has helped get the ball rolling.

TX from the C64 core to the HPS is now working. It works at 300, 1200 and 2400. Unfortunately, no data is being echoed back to the C64 side.

https://youtu.be/Yw7PN0AZ7D8
duhproject
Atari freak
Atari freak
Posts: 56
Joined: Fri Jan 15, 2016 6:57 pm

Re: C64 Core

Post by duhproject »

BBond007 wrote:
TX from the C64 core to the HPS is now working. It works at 300, 1200 and 2400. Unfortunately, no data is being echoed back to the C64 side.

https://youtu.be/Yw7PN0AZ7D8
Very promising. I never use higher than 2400 baud on my real c64 anyhow. Really cool!
User avatar
Paradroyd
Captain Atari
Captain Atari
Posts: 300
Joined: Tue Sep 10, 2013 10:50 pm
Contact:

Re: C64 Core

Post by Paradroyd »

BBond007 wrote: I am definitely way over my head with this HDL stuff, but fortunately ElectronAsh has helped get the ball rolling.

TX from the C64 core to the HPS is now working. It works at 300, 1200 and 2400. Unfortunately, no data is being echoed back to the C64 side.

https://youtu.be/Yw7PN0AZ7D8
That is a promising start!

And I agree..for a C64, I seldom go above 2400 baud anyway. I don't do a lot of straight-up file transferring over serial. There are lots better ways to move files around these days, IMO.
- Paradroyd
@paradroyd on Twitter, @paradroyd@mastodon.sdf.org on Mastodon
JimDrew
Atari Super Hero
Atari Super Hero
Posts: 865
Joined: Mon Nov 04, 2013 5:23 pm

Re: C64 Core

Post by JimDrew »

BBond007 wrote:
JimDrew wrote: In either case it is going to require that the CIA pins be emulated and connected either to external FPGA pins or re-directed to the MIDILINK thing. So, since most of work has to be done on the CIA side anyways, having both options at that point should be fairly simple.
If an external option is added, then it should probably be done at a level where it is available to all cores supporting serial UART (not just C64)
I agree! It was be GREAT to have RX/TX/RTS/CTS available on 4 pins (like the USB-C connector) for serial support on all cores. The Amiga, Atari ST, etc. could then use REAL MIDI interfaces that were sold for those computers. The Amiga would also have serial available for a slew of devices as well, like tablets, lightpens, modems, etc. The C64 would have serial for real USER port devices that used the serial connection (modems, local networking, etc.) People want to be able to plug in real hardware into their emulation box (even if it requires a simple level shifter).
I am the flux ninja
BBond007
Captain Atari
Captain Atari
Posts: 466
Joined: Wed Feb 28, 2018 3:23 am

Re: C64 Core

Post by BBond007 »

The C64 core will soon be on-line thanks to ElectronAsh!

A few screenshots of it working:

:cheers:
You do not have the required permissions to view the files attached to this post.
vanfanel
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 129
Joined: Tue Oct 09, 2018 10:19 pm
Location: Salamanca, España

Re: C64 Core

Post by vanfanel »

Wizbal is working again on the latest build! Yay! :)

However, "Edge of Disgrace" is still glitching at min 4 :(
PhantombrainM
Captain Atari
Captain Atari
Posts: 187
Joined: Fri Mar 16, 2018 9:10 am

Re: C64 Core

Post by PhantombrainM »

Hello! I am frequently in the Forum64 and there we created a chart with C64 tests for the Ultimate 64, where we enter the results per firmware. Wouldn't it make sense to do something like this for the MISTer FPGA core as well? As an example we noticed there that there were problems with the illegal opcodes on the Ultimate 64. That was the reason why many demos or the new Donkey Kong 2016 didn't work. When Gideon added the illegal opcodes, it fixed a lot of bugs.

Here is an example of the U64 test table: https://www.c64-wiki.de/wiki/Ultimate_64/Testbericht

Is there already such a thing for the MISTer Core?
Otherwise I would go through all the tests. The tests take hours and it's a bit of work.
Would something like that be useful?
Two beer or not two beer? - Shakesbeer.
NML32
Atari Super Hero
Atari Super Hero
Posts: 691
Joined: Tue Mar 11, 2014 1:54 am
Location: USA/Florida

Re: C64 Core

Post by NML32 »

PhantombrainM wrote:Hello! I am frequently in the Forum64 and there we created a chart with C64 tests for the Ultimate 64, where we enter the results per firmware. Wouldn't it make sense to do something like this for the MISTer FPGA core as well? As an example we noticed there that there were problems with the illegal opcodes on the Ultimate 64. That was the reason why many demos or the new Donkey Kong 2016 didn't work. When Gideon added the illegal opcodes, it fixed a lot of bugs.

Here is an example of the U64 test table: https://www.c64-wiki.de/wiki/Ultimate_64/Testbericht

Is there already such a thing for the MISTer Core?
Otherwise I would go through all the tests. The tests take hours and it's a bit of work.
Would something like that be useful?
I created this a while ago.

https://docs.google.com/spreadsheets/d/ ... kEYJ-uyr58
slingshot
Atari God
Atari God
Posts: 1873
Joined: Mon Aug 06, 2018 3:05 pm

Re: C64 Core

Post by slingshot »

PhantombrainM wrote:
Here is an example of the U64 test table: https://www.c64-wiki.de/wiki/Ultimate_64/Testbericht

Is there already such a thing for the MISTer Core?
Otherwise I would go through all the tests. The tests take hours and it's a bit of work.
Would something like that be useful?
Of course it would be useful with the tests in VICE.
PhantombrainM
Captain Atari
Captain Atari
Posts: 187
Joined: Fri Mar 16, 2018 9:10 am

Re: C64 Core

Post by PhantombrainM »

slingshot wrote:
PhantombrainM wrote:
Here is an example of the U64 test table: https://www.c64-wiki.de/wiki/Ultimate_64/Testbericht

Is there already such a thing for the MISTer Core?
Otherwise I would go through all the tests. The tests take hours and it's a bit of work.
Would something like that be useful?
Of course it would be useful with the tests in VICE.
Okay, i began to start. It will take some time to complete all the tests:

https://docs.google.com/spreadsheets/d/ ... sp=sharing
Two beer or not two beer? - Shakesbeer.
slingshot
Atari God
Atari God
Posts: 1873
Joined: Mon Aug 06, 2018 3:05 pm

Re: C64 Core

Post by slingshot »

Thanks! It's a good start.
User avatar
Paradroyd
Captain Atari
Captain Atari
Posts: 300
Joined: Tue Sep 10, 2013 10:50 pm
Contact:

Re: C64 Core

Post by Paradroyd »

BBond007 wrote:The C64 core will soon be on-line thanks to ElectronAsh!

A few screenshots of it working:

:cheers:
That's great news!
- Paradroyd
@paradroyd on Twitter, @paradroyd@mastodon.sdf.org on Mastodon
Locked

Return to “MiSTer”