Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
builderpages:rvumbaca:start [2018/10/06 01:46]
rvumbaca
builderpages:rvumbaca:start [2020/03/20 21:53] (current)
rvumbaca [Pictures]
Line 7: Line 7:
 With thanks to Philip Summers I obtained a blank PCB within a few days, and one weekend later I had a working machine. With thanks to Philip Summers I obtained a blank PCB within a few days, and one weekend later I had a working machine.
  
-Thanks to Bill Shen for creating and releasing the design!+Thanks to Bill Shen for creating and releasing the design and for providing instructions on how to prepare a CompactFlash (CF) card for CP/M-68K!
  
 ==== CP/M-68K with the 68010 ==== ==== CP/M-68K with the 68010 ====
Line 15: Line 15:
 The 68010 is pin compatible with the 68000 and mostly binary compatible except for some minor differences. One of the main differences is that the "**MOVE from SR**" instruction is privileged versus the 68000. The 68010 is pin compatible with the 68000 and mostly binary compatible except for some minor differences. One of the main differences is that the "**MOVE from SR**" instruction is privileged versus the 68000.
  
-The default CP/M-68K V1.3 image as provided by Bill Chen in his CompactFlash (CF[[:boards:sbc:tiny68k:create_new_cf|preparation procedure]] will boot with no problem on the 68010, however many programs crash due to a privilege violation.+The default CP/M-68K V1.3 image as provided by Bill Chen in his CF [[:boards:sbc:tiny68k:create_new_cf|preparation procedure]] will boot with no problem on the 68010, however many programs crash due to a privilege violation
 + 
 +If you run for example "**CB68 ASCIIART**" with a 68010 you will experience a privilege violation and the program "**CB68**" will crash.
  
 CP/M-68K V1.3 does support the 68010 and includes an exception handler which "dynamically changes "MOVE from SR" instructions to the non-privileged "MOVE from CCR" instruction" (taken from README.TXT in CP/M-68K distribution disk set). CP/M-68K V1.3 does support the 68010 and includes an exception handler which "dynamically changes "MOVE from SR" instructions to the non-privileged "MOVE from CCR" instruction" (taken from README.TXT in CP/M-68K distribution disk set).
Line 23: Line 25:
 ==== Re-building CP/M-68K for the 68010 ==== ==== Re-building CP/M-68K for the 68010 ====
  
-To re-build CP/M-68K for the 68010:+To re-build CP/M-68K for the 68010 you will initially require a 68000. If you do not have a 68000 available, then you will be unable to complete steps 6-7 as the programs **SENDC68** and **GKERMIT** will crash due to the previously mentioned privilege violation. In this case, jump straight to step 9 and use the pre-built **CPM15000-010.S68**. A link to the pre-built file is provided after step 9.
  
-1. Install a 68010 CPU on your Tiny68K and prepare a CF card as [[:boards:sbc:tiny68k:create_new_cf|described here]].+1. Install initially 68000 CPU on your Tiny68K and prepare a CF card as described [[:boards:sbc:tiny68k:create_new_cf|here]].
  
 2. Test that the machine boots to CP/M-68K correctly. 2. Test that the machine boots to CP/M-68K correctly.
- 
-If you run for example "**CB68 ASCIIART**" with a 68010 you will experience a privilege violation and the program "**CB68**" will crash. 
  
 3. Before you can re-build the BDOS and CCP, you require a small code stub so that the BIOS symbol "_init" is defined. 3. Before you can re-build the BDOS and CCP, you require a small code stub so that the BIOS symbol "_init" is defined.
Line 42: Line 42:
 4. Save the file "**TBIOS.S**" and execute the following two commands: 4. Save the file "**TBIOS.S**" and execute the following two commands:
  
-<font inherit/Courier New,Courier,monospace;;inherit;;inherit>**as68 -I**</font>+<font inherit/Courier New,Courier,monospace;;inherit;;inherit>**as68 -i as68init**</font>
  
 <font inherit/Courier New,Courier,monospace;;inherit;;inherit>**as68 -L tbios.s tbios.o**</font> <font inherit/Courier New,Courier,monospace;;inherit;;inherit>**as68 -L tbios.s tbios.o**</font>
Line 52: Line 52:
 <font inherit/Courier New,Courier,monospace;;inherit;;inherit>**lo68 -t15000 -o cpm15000.bin -ucpm -um68010 cpmlib tbios.o 0:clib**</font> <font inherit/Courier New,Courier,monospace;;inherit;;inherit>**lo68 -t15000 -o cpm15000.bin -ucpm -um68010 cpmlib tbios.o 0:clib**</font>
  
-(This line produces a CPM15000.BIN file containing the BDOS and CCP. An non-relocatable (absolute) binary is generated, located at address 0x15000).+(This line produces a CPM15000.BIN file containing the CCP and BDOS. An non-relocatable (absolute) binary is generated, located at address 0x15000).
  
 6. Execute the following command: 6. Execute the following command:
  
-<font inherit/Courier New,Courier,monospace;;inherit;;inherit>**sendc68 - CPM15000.BIN CPM15000-010.S68**</font>+<font inherit/Courier New,Courier,monospace;;inherit;;inherit>**sendc68 - CPM15000.BIN CPM15000-010.S68**</font>
  
 (The above line converts the CPM15000.BIN file to a Motorola S-Record file, and saves it to CPM-15000-010.S68). (The above line converts the CPM15000.BIN file to a Motorola S-Record file, and saves it to CPM-15000-010.S68).
  
-7. Use either "**GKERMIT**" or simply "**TYPE** **CPM-15000-010.S68**" to dump the contents of the file CPM-15000-010.S68 to the terminal, copy this text from the terminal and save it to a file on your PC.+7. Use either "**GKERMIT**" to transfer, or simply "**TYPE** **CPM15000-010.S68**" to dump the contents of the file CPM-15000-010.S68 to the terminal, copy the text from the terminal and save it to a file on your PC.
  
-8. You now have CP/M-68K BDOS and CCP for the 68010 CPU. Re-write this new binary to your CF card as described in the first few steps [[:boards:sbc:tiny68k:create_new_cf|here]].+8. Install a 68010 CPU on your Tiny68K board
  
-After re-booting CP/M-68K you should now be able to run "**CB68 ASCIIART**" and other programs with no crashes.+9. You now have a CP/M-68K BDOS and CCP for the 68010 CPU. Re-write this new binary to your CF card as described in the first few steps [[:boards:sbc:tiny68k:create_new_cf|here]]. 
 + 
 +After writing and booting CP/M-68K you should be able to run "**CB68 ASCIIART**" and other programs with no crash 
 +==== Pre-prepared CP/M-68K binary for the 68010 ==== 
 + 
 +If you'd rather not re-build CP/M-68K for the 68010, or you're running into problems, you can download a pre-prepared {{:builderpages:rvumbaca:cpm15000-010.zip|CPM15000-010.S68}}  file. 
 + 
 +Write this file and the TinyBIOS to your CF card as described [[:boards:sbc:tiny68k:create_new_cf|here]]. 
 + 
 +==== CP/M-68K with the 68020/68030 ==== 
 + 
 +A 68020/68030 CPU also treats the "**MOVE from SR**" instruction as a privileged instruction. This leads to the same program crashes as for the 68010 CPU. It has been reported that the above described instructions will also solve this issue when running CP/M-68K on a 68020/68030.
 ==== Pictures ==== ==== Pictures ====
  
-{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/rvumbaca/tiny68k_2.png?nolink&640x656  |Tiny68K}}+A picture of my Tiny68K with 68010 CPU is shown below. 
 + 
 +Note that the CPU was most likely re-marked by counterfeiters in Asia (date code is invalid) so the speed rating is probably false (this is the most common reason for re-marking), but it seems to work fine at the low clock speeds that I am using. 
 + 
 +[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=e6de26&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/rvumbaca/tiny68k.png|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/rvumbaca/tiny68k.png?direct&640x656  |Tiny68K}}]]
  
  
builderpages/rvumbaca/start.1538804795.txt.gz · Last modified: 2018/10/06 01:46 by rvumbaca
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0