Introducing the C256 Foenix

The C256 Foenix is a “new” retro computer based on the WDC 65C816 running @ 14Mhz. The idea behind this creation is to come up with a computer that could have possibly followed the Commodore 128 if things would have been different at Commodore at the time.

I set out to create this machine as much as I could with the limitation of the time (circa 1987). I am using 3 small FPGAs that could be considered as new custom chips design by the MOS team. Aside of certain anachronisms, which I could not go without, I have tried relentlessly to keep the feel of the epoch.

When the design will be finished, I would possibly compare it to a more powerful version of the following computers: The Apple IIGS, the SNES (both used the 65C816) and the Amiga despite the fact that we are using a 8/16 processor as opposed to a 32Bits CPU like the MC68000.

-Stefany

Command Parser Dev

Hey everyone,

here is a small link to a video where I am actually using a command to do something.

I have begun implementing the command parser that has been long overdue.

Now, the command parser recognizes the commands, I just need to implement the rest of the code to support every command in the list



MD .block
CLS .text $03, "CLS", $00, CMD_ARGTYPE_NO, ENTRY_CMD_CLS ; Clear Screen
DIR .text $03, "DIR", $00, CMD_ARGTYPE_DEV, ENTRY_CMD_DIR ; @F, @S
EXEC .text $04, "EXEC", $00, CMD_ARGTYPE_SA, ENTRY_CMD_EXEC ; EXEC S:$00000
LOAD .text $04, "LOAD", $00, (CMD_ARGTYPE_DEV | CMD_ARGTYPE_FN | CMD_ARGTYPE_EA), ENTRY_CMD_LOAD ; "LOAD @F, "NAME.XXX", D:$000000
SAVE .text $04, "SAVE", $00, (CMD_ARGTYPE_DEV | CMD_ARGTYPE_FN | CMD_ARGTYPE_SA | CMD_ARGTYPE_EA), ENTRY_CMD_SAVE ; SAVE @F, "NAME.XXX", S:$000000, D:$000000
PEEK8 .text $05, "PEEK8", $00, CMD_ARGTYPE_SA, ENTRY_CMD_PEEK8 ; PEEK8 $000000
POKE8 .text $05, "POKE8", $00, (CMD_ARGTYPE_SA | CMD_ARGTYPE_8D), ENTRY_CMD_POKE8 ; POKE8 $000000, $00
PEEK16 .text $06, "PEEK16", $00, CMD_ARGTYPE_SA, ENTRY_CMD_POKE16, ENTRY_CMD_PEEK16 ; PEEK16 $000000
POKE16 .text $06, "POKE16", $00, (CMD_ARGTYPE_SA | CMD_ARGTYPE_16D), ENTRY_CMD_POKE16 ; POKE16 $000000, $0000
RECWAV .text $06, "RECWAV", $00, (CMD_ARGTYPE_DEV | CMD_ARGTYPE_FN) , ENTRY_CMD_RECWAV ; RECWAV @S, "NAME.XXX" (Samples)
EXECFNX .text $07, "EXECFNX", $00, CMD_ARGTYPE_FN, ENTRY_CMD_EXECFNX ; "EXECFNX "NAME.XXX"
GETDATE .text $07, "GETDATE", $00, CMD_ARGTYPE_NO, ENTRY_CMD_GETDATE ; GETDATE
GETTIME .text $07, "GETTIME", $00, CMD_ARGTYPE_NO, ENTRY_CMD_GETTIME ; GETTIME
MONITOR .text $07, "MONITOR", $00, CMD_ARGTYPE_NO, ENTRY_CMD_MONITOR ; MONITOR TBD
PLAYRAD .text $07, "PLAYRAD", $00, (CMD_ARGTYPE_DEV | CMD_ARGTYPE_FN), ENTRY_CMD_PLAYRAD ; PLAYRAD @S, "NAME.XXX" (music File)
PLAYWAV .text $07, "PLAYWAV", $00, (CMD_ARGTYPE_DEV | CMD_ARGTYPE_FN), ENTRY_CMD_PLAYWAV ; PLAYWAV @S, "NAME.XXX" (samples)
SETDATE .text $07, "SETDATE", $00, CMD_ARGTYPE_DAT, ENTRY_CMD_SETDATE ; SETDATE YY:MM:DD
SETTIME .text $07, "SETTIME", $00, CMD_ARGTYPE_TIM, ENTRY_CMD_SETTIME ; SETTIME HH:MM:SS
SYSINFO .text $04, "SYSINFO", $00, CMD_ARGTYPE_NO, ENTRY_CMD_SYSINFO
DISKCOPY .text $08, "DISKCOPY", $00, CMD_ARGTYPE_DEV, CMD_ARGTYPE_DEV, ENTRY_CMD_DISKCOPY ; DISKCOPY @F, @F
SETTXTLUT .text $09, "SETTXTLUT", $00, (CMD_ARGTYPE_DAT | CMD_ARGTYPE_RGB), ENTRY_CMD_SETTXTLUT ; SETLUT $00, $000000
.bend

More video will come as things progress... Stay tuned.

S