Jump to content
IGNORED

Movie Cart


rbairos

Recommended Posts

Just for fun, here's the encoding in April vs the current recent optimizations:
(There's no flicker added to this emulation though, unlike in a real atari)

Differences best observed if you set the youtube playback speed to something slower than 1.0, like 0.5

All told, the current encoder with all the options turned on, runs about 1/3 real time. not bad.
 

 

Edited by rbairos
  • Like 4
Link to comment
Share on other sites

42 minutes ago, rbairos said:

Just for fun, here's the encoding in April vs the current recent optimizations:
(There's no flicker added to this emulation though, unlike in a real atari)

Wow, you can read the date on the newspaper now @ 0:52! This is even better in motion than the stills you posted before, incredible!

 

- James

Link to comment
Share on other sites

3 hours ago, ZeroPage Homebrew said:

Wow, you can read the date on the newspaper now @ 0:52! This is even better in motion than the stills you posted before, incredible!

 

- James

Also look at the difference overall in that sequence... lovely diagonals, much more "natural" looking too

 

1849551177_ScreenShot2021-10-15at6_55_20pm.thumb.png.fe06693f7447de40300eec3b14cd1b9d.png

 

  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...

Hey Everyone.
I'll be doing a live broadcast through work, covering some of my art projects over the years, including covering the MovieCart encoding process in more detail if anyone's interested:
Apologies in advance if I flub some of the 2600 specs:

Friday November 5th 4:00pm EST

https://derivative.ca/event/touchdesigner-insession-160/65407



 

  • Like 3
Link to comment
Share on other sites

35 minutes ago, rbairos said:

Hey Everyone.
I'll be doing a live broadcast through work, covering some of my art projects over the years, including covering the MovieCart encoding process in more detail if anyone's interested:
Apologies in advance if I flub some of the 2600 specs:

Friday November 5th 4:00pm EST

https://derivative.ca/event/touchdesigner-insession-160/65407

 

Tuning in for the Donkey Kong zoetropes. That sounds like fun.

Link to comment
Share on other sites

  • 1 month later...

Thanks for the awesome project!  I built up a card, and it works with the examples from the github files.

 

A couple questions:

 

I'm trying to encode my own video so I installed Touch Designer, and opened colorize.toe

I can then enter an input file in the file selector, but how do I get it to start encoding? If I hit <esc> and go into the big network page I can hit space to start the workflow but I can't see a way to save.

Also what are format0 and format1? I assume two codecs since it appears you have to burn one of them to the PIC, but I don't see how to select them in Touch Designer, and don't know their differences.

 

Sorry if it's apparent.  I've been working the general Touch Designer tutorial and haven't got it figured out yet.

 

 

Link to comment
Share on other sites

5 hours ago, cbelcher said:

Thanks for the awesome project!  I built up a card, and it works with the examples from the github files.

 

A couple questions:

 

I'm trying to encode my own video so I installed Touch Designer, and opened colorize.toe

I can then enter an input file in the file selector, but how do I get it to start encoding? If I hit <esc> and go into the big network page I can hit space to start the workflow but I can't see a way to save.

Also what are format0 and format1? I assume two codecs since it appears you have to burn one of them to the PIC, but I don't see how to select them in Touch Designer, and don't know their differences.

 

Sorry if it's apparent.  I've been working the general Touch Designer tutorial and haven't got it figured out yet.

 

 

 

Good effort!

Hit the button A (RESET) then button B (START)

 

1545384238_ScreenShot2021-12-29at3_32_23pm.thumb.png.24d4a2853e3879e35f9b36d583bac5cb.png

 

 

  • Like 1
Link to comment
Share on other sites

5 hours ago, cbelcher said:

Thanks for the awesome project!  I built up a card, and it works with the examples from the github files.

 

A couple questions:

 

I'm trying to encode my own video so I installed Touch Designer, and opened colorize.toe

I can then enter an input file in the file selector, but how do I get it to start encoding? If I hit <esc> and go into the big network page I can hit space to start the workflow but I can't see a way to save.

Also what are format0 and format1? I assume two codecs since it appears you have to burn one of them to the PIC, but I don't see how to select them in Touch Designer, and don't know their differences.

 

Sorry if it's apparent.  I've been working the general Touch Designer tutorial and haven't got it figured out yet.

 

 


Wow, I put the hardware files out there, but am so surprised when someone actually goes through all the early pitfalls and builds one.
Amazing.

How was the experience??
Were you able to source the two ICs easily?  The dual-port RAM is end-of-life status now I believe (and pricey)
You're on a PC and were able to compile and run utils/block_writer.exe okay?

For colorize.toe, to start encoding, press thie "Start (Continue)" button on the Settings page as Andrew points out.
I should probably rename that.

Unfortunately though, the pic firmware only supports format0 and the colorize encoder just outputs the new format.
It's on my todo to update the pic to run format1, (which looks waaay better). Won't be too hard, just got lazy and figured

nobody was actually interested in building the original hardware.

In the meantime, I started on version 2 of the hardware. It's slow going as I tend to bounce around between different distractions.
The main goals of version 2 are: 
a) one chip instead of 2. (eliminating the dual port ram entirely).
b) avoiding the need for block_writer and instead directly support fat32 format.  (currently the sd-card becomes unreadable to a host pc after each write. Requires re-formatting).
c) small pcb size to be a drop-in replacement in an unmodified combat shell for example.
 

