MIST C64 core

https://github.com/mist-devel/mist-board/wiki

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

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Sun Apr 14, 2019 3:24 pm

Darfpga wrote:
Just thinking of :

Code: Select all

c1530 : entity work.c1530
   port map(
      ...
      play => not cass_motor and not tap_reset and tap_play,
      ...
   );

But maybe I'am wrong since I don't know precisely what is done at host level.


This would be against the motor control: playback should pause when the loader stops the motor (tap_play is still active during that time).
Upd.: sorry, wrong, I missed the 'and'. But I've checked the 1530 schematics, and the buttons are not connected to the motor at all: it's always started by the CPU. So it can decide to start the tape even if the tap_play is not active.

Darfpga
Atari freak
Atari freak
Posts: 68
Joined: Thu Feb 02, 2017 10:07 pm

Re: MIST C64 core

Postby Darfpga » Sun Apr 14, 2019 3:44 pm

slingshot wrote:But I've checked the 1530 schematics, and the buttons are not connected to the motor at all: it's always started by the CPU. So it can decide to start the tape even if the tap_play is not active.


For sure you are right but it is more sure that the tape is not advancing and that there is no (useful) signal to C64 when the play button of the cassette deck is not pressed. This is not in the electronic schematics, this is in the mechanical design :wink:

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Sun Apr 14, 2019 7:42 pm

Darfpga wrote:
slingshot wrote:But I've checked the 1530 schematics, and the buttons are not connected to the motor at all: it's always started by the CPU. So it can decide to start the tape even if the tap_play is not active.


For sure you are right but it is more sure that the tape is not advancing and that there is no (useful) signal to C64 when the play button of the cassette deck is not pressed. This is not in the electronic schematics, this is in the mechanical design :wink:


I'm also sure there's no signal TO the C64, but is it mechanically separates the motor, too? I don't see any switches.
I don't have a Datasette at home, but if you say so, I believe. I can try the mod you recommended, just I already spent much more time on it what I wanted originally :)

Upd.: I've added this, works well so far. Also added tap_play to the activity LED, too. Thanks for the suggestion!

Lroby74
Atari maniac
Atari maniac
Posts: 94
Joined: Sun Sep 04, 2016 8:35 pm

Re: MIST C64 core

Postby Lroby74 » Mon Apr 15, 2019 6:26 am

slingshot wrote:Upd.: I've added this, works well so far. Also added tap_play to the activity LED, too. Thanks for the suggestion!


Sorry, i am lost, there is a new .RBF file with this function more?

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Mon Apr 15, 2019 7:55 am

No, it's not a big change. It'll be in the next release.

Darfpga
Atari freak
Atari freak
Posts: 68
Joined: Thu Feb 02, 2017 10:07 pm

Re: MIST C64 core

Postby Darfpga » Mon Apr 15, 2019 7:40 pm

slingshot wrote: ... but is it mechanically separates the motor, too? I don't see any switches.
I don't have a Datasette at home, but if you say so, I believe.


Yes, when no button are pressed on tape deck the tape doesn't move even if motor is actually rotating. It can be observed when the play button is released while loading is in progress, then the tape stops but you can ear the motor is still rotating. The motor will then stop rotating if you press run/stop on the keyboard.

slingshot wrote: I can try the mod you recommended, ... I've added this, works well so far. Also added tap_play to the activity LED, too. Thanks for the suggestion!


Thank you again, I think it's better this way.

Julitium
Atarian
Atarian
Posts: 5
Joined: Sun Apr 30, 2017 2:27 pm

Re: MIST C64 core

Postby Julitium » Mon Apr 15, 2019 10:37 pm

Hi slingshot.

I am grateful to see what I thought my eyes would not see ... the core C64 loading tapes.

Billion Thanks !!!

P.D: From Old Post
viewtopic.php?f=115&t=31531&start=25

Electronically Tape Port:

READ pin is connected to pin | FLAG (note 1) of CIA 1 (DC00 to DCFF) (Input).

WRITE pin is connected to pin P3 (of CPU) (output) (need to implement?).

CASS MOTOR is connected to pin P5 (of CPU) and is used to start / stop / continue the .Tap decoder (output).

CASS SENSE is connected to pin P4 (of CPU) and is used to detect any key pressed on tape deck (it must be ever active (low?) On TAP decoder)

+ 5V not used on Implemented system

GND not used on implemented system

Hope this information is helpful.

Currently the implementation of tape is very accurate, I think it should not be modified much, it's great.
Maybe play from direct keyboard key. Nothing more.

Congratulations for your great contribution.

Julitium
Atarian
Atarian
Posts: 5
Joined: Sun Apr 30, 2017 2:27 pm

Re: MIST C64 core

Postby Julitium » Mon Apr 15, 2019 10:51 pm

slingshot wrote:
Darfpga wrote:
slingshot wrote:But I've checked the 1530 schematics, and the buttons are not connected to the motor at all: it's always started by the CPU. So it can decide to start the tape even if the tap_play is not active.


For sure you are right but it is more sure that the tape is not advancing and that there is no (useful) signal to C64 when the play button of the cassette deck is not pressed. This is not in the electronic schematics, this is in the mechanical design :wink:


I'm also sure there's no signal TO the C64, but is it mechanically separates the motor, too? I don't see any switches.
I don't have a Datasette at home, but if you say so, I believe. I can try the mod you recommended, just I already spent much more time on it what I wanted originally :)

Upd.: I've added this, works well so far. Also added tap_play to the activity LED, too. Thanks for the suggestion!


Hi slingshot.

BILLION THANKS FOR TAPE IMPLEMENTATION!!!

P.D:

Electronically Tape Port:

read pin is connected to pin |FLAG (note 1) of CIA 1 (DC00 to DCFF) (Input).

write pin is connected to pin P3 (of CPU) (output) (need for implement?).

CASS motor is connected to pin P5 (of CPU) and is used to start/stop/continue the .Tap decoder (output).

CASS sense is connected to pin P4 (of CPU) and is used to detect any key pressed on tape deck (it must be ever active(low?) on TAP decoder)

+5V not used on Implemented system

GND not used on implemented system

Currently the implementation of tape is very accurate, I think it should not be modified much, it's great.
Maybe play from direct keyboard key. Nothing more.

Congratulations for your great contribution.

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Tue Apr 16, 2019 9:36 am

Julitium wrote:
read pin is connected to pin |FLAG (note 1) of CIA 1 (DC00 to DCFF) (Input).
write pin is connected to pin P3 (of CPU) (output) (need for implement?).
CASS motor is connected to pin P5 (of CPU) and is used to start/stop/continue the .Tap decoder (output).
CASS sense is connected to pin P4 (of CPU) and is used to detect any key pressed on tape deck (it must be ever active(low?) on TAP decoder)


These are of course all implemented - inside the FPGA (except the write pin - it's goes nowhere). Just there are not enough pins to the outside world for all to have a complete real datasette connection.
Hotkeys would be good. Just all F-keys are already taken :)

Lroby74
Atari maniac
Atari maniac
Posts: 94
Joined: Sun Sep 04, 2016 8:35 pm

Re: MIST C64 core

Postby Lroby74 » Tue Apr 16, 2019 2:15 pm

slingshot wrote:These are of course all implemented - inside the FPGA (except the write pin - it's goes nowhere). Just there are not enough pins to the outside world for all to have a complete real datasette connection.
Hotkeys would be good. Just all F-keys are already taken :)


Is possible to use keypad numbers for Datasette commands? or upper keys like "/", "*" , "-" (always on keypad) for Play, Stop and Rewind?

nippur72
Atarian
Atarian
Posts: 8
Joined: Sat Mar 23, 2019 3:32 pm

Re: MIST C64 core

Postby nippur72 » Tue Apr 16, 2019 10:09 pm

I implemented loading and saving from/to a real tape on the C64 core, thanks to the latest modifications :)

Save is done via left audio channel ("MIC" on the Mistica) and requires "Tape sounds: On" from the OSD menu. The REC button is activated from from OSD "Play/Stop TAP".

Load is done via UART_RX ("EAR" on the Mistica) and features a self-pressing PLAY button. When a tape signal is detected on the UART_RX pin, PLAY button is automatically pressed. When there is no tape activity for 5 seconds, STOP is self-pressed. The only downside (for now) is that you have to press the C= key to avoid the pausing at "FOUND".

EAR and .TAP files are exclusive (.TAP is paused if EAR input is coming).

I think I have also fixed the bug relative to the play/stop button. A pull request will follow soon.

(video is in italian, but there are ENG subs)


User avatar
DrOG
Atari Super Hero
Atari Super Hero
Posts: 565
Joined: Sun Jul 31, 2016 8:23 pm
Location: Gyula, Hungary

Re: MIST C64 core

Postby DrOG » Wed Apr 17, 2019 5:27 am

WOW!!!
This is awesome! :cheers:

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Wed Apr 17, 2019 8:08 am

Good! What made loading errors disappear?

Lroby74
Atari maniac
Atari maniac
Posts: 94
Joined: Sun Sep 04, 2016 8:35 pm

