Thursday, November 23, 2006

XeO3: Please Wait....Loading............

I was testing out TNT's new 1581 turbo loader last night, and WOW! what a speed. The whole thing loads in less the 10 seconds! Thats 179 blocks (45k) that load in a blip! While speaking to Luca I had mentioned that if I thought that most folk had a 1581, then I wouldn't worry about packing in the front end to the main EXE as it would all load in under a second! Pitty...Oh well, I guess the only way to really guarantee that kind of thing is to make a proper cartridge game; which is also somthing I considered BTW. Using a cart as a large instant Disk would be very neat, and I do think I'll do an MMC64 version that does just that! Once

the C64 version is done, I'll start splitting it off into parts and putting them on a memory card so that it can act like a cartridge. This not only gives instant loading, but also a huge capacity. I wonder how many MMC64's have been sold? The good thing is that unlike the SuperCPU, these are still being sold! So if someone wants to play XeO3 from cartridge, they can run out and buy one! I'll have to do a little investigation as to how it all works, but from what I've seen, it should be easy enough.

I wonder how much these cost to make.... If you could get it down a bit, you could bundle one with the game and sell it cased so it looked like a normal cart - even though there was an MMC inside! Althought thats probably taking it too far.....

14 comments:

Anonymous said...

Tops! I would certainly buy a cart of XeO3 as I have no floppy/disk drive :)

Anonymous said...

Has there been a drive poll at Plus/4 World? If front end takes <1 second with 1581, it's still only two seconds with 1541/1571. I might manage to write 1551 loader as well, and I bet it would be faster than 1541. Supporting 154x+157x+1551+1581 would cover most of the user base, I think. Are there more drives to consider?

I think MMC64 prduction runs have been 250 cartridges each, and second run was done in February/March. That would mean something like 300-400 sold MMC64s.

Making MMC-cartridge for single game is overkill. If you need it only to stream in data for loader then you can use something like 256/512 KB banked ROM and cut down the cost considerably.

--
TNT

Mike said...

Oh, you should really get a disk drive! They're pretty cheap on ebay these days- particually the original 1541.

Yeah...MMC would be over kill.... But theres a really interesting 8bit Compact Flash interface for the speccy thats "just" a few wires, and no chips. I wonder if I could do that on the +4. 300-400 MMC64's is pretty good as you know these folk are "hard core" C64-ers.

Yeah, a poll would be interesting - but at the moment I still think having the front end as part of the main program is the best thing. SOmeone else can detatch it later if they want. :)

There are a couple of "compatible" drives out there that I worry about...

Anonymous said...

MMC interface can be done with half a dozen wires, three resistor and one voltage regulator if you do low-level transfer with host CPU. That slows it down to one bit every 20 cycles on C= machines, but it's still faster than most disk loaders.

There was an interesting DIY project for C64 which used serial register of 6526, speeding the transfer to one byte in 32 cycles. Website seems to have disappeared, sadly.


--
TNT

Mike said...

Yeah, thats about what I was thinking about. Thats about the same speed as the 1581 turbo loader you did - which gives around 5 1/2 K a second, which is really good for the cost - and plenty fast enough for a game!

The issue actually would be getting small/cheap MMC cards! These days youre almost force into buying 128Mb and above! And these still cost £7-£10. If you could have a large source of 4 or 8Mb ones for £1 each or something... then it would REALLY be worth while doing!

do you know the website address? Theres a couple of internet caches that sometimes saves these things....

Anonymous said...

I found the Sidewinder MMC project address in my emails, and Wayback Machine has the old version archived. If you plan to experiment with it, you can use old PC floppy connector as MMC/SD connector. See this and this :)

The best source of small memory cards are people upgrading their digital cameras - even some new cameras are still sold with 16 MB card.

I use M-R command to detect drive type. Reading reset & IRQ vectors at $fffc-$ffff tells if drive is 154x/157x, 1551 or 1581. One drive signature takes 4 bytes.

--
TNT

Anonymous said...

Won't I still need to open command channel to send the code to drive? :)

154x/157x/1581 code is basically the same for all drives, there are just some address changes. 1551 code is likely to be something completely different (if I end up writing it).

C= 264 series is nearly non-existant here in Finland, so I don't own any myself. I have a borrowed C16, but all loader code has been written with Yape. Drive code is exact copy of my C64 loader, plus/4 code is modified slightly.

(I already hear angry mob calling me EmuLamer... :)

--
TNT

Mike said...

Yep, that MMC is kind-of what I was thinking about....athough I think compact flash gives you 8bit access which might make it easier to map in. I did try looking for small memory cards, and like Chicken - couldn't find any. In fact, once they dipped below 128Mb, the prices started to go up again! I know theres millions of little ones sitting in peoples drawers doing nothing, but I have no idea how to get them :)

We did wonder about using a small/cheap EEPROM, FLASH, or even a PIC to do a boot loader on a cartridge which then loaded a file from the compact flash.... but who knows...

Mike said...

Oh....and thanks for posting the link to the MMC stuff.... :)

Anonymous said...

After activating my spare brain cell I realized that if you want your cartridge to autostart you need real 8-bit (EEP)ROM. Using serial memory like MMC actually adds components instead of reducing them.

If I was building cartridge, I would use something like 29f040 with banking logic. 512KB Flash cartridge is something I would pay 50 euros for without thinking twice. Pre-flashed game would be just nice bonus :)

--
TNT

Anonymous said...

I just found this for small, cheap MMC cards. $37 for ten 32 MB cards, free shipping within U.S.A. - just get someone buy them and mail them over to you.

--
TNT

Mike said...

Yep that was the compact flash interface I was looking at, although I hadn't seen the MMC one before.


Thats getting a bit better for price, but to do any real numbers, you'd have to pay out a small fortune....

Since it would be a general flash reader (either compact or MMC), perhaps getting people to send one would solve it. Then all your doing is copying on the game, and boot loader.... I dont know... still a lot of work involved in that - and you'd lose the SID card if you used the expansion port (which would allow you to BOOT from it.)

Anonymous said...

Sidewinder appears to use the port built into the C64 CPU. It would work on the Plus/4 and C128 as well but not other 6502 system since a standard 6502 doesn't have the same port.

Here is another Speccy MMC interface.
http://www.zxbada.bbk.org/zxmmc/index.htm

Anonymous said...

BTW, the Sidewinder would conflict with any device already attached to that port... which I believe is in use on the Plus/4.