Difference between revisions of "Peripheral Soft Reset"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Created page with 'Port F8FFh is an undocumented and rarely known I/O address, used by the standard BIOS functions MC_BOOT_PROGRAM and MC_START_PROGRAM (vector BD13h and BD16h). These functions are…')
 
(Known Hardware)
Line 11: Line 11:
 
== Known Hardware ==
 
== Known Hardware ==
  
There's no hardware known to use the Soft Reset feature - though when reverse engineering things by only examining the software drivers one may easily miss it, since the OUT is issued by the BIOS, not by the driver.
+
The Soft Reset feature isn't too useful, and there's no hardware known to use that (though when reverse engineering things by only examining the software drivers one may easily miss its presence, since the OUT is issued by the BIOS, not by the driver).
  
The only known hardware that is - maybe unintentionally - using Port F8FFh is [[CPCISA by Yarek]].
+
The only known hardware that is (maybe unintentionally) using Port F8FFh is [[CPCISA by Yarek]].
 +
 
 +
Moreover, there are probably various devices that do not directly use Port F8FFh, but that do react to the OUT because of incomplete port decoding. For example, the [[ACU Real Time Clock (DIY)]] decodes only A10,A4,A3 of it's Port FBFFh, and so, it will also react to OUT [F8FFh],FFh.

Revision as of 17:05, 10 January 2010

Port F8FFh is an undocumented and rarely known I/O address, used by the standard BIOS functions MC_BOOT_PROGRAM and MC_START_PROGRAM (vector BD13h and BD16h). These functions are usually executed when starting a binary program with RUN"FILENAME.BIN", both functions do issue an "OUT [F8FFh],FFh". This feature is apparently intended to allow Peripherals to re-initialize themselves when needed.

Avoid this

  • Software should never write to (or even read from) Port F8FFh. That might cause connected Peripherals to reset themselves.
  • Hardware should not perform any actions (other than the intended Soft Reset action) upon accessing Port F8FFh. Eg. producing hardware that formats the disc on write to Port F8FFh would be no good. This applies also on incompletely decoded addresses, eg. formatting on write to Port F8F0h, but also mirroring that action to F8FFh.
  • When intentionally using the feature, be sure to have the port fully decoded. Ie. do not re-initialize your hardware on writes to other 'nearby' ports like F8EFh (Schneider RS232 Interface).

Known Hardware

The Soft Reset feature isn't too useful, and there's no hardware known to use that (though when reverse engineering things by only examining the software drivers one may easily miss its presence, since the OUT is issued by the BIOS, not by the driver).

The only known hardware that is (maybe unintentionally) using Port F8FFh is CPCISA by Yarek.

Moreover, there are probably various devices that do not directly use Port F8FFh, but that do react to the OUT because of incomplete port decoding. For example, the ACU Real Time Clock (DIY) decodes only A10,A4,A3 of it's Port FBFFh, and so, it will also react to OUT [F8FFh],FFh.