Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Sepa ! (Registered 2024-05-13) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Berzek for C64
2008-07-30 18:07
trip6
Account closed

Registered: Jan 2007
Posts: 51
Berzek for C64

Hello... I recently recieved assembler source code for Berzerk video game. I was told that I would have to use CCS65 to compile it. However, I am quickly realizing that I have no idea how to do this in CCS65. Can some one help me our compile this for me with CCS65 if I sent the source code? All help is appreciated, I'd love to get a port of this classic on the C64.
 
... 260 posts hidden. Click here to view all posts....
 
2008-09-01 13:25
Heaven
Account closed

Registered: Jul 2008
Posts: 102
that's why I found it hard to take the 2600 version with it's "hardcoded" gfx kernel interleaved with game logic approach.

so... I will give a shot on the A8 version instead. But question... when porting Metallamas from VIC20 to A8 I used following way of patching

ORG patch_adress
insert new_code
ORG patch_adress2
insert new_code2
...

as A8 can have multiple file segments...so first Atari loaded the original game file into memory and then the other small patches which overwrote the wanted parts of the VIC20 code.

but what would be the practical way of doing that with C64???

2008-09-01 13:42
Martin Piper

Registered: Nov 2007
Posts: 645
Quote: Umm, the 2600 generates the display manually, so everything takes a whole frame regardless of complexity.

It generates the display manually but the 2600 can do a store to WSYNC which pauses the processor until the start of the next raster. Obviously the store WSYNC doesn't pause the CPU until the next raster on the C64 so I was expecting the actual frame time to be much less than discovered. On the C64 each store WSYNC translates to a "jsr ScanCalc" which keeps track of the virtual scanline and the PF/PL status to keep track of what to really draw on the C64 screen.
2008-09-01 13:56
Oswald

Registered: Apr 2002
Posts: 5025
the 2600 is slightly faster, so the same thing will take more time for the c64, also I guess you counted in the code which does nothing but builds up the screen. to sum it up 90% is pretty realistic.

heaven, bet you can patch code like that in an xasm . why waste diskspace for code that will be overwritten all the time anyway :P :)
2008-09-02 01:32
Martin Piper

Registered: Nov 2007
Posts: 645
It is when, as I found out, during the actual game rendering the code to draw each scanline actually takes two scanlines. i.e. A store to WSYNC happens half as often and the code itself uses most of the available cycle times for two scanlines.

During the title screen, which is simpler, it takes about 40% of a frame.

2008-09-02 12:01
Heaven
Account closed

Registered: Jul 2008
Posts: 102
ok. startet the process of going through the DIS6502 output and as more as I got into the soures as more I see the port.

the A8 Berzerk does even have a PAL/NTSC detection inside.

So as my general "patching" method will not be possible I will produce a DASM compatible source of the A8 version and will try to compile that first. When done I will start the C64 porting.
2008-09-02 12:51
d0c

Registered: Apr 2006
Posts: 186
thanks Heaven for making a c64 port of berzerk :)
2008-09-02 13:03
Heaven
Account closed

Registered: Jul 2008
Posts: 102
well...the complicated thing will start when I am moving to C64... as I am not a c64 geek... ;) but Oswald & TMR might help here...

but look, the game uses zero pages $80-$ff so it is even more system friendly... ;)

2008-09-02 13:15
Martin Piper

Registered: Nov 2007
Posts: 645
I just had to worry about VSYNC and VBLANK being at $00 and $01. Not fun locations to be splatting values to. :)
2008-09-02 13:29
Heaven
Account closed

Registered: Jul 2008
Posts: 102
well... I heard of 0,1 not being fun... ;)
2008-09-03 01:11
Martin Piper

Registered: Nov 2007
Posts: 645
It depends. :) If interrupts are disabled and you don't want to use SID/VIC/BASIC/KERNAL then you're fine. :)
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ... | 27 - 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
MAT64
Sh0ckTr00per/Hokuto ..
Pad/G★P
Holy Moses/Role
Freeze/Blazon
sachy
Grue/Extend
Matt
A3/AFL
Magic/Nah-Kolor
Hani
CopAss/Leader
Guests online: 112
Top Demos
1 Next Level  (9.8)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 No Bounds  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 Party Elk 2  (9.7)
2 It's More Fun to Com..  (9.6)
3 Layers  (9.6)
4 Cubic Dream  (9.6)
5 Copper Booze  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Rainbow Connection  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Black Beard  (9.7)
2 Derbyshire Ram  (9.5)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Jazzcat  (8.6)

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