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


Forums > C64 Productions > Defender III now running on the C64!
2023-09-15 04:32
Mr SQL

Registered: Feb 2023
Posts: 136
Defender III now running on the C64!

Defender III is now running on the Commodore 64.

This is an Atari 2600 production written specifically for the Atari Flashback Portable console, it runs transparently inside the innovative Atari 2600 Emulator for the Commodore 64 with petscii graphics texture mapped to the Atari game graphics.

Download the game and the Trainer here from AtariAge:

https://forums.atariage.com/topic/262864-defender-iii-atari-fla..

Compare D3 to the Atari version, it's pixel perfect and cycle precise because the Atari binary is running unchanged on the C64's 6510 CPU. The Atari 2600 TIA, RIOT and system bus are emulated. The enhanced version of the C64 Atari 2600 emulator will be available soon. Compatibility with batari BASIC games is next! :)
2023-09-15 20:20
Danzig

Registered: Jun 2002
Posts: 440
Quote: Defender III is now running on the Commodore 64.

This is an Atari 2600 production written specifically for the Atari Flashback Portable console, it runs transparently inside the innovative Atari 2600 Emulator for the Commodore 64 with petscii graphics texture mapped to the Atari game graphics.

Download the game and the Trainer here from AtariAge:

https://forums.atariage.com/topic/262864-defender-iii-atari-fla..

Compare D3 to the Atari version, it's pixel perfect and cycle precise because the Atari binary is running unchanged on the C64's 6510 CPU. The Atari 2600 TIA, RIOT and system bus are emulated. The enhanced version of the C64 Atari 2600 emulator will be available soon. Compatibility with batari BASIC games is next! :)


You all drank varnish! :-D
2023-09-15 20:54
TheRyk

Registered: Mar 2009
Posts: 2219
You keep using these words
Quoting Mr SQL

- "transparently inside the innovative Atari 2600 Emulator for the Commodore 64"
- "petscii graphics"
- "pixel perfect and cycle precise"

But I still don't think they mean what you think they mean.

To me what you did ain't emulation but ports/conversions. If you code some kind of engine to run a _particular_ Atari code on C=64 6510, it is still porting not emulating (<- which would mean a _universal_ approach).
PETSCII... well at least you seem to have used the ROM font this time, but are the sprites generated by CharROM - I don't think so.
Pixel perfect and cycle precise - we would need to look at the Atari version to judge that, how about a video.

General feedback on gameplay: Even in official Defender II laser/missile does not move _after_ firing following ship movement on Y axis. So this should for sure not be the case in this - if I got it right: homebrewn fanmade - part III.

Maybe things get clearer when you release that
"enhanced version of the C64 Atari 2600 emulator"
2023-09-15 21:36
Mr SQL

Registered: Feb 2023
Posts: 136
Quote: You keep using these words
Quoting Mr SQL

- "transparently inside the innovative Atari 2600 Emulator for the Commodore 64"
- "petscii graphics"
- "pixel perfect and cycle precise"

But I still don't think they mean what you think they mean.

To me what you did ain't emulation but ports/conversions. If you code some kind of engine to run a _particular_ Atari code on C=64 6510, it is still porting not emulating (<- which would mean a _universal_ approach).
PETSCII... well at least you seem to have used the ROM font this time, but are the sprites generated by CharROM - I don't think so.
Pixel perfect and cycle precise - we would need to look at the Atari version to judge that, how about a video.

General feedback on gameplay: Even in official Defender II laser/missile does not move _after_ firing following ship movement on Y axis. So this should for sure not be the case in this - if I got it right: homebrewn fanmade - part III.

Maybe things get clearer when you release that
"enhanced version of the C64 Atari 2600 emulator"


There's more information on the link describing the differences between Defender and Defender II:

All Defender games have different weapons - in Defender you had a colorful laser burst while Defender II sported more precise particle beam weapons. In Defender III, you've got an unlimited supply of remote control Drones, which control a bit differently than laser bursts or particle beams:

Until a Drone goes offscreen and out of range you'll have full control over it - you can even make the Drones do loop-de-loops and figure eights which comes in handy for clipping the high speed meteors. It can take awhile to get used to not being able to fire another shot after you miss a target because your Drone is still airborne - this Defender plays different :)


Give it a chance you might like it once you get used to this, it's actually pretty cool. The Trainer makes it easier to learn how to control the shots.

Regarding your questions about the emu it was inspired by a thread on AtariAge about creating an Atari emulator that could be combined with the ROM as an executable.

The only way to do that is by recompiling the source, which is what the C64 Atari emu does.

There are no changes, the Atari binary is only 7K and runs inside the 24k emulator which emulates (enough of) the TIA, RIOT and Atari system bus to allow the Atari game to run unchanged on the 6510, it wouldn't be possible if the CPU had to be emulated too but it's still requires a lot of optimization to run a 1 MHz emulator on a 1 MHz platform.

Since the same sourcecode is recompiled without changes, it meets the definition of an emulator. We're just used to seeing a stand alone emu loading ROM's, not bound to them but it was a great idea.

This same technique from the idea thread could be used with Stella or VICE to make standalone executables of games if someone wanted to try that.

Good idea, I will find some videos to post to compare.

The petscii tile mapping is optional and four block graphics with parallel lines could be selected as the petscii to perfectly match the Atari graphics but it's nice to see the texture, I'm glad you like this choice. If you stand back 10 feet there's a nice illusion where the petscii blends.
2023-09-15 21:58
chatGPZ

Registered: Dec 2001
Posts: 11359
Quote:
Since the same sourcecode is recompiled without changes, it meets the definition of an emulator.

Not really. If anything, its a portable program/source.
2023-09-16 06:13
Mr SQL

