Category:JJFS BASIC
This page was last modified 22:35, 3 June 2023 by Mars2000you.

Contents

Description

JJFS BASIC is an extension that comes with the JJFS.ROM included in the JJFS zip file created by the Japanese fan Tiny Yarou.

It can be used on any MSX with at least 64kB RAM (If you burn it to ROM, it will work on any MSX with at least 8kB RAM). You can download it here.

Link : http://www.tiny-yarou.com/joyjoy_fs.html (Japanese)

JJFS means Joy Joy File System, it allows to communicate between

  • two MSX computers by connecting their joystick ports 2
  • MSX and PC (Windows) computers by connecting the joystick port 2 of the MSX and the RS-232C port of the PC

A specific cable is required. This system was inspired by the Joy232 project of the Brasilian fan Danjovic. It allows data communication at 38400 bps. See also https://jjfs.ocitygate.com/

Installation

  • Make first the above mentioned connection between MSX and PC (Windows)
  • On PC: run JoyJoyFileServer.exe, then click on Connect
  • On MSX: execute JJFS.BAS (note: WAV versions are also provided)
  • ON PC: click on Install

Instructions (general info)

This extension adds 17 new instructions.

Note: CALL can be replaced by the character underscore (_). A space is not required after this character. See CALL for more info.

Instructions (ordered per category)

CPU Mode

Instruction Generation Function
CALL JJCHGCPU MSX turbo R Sets the CPU mode


Data Storage

Instruction Generation Function
CALL JJDLOAD MSX1 Loads pure binary code (without BLOAD header) from the floppy disk in drive A
CALL JJDSAVE MSX1 Saves RAM area as pure binary file (without BLOAD header) to floppy disk in drive A
CALL JJFILESIZE MSX1 Returns the size of a file available on the drive of the connected PC in a variable


Debugging

Instruction Generation Function
CALL JJDUMP MSX1 Dumps a part of the computer memory (RAM or VRAM) starting at a specified address


MSX/PC Synchronisation

Instruction Generation Function
CALL JJINPUT MSX1 Enables/disables text transmission synchronization between MSX and PC (Windows) computers


MSX → PC Transfer

Instruction Generation Function
CALL JJBSAVE MSX1 Saves area of MSX RAM to connected PC as "File Serving Folder" specified in "Joy Joy File Server"
CALL JJSAVE MSX1 Same effect as CALL JJBSAVE but as pure binary file (without BLOAD header)


PC → MSX Transfer

Instruction Generation Function
CALL JJBLOAD MSX1 Loads binary code from connected PC as "File Serving Folder" specified in "Joy Joy File Server"
CALL JJLOAD MSX1 Same effect as CALL JJBLOAD but as pure binary file (without BLOAD header)


Serial Communication

Instruction Generation Function
CALL JJRECV MSX1 Writes the data input from joystick port 2 to the specified area of MSX memory
CALL JJRECVBYTE MSX1 Stores 1-byte data input from the joystick port 2 in an integer variable
CALL JJRECVMSG MSX1 Stores string input from the joystick port 2 in a string variable
CALL JJSEND MSX1 Sends a specified area of MSX memory to the joystick port 2
CALL JJSENDBYTE MSX1 Sends 1-byte data to the joystick port 2
CALL JJSENDMSG MSX1 Sends a string to the joystick port 2


VRAM Access

Instruction Generation Function
CALL JJVRAMPAGE MSX2 Selects the 64kB part of the VRAM you want to use for loading and saving operations
on MSX2 and higher machines with at least 128kB VRAM


Instructions (alphabetical order)

Instruction Generation Type
CALL JJBLOAD MSX1 PC → MSX Transfer
CALL JJBSAVE MSX1 MSX → PC Transfer
CALL JJCHGCPU MSX turbo R CPU Mode
CALL JJDLOAD MSX1 Data Storage
CALL JJDSAVE MSX1 Data Storage
CALL JJDUMP MSX1 Debugging
CALL JJFILESIZE MSX1 Data Storage
CALL JJINPUT MSX1 MSX/PC Synchronization
CALL JJLOAD MSX1 PC → MSX Transfer
CALL JJRECV MSX1 Serial Communication
CALL JJRECVBYTE MSX1 Serial Communication
CALL JJRECVMSG MSX1 Serial Communication
CALL JJSAVE MSX1 MSX → PC Transfer
CALL JJSEND MSX1 Serial Communication
CALL JJSENDBYTE MSX1 Serial Communication
CALL JJSENDMSG MSX1 Serial Communication
CALL JJVRAMPAGE MSX2 VRAM Access