Jump to content
DrVenkman

.cas File Support for FujiNet

Recommended Posts

Is this still happening? As far as I am concerned, this is the only glaring omission left in FujiNet's feature set to make it a true "one stop shop" for external file loading purposes. As it is, I have to keep my SDrive-MAX + PSU handy in case I get struck by the urge to play EASTERN FRONT or SCRAM in their original formats. :) 

Share this post


Link to post
Share on other sites

Yes, the core tape code is stable, we still need to wire it into the device slot machinery and make config support it (this is becoming something of a challenge as config is getting much much much too big)

 

For now, you can take a tape image, copy it to test.cas on the SD card, and it will mount when the fujinet comes online.

 

If you have a 10K resistor on the motor line, then select the Activate by pulldown in the program recorder box in the web admin, otherwise, select Activate by Button B to "press play"

 

-Thom

  • Like 2

Share this post


Link to post
Share on other sites

This is the original 16K APX cassette release, just like I had for my 400 back in the day. I have it running on my prototype 576 NUC+ board.
 

Thanks, FujiNet team! :) 

 

 

693ED412-2912-4B21-B773-E0527C56553A.jpeg

1197437C-B8ED-4A85-8C3F-66E3C2BA669E.jpeg

  • Like 3

Share this post


Link to post
Share on other sites

Thanks to the development team!. I was able to use cassette emulation with several .cas tape backups. There are several available (including some exotic ones) at fujinet.us.to  

 

Share this post


Link to post
Share on other sites
On 12/14/2020 at 5:46 PM, DrVenkman said:

This is the original 16K APX cassette release, just like I had for my 400 back in the day. I have it running on my prototype 576 NUC+ board.
 

Thanks, FujiNet team! :) 

 

 

693ED412-2912-4B21-B773-E0527C56553A.jpeg

1197437C-B8ED-4A85-8C3F-66E3C2BA669E.jpeg

Perspective nightmare hurts my brain. As far as fujinet, I’ll have to wait for a couple revisions due to Luddism when it comes to firmware manipulation. 

Share this post


Link to post
Share on other sites
4 hours ago, Swami said:

Perspective nightmare hurts my brain. As far as fujinet, I’ll have to wait for a couple revisions due to Luddism when it comes to firmware manipulation. 

Just download the firmware flasher from fujinet.online.

Plug in the fujinet to a USB port on your computer.

run the flasher

select the COM port for your FujiNet.

Press Flash.

 

You can't brick it.

 

-Thom

 

Share this post


Link to post
Share on other sites
On 12/7/2020 at 5:43 PM, tschak909 said:

For now, you can take a tape image, copy it to test.cas on the SD card, and it will mount when the fujinet comes online.

I did that... On my PC, I copied AstroBlast.cas after renaming it test.cas to the root directory of my SD card. Then I rebooted FujiNet with the SD card inserted. Normal config screen loaded, and that was it. SD card directory accessible when pressing return, and I can see test.cas.

 

On 12/7/2020 at 5:43 PM, tschak909 said:

If you have a 10K resistor on the motor line, then select the Activate by pulldown in the program recorder box in the web admin, otherwise, select Activate by Button B to "press play"

I tried both settings... still no attempt to load cassette file that I can perceive, and pressing 'Button B' didn't do anything after config appeared.

 

So I must be either doing something wrong, or there's something not right with my FujiNet implementation (not trying anything tricky, still have the SIO Motor Control line going to the VP input of the ESP with a pull-down resistor).

 

Any suggestions?

 

Share this post


Link to post
Share on other sites
6 minutes ago, mytek said:

I did that... On my PC, I copied AstroBlast.cas after renaming it test.cas to the root directory of my SD card. Then I rebooted FujiNet with the SD card inserted. Normal config screen loaded, and that was it. SD card directory accessible when pressing return, and I can see test.cas.

 

I tried both settings... still no attempt to load cassette file that I can perceive, and pressing 'Button B' didn't do anything after config appeared.

 

So I must be either doing something wrong, or there's something not right with my FujiNet implementation (not trying anything tricky, still have the SIO Motor Control line going to the VP input of the ESP with a pull-down resistor).

 

Any suggestions?

 

