Jump to content

Just released: MacFlim, the impracticable Vintage Video player for Compact Macs


Recommended Posts

On 4/3/2021 at 4:30 AM, fstark said:

I mean, first you are awesome!

 

:lisa2: lol I just installed the software, you wrote the thing!

 

On 4/3/2021 at 4:30 AM, fstark said:

Second, I have a Lisa 2 here, and running MacFlim it on it was one of my goals -- unfortunately, I need the internal floppy drive to boot the Mac environment, and I don't know how to connect both the FloppyEmu in HD20 mode and the floppy. I was looking into it yesterday, but you did beat me to it!

 

That profile hard drive emulator is *exactly* what I need. Who do I need to kill to get my hands on one?

 

Morpheus: "Unfortunately, no one can be sold a Cameo/Aphid --- you have to build it for yourself"

(for now, perhaps... in the meantime, check out some of the other emulators for Apple parallel port hard drives, like X/ProFile and IDEfile)

 

Anyway, the hardest part for me was getting the Flim onto the computer in the first place! I thought about seeing if there was a way to access the emulator's raw drive image with hfsutils, but because Apple parallel port hard drives use 532-byte blocks, I think those tools couldn't understand the data layout. So, the best I could do in short order was ZTerm over one of the serial ports, and I couldn't get that to go any faster than 9600 bps! (I'm guessing that the limiting factor is ZTerm's zmodem implementation not being a great fit for the 5MHz 68000 in the Lisa.) The "low res only" Matrix movie took three hours to transfer! I still wonder if there's a better way... how are people usually getting these enormous files onto their Macs in the first place?

 

I don't think I've ever heard of a Macintosh XL working with an HD20. I don't know that it's impossible, but I would be surprised if it works. A hard drive emulator is probably the most practical way to go, although fastest of all might be one of the old XL-only SCSI expansion cards that you might be able to find out there if you look. I don't really know how those work (I've never seen one) but those would be sending data over the expansion bus rather than the parallel port. Expansion cards can do DMA if they want, though I have no idea if the SCSI card worked that way.

 

SCSI or no, it's handy that MacWorks Plus will support drive sizes up to 2 GB, so you could watch some very long flims indeed if you wanted to...

Link to post
Share on other sites
  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Posted (edited)
21 hours ago, stepleton said:

The "low res only" Matrix movie took three hours to transfer! I still wonder if there's a better way... how are people usually getting these enormous files onto their Macs in the first place?

Wooow. The way I am moving the files is by mounting a SCSI2SD SD card on my linux system and mounting the first partition as a .dsk in minivmac. From there, transferring is trivial, using ImportF1.

 

I did had to fight when I reformatted my Lisa, due to the 532 bytes blocks and some disk not having the tags. I am a n00b as far as Lisa goes, it took me forever to re-install mine, and I am very worried that my internal Widget may fail on me.

 

check out some of the other emulators for Apple parallel port hard drives, like X/ProFile and IDEfile

 

IDEfile can't be bought either, so there is only the X/ProFile. Wasn't too convinced when I read about it (The CompactFlash stuff, and the complexity of what sizes are supported in what environment). Well, I am in no hurry, for now, and I find all this extremely confising.

 