Registered: Feb 2023
Posts: 136
Quote: Quote:
Since the same sourcecode is recompiled without changes, it meets the definition of an emulator.

Not really. If anything, its a portable program/source.


Who says the emulator can't be bound to the ROM?

Here's the idea thread from AtariAge:

https://forums.atariage.com/topic/329639-can-stella-output-a-st..

The upcoming release will increase compatibility with more ROM's, and again after that.

From a design perspective I prefer pixel perfect and cycle precise emulation of a smaller number of ROM's than lossy emulation of many; the latter tends to degrade into a simulation when the emulation is off.

It may be more clear it's emulation when I post the videos side by side.

Activision released an emulator only compatible with their ROM's at first then expanded it later to run more, this is the same concept except for binding the ROM and the emu together to form a stand-alone executable.
2023-09-16 09:28
TheRyk

Registered: Mar 2009
Posts: 2219
Your definition of emulator seems to differ from ours.
Quoting Mr SQL
... upcoming release will increase compatibility with more ROM's ...

To me it still seems you only increase the amount/archive of "ROMs" (once more not sure what you mean, I guess A2600 Cartridge ROMs) that can be executed with the help of whatever-you-coded on a C64, wheras in my book an "emulator" would mean you build something for C64 ready to execute ANY Atari 2600 code, e.g. I'd expect I can play "Landung in der Normandie" for Atari 2600 on a real C64 with the help of such an emulator. Is that really to be expected in the course of your project? If not, what you do stays porting imho :)
2023-09-16 17:50
Mr SQL

Registered: Feb 2023
Posts: 136
Quote: Your definition of emulator seems to differ from ours.
Quoting Mr SQL
... upcoming release will increase compatibility with more ROM's ...

To me it still seems you only increase the amount/archive of "ROMs" (once more not sure what you mean, I guess A2600 Cartridge ROMs) that can be executed with the help of whatever-you-coded on a C64, wheras in my book an "emulator" would mean you build something for C64 ready to execute ANY Atari 2600 code, e.g. I'd expect I can play "Landung in der Normandie" for Atari 2600 on a real C64 with the help of such an emulator. Is that really to be expected in the course of your project? If not, what you do stays porting imho :)


Who says all of the ROM's have to be supported?

By that definition, the Activision emulator that only plays Activision ROM's wouldn't be an emulator either because it can't play "ANY Atari 2600 code".

You would also disqualify the Atari Z26 and Stella emulators with that definition because I can write Atari 2600 code that runs on the real hardware but not there.

That also disqualifies the Atari2600+ console and the Retron77 console and the Atari Flashback Portable console with it's even more limited in the number of ROM's it can run.

I referred to both ROM's and 6K RAM images from the SuperCharger expansion board for the Atari 2600.

The architecture illustrates emulation and also the ability to run the ROM's and tape images pixel perfect and cycle precise in a Virtual Machine.

Here's the architecture allowing the ROM's and tape images that run so far:

SuperCharger emulation (not complete, can't do multiloads yet)
CBS RAM emulation (extra 256 bytes of RAM)
TIA emulation (not complete for all ROM's)
RIOT emulation
Atari System bus emulation (has an issue when locations are written to, this happens by mistake in ROM's but is handled on the real hardware and in larger emulators - problem is to write protect locations on the zero page)
Soft ANTIC emulation (100% complete, was my design).

You could argue the emulator is incomplete and under development, but it's still clearly emulation technology I from the architecture and from the results.

It doesn't run all Atari 2600 programs, but it does run some of the most advanced.

Emulating ported technology too:
Here's a display list demo that splits the screen up into three different scroll zones using soft ANTIC which ports Display List technology from the Atari 800 to the Atari 2600 and is not Atari 800 Display List emulation:

https://www.youtube.com/watch?v=ZSqBK0BpisU
https://www.youtube.com/watch?v=5uTeH5WQX-0

While soft ANTIC is a port of A8 Display list Technology on the Atari 2600, this port of soft ANTIC is precisely emulated on the C64 Atari 2600 emulator.

The Atari Flashback I is another good example, it contained a Nintendo chip and Atari games ported to that chip, they were not cycle perfect or pixel precise as they were re-writes while emulation runs the same code.

I think you know the difference between a port and emulation :)
2023-09-16 18:17
chatGPZ

Registered: Dec 2001
Posts: 11359
Quote:
I think you know the difference between a port and emulation :)

We do, indeed.
2023-10-01 23:50
Mr SQL

Registered: Feb 2023
Posts: 136
Quoting TheRyk
=
Pixel perfect and cycle precise - we would need to look at the Atari version to judge that, how about a video.

Just had a chance to post some instructional videos that show how to play Defender III using the guided drones for loop de loop maneuvers.

The game is more colorful on the Atari but you can see it's cycle precise and pixel perfect for both the game and the Trainer as it's running the same code.

Defender III:
https://youtu.be/5Zj9IEjiMy8

Defender III Trainer:
https://youtu.be/CXgCkZw7kEU

I'm playing these online with the Atari 2600 Game Modem cart just like in the 80's, updated for Today with wi-fi instead of 300 baud as the PlusCart.
2023-10-02 19:43
TheRyk

Registered: Mar 2009
Posts: 2219
Of course I can't count cycles with my mere eyes watching your filmed-from-CRT videos, but thanks, the videos indeed help to illustrate your idea.
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
Mike
bugjam
Peacemaker/CENSOR/Hi..
chesser/Blazon
rexbeng
sln.pixelrat
GI-Joe/MYD!
zscs
REBEL 1/HF
Guests online: 125
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 The Demo Coder  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Morpheus  (9.5)
4 Sabbi  (9.5)
5 CreaMD  (9.1)

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