Jump to content
IGNORED

New C64 emulator for A8


Philsan

Recommended Posts

It's a nice start, the coder indicates he might need some help in his writing by the how did they do this or does this do that type questions. How to make it reset proof, how to bring some colors in etc. That being said, a great group of helpers could really allow this person to run with it. Some other emulation guys might have ideas, and the crunching/speed up crew might follow along. This is good work and an interesting project!

 

edit* it actually works quite a bit already, let's see where this goes...

Edited by _The Doctor__
Link to comment
Share on other sites

Interesting... with VBXE this could be expanded to supply colour attributes.

Sprites would be a different matter though - not really possible to directly emulate, there'd likely always be program changes needed.  And translating the bitmapping of the sprites probably not possible either.

 

The surviving reset thing - the problem there is that the Ram locations involved would likely be overwritten by the C= OS and Basic, so it could be problematic.  My suggestion would be just use something like Shift-Break to simulate a Stop-Restore.

Edited by Rybags
  • Like 3
Link to comment
Share on other sites

I'm also very excited on this project.

 

To my point of view I wouldn't call this project a "C64 Emulator". It is a port of the C64 Basic + Kernal ROM stuff. It is a lot different to an emulator, because it's the actual code that is being adapted to work on native A8 hardware. Otherwise it does not emulate any specific aspects of the C64 it only wires what directly translates (screen, keyboard).

 

Using the VBXE to fully support color cells is a great idea though.

 

 

  • Like 1
Link to comment
Share on other sites

Of this course works better as a rom or prom, which this guy probably already knows and should have stated... over writes using pokes  certainly will happen... showing them as faults is would be silly - Addressing it as a curiosity is the way to go for normal users. Just put the stuff in any of the multitude of ROM slot capable devices or even make a cartridge of some sort...

The rest of the observations are pretty valid except for a couple here and there. It's early in this journey so more will be added and other items fixed.

Edited by _The Doctor__
Link to comment
Share on other sites

4 hours ago, carlsson said:

Apparently screen matrix is located to $0400. I don't know what is the default is on the A8 side, if there even is a default.

Atari does not have a default screen area; ANTIC lets you point the screen anywhere in RAM.  On the 130xe and compatible upgrades, you can point the screen to expanded memory while running programs in main memory.

  • Like 3
Link to comment
Share on other sites

1 hour ago, Mclaneinc said:

Isn't $BC20 where screen data / display list is by default?

 

That's what I seem to remember.....Pretty sure (for once)

For 48K+ machine without cartridge/internal BASIC and Graphics 0 screen, $BC20 is the display list.

 

For 40K+ machine with cartridge in slot A / internal BASIC and Graphics 0 screen, $9C20 is the display list.

 

Actual screen display memory starts at $BC40 / $9C40 respectively.

 

Edited by drpeter
  • Like 1
Link to comment
Share on other sites

Hm. When I emulate an 800XL in Altirra with Atari BASIC Rev C and XL/XE OS ver 2, the default GRAPHICS 0 mode seems to configure the screen matrix to 40000 - 40959 (hex $9C40).

 

To clarify for non-C64 people: The screen matrix pretty much is fully relocatable on that one too, though the VIC-II chip works in banks of 16K at a time so it takes a few more POKEs to switch things around if required. $0400 happens to be right between the low 1K and where BASIC programs start so reasonably practical, in particular if you would not use any form of custom graphics. Since it has been pointed out that every POKE in Atari 64 relates to Atari addresses, of which some are configured to behave like C64 addresses, you probably can't expect that a program that tries to reconfigure the C64 memory a lot will work.

 

Then again this is not a C64 emulator, but a C64 BASIC + Kernel environment just like there are PC Windows shells that implement a C64 BASIC environment without attempting to emulate the computer. Like mentioned, BBC BASIC probably could be ported too - there is at least one half finished one for the C64. I would assume that Applesoft, Oric etc other 6502 based systems would be doable too with the same degree of functionality if one desired. Actually Oric might be an interesting challenge since it has a 6x8 character size so you might want to shift to a bitmapped mode and emulate text from that.

  • Like 1
Link to comment
Share on other sites

46 minutes ago, Mazzspeed said:

This is a cool tech concept, but I sort of can't see the point. It's naturally going to be fairly limiting beyond anything very basic.

 

Well, perhaps to certain extent that pretty much defines the fun of fooling around with 8-bit technology. ?

 

Bearing in mind that the inbuilt C64 BASIC is itself fairly limiting beyond anything very... erm... basic, the fact that when running on an Atari 8-bit it lacks for example ready access to sound & graphic capabilities isn't perhaps such a different experience to the C64 itself?

Edited by drpeter
  • Like 1
  • Haha 1
Link to comment
Share on other sites

18 minutes ago, drpeter said:

 

Well, perhaps to certain extent that pretty much defines the fun of fooling around with 8-bit technology. ?

 

Bearing in mind that the inbuilt C64 BASIC is itself fairly limiting beyond anything very... erm... basic, the fact that when running on an Atari 8-bit it lacks for example ready access to sound & graphic capabilities isn't perhaps such a different experience to the C64 itself?

It actually worked to the C64's advantage, no one was interested in BASIC, it was all assembly. Assembly was a crap ton better, once I learned to code in assembly you may as well have removed BASIC altogether.

 

Interpreted basic is just too slow.

 

TBH, I think I used BASIC only a handful of times to quickly run test programs.

Edited by Mazzspeed
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...