Ok, so since this message was posted, we actually implemented cassette support into CONFIG. :)

 

To use it: Select a CAS image from the DISK IMAGES screen. It will automatically mount it into slot 8 (which becomes the cassette slot), and when you tap option, immediately followed by START, it will cold start. :)

 

-Thom

 

Share this post


Link to post
Share on other sites
Posted (edited)
9 minutes ago, mytek said:

So I must be either doing something wrong

It's much easier now. In config, just try to mount a .cas file which will automagically put it in slot 8. then hold OPTION and START to load it.

 

 

dang, Thom beat me to it :P 

Edited by mozzwald
slow me

Share this post


Link to post
Share on other sites
2 minutes ago, mozzwald said:

then hold OPTION and START to load it.

If Michael is using his board in conjunction with the 576NUC+ and its XEGS-based OS, it might be bit trickier, depending on which OS slot is being used. I typically press OPTION in CONFIG to mount the .CAS image and boot; then before the Atari has started up, press START. The cassette loading tone will sound. At that point it is sometimes necessary to press and hold OPTION + SELECT to boot a cassette image properly.

Share this post


Link to post
Share on other sites

Could a FujiNet device potentially transcode a cas image by snooping on the audio from a tape loading from an attached 410/1010?

Share this post


Link to post
Share on other sites
24 minutes ago, Wrathchild said:

Could a FujiNet device potentially transcode a cas image by snooping on the audio from a tape loading from an attached 410/1010?

wondering how that could work...

-Thom

 

Share this post


Link to post
Share on other sites
Posted (edited)

But there are 14 drive slots A-O

well that and of course D0: which is different and normally D1: or DA:

sigh...

so 7 drives and a cassette?

I get so lost trying to follow along...

I need a check list of what is 100%

what is incomplete,

what is broken,

what is not implemented,

and what is planned,

or what will not be considered...

 

a desiderata if you will

Edited by _The Doctor__

Share this post


Link to post
Share on other sites
Posted (edited)
27 minutes ago, tschak909 said:

wondering how that could work...

Forgive me, its late here and I should really go to bed :D 

I was thinking that 
perhaps a process that can be instigated, monitored and stopped from a web page, but if instigated from the A8 side then would perhaps need a button press to stop after success/error.

But of course the cassette unit is already turning it into a data steam from just one of the stereo channels and so my thinking of using the a82cas/wav2cas libraries to encode on the fly just became the realisation that its just a non-starter.

 

Its easy enough to just take the tape and record it anyway.

Edited by Wrathchild

Share this post


Link to post
Share on other sites
15 minutes ago, _The Doctor__ said:

But there are 14 drive slots A-O

well that and of course D0: which is different and normally D1: or DA:

sigh...

so 7 drives and a cassette?

I get so lost trying to follow along...

I need a check list of what is 100%

what is incomplete,

what is broken,

what is not implemented,

and what is planned,

or what will not be considered...

 

a desiderata if you will

FujiNet currently implements drive devices $31 to $38, giving 8 drive slots. If we need more, we can expand it.

 

If a CAS file is selected, then it is inserted into the system as slot 8, which gets reconfigured as the cassette. We did this so that we could integrate it cleanly into the system without needing to add an additional data structure.

 

-Thom

 

Share this post


Link to post
Share on other sites
1 hour ago, tschak909 said:

Ok, so since this message was posted, we actually implemented cassette support into CONFIG. :)

 

To use it: Select a CAS image from the DISK IMAGES screen. It will automatically mount it into slot 8 (which becomes the cassette slot), and when you tap option, immediately followed by START, it will cold start. :)

 

1 hour ago, mozzwald said:

It's much easier now. In config, just try to mount a .cas file which will automagically put it in slot 8. then hold OPTION and START to load it.

dang, Thom beat me to it :P 

Thanks guys, that did the trick 👍 :)

 

58 minutes ago, DrVenkman said:

If Michael is using his board in conjunction with the 576NUC+ and its XEGS-based OS, it might be bit trickier, depending on which OS slot is being used. I typically press OPTION in CONFIG to mount the .CAS image and boot; then before the Atari has started up, press START. The cassette loading tone will sound. At that point it is sometimes necessary to press and hold OPTION + SELECT to boot a cassette image properly.