Getting it all to run on a dspic33ev (70 mips) is challenging, without the use of the dual-port ram.
In simulation, I'm able to run the kernel fast enough, on interrupt routines, just need to work on shoehorning in the spi sdcard part.

Cheers.
 

  • Like 1
Link to comment
Share on other sites

Yes, with a little effort I did find the two chips - from Microchip themselves and the dual port RAM from Digikey. Stock levels were very low.

 

I've been stumbling around trying to figure out the process and did not compile anything on Windows.

I used the format1.hex from output/pic to flash to the pic and it does seem to play some of the examples in output/colorizer/format1 (for now it sounds like I should be using the format0?)

I definitely get the MovieCart welcome screen and can use the joystick control.

I just copied the .mvc files to the SD card and they seem to be there sequentially when playing.

Did not know block_writer was a thing....  Sounds like it writes the mvc to the SD card.  And I don't have the Windows skills if it's a tough compile - may need move over and try Linux.  

Downloaded Touch Designer and was trying to use /colorize/colorize.toe to encode some video as above - but missed what Andrew pointed out.

 

The ultimate goal was to make some birthday presents - carts with nostalgic moments on them.

The electronics are simple enough - already a low component count.

 

If you have a minute would you mind writing the process for people who want to make their own videos need to go through?

 

It's a really cool project - thanks for all the time you've put into it!

 

 

 

 

Link to comment
Share on other sites

Okay: did some quick digging.

I did actually upgrade the pic hex file to support format1.
Difference is format1 assumes constant black background.
It's still compatible, but just doesn't look as good.
For now, turn off "Background Color (slow)" so the cart will play exactly what you see in the encoder.


You can probably avoid block_writer (which just blindly writes the file on contiguous blocks on the card).
Copying the mvc file to a *freshly formatted* sd-card would probably have similar results.
If instead, the sd-card has been copied/deleted to a bit before copying mvc file (making the empty space fragmented), the cart may play random sections of junk, as it only plays card blocks in order, not necessarily

where the file contents are located.

I'll try and make those updates soon.
Did you end up making the carts in time?

Cheers.





 

Edited by rbairos
Link to comment
Share on other sites

1 hour ago, cbelcher said:

Carts are made but first birthday is at the end of January so just gotta get the media ready.  Oh and wrangle a case for it.   
 

Thanks for all the help!

I should have a new hex soon that supports the much nicer background color encoding.

Link to comment
Share on other sites

Thanks for the new hex file - I got that burned to the PIC.

 

And block_writer.cpp compiled easily enough under windows.

 

But trying to encode various m4v files with colorize.toe it always stops at 30 seconds...  Both on my Windows box and Mac - with the most recent downloads.  I thought it might be an issue with the TouchDesigner license / key but it looks like a have a valid non-commercial one there.  Any ideas?

 

Thanks!

Link to comment
Share on other sites

4 hours ago, cbelcher said:

Thanks for the new hex file - I got that burned to the PIC.

 

And block_writer.cpp compiled easily enough under windows.

 

But trying to encode various m4v files with colorize.toe it always stops at 30 seconds...  Both on my Windows box and Mac - with the most recent downloads.  I thought it might be an issue with the TouchDesigner license / key but it looks like a have a valid non-commercial one there.  Any ideas?

 

Thanks!

So I run a little script when you hit Reset (Erase).
It sets up the length of the timeline, otherwise its left at whatever it was last time.

Are you pressing Reset after loading the new file?
I should make that more automatic.
 

Link to comment
Share on other sites

10 hours ago, cbelcher said:

But trying to encode various m4v files with colorize.toe it always stops at 30 seconds...  Both on my Windows box and Mac - with the most recent downloads.  I thought it might be an issue with the TouchDesigner license / key but it looks like a have a valid non-commercial one there.  Any ideas?

 

Make sure "trim start" is 0 and "trim end" is 1...?

 

Link to comment
Share on other sites

The display format is just begging for someone to write a Mandelbrot program.  I see the encoding process moved on-cartridge, and using exactly the same encoding method/technique. It doesn't need to be super-fast, and the algorithm is simple enough to implement, IMHO.  Anyway, it's done a creditable encoding job on this Mandelbrot zoomthrough I grabbed off YouTube, encoded, and then screen-recorded as Stella played back the resultant file...

 

 

The slight flicker is due to the slow frame rate of my screen grabber coupled with the frame rate of the emulator. Slow machine... flicker. It's not evident to the naked eye.

 

 

Edited by Andrew Davie
  • Like 2
Link to comment
Share on other sites

31 minutes ago, Andrew Davie said:

The display format is just begging for someone to write a Mandelbrot program. 

I did this for the C64 40 years ago (also optimized the calculations for FractInt). With fixed point math, multiplications based on square tables and boundary tracing this became relatively fast (easily beating brute force attempts using the disk drive CPU for calculations too). But IIRC it still took minutes to compute one frame.

How do you envision this to happen here?

Edited by Thomas Jentzsch
Link to comment
Share on other sites

13 minutes ago, Thomas Jentzsch said:

I did this for the C64 40 years ago (also optimized the calculations for FractInt). With fixed point math, multiplications based on square tables and boundary tracing this became relatively fast (easily beating brute force attempts using the disk drive CPU for calculations too). But IIRC it still took minutes to compute one frame.

How do you envision this to happen here?

I was hoping to have an ARM-variant and use the MovieCart (or similar) display.

Link to comment
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...
×
×
  • Create New...