| SVC | hl de bc n -- hl de bc af | Execute a RomWBW function |
| P! | n p -- | Write a byte to a I/O port |
| P@ | p -- n | Read a byte from and I/O port |
## Play a Game
### 2048
## Play a Game (2048)
2048 is a puzzle game that can be both mindless and challenging. It
appears deceptively simple but failure can creep up on you suddenly.
@ -750,29 +670,38 @@ including a section on network booting.
## Xmodem Flash Updater
The RomWBW Xmodem flash updater provides the capability to update RomWBW from the boot loader using an x-modem file transfer. It offers similar capabilities to Will Sowerbutts FLASH4 utility except that the flashing process occurs during the file transfer.
The RomWBW Xmodem flash updater provides the capability to update RomWBW
from the boot loader using an x-modem file transfer. It offers similar
capabilities to Will Sowerbutts FLASH4 utility except that the flashing
process occurs during the file transfer.
These are the key differences between the two methods are:
Available from the boot loader | Well proven and tested
Xmodem transfer is integrated | Wider range of supported chips and hardware
Integrated checksum utilities | Wider range of supported platforms
Capability to copy a ROM image | Only reprograms sectors that have changed
More convenient one step process | Ability save and verify ROM images
No intermediate storage required | Progress display while flashing
. | Displays chip identification information
. | Faster file transfer
The major disadvantages of the Updater is that it is new and relatively untested. There is the risk that a failed transfer will result in a partially flashed and unbootable ROM. There are some limitations on serial transfer speeds.
The updater utility was initially intended to support the Retrobrew SBC-V2-005 platform using Atmel 39SF040 flash chips but has now been extended to be more generic in operation.
The Atmel 39SF040 chip is recommended as it can erase and write 4Kb sectors. Other chips require the whole chip to be erased.
The Atmel 39SF040 chip is recommended as it can erase and write 4Kb sectors.
Other chips require the whole chip to be erased.
### Usage
@ -784,11 +713,21 @@ In most cases, completing a ROM update is a simple as:
4. Initiating an X-modem transfer of your ROM image on your console device
5. Selecting option R - Reboot
If your console device is not able to transfer a ROM image i.e. your console is a VDU then you will have to use the console options to identify which character-input/output device is to be used as the serial device for transfer.
If your console device is not able to transfer a ROM image i.e. your console
is a VDU then you will have to use the console options to identify which
character-input/output device is to be used as the serial device for transfer.
When your console is the serial device used for the transfer, no progress information is displayed as this would disrupt the x-modem file transfer. If you use an alternate character-input/output devices as the serial device for the transfer then progress information will be displayed on the console device.
When your console is the serial device used for the transfer, no progress
information is displayed as this would disrupt the x-modem file transfer.
If you use an alternate character-input/output devices as the serial device
for the transfer then progress information will be displayed on the console device.
Due to different platform processor speeds, serials speeds and flow control capabilities the default console or serial device speed may need to be reduced for a successful transfer and flash to occur. The **Set Console Interface/Baud code** option at the Boot Loader can be used to change the speed if required. Additionally, the Updater has options to set to and revert from a recommended speed.
Due to different platform processor speeds, serials speeds and flow
control capabilities the default console or serial device speed may
need to be reduced for a successful transfer and flash to occur.
The **Set Console Interface/Baud code** option at the Boot Loader can
be used to change the speed if required. Additionally, the Updater has
options to set to and revert from a recommended speed.
See the RomWBW Applications guide for additional information on performing upgrades.
@ -797,11 +736,16 @@ Option ( C ) - Set Console Device
Option ( S ) - Set Serial Device
By default the updater assumes that the current console is a serial device and that the ROM file to be flashed will also be transferred across this device, so the Console and Serial device are both the same.
By default the updater assumes that the current console is a serial device
and that the ROM file to be flashed will also be transferred across this
device, so the Console and Serial device are both the same.
Either device can be can be change to another character-input/output device but the updater will always expect to receive the x-modem transfer on the **Serial Device**
Either device can be can be change to another character-input/output
device but the updater will always expect to receive the x-modem
transfer on the **Serial Device**
The advantage of transferring on a different device to the console is that progress information can be displayed during the transfer.
The advantage of transferring on a different device to the console
is that progress information can be displayed during the transfer.
Option ( > ) - Set Recommended Baud Rate
@ -870,21 +814,32 @@ load CP/M and perform the normal x-modem / flash process to recover.
Option ( 1 ) and ( 2 ) - Calculate and display CRC32 of 1st or 2nd 512k ROM.
Option ( 3 ) - Calculate and display CRC32 of a 1024k (2x512Kb) ROM.
Can be used to verify if a ROM image has been transferred and flashed correctly. Refer to the Tera Term section below for details on configuring the automatic display of a files CRC after it has been transferred.
Can be used to verify if a ROM image has been transferred and flashed
correctly. Refer to the Tera Term section below for details on
configuring the automatic display of a files CRC after it has been
transferred.
In Windows, right clicking on a file should also give you a context menu option CRC SHA which will allow you to select a CRC32 calculation to be done on the selected file.
In Windows, right clicking on a file should also give you a context
menu option CRC SHA which will allow you to select a CRC32 calculation
to be done on the selected file.
### Tera Term macro configuration
Macros are a useful tool for automatic common tasks. There are a number of instances where using macros to facilitate the update process could be worthwhile if you are:
Macros are a useful tool for automatic common tasks. There are a
number of instances where using macros to facilitate the update
process could be worthwhile if you are:
* Following the RomWBW development builds.
* Doing lots of configuration changes.
* Doing development on RomWBW drivers
Macros can be used to automate sending ROM updates or images and for my own purposed I have set up a separate macro for transferring each of the standard build ROM, my own custom configuration ROM and update ROM.
Macros can be used to automate sending ROM updates or images and
for my own purposed I have set up a separate macro for transferring
each of the standard build ROM, my own custom configuration ROM
and update ROM.
An example macro file to send an *.upd file, using checksum mode and display the crc32 value of the transmitted file:
An example macro file to send an *.upd file, using checksum mode
and display the crc32 value of the transmitted file:
```
Xmodem send, checksum, display crc32
@ -896,39 +851,45 @@ messagebox inputstr 'crc32'
### Serial speed guidelines
As identified in the introduction, there are limitations on serial speed depending on processor speed and flow control settings. Listed below are some of the results identified during testing.
Configuration | Processor Speed | Maximum Serial Speed