Btw, I do have a SCSI card for the Lisa, I'd say it is one of those ( http://vintagemicros.com/catalog/sunrem-lisa-scsi-card-p-179.html ) but populated. However, it seems to me that I requires MacWorks+ II, which comes with a hardware mod, and that is a firm no from me. Everything is unclear in the Lisa world. Booting in the Mac is cool, but it is the Lisa I'd love to be able to play more with (ideally writing some code for it -- but, hell, I installed the dev environment, let me say that it isn't friendly nor understandable...).

 

I'l go and post in the Lisa forums one of these days.

 

Edited by fstark
Link to post
Share on other sites
Posted (edited)

Ok. Worked on compression, as I need to attain a higher frame rate to have a chance to get sound (flims are slowed down today from 24 to 21fps, which won't be ok for sound), and I also need more space to store the sounds, and I need more CPU to actually play the sound. So, compression is the first step, the big unknown is the CPU cost of decompression which may eat all the savings...

 

So, not sure if this will work at the end, but that is the kind of image degradation we get with compression:

 

uncompressed:

i-100.gif.d66cccbdc7402d5dcd117226b32a5572.gif

 

average compression (expected savings ~30%):

i-70.gif.0943fb1083c4667a7caac1dd97ab0715.gif

 

maximal compression (expected savings ~45%):

i-50.gif.38b8f86b3769834d8b5f21181de16357.gif

 

 

 

 

Edited by fstark
had a bug with multiple images
Link to post
Share on other sites

Fred this is amazing. I installed it on my SE/30 earlier and the replay is so smooth, it's a perfect demonstration of what a 32 y/o classic Mac can do :) I also enjoyed the alert that popped-up when I tried to run MacFlim on my Quadra 700, asking if I was from the future :D 

 

I want to install a few sample clips on my 40mb SCSI drive, so that I can keep the retro setup. Is there a way to edit the flims? Have you built a tool for that? Or can I edit the binary file and update the header without corrupting the flim?

 

Thanks very much! Thanks also for sharing the code; it's a very clean implementation!

Edited by mattdud
Link to post
Share on other sites

@fstark

Permettez-moi de reformuler ma question précédente dans l'espoir d'obtenir votre aimable réponse ...

Let me rephrase the question in my earlier post with the hope of obtaining your kind reply...

 

Dans votre Github "Can you walk me in the process of creating my own flim?" section, pouvons-nous ignorer la plupart de ces commandes en utilisant plutôt FCPX pour générer un MP4 en niveaux de gris à une résolution de 512x342 avec 24fps? Et ensuite, pouvons-nous utiliser les commandes de la section "Extract all the grayscale images"?

 

In your Github “Can you walk me in the process of creating my own flim?” section, can we can skip most of those commands by instead using FCPX to generate a grayscale MP4 at 512x342 resolution with 24fps?  And then after that, can we use the commands in the “Extract all the grayscale images” section?

Link to post
Share on other sites

Regarding source code matters you were wondering about on the GitHub page...

 

Here's my take.  Vintage software development with an SCM encompassed a centralized version control system like CVS... translating this to the modern era, using a serial terminal connection to a Linux box with Git and synchronizing files via ZMODEM is a quite workable setup that I use.  Of course AppleTalk shares, ftp, and telnet work just as well, it doesn't really matter.

 

Understandably at this point in the project, you're mentioning the main challenge may just be the time it takes the progenitor to get familiar with vintage-style SCM workflows, but it would be great if you could get there sooner rather than later.

 

But, what was I going to say... yes, sound.  It's best to design in header fields for supporting a few different sound formats, like 8/16 bits per sample and 22.2/44.4kHz sampling rate.  I've been thinking about Mac mods that would support higher fidelity audio, on one hand.

Link to post
Share on other sites
  • 68kMLA Supporter
On 4/7/2021 at 1:34 PM, JDW said:

In your Github “Can you walk me in the process of creating my own flim?” section, can we can skip most of those commands by instead using FCPX to generate a grayscale MP4 at 512x342 resolution with 24fps?  And then after that, can we use the commands in the “Extract all the grayscale images” section?


You can definitely skip some steps. The one thing I’m not sure about is if the PGM files would be 8-bit. If you give it a try, then open up one of the output files in a text editor. It must start with these three lines of text (before lots of binary data):

P5
512 342
255

 

Also, if the input is 24 FPS, then change the “-r 30” on the command to match:

ffmpeg -v warning -stats -y -r 24 -i 512x342.mp4 -r 24 source-%06d.pgm

 

I wonder if fstark would consider a few checks:

char header[15];
size_t header_size = fread(header, 1, 15, f);
assert(header_size == 15);
assert(std::string(header, 15) == "P5\n512 342\n255\n");

 

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.

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...