Family BASIC VRC7 conversion released!

Started by P, January 24, 2013, 05:44:43 pm

Previous topic - Next topic

P

January 24, 2013, 05:44:43 pm Last Edit: August 30, 2015, 02:56:57 pm by P
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

P

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

satoshi_matrix

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.

P

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

L___E___T

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.
My for Sale / Trade thread
http://www.famicomworld.com/forum/index.php?topic=9423.msg133828#msg133828
大事なのは、オチに至るまでの積み重ねなのです。

P

January 24, 2014, 04:07:24 pm #5 Last Edit: August 30, 2015, 02:58:36 pm by P
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)」





P

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.

P

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.

P

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.

P

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.