Jump to content

Recommended Posts

Do we have any idea how many games used illegal opcodes? If I understand correctly, anything that does will crash the 65C816, is that right?

I've asked the same question but I didn't get a clear answer. I believe it's possible for illegal opcodes to cause a failure. I don't know what games have that problem. I was testing some programs in emulation with 65C816 enabled, and I found the copy program Disk Magic would fail. I traced it to a bug, likely caused by a poorly done crack, that caused the CPU to jump to a location in the code that was in the middle of and opcode/operand. The operand was treated as an illegal opcode. This didn't cause the program to fail on a 6502 so nobody ever noticed. So that is sort of an example were an illegal opcode could cause a program to fail on a 65C816.

 

I thought I read that the 65C816 can be put in a 6502 mode. If that's true, then maybe that's a solution.

Do we have any idea how many games used illegal opcodes? If I understand correctly, anything that does will crash the 65C816, is that right?

e.g.

http://www.atarimania.com/game-atari-400-800-xl-xe-mazezam_28629.html

Illegal op-codes will cause a failure if you run them into a 65816, whether you are in 6502 mode or not. All op-codes are legal in a 65816 but they execute differently on the 65816 than the 6502. Your software isn't going to like that...

 

Bob

I didn't mean to imply that legal 6502 code runs differently, only the un-supported 6502 op-codes do that.

 

Very few commercial programs use illegal op-codes. Almost none, I would say. Some programs fail for other reasons. 98% of existing software works OK.

 

The 65816 powers on in 6502 mode, by the way. You have to use special op-codes to force it into 65816 (16-bit) mode after a power-on. This adds a bunch of cool features to your system, but you need a special OS (at least) to run in 65816 mode.

 

Bob

I didn't mean to imply that legal 6502 code runs differently, only the un-supported 6502 op-codes do that.

 

Very few commercial programs use illegal op-codes. Almost none, I would say. Some programs fail for other reasons. 98% of existing software works OK.

 

The 65816 powers on in 6502 mode, by the way. You have to use special op-codes to force it into 65816 (16-bit) mode after a power-on. This adds a bunch of cool features to your system, but you need a special OS (at least) to run in 65816 mode.

 

Bob

 

That's a relief. I'd hate to think I was making my machine significantly less compatible with this upgrade.

  • 3 months later...

Well I thought about programming. The way the 800xl can access it. Do the 800xl has access to the complete memory and use it ? Like in case of a demo, would it be possible to store 3 mo of gfx or music and access it (for example) ? Or does it has to access it page by page ?

The 65816 powers up in 6502 (8-bit) mode, which runs the stock OS just fine. Without changing modes, you can address all 16MB of memory, using the 24-bit addressing op-codes. These are available in any mode, 8 or 16 bit.

 

I use the Atari ASM/ED cart to place an LDA ($xx),y (or a STA ($xx),y. These are 16-bit addressing modes that the cart will compile OK and use zero-page regs $xx and $xx+1. I then manually alter the compiled code to the 24-bit opcodes, which will then use zero-page regs $xx, $xx+1 and $xx+2 as an address.

 

They have 65816 compilers, but I find this is adequate for most needs.

 

Bob

  • Like 2

The MAE http://atariki.krap.pl/index.php/MAE is a native assembler which allows to use the extended opcodes without additional trickery. It also has a full-screen, E: compatible editor, which should work with XEP80 or VBXE 80-column display as well.

 

The extra memory ("high RAM") past the first 64k is always available as data memory. But if you want to run code in it, you need either to disable all interrupts or use some form of extended interrupt services and switch the CPU into the (so called) native mode. One way to accomplish that is to use a 65C816-compatible OS. The other is to disable the internal OS and install the extended interrupt vectors in the RAM underneath, but it is a bit more troublesome if you still want to use the OS services like file access via the DOS and such stuff.

Edited by drac030
  • Like 3

Antonia boards are still available. Boards with the first version of firmware didn't cooperate with SIDE2. With new firmware already works.

 

Just got mine today, up and running in NTSC 600XL, but my SIDE2 cart does not work. (MEMORY TEST at power-on) Where can i get this new firmware?

 

Also the Antonia board seems to 'pop-out' of the CPU socket easily if bumped or moved. Any suggestions to secure it better? (Solder? haha) I stuck a rubber foot under the motherboard so when pressing down, it doesn't flex. Seems to have helped a lot. Just don't want it to happen once i close it all up.

 

I presume everyone else is ditching the shielding once this is in as well?

Edited by Nezgar

 

Just got mine today, up and running in NTSC 600XL, but my SIDE2 cart does not work. (MEMORY TEST at power-on) Where can i get this new firmware?

 

You should have this firmware already.

 

Also the Antonia board seems to 'pop-out' of the CPU socket easily if bumped or moved.

 

You have a weak CPU socket. Replace it with precision socket.

  • Like 2

You should have this firmware already.

 

Any other suggestions how to make SIDE2 work? It just goes to Self-Test memory test, and even reports some bad spots with cart inserted. SDX 4.48 on the SIDE2 currently if that matters. Maybe it will improve when I replace the socket with precision socket, but using disk-based SpartaDOS 3.2f I was able to make a 1MB RAMBO ramdisk, and run ANT.EXE ok.

Edited by Nezgar
  • 2 weeks later...

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...