Post Reply 
Genesis 41 Emulator by Laurent Spohr
06-22-2021, 12:55 AM (This post was last modified: 06-23-2021 12:19 PM by Sylvain Cote.)
Post: #19
RE: Genesis 41 Emulator by Laurent Spohr
(06-21-2021 07:39 PM)rprosperi Wrote:  Folks like Sylvain may be able to suggest alternate ways of copying programs to the Mac, but in all likelihood, those methods are more tedious than just simply keying them in.
Party pooper! LOL
It turn out that you were right, so I offer you my sincere apology for having teased you.
The procedures are more tedious if you want to copy 1 or 2 programs although it pays off if you have a bunch of programs to transfers between the 41CL and the emulator.
Still, an apology where in order here.

Here is the procedure to transfer programs from a 41CL to Genesis-41 (or any other emulator) using RAMBox32 and the serial port.
Code:
MMUDIS              // MMU Disable
MMUCLR              // MMU Clear, I always include this step in my procedures to avoid conflict with other configurations, but you can skip this line if you know what you are doing
TURBOX              // needed to see RAMBox32 messages
"YFNX"              // 41CL Extreme Function ROM ID (XROM:15)
PLUG1L              // Plug module to page 8
"RM32"              // RAMBox 32 ROM ID (XROM:31)
PLUG1U              // Plug module to page 9
"820-RAM"           // Use a 4K 10 bits RAM block to be used as QROM
PLUG2               // Plug module to page 10
"820000-0000"       // Write 0 to the entire 4K QROM space
YMCLR               // Erase QROM space
MMUEN               // MMU Enable 
2                   // QROM XROM:2 (Y register)
10                  // QROM page   (X register)
"MY-PROGS 1A"       // ROM name
INITPG              // RB32 Init Page
CAT 2               // "MY-PROGS 1A" should be displayed at some point
                    // For each program that we want to copy from main RAM into QROM
"PROG1"             //   Enter program name in ALPHA
10                  //   Specify QROM page
LDPGM               //   RB32 Copy program from main RAM into QROM
                    // For-end
CAT 2               // When "MY-PROGS 1A" is displayed, press R/S, then ENTER and you should see all your programs that you have uploaded into QROM
10                  // QROM page   (X register)
"MP1A"              // ROM Revision (here: My Programs 1A)
ENDPG               // RB32 Close the page, save the ROM revision and calculate page checksum and write it to AFFFB-AFFFF, you should see "MP-1A BROKEN" at the end, it is normal
10                  // QROM page   (X register)
PGSUM               // RB32 Calculate page checksum, write it to AFFFF and display the result, you should see "MP-1A INTACT" at the end, it is normal
                    // Plug your serial cable into your 41CL and into your computer
MMUEN               // Reactivate the MMU, plugging/unplugging the serial cable sometime deactivate the MMU
SERINI              // Initialise 41CL serial port
48                  // Communication speed 4800 baud (X register)
PBAUD               // Activate comm speed
50                  // 50x speed increase (X register)
PTURBO              // needed for data communication
"820000-0FFF"       // QROM address and number of bytes to transfer
                    // On your PC from the command line type: java -jar clupdate-1.1.0.jar --download mp1a.rom /dev/tty.usbserial 4800 [return]
YEXP                // Start the export from the 41CL
                    // Something similar as this should be displayed on your computer
                    // 20:39:54 --download  [fileName: mp1a.rom] [portName: /dev/tty.usbserial] [baudRate: 4800]
                    // 20:39:54 Serial     /dev/tty.usbserial opened.
                    // 20:39:54 Receiving  1339 2187 2187 2186 293 = 8192 bytes received
                    // 20:40:25 File       mp1a.rom saving ... done [YCRC=0xE686AD0E]
                    // 20:40:29 Serial     /dev/tty.usbserial closed.            
"820"               // QROM address
YCRC                // Calculate CRC and verify that it match the one calculated on your PC (in my case: E686AD0E)
                    // Copy the mp1a.rom to: /Applications/Genesis-41.app/Contents/Resources/ROMS/
                    // In Genesis-41 load mp1a.rom to let says page 10 and do a CAT 2 and you should see your programs

To see all the steps in one block, click on the "View a Printable Version" at the bottom of this page.

Sylvain

edit 1: the above procedure was successfully tested with a 41CL v5, macOS Big Sur (11.4) and Java 11 (OpenJDK Runtime Environment AdoptOpenJDK, build 11.0.7+10)
edit 2: cosmetic changes
edit 3: changed speed from 50x to 1x to see RAMBox32 messages, inverted the order of PGSUM and ENDPG
edit 4: added 50x speed increase before doing the ROM export (YEXP)
edit 5: apology & typos
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Genesis 41 Emulator by Laurent Spohr - Sylvain Cote - 06-22-2021 12:55 AM



User(s) browsing this thread: 13 Guest(s)