Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > NTSC C128 running PAL C64 Demos?
2018-08-25 00:42
alterus

Registered: Feb 2016
Posts: 10
NTSC C128 running PAL C64 Demos?

I was wondering, would it be possible to port PAL C64 demos to the NTSC C128? In 40 column mode, the C128 can provide 2 MHz in the boarders. I'm thinking this might be enough to get many PAL demos working in NTSC land. I'm far from an expert in this area though. What do you guys think?
 
... 10 posts hidden. Click here to view all posts....
 
2018-08-26 19:09
Krill

Registered: Apr 2002
Posts: 2980
Quoting oziphantom
VS bit banging where all 32 clocks are eaten on both 128 and Drive.
The 32 cycles include storing on the computer side (drive side analogous):
4 lda $dd00
2 lsr
2 lsr
4 eor $dd00
2 lsr
2 lsr
4 eor $dd00
2 lsr
2 lsr
4 eor $dd00
4 sta somewhere
Of course, resyncing once every 4 or 8 bytes adds a few extra cycles.

Quoting oziphantom
Well does the GCR read + decode + checksumming take 64 or more clocks ( given we are running at 2mhz not 1 mhz), if so or about that much, instead of STA RAM,x inx can you not just STA CIA REG ??
Thinking about it, at 1 MHz, it's 127 / 4 = 31.75 cycles minimum on average, although distributed somewhat unevenly. But yeah, might work for the old approach as well, at 2 MHz.

Quoting oziphantom
I mean even if it was just an RLE of level data or something, still gets you more disk space with zero effort on the 128 side, so your game gets more CPU time.
That's true, something simple like that would work.

Quoting oziphantom
Well I'm loading a one shot game, such as Dropzone and Kung Fu Master, so I only need to load once.
For that, it might actually pay off to use NMI at 2 MHz to load in compressed data, and decompress in the mainline thread while the bytes roll in. Obviously with some highly-optimised NMI+depacker scheme, minimising the context-switch overhead.
2018-08-28 09:04
oziphantom

Registered: Oct 2014
Posts: 490
If you can do on the fly GCR decode without the fancy tricks at 2Mhz ( the 1571 internals book claims you can ) that would free up a lot more RAM right?
Or if you have the speed and you can dump data directly down the SSR, could one use the data as Huffman and hence you can deflate Huffman code off the disk?
If only you could read from both heads at the same time ;)

In my loading case it has a bitmap and music playing, with the 128 version it can keep them going right till the end. On the 64 version it need to load in all the data. Remove the bitmap, music and then deflate. The disk is here http://cloud.cbm8bit.com/oziphantom/autoboot_dropzone.d64 use Boot or let autoboot load the 128 version. LOAD "*",8,1 to load the C64 version.
2018-08-29 11:10
Krill

Registered: Apr 2002
Posts: 2980
Quoting oziphantom
If you can do on the fly GCR decode without the fancy tricks at 2Mhz ( the 1571 internals book claims you can ) that would free up a lot more RAM right?
I'm currently using the non-fancy version, which probably uses less RAM than the new approach used on 1541. There would be a few opportunities left to save some RAM, like re-using the block-fetch code for the block headers, and also throwing out the entire dir-parsing and dir-buffer stuff, which isn't needed for a single-load production. I haven't spent much time optimising the 1571 drive code.

Quoting oziphantom
IOr if you have the speed and you can dump data directly down the SSR, could one use the data as Huffman and hence you can deflate Huffman code off the disk?
I think that would only be possible with having the Huffman decoder on the computer side, as the transfer is tightly coupled to reading from disk, and post-Huffman transfer would have a variable bit-rate, so to speak. When doing the decoding on the computer side, well, could use some other encoding as well, one that hits the sweet spot for raw loading/transfer speed vs. pack ratio vs. decoding complexity, ultimately minimising loading time.

Quoting oziphantom
In my loading case it has a bitmap and music playing, with the 128 version it can keep them going right till the end. On the 64 version it need to load in all the data. Remove the bitmap, music and then deflate. The disk is here http://cloud.cbm8bit.com/oziphantom/autoboot_dropzone.d64 use Boot or let autoboot load the 128 version. LOAD "*",8,1 to load the C64 version.
This seems to be using an old loader version. The new one should be quite a bit faster, on C64/1541, anyways. :)
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
E$G/HF ⭐ 7
The Human Co../Maste..
t0m3000/hf^boom!^ibx
Flashback
Shake/Role
Hoild/Ultimate Newco..
Chesser/Blazon
El Gato
Steffan/BOOM!
Guests online: 137
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Diskmag Editors
1 Magic  (9.8)
2 hedning  (9.6)
3 Jazzcat  (9.5)
4 Elwix  (9.1)
5 Remix  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.043 sec.