fstark / macflim

MacFlim flim player source code and utilities
MIT License
90 stars 3 forks source link

Add support for Mac Portable playback of 512x342 flims #7

Closed MacPortableFan closed 2 years ago

MacPortableFan commented 2 years ago

(original title was: "Version 1 (No Sound) works, but Version 2 (with sound) does not work on Mac Portable")

Hi there!

Just wanted to leave a suggestion - though I understand that this project is targeted towards Compact Macs, the original version 1 (soundless) player does seem to work on the Macintosh Portable (68000), however, the second version of the player (with sound) does not work - the image is corrupted. You can slightly make out what is on screen, but its distorted and looks like there are 6 parts of the film overlapping each other. Sound works fine, though which is great!!!

See attached for the two versions of the player.

Hope you can implement support for the Macintosh Portable (and early Powerbooks) into the sound version! Would be amazing to watch a show with sound on my Macintosh Portable!!

Keep up the amazing work!

Cheers,

Version 1.0 with no sound: image0 (1)

Version with sound: IMG_0117

RebeccaRGB commented 2 years ago

The Macintosh Portable has a resolution of 640x400. The image is corrupted since MacFlim assumes the resolution is 512x342. :) MacFlim would have to add support for other resolutions.

MacPortableFan commented 2 years ago

Hi there - yeah it’s a shame as version 1 works just fine but version 2 has lost the support for 640x400 :(

Sent from my iPhone

On 20 Oct 2021, at 12:29 PM, Rebecca G. Bettencourt @.***> wrote:

 The Macintosh Portable has a resolution of 640x400. The image is corrupted since MacFlim assumes the resolution is 512x342. :) MacFlim would have to add support for other resolutions.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

fstark commented 2 years ago

Sorry for the delay, having people entering defect catch me by surprise :-) Thanks for the report.

(note: first iterations of MacFlim 1 did not support non 512x342 for a very long time, so I don't feel too bad -- yet).

There are two things here:

a) macflim should support non 512x342 flims. 640x400 is one of the obvious cases. The work at the encoder level is too difficult to be done right now, but I added that ass issue #10

b) macflim should have a way to play flim that are not the native resolution of the current display. There are a few variants around this.

The key issue is performance, playing on arbitrary screen implies some (simple) calculations at diplay time.

Note: I have a mac portable, a new battery is coming, so I should be able to add the Mac Portable in the list of supported systems, with custom assembly code.

As a workaround, in the meantime, you can modify the player: boot with the .dsk file with the source code (the one in this repo, it containts everything needed), and, near the top of the play, change the #define noREFERENCE to #define REFERENCE and recompile (using Command-R or the "Build Application..." menu item). The resulting version will use the reference implementation of the algorithms. They are much slower, but support non 512x342 playback. It may be sufficient to play macplus flims on a macportable.

fstark commented 2 years ago

Fixed in main repo, commit https://github.com/fstark/macflim/commit/c3842b1f38aef127fd992824c75322bdfe6e0cf8

Automatically switches to reference implementation if screen is not 64 bytes wide. This should play on mac portable (altough slower).

Having it fast is issue #11

Closing, add comment so I know if it works or not on portable. I'll reopen if it doesn't work.

fstark commented 2 years ago

I got my Portable to run. MacFlim with the reference implementation can now play macplus-level flims on the portable. With beta4 that includes fix #11, it plays se-level flims.