Hi Marty,
... Since the source pic is FULL with 4 frames, i can't do much else (like an 8 frame anim etc)....
The 28X2 has 4 x 4k bytes of program storage accessed using #slot n, we have used only #slot 0.
Each #slot will hold 7 frames, giving us 25 frames in total.
I will put together a new GetNxtFrame that will access the extra slots.
... Also with larger storage, it will then allow us to try some shading techniques too, this is probably something that needs to be integrated into DMDcreator as you step thru each frame? ...
I don't think we'll have much chance with full screen shading, the update rate is too low.
However, there is a technique we can use to increase the *apparent* update rate considerably, just to test the effect.
Most of the 'source' delay is in the LOOKUP tables in GetNxtFrame. If we bailed out early, say after looking up only 16 or 8 rows, we would just update the top half or quarter of the DMD. This would give faster animation rates, but only a portion of the image would be moving, or shaded, the rest would be static.
This is easy to try.
Just make four images, each with blocks in the top few rows to show 25%, 50%, 75%, 100% brightness, then 'bail out early' from GetNxtFrame.
This 'selective update' I'm sure is used in real systems, and if PICAXE had a bigger addressable range when used as I2C Slave we could have done selective updates to any subset of the screen easily. There may be some mileage in trying to overcome this limitation, but it's a trade-off between fast subsets and slower full frames.
Regarding mass storage, we have some options.
I2C is easy and fast, and I've used it lots, but getting the frames into it from DMD Creator will need some thought. ( Not many laptops have I2C ports ! )
There may be USB-to-I2C dongles around, I've never looked. If so, this is a good possibility.
Another way is to use serial through the AXE027. Needs a lot more code, but no hardware.
Otherwise SD card or USB is probably the way to go, but I've used neither before.
If I was to choose I'd go for AXE027 for the transfer from PC to PICAXE, and an I2C eeprom on the PICAXE for the runtime.
Plenty to think on here !
Cheers,
Buzby