Modifications

Sound - Boot "BEEP" modification

There is no inbuilt sound on the SBC V2-003 board. Complex sound output can be achieved with the ECB-SCG (Sprite-Colour-Graphics) board.

Rudimentary sound support can be add the SBC V2 by utilizing one of the unused outputs of the RTC interfacing latch and connecting a simple amplifier to this output.

On U18 74LS174 connect a ground wire from pin 8 and a signal wire from pin 2 to an amplifier. Generic LM386 amplifiers are available from many sources and work well.

With this addition and the SPKENABLE setting set to TRUE in ROMWBW, the SBC V2 will issue a beep sound on bootup.

A transistor speaker driver has been incorporated in the SBC-V2-004 so a speaker can be connected directly to the board.

Sound support has been added to NASCOM BASIC in ROMWBW 2.9.2-pre.17:

PLAY O,N,D

Where:
 O = OCTAVE 0-8
 N = NOTE 0-11
 D = DURATION 1-8 (8ths of a second)

Example:
 Middle C for one second = PLAY 4,0,8

Speed switch modification:

The following modification allows the cpu clock speed to be changed from full to half speed under program control. The purpose of this modification is to provide a level of compatibility with MSX applications while retaining the high speed capability. Specifically a 7.159Mhz crystal can be installed for normal operation including high density floppy disk support but be switched to 3.5795Mhz to drive the Sprite Colour Graphics board when required.

This modification requires a 74LS74 to be modified and mounted on top of U4. Five leads are required to connect to other parts of the circuit. Suggested installation method:

Prepare connection points for new clock source:

  1. Remove Z80 CPU U4 and fold out pin 6 and reinsert.
  2. Remove 74LS244 U17 and fold out pin 6 and reinsert.

Prepare a 74LS74 for mounting on 74LS10 U4

  1. Fold up pins 1-6 and 8-13 and snip off the ends leaving the stubs. Pin 7 and 14 remain for connecting to 74LS10 U4.
  2. Solder a wire from pin 14 to pin 1 and then to pin 11 (brown wire).
  3. Solder a wire from pin 4 to pin 9 (blue wire)
  4. Solder wire from pin 13 to pin 5 (green wire)
  5. Solder wire from pin 12 to pin 7 (yellow wire)

Mounting 74LS74 and connecting flying leads on component side of board:

  1. Place the 74LS74 over 74LS10 U4 so only pin 7 and 14 are touching.
  2. Solder pin 14's together and pin 7's together.
  3. Solder a wire from pin 2 of the 74LS74 to pin 5 of 74LS174 U18 (purple wire)
  4. Solder a wire from pin 11 of the 74LS74 to pin 12 of 74LS06 U26 (orange wire)
  5. Solder a wire from pin 3 of 74LS74 to pin 13 74LS06 U26 (red wire).
  6. Solder a wire from 7 of the 74LS74 to lifted pin 6 of 74LS244 U17 and then to lifted pin 6 of Z80 CPU U24 (yellow wire)

Solder side connections:

  1. Solder wire from pin 5 of CPU clock P4 to pin 13 74LS06 U26 (red wire).

Software control

Bit 4 of port 70h is used to select the clock speed. The normal condition is for Bit 4 to be set to 0 (low) and this will select the full clock speed of the installed crystal. Writing a 1 (high) to Bit 4 of port 70h will activate the 74LS74 clock divider. The speed switch is currently not supported in ROMWBW. Use of the RTC or speaker will reset Bit 4 to 0 i.e. full speed operation. Further, precalculated software delays or delays based on the initial speed detected at boot time do not take into account the possibility of the speed changing.

Demonstration code:

1 OUT 112,0
2 PRINT "NORMAL SPEED"
3 GOSUB 10
4 OUT 112,8
5 PRINT "SLOW SPEED"
6 GOSUB 10
7 END
10 FOR X=1 TO 64
20 PRINT ".";
30 FOR Y=1 TO 256
40 NEXT Y
50 NEXT X
60 PRINT
70 RETURN

Demonstration video

Recovery mode switch modification:

In some situations, reflashing a new ROMWBW image may result in an inaccessible system. This may happen when conflicts occur due to enabling additional ROMWBW features, when additional drivers are selected or during development.

A basic recovery mode process can be activated, so that the minimum driver set is activated on boot. This is achieved by activating the BT_REC_TYPE option in your custom configuration. When activated ROMWBW will check an input at boot time to see if the recovery mode should be activated. A number of options can be selected to define what this input is.

Example:

SBC_std_cust.asm

BT_REC_TYPE    .SET    BT_REC_SBC1B    ; CHECK 1-BIT IO PORT

Boot recover input options:

BT_REC_NONE      NO RECOVERY MODE
BT_REC_FORCE     FORCE BOOT RECOVERY MODE
BT_REC_SBC01     BIT 1 RTC HIGH
BT_REC_SBC1B     1-BIT IO PORT
BT_REC_SBCRI     16550 UART RING INDICATOR LINE

BT_REC+SBC1B utilized the existing 1-BIT IO jumper header on the SBC-V2. Connecting a push buttons switch to this header is all that is required. However, this will override the CRTACT option if that is in use. The following two options use other inputs that do not interfere with existing setting but require modification to the board

BT_REC_SBC01 uses the RTC data line and requires soldering a push button switch to GND and RTC clock data line.

BT_REC_SBCRI used the unused 16550 UART Ring Indicator line as an input. A more complex modification required. The ring indicator pin needs to be lifted out of the socket and a resistor and push button switch wired in.

boards/sbc/sbc_v2/sbc_v2-003/development.txt · Last modified: 2020/11/25 08:57 by b1ackmai1er
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0