The 3DO uses an ARMv3 based processor: the ARM60. * 32bit Addressing * Clocked at 12.5MHz * 10 MIPS @ 12MHz ===== Datasheets / Documents ===== * {{:documentation:hardware:arm60_datasheet_-_zarlink_semiconductor.pdf|ARM60 datasheet (Zarlink Semiconductor)}} * {{:documentation:hardware:arm60_datasheet_-_gec_plessey_semiconductors.pdf|ARM60 datasheet (Gec Plessey Semiconductors)}} * {{:documentation:hardware:arm60_datasheet_-_vlsi_technology.pdf|ARM60 datasheet (VLSI Technology)}} * {{:documentation:hardware:arm_image_format.pdf|ARM Image Format}} * {{:documentation:hardware:fixed_point_arithmetic_on_the_arm.pdf|Fixed Point Arithmatic on the ARM}} * {{:documentation:hardware:writing_efficient_c_for_arm.pdf|Writing Efficient C for ARM}} * {{:documentation:hardware:procedure_call_standard_for_the_arm_architecture.pdf|Procedure Call Standard for the Arm Architecture}} * {{:documentation:hardware:arm_opcode_reference.pdf|ARM opcode reference}} ===== Docs about ARM from 3DO ===== * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/0arrfrst.html|ARM Reference Manual]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr1frst.html#XREF37859|The ARM C Compiler]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr2frst.html#XREF25147|ARM C Library Porting Guide]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/arrfldr/arr3frst.html#XREF25184|The ARM Linker]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/0atsfrst.html|ARM Technical Specifications]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats1frst.html#XREF23107|ARM Image Format]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats2frst.html#XREF16187|ARM Object Format]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats3frst.html#XREF40359|ARM Object Library Format]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/atsfldr/ats4frst.html#XREF28151|ARM Procedure Call Standard]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/0augfrst.html|ARM User's Guide]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug1frst.html#XREF20531|The ARM C Compiler]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug2frst.html#XREF22713|The ARM Assembler (armasm)]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug3frst.html#XREF21025|The ARM Linker (armlink)]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug4frst.html#XREF15841|The ARM Librarian (armlib)]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug5frst.html#XREF39634|The ARM Object Format Decoder (decaof)]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug6frst.html#XREF20727|An Introduction to the Run-Time Libraries]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/augfldr/aug7frst.html#XREF15616|ARM Assembly Language]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/0acbfrst.html|ARM Cookbook]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb1frst.html#XREF13490|ARM Instruction Set and Processor Features]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb2frst.html#XREF32584|Exploring ARM Assembly Language]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb3frst.html#XREF41444|Interfacing Assembly Language and C]] * [[https://ext.3dodev.com/3DO/Portfolio_2.5/OnLineDoc/DevDocs/tktfldr/acbfldr/acb4frst.html#XREF37173|Programming in C]] ===== RAM and Hardware Access Latency ===== |Non-sequential RAM|5 ticks| |Short non-sequential|3 ticks (add internal if page changed)| |Sequential RAM reads|2 ticks| |Sequential RAM writes|2 ticks| |Internal|2 ticks| |Non-sequential CLIO registers|5 ticks minimum| |Sequential CLIO registers|3 ticks minimum| |Non-sequential MADAM registers|5 ticks minimum| |Sequential MADAM registers|2 ticks minimum| |ROM|35 ticks| |Non-sequential Trace|5 ticks minimum| |Sequential Trace|3 ticks minimum| |SPORT reads|7 ticks| |SPORT writes|6 ticks| |SlowBus (short)|7 ticks| |SlowBus (long)|13 ticks| |Hardware after Internal|5 ticks, but 2nd tick is longer (hw decoder)| ===== =====