README.txt 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. P112 README
  2. ===========
  3. The P112 is notable because it was the first of the hobbyist single board
  4. computers to reach the production stage. The P112 hobbyist computers
  5. were relatively widespread and inspired other hobbyist centered home brew
  6. computing projects such as N8VEM home brew computing project. The P112
  7. project still maintains many devoted enthusiasts and has an online
  8. repository of software and other information.
  9. The P112 computer originated as a commercial product of "D-X Designs Pty
  10. Ltd" of Australia. They describe the computer as "The P112 is a stand-alone
  11. 8-bit CPU board. Typically running CP/M (tm) or a similar operating system,
  12. it provides a Z80182 (Z-80 upgrade) CPU with up to 1MB of memory, serial,
  13. parallel and diskette IO, and realtime clock, in a 3.5-inch drive form factor.
  14. Powered solely from 5V, it draws 150mA (nominal: not including disk drives)
  15. with a 16MHz CPU clock. Clock speeds up to 24.576MHz are possible."
  16. The P112 board was last available new in 1996 by Dave Brooks. In late 2004
  17. on the Usenet Newsgroup comp.os.cpm, talk about making another run of P112
  18. boards was discussed. David Griffith decided to produce additional P112 kits
  19. with Dave Brooks blessing and the assistance of others. In addition Terry
  20. Gulczynski makes additional P112 derivative hobbyist home brew computers.
  21. Hal Bower was very active in the mid 1990's on the P112 project and ported
  22. the "Banked/Portable BIOS".
  23. Dave Griffith was successfully funded through Kickstarter for another run
  24. of P112 boards in November of 2012.
  25. Pin Configuration
  26. =================
  27. The P112 is based on the 5V Z8018216FSG running at 16MHz. The Z8018216FSG
  28. comes in a 100-pin QFP package:
  29. PIN NAME
  30. 1 /INT0 INT0, pulled up, J1 DIN48 pin 13C
  31. 2 /INT1/PC6 FINTR, Floppy disk controller
  32. 3 /INT2/PC7 PINTR1, Floppy disk controller
  33. 4 ST ST, to AEN of Floppy disk controller
  34. 5 A0 A0-A12 Common memory bus
  35. ...
  36. 17 A12 " "
  37. 18 VSS ---
  38. 19 A13 A13-A17 Common memory bus
  39. ...
  40. 23 A17 " "
  41. 24 A18/TOUT A18 Common memory bus
  42. 25 VDD ---
  43. 26 A19 A19 Common memory bus
  44. 27 D0 D0-D4 Common memory bus
  45. ...
  46. 30 D3 " "
  47. 31 D4 D4-D7 Common memory bus
  48. ...
  49. 34 D7 " "
  50. 35 /RTS0/PB0 RTS0, 20-pin P14, pin 3
  51. 36 /CTS0/PB1 CTS0, pulled high (U16), 20-pin P14, pin 4
  52. 37 /DCD0/PB2 DCD0, pulled high (U16), 20-pin P14, pin 10
  53. 38 TXA0/PB3 TXA0, 20-pin P14, pin 8
  54. 39 RXA0/PB4 RXA0, pulled high (U17), 20-pin P14, pin 2
  55. 40 TXA1/PB5 TXA1, 20-pin P14, pin 1
  56. 41 RXA1/PB6 RXA1, pulled high (U17), 20-pin P14, pin 9
  57. 42 RXS//CTS1/PB7 CTS1, pulled high (U17), 20-pin P14, pin 7
  58. 43 CKA0//DREQ0 /DREQ0, DMA Request Select, 5-pin P2, pin 2
  59. 44 VSS ---
  60. 45 CKA1//TEND0 /TEND0, J1 DIN48 pin 14A
  61. 46 TXS//DTR//REQB//HINTR DTRB, 20-pin P14, pin 6
  62. 47 CKS//W//REQB//HTXRDY SIORQ, DMA Request Select, 5-pin P2, pin 5 (may be DREQ 0 or DREQ1)
  63. 48 /DREQ1 /DREQ1, DMA Request Select, 5-pin P2, pin 4
  64. 49 VDD ---
  65. 50 /TEND1//RTSB//HRXRDY NB /TEND1 = RTSB, 20-pin P14, pin 5; J1 DIN48 pin 14B
  66. 51 /RAMCS /RAMCS, Chip select logic (U11B); also J1 DIN48 pin 9B
  67. 52 /ROMCS /ROMCS, Chip select logic (P2); also J1 DIN48 pin 12B
  68. 53 EV1 Grounded
  69. 54 EV2 Grounded
  70. 55 PA0/HD0 IO, U6 DS1202 Serial Timekeeping chip
  71. 56 PA1/HD1 CLK, U6 DS1202 Serial Timekeeping chip
  72. 57 PA2/HD2 /RST, U6 DS1202 Serial Timekeeping chip
  73. 58 PA3/HD3 N/C
  74. 59 PA4/HD4 N/C
  75. 60 PA5/HD5 U12 NMF0512S, Isolated 1W regulated single output DC/DC converter
  76. 61 PA6/HD6 DSR, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  77. 62 PA7/HD7 RTS, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  78. 63 /W//REQA/PC5 WREQA, N/C
  79. 64 /DTR//REQA/PC3 DTRA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  80. 65 /MWR/PC2//RTSA /MWR, Common memory bus signal
  81. 66 /CTSA/PC1 CTSA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  82. 67 /DCDA/PC0 DCDA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  83. 68 /SYNCA/PC4 SYNCA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  84. 69 /RTXCA ?
  85. 70 VSS ---
  86. 71 /IOCS/IEO /IOCS, Logic circuit with M1, generates LIVE which conditions inputs
  87. to the floppy disk controller
  88. 72 IEI IEI, J1 DIN48 pin 14C
  89. 73 VDD ---
  90. 74 RXDA RXDA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  91. 75 /TRXCA ?
  92. 76 TXDA TXDA, U7 LT1133, Advanced Low Power 5V RS232 Driver/Receiver
  93. 77 /DCDB//HRD DCDB, pulled high (U16), 20-pin P14, pin 12
  94. 78 /CTSB//HWR DCDB, pulled high (U17), 20-pin P14, pin 11
  95. 79 TXDB//HDDIS TXDB, 20-pin P14, pin 14
  96. 80 /TRXCB/HA0 TRXCB, pulled high (U17), 20-pin P14, pin 15
  97. 81 RXDB/HA1 RXDB, pulled high (U16), 20-pin P14, pin 16
  98. 82 /RTXCB/HA2 RTXCB, pulled high (U17), 20-pin P14, pin 17
  99. 83 /SYNCB//HCS SYNCB, pulled high (U16), 20-pin P14, pin 18
  100. 84 /HALT ?
  101. 85 /RFSH ?
  102. 86 /IORQ /IORQ, J1 DIN48 pin 12A
  103. 87 /MRD//MREQ /MRD, Common memory bus signal
  104. 88 E E, Conditions inputs to floppy disk controller; also J1 DIN48 pin 13B
  105. 89 /M1 /M1, Logic circuit with /IOCS, generates LIVE which conditions inputs
  106. to the floppy disk controller; also J1 DIN48 pin 11A
  107. 90 /WR /WR, Common memory bus; Conditions inputs to floppy disk controller;
  108. also J1 DIN48 pin 12C
  109. 91 /RD /RD, J1 DIN48 pin 11C
  110. 92 PHI PHI, J1 DIN48 pin 15B
  111. 93 VSS ---
  112. 94 XTAL 16 MHz XTAL
  113. 95 EXTAL 16 MHz XTAL
  114. 96 /WAIT /WAIT, J1 DIN48 pin 11B
  115. 97 /BUSACK ?
  116. 98 /BUSREQ /BUSREQ, Pulled high
  117. 99 /RESET /RST (to lots of places)
  118. 100 /NMI /NMI, Pulled high
  119. P112 Serial Console
  120. ===================
  121. The UARTs are not used on the P112 board (the UART signals are available
  122. off-board through P14). The serial console is provided by U7 LT1133,
  123. Advanced Low Power 5V RS232 Driver/Receiver that connects to the P112 via
  124. the Z85230 ESCC channel A.
  125. Status
  126. ======
  127. 2014-8-22: After some time idling away, I tried rebuilding with Windows 8,
  128. the latest MinGW and the latest SDCC. I fixed a few things but there a
  129. still a few issues. The last "show stopper" before I gave up for now was
  130. during building dependencies:
  131. ASlink-Error-<cannot open> : "bin/mm_initialize.rel"
  132. Clearly there is something wrong with the command line options given to
  133. SDCC because it is trying to compile and link when we really only want
  134. dependencies. I did not spend very much time trying to solve the problem;
  135. I assume that it is not too difficult.
  136. 2014-9-15: There has been a lot of change to the address environment APIs
  137. with the integration of address environments on the Cortex-A. It is
  138. likely that there is some breakage due to incompatibilities with the
  139. Z180's mini-MMU.
  140. Known compilation problems with SDCC:
  141. Known compilation problems:
  142. CC: stdlib/lib_strtof.c
  143. stdlib/lib_strtof.c:62:6: warning: #warning "Size of exponent is unknown"
  144. stdlib/lib_strtof.c:76: error 122: dividing by ZERO
  145. stdlib/lib_strtof.c:102: error 122: dividing by ZERO
  146. stdlib/lib_strtof.c:76: error 122: dividing by ZERO
  147. Workaround: Remove lib_strtof.c from libs/libc/stdlib/Make.defs