Search found 28 matches

by xlar54
Mon Sep 04, 2023 3:58 pm
Forum: Programming
Topic: Atari 2600 pacman clone for the Commodore 128
Replies: 4
Views: 3859

Re: Atari 2600 pacman clone for the Commodore 128

Thanks for the great tips! Ill be going over these in detail and make the recommended changes. Exactly the review I was looking for, thanks guys!
by xlar54
Mon Sep 04, 2023 3:54 pm
Forum: Programming
Topic: SUPERMON 816
Replies: 42
Views: 41023

Re: SUPERMON 816

Ill be working on porting this to the supercpu for the C64 and C128. Very impressive work!
by xlar54
Fri Aug 04, 2023 9:40 pm
Forum: Programming
Topic: Atari 2600 pacman clone for the Commodore 128
Replies: 4
Views: 3859

Atari 2600 pacman clone for the Commodore 128

Hey folks, Im working on a clone of the Atari 2600 pacman (the one everyone hated, but was the most selling game for the console). Why? Well, why not. And the 128 doesnt have a lot of native games for it.

Anyway, I wanted to share the code and see if anyone had any thoughts on improving it ...
by xlar54
Tue Mar 14, 2023 10:21 pm
Forum: General Discussions
Topic: 16 bit subtraction
Replies: 7
Views: 2152

Re: 16 bit subtraction

If any Commodore 128 users (or VICE) would like to see what Im working on:

https://github.com/Commodore64128/ataripac128

Movement is still a bit wrong.. its taking me some time to figure things out.
by xlar54
Tue Mar 14, 2023 9:57 pm
Forum: General Discussions
Topic: 16 bit subtraction
Replies: 7
Views: 2152

Re: 16 bit subtraction

Correct. Subtracting an 8 bit number from a 16.

Looking at your examples, i think i see my issue. Im putzing around with the carry flag, doing a SEC before the SBC, etc. Seems your code works without worrying about the carry.

Im still scratching my head though trying to understand why subtracting ...
by xlar54
Tue Mar 14, 2023 7:29 pm
Forum: General Discussions
Topic: 16 bit subtraction
Replies: 7
Views: 2152

16 bit subtraction

Hey guys, this is likely a noob question, but Ive seen some other 16 bit subtractions that dont seem to take into account a rollover. What I mean is:

C000: 01 FF


If I subtract $05, and the carry is set, then i know I can DEC $C001. But if its zero, I cant. So my subtraction code is no good, since ...
by xlar54
Sat Jun 25, 2022 1:58 pm
Forum: Emulation and Simulation
Topic: emulated 65816 computer
Replies: 2
Views: 10554

emulated 65816 computer

Hey folks, Ive mashed up a few things and have come up with an emulated 65816 computer with 16MB of ram, running on bare metal raspberry pi 4 or 400. Im working on a ROM as well, and was thinking to use BDD's monitor.

Anyway, if anyone is interested in playing with this, i can put the code up on gi ...
by xlar54
Sun Mar 20, 2022 4:37 pm
Forum: Programming
Topic: 8086 emulator
Replies: 24
Views: 3657

Re: 8086 emulator

Of the top of head, so untested I'm afraid - but I think you can do it in a pretty small loop without temporary storage:

loop:
lsr
beq done
bcc loop
eor #1
jmp loop
done:

The result is in the carry flag, it will be set if the number of bits was odd, and clear if it was even.


That's ...
by xlar54
Sun Mar 20, 2022 5:44 am
Forum: Programming
Topic: 8086 emulator
Replies: 24
Views: 3657

Re: 8086 emulator

hey folks. In working through this emulator, I ran into the P bit in the 8086 processor flag register. This one is a 1 if there are an even number of bits on after a calculation. A zero is there if its odd.

Here's an implementation I put together. Im not keen on the number of cycles it will take ...
by xlar54
Wed Mar 16, 2022 8:52 pm
Forum: Programming
Topic: 8086 emulator
Replies: 24
Views: 3657

Re: 8086 emulator

Thanks for all the responses.

MicroCoreLabs - I sent you a PM. Very interested in your work there. I neeeeed a pcjr board for sure. And Id like to see a 65816 replacement as well, if it could somehow mirror ram as the supercpu does.
by xlar54
Fri Mar 11, 2022 5:12 pm
Forum: Programming
Topic: 8086 emulator
Replies: 24
Views: 3657

8086 emulator

Im working on a simple 8086 emulator for the 65816 (supercpu on the c64/128). right now, the opcodes are just a bunch of statements such as:

jsr fetch_op
cmp #$xx
beq doXX
cmp #$xy
beq doXY
...
...

I dont care for this. For one, im pretty sure im going to have problems with the short branches. and ...
by xlar54
Fri Mar 11, 2022 7:24 am
Forum: Programming
Topic: 65c816 Machine Language Monitor
Replies: 15
Views: 2577

Re: 65c816 Machine Language Monitor

Its a little confusing...

The SCPU has its own RAM on board (and you can add up to 16mb).

Bank $00, $01, $f8-$ff are found in all SuperCPUs, with or without expansion RAM. Bank $00 and $01 are built-in static RAM, and banks $F8-$FF are used by or reserved for system ROM (SuperCPU ROM, not c64 ROM ...
by xlar54
Fri Feb 25, 2022 1:43 am
Forum: Programming
Topic: Calypsi C compiler toolchain for 6502 and 65816
Replies: 81
Views: 15210

Re: Calypsi C compiler toolchain for 6502 and 65816

a question for OP. docs say:

What determines when parameters are passed on the stack vs registers?

The safest is to look at the generated code. What it does is to scan the parameter list left to right and bind registers in a given order. First it uses the CPU register(s) for a single parameter ...
by xlar54
Fri Feb 25, 2022 1:40 am
Forum: Programming
Topic: Calypsi C compiler toolchain for 6502 and 65816
Replies: 81
Views: 15210

Re: Calypsi C compiler toolchain for 6502 and 65816

Please consider at least running a github if only for your example code and updated binaries so that we can post issues. Since this appears to be the only place to talk with you and provide feedback, I have no choice but to post a long message.

Im creating a c64 target (for the supercpu), but ...
by xlar54
Thu Feb 24, 2022 4:01 pm
Forum: Programming
Topic: Calypsi C compiler toolchain for 6502 and 65816
Replies: 81
Views: 15210

Re: Calypsi C compiler toolchain for 6502 and 65816

a question for OP. docs say:


18.3 Calling convention
The calling convention is fairly complex in all its details, but for most common situations it is reasonable
simple.
If parameters are passed on the stack the caller is responsible for doing any cleanup. The called function can
use any ...