Famicom World

Family Computer => Famicom / Disk System => Topic started by: P on January 24, 2013, 11:44:43 PM



Title: Family BASIC VRC7 conversion released!
Post by: P on January 24, 2013, 11:44:43 PM
This person called Makimura have just released patches that converts a Family BASIC V2.1A or V3.0A ROM to one with VRC7 FM sound chip support and expanded memory to 8kB (normally V2 has 2k and V3 has 4k).

He also eliminated the need for the backup switch. There's also something about a PCG which makes it possible to rewrite the character data.

He wrote some programs that make use of these features and doesn't work on a normal Family Basic. Among them a program that changes the alphanumeric font to an MSX font.

Link: http://rdev.g-pw.org/makimura/vrc7-basic
New link: http://rdev.php.xdomain.jp/makimura/archive/family-basic/vrc7-basic-v3


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on January 25, 2013, 05:31:35 PM
I knew you would like it! :)

I tried to paste one of his programs in nestopia but the program turned out all glitchy. I guess the formatting was messed up when I copy pasted or something.

Here is a video of when he changes the font: http://www.youtube.com/watch?v=muxEZnYbSZs


Title: Re: Family BASIC VRC7 conversion released!
Post by: satoshi_matrix on January 27, 2013, 09:46:47 PM
80sFREAK, I notice you have a YM 2413 your using there. Are you able to find those authentic Yamaha produced versions of that chip in Japan? I need one for a Sega Master System expansion sound board. The one I have is a Chinese produced fake. I need one made from between 1987 to 1991.

Depending on the age of the chip, the second row is like this:

xx xx xx xx x

or

xxxx xxxx


I am looking for chips marked

7X XX XX X
or
8X XX XX X
or
9X XX XX X

OR

90XX XXXX
or
91XX XXXX


The characters represented by x do not matter, but the first digits as indicated do matter. The one you have there is from 1994, and that runs the risk of being fake.

If you have can find any of the years as mentioned above, please tell me. I will buy two of them from you.


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on January 24, 2014, 10:16:52 AM
Makimura are working on an MMC5 mod now! https://twitter.com/makimura_mfg/status/426326662595104768/photo/1
Free area is now four 16kB banks of which two are dedicated for saving, one is unused and the last one is for work area. CHR RAM again of course!

Too bad neither PowerPak nor Everdrive supports MMC5. :(


Title: Re: Family BASIC VRC7 conversion released!
Post by: L___E___T on January 24, 2014, 01:06:07 PM
Everdrive does support MMC5 now as of FW 9 - it's not working perfectly yet, but some games are playable. 
SDF has the intro garbled, but once you start the game it runs fine.


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on January 24, 2014, 10:07:24 PM
Oh you are right! But unfortunately it just partly supports MMC5 like the Powerpak.



Edit: Looks like he is done http://rdev.g-pw.org/makimura/family-basic/mmc5-basic
New link: http://rdev.php.xdomain.jp/makimura/archive/family-basic/mmc5-basic


Added functions:

  • Free area has been expanded from 4k to 16k. 4 times as much capacity.
  • PCG - It's possible to change character data
  • Increased capacity for saving. It's now possible to save two 16k programs in the cart.
  • Backup reliability up. Work area and backup area are now separate.

It also looks like he added some new commands as well as modified existing ones.

PROGRAM P 〔,Sw〕
Starts a program that's in the ROM
※ Was called GAME before
P... Program number 0~5
Sw... Transfer background screen (1=yes, 0=no, omit=no)


BACKUP B
Backs up a program or BG data to one of the banks.
※ Altered command
B... bank number 0~1


CGRESET (Charagene Reset)
Initializes the contents of the PCG (programmable character generator CHR-RAM).


MEMINI 〔B〕 (Memory Initialize)
Erases the work memory or the save memory.
B... Target bank 0~3
    0~1 Save bank
    2 Unused bank
    3 Work bank
※ Default is erasing the work bank.


BDLOAD B (Backup Data Load)
Reads the save bank data into the program data
B... Save bank number 0~1


Function keys was also changed:

F1 ・・・ 「LOAD(M)」

F2 ・・・ 「CGRESET(M)」

F3 ・・・ 「GOTO」

F4 ・・・ 「CHR$(」

F5 ・・・ 「SPRITE」

F6 ・・・ 「CONT(M)」

F7 ・・・ 「LIST(M)」

F8 ・・・ 「RUN(M)」






Title: Re: Family BASIC VRC7 conversion released!
Post by: P on February 14, 2014, 09:43:25 AM
Yeah probably he disassembled it.

I'm not sure what you mean most needed and most useless operators? Logical operators? Mathematical operators? I translated everything on the MMC5 Basic site though I haven't tested it myself.

Looks like he updated it:

V0.9β2 2014/01/29
●Removed the OV error that happens when saving a program that is larger than 8k.
●Changed so that the nametable isn't initialized upon executing BDLOAD.


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on February 14, 2014, 11:27:07 AM
Oh I see. Yeah KEYLIST is definitely the most useless one. I never really used LINPUT and I guess you can get by SYSTEM just by turning the backup switch on while still in BASIC mode and then turn the Famicom off. I don't think it would harm anything.

For the most useful ones, I'm not sure but it's hard to program anything without any kind of flow control, like a FOR loop or at least GOTO and of course IF. Then there are a ton of more or less equally needed commands depending on what kind of program you want to write.

The three most technically useful ones would be PEEK(), POKE() and CALL. Because with just those three you can still program with in line 6502.


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on February 15, 2014, 09:01:51 PM
You mean if you would replace the three most useless ones with three entirely new ones?

I'm not sure if there's anything really needed. V3 added some new functions like one for collision checking so maybe something similar? Like a dialogue window function. Scrolling would also be cool but I'm not sure how much scrolling you can do when V3 only can save two screens.


Title: Re: Family BASIC VRC7 conversion released!
Post by: P on February 16, 2014, 07:53:58 AM
DIR for a file system? Wouldn't that need additional commands like CD, COPY, ERASE etc? A file system would be very useful though.

TRACKER like a music tracker as an alternative to the built-in MML?

ASSEMBLER would indeed be useful! 6502 assembler on real hardware would make it possible to make much faster programs than the interpreted ones. And you wouldn't need to assemble it by yourself first like you have to do with the CALL command.