Re: MIST C64 core

Postby Lroby74 » Wed Apr 17, 2019 9:15 am

Julitium wrote:Hi slingshot.

I am grateful to see what I thought my eyes would not see ... the core C64 loading tapes.

Billion Thanks !!!
Congratulations for your great contribution.


The contribution is not only his but a group of people who have a great passion in common and who work together to improve things, improvements that then everyone can but benefit.
Slingshot has implemented the TAP code inside the C64 core that created Darfpga, which in turn created the code behind my prayers, Antonino Porcino is continuing to improve the same core both by fixing a bug in the TAP management and with the implementation of the Mistica EAR & MIC jacks, but even here, Antonino discovered the Mistica thanks to an article published in a free online magazine, an article created by me to introduce this world to a wider audience.
And then there are the end users who simply use the cores and report any bugs that may come out, they deserve to be appreciated too

nippur72
Atarian
Atarian
Posts: 8
Joined: Sat Mar 23, 2019 3:32 pm

Re: MIST C64 core

Postby nippur72 » Wed Apr 17, 2019 9:21 am

slingshot wrote:Good! What made loading errors disappear?

I'm not sure, but I started to suspect the problem is in 'wav-prg', the tool I used for creating the WAV files out of .TAP/.PRG.

Julitium
Atarian
Atarian
Posts: 5
Joined: Sun Apr 30, 2017 2:27 pm

Re: MIST C64 core

Postby Julitium » Fri Apr 19, 2019 11:51 am

Lroby74 wrote:
Julitium wrote:Hi slingshot.

I am grateful to see what I thought my eyes would not see ... the core C64 loading tapes.

Billion Thanks !!!
Congratulations for your great contribution.


The contribution is not only his but a group of people who have a great passion in common and who work together to improve things, improvements that then everyone can but benefit.
Slingshot has implemented the TAP code inside the C64 core that created Darfpga, which in turn created the code behind my prayers, Antonino Porcino is continuing to improve the same core both by fixing a bug in the TAP management and with the implementation of the Mistica EAR & MIC jacks, but even here, Antonino discovered the Mistica thanks to an article published in a free online magazine, an article created by me to introduce this world to a wider audience.
And then there are the end users who simply use the cores and report any bugs that may come out, they deserve to be appreciated too


Hi Lroby74,

I'm sorry for the misunderstanding .... BILLION THANKS TO ALL OF YOU.
Thanks to your work you have managed to make me happy with MiST.
THANKS TO EVERYONE!!
P.D: The core is currently great.

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Fri Apr 19, 2019 3:48 pm

nippur72 wrote:
slingshot wrote:Good! What made loading errors disappear?

I'm not sure, but I started to suspect the problem is in 'wav-prg', the tool I used for creating the WAV files out of .TAP/.PRG.


Btw, wanna port TAP playing to VIC20/C16?

DanyPPC
Atari Super Hero
Atari Super Hero
Posts: 653
Joined: Tue Feb 21, 2017 7:02 am

Re: MIST C64 core

Postby DanyPPC » Fri Apr 19, 2019 6:25 pm

On the latest core supporting tap/wav 2nd button doesn't work anymore ! :(

slingshot
Atari Super Hero
Atari Super Hero
Posts: 766
Joined: Mon Aug 06, 2018 3:05 pm

Re: MIST C64 core

Postby slingshot » Fri Apr 19, 2019 11:14 pm

DanyPPC wrote:On the latest core supporting tap/wav 2nd button doesn't work anymore ! :(


In which game? Second button was never connected, since the C64 joy port only has one button input (on pin 6).
Two buttons are only available in GS games, it works in Robocop 2 for me (fire and jump).

DanyPPC
Atari Super Hero
Atari Super Hero
Posts: 653
Joined: Tue Feb 21, 2017 7:02 am

Re: MIST C64 core

Postby DanyPPC » Sat Apr 20, 2019 6:33 am

On Chase HQ 2 and new Super Mario Bros 64.

2nd button works only on core fpga64_c1541_190207.

DanyPPC
Atari Super Hero
Atari Super Hero
Posts: 653
Joined: Tue Feb 21, 2017 7:02 am

Re: MIST C64 core

Postby DanyPPC » Sat Apr 20, 2019 6:36 am

Any chance to have a "Turbo" mode on this core like on Turbo Chameleon 64 ?
New Super Mario Bros 64 works better in this mode and on a C128 2Mhz mode (no slowdowns).


Return to “MiST”

Who is online

Users browsing this forum: No registered users and 1 guest