Yes I am testing this on a 576NUC+, but this is how I was able to get it to work...

  1. Selected a cas file (O'Riley's Mine) from FujiNet.online via config, pressed ENTER, and it was placed in disk drive 8 (ESC back to menu to confirm).
  2. Pressed OPTION (held it) then pressed Start (held it) until the system rebooted with a BEEP (or buzz?), then I released both Start and Option.
  3. Then one more momentary press of the START key... RED (ORANGE) LED lit up, and then just a tiny bit later the loading tones commenced.
  4. Quite awhile later the game was up and running.

If you need BASIC enabled, then only momentarily press the OPTION key before pressing and holding START.

 

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

Tossing this in here since it's directly related to how #FujiNet handles cassettes.  This happens when loading the attached .cas image from the remote tnfs server (fujinet.us.to), local network, or SD card, so the .cas image in question likely contains a bad capture.

 

I've found a corner case where the game's loader counts down the number of blocks to load, hits an error, and then asks the user to rewind the tape three revolutions and press START.  This happens fairly early on in the loading process.

 

Since there's no good way to rewind the .cas image, all you can do is press start.  This just results in the error message remaining on the screen - as expected - since there's no way to retry loading. 

 

Like I say, this is clearly a corner case and I do not expect it to be even remotely near a high-priority item to implement.  But I am mentioning it because there's at least one use case for being able to have a virtual rewind (and, conversely, fast forward) function.

Koala-prisma.CAS

Edited by x=usr(1536)
Clarity.
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)
On 4/2/2021 at 12:19 AM, x=usr(1536) said:

  But I am mentioning it because there's at least one use case for being able to have a virtual rewind (and, conversely, fast forward) function.

I agree. It should be a cool feature to have. The "rewind and retry" cassettes were starting to became popular in Chile by the end of 80s or maybe a bit after that. Turbosoft and NHP are a couple of cassette loaders that implemented that feature.

Since I have some time now I will try me luck at implementing this.

Edit:

fujinet.us.to is my tnfs, and I haven't tried all the .CAS there. Maybe that particular one (Koala) is corrupt. I will try it with AVG and with cas2audio Android app.

Edited by manterola
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
16 minutes ago, manterola said:

fujinet.us.to is my tnfs, and I haven't tried all the .CAS there. Maybe that particular one (Koala) is corrupt. I will try it with AVG and with cas2audio Android app.

Ah, cool.  Didn't realise that one is your server.

 

FWIW, it may be worth deliberately corrupting a few known-good .cas images with different bootloaders just to see how the bootloaders react to bad data.  I wouldn't expect all of them to necessarily catch the error, but if they have that capability it would be a good way to find out.

Share this post


Link to post
Share on other sites
Posted (edited)

Yesterday I made some changes to cassette sources:

- The rewind function now can get an argument to the (approx.) number of blocks to rewind:

             rewind()     rewinds to the begginning : offset=0

             rewind(10)  rewinds 10 blocks (approx)

-I made the buffer larger. previously is was 256 bytes long, now it is 512, not sure if it is really making a difference...  I did it because many .CAS files sends block slightly larger than the buffer, so the block got partitioned.

-The baud rate now it set back to the latest baud rate used when the motor signal is OFF and ON again.

- The button B rewind 4 blocks each short press, ONLY if you have the pulldown resistor in your Fujinet. It probably need some other implementation for rewinding... maybe in the web interface, or using other button combo. I am totally open to implement the rewind using other means.

I have not submitted the pull request yet, I am not sure if you guys prefer to have the discussion here in the forum, or thru discord, before the pull request, or using github after the pull request has been issued. Anyway, I would like to have some feedback.

 

 

Edited by manterola
  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
3 hours ago, manterola said:

Yesterday I made some changes to cassette sources:

- The rewind function now can get an argument to the (approx.) number of blocks to rewind:

             rewind()     rewinds to the begginning : offset=0

             rewind(10)  rewinds 10 blocks (approx)

Thank you for this.  It's a piece of functionality I'm glad to see.

Quote

-I made the buffer larger. previously is was 256 bytes long, now it is 512, not sure if it is really making a difference...  I did it because many .CAS files sends block slightly larger than the buffer, so the block got partitioned.

One thing I've noticed is that cassette loading over the internet can be touchy depending on latency between endpoints.  This may help with that somewhat, although it's usually feasible to just copy the cassette image locally and reliably load it from there.

Quote

-The baud rate now it set back to the latest baud rate used when the motor signal is OFF and ON again.

- The button B rewind 4 blocks each short press, ONLY if you have the pulldown resistor in your Fujinet. It probably need some other implementation for rewinding... maybe in the web interface, or using other button combo. I am totally open to implement the rewind using other means.

Having it accessible from the web interface makes sense, but I'd suggest it as a supplement to Button B.  Having it in the UI also opens up the possibility of a fast-forward function as well.

 

One thing that would be useful to implement along with it if at all possible: a tape counter running relative to the start of the cassette image.  This would help with situations like working with cassette dumps where multiple programs are stored on a single side of a tape, or tracking down damaged or badly-read blocks.

 

Edited by x=usr(1536)

Share this post


Link to post
Share on other sites
On 3/19/2021 at 9:03 PM, mytek said:

 

Thanks guys, that did the trick 👍 :)

 

Yes I am testing this on a 576NUC+, but this is how I was able to get it to work...

  1. Selected a cas file (O'Riley's Mine) from FujiNet.online via config, pressed ENTER, and it was placed in disk drive 8 (ESC back to menu to confirm).
  2. Pressed OPTION (held it) then pressed Start (held it) until the system rebooted with a BEEP (or buzz?), then I released both Start and Option.
  3. Then one more momentary press of the START key... RED (ORANGE) LED lit up, and then just a tiny bit later the loading tones commenced.
  4. Quite awhile later the game was up and running.

If you need BASIC enabled, then only momentarily press the OPTION key before pressing and holding START.

 

On an Atari 600XL I get through step 2 OK, but then the machine just hangs.  Pressing start as indicated in step 3 appears to have no effect.  No indication of any loading or anything going on.  White light only.  Thoughts?

Share this post


Link to post
Share on other sites
Posted (edited)
55 minutes ago, nadir said:

On an Atari 600XL I get through step 2 OK, but then the machine just hangs.  Pressing start as indicated in step 3 appears to have no effect.  No indication of any loading or anything going on.  White light only.  Thoughts?

Try substituting any key on the keyboard for the Start button in Step 3.  My recommendation would be to begin with either the space bar or Return key.

 

Bear in mind that if O'Riley's mine has a long leader, it's possible that you won't hear cassette tones for anywhere up to 60 seconds before it starts to load depending on how the cassette image was captured.

 

Also, one thing I've noticed is that cassette loading can be touchy across the Internet.  This isn't a FujiNet problem, but rather that the A8 is timing-sensitive to network disruptions when loading cassette images.  If you get past Step 3 using the keyboard and still can't get it to load, copy it to the SD card in the FujiNet and try again.  That usually takes care of it for me.

Edited by x=usr(1536)
  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, nadir said:

On an Atari 600XL I get through step 2 OK, but then the machine just hangs.  Pressing start as indicated in step 3 appears to have no effect.  No indication of any loading or anything going on.  White light only.  Thoughts?

Which version FujiNet device do you have, and what option do you have selected in the web utility for the device to begin send tape data? 

 

image.thumb.png.350dd96069eaa03ec0d8ae0ff4e82536.png

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, DrVenkman said:

Which version FujiNet device do you have, and what option do you have selected in the web utility for the device to begin send tape data? 

 

image.thumb.png.350dd96069eaa03ec0d8ae0ff4e82536.png

FujiNet 1.5 and aha...  I didn't realize there was a webpage on board the device. It's set to B Button Press.  I had printed out the guide (which must be out of date?), but it lists Button B as just being for print debug info, safe reset, and reset config!  If I try Button B, I actually do get the orange light now.  Solid for a bit, then starts cycling on/off slowly.  Eventually it quits doing that and I end up frozen on the blue screen with a cursor, but at least it looks like it's trying to do something at the beginning now...

 

I see there is an HSIO index thing in that web config too.  Do I need to try experimenting with that as well?  It's showing "6: 67Kb" currently.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...