Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
nostromo:top [2025/03/15 11:58] – move NEC PC6001 to Nostromo:NEC PC-6001 Port robertnostromo:top [2025/03/19 19:32] (current) – [Walking Through The Code] robert
Line 2: Line 2:
 {{:nostromo:1156224-ax_2.jpg?direct&200|}} {{:nostromo:nostromo1.gif?nolink|}} {{:nostromo:1156224-ax_2.jpg?direct&200|}} {{:nostromo:nostromo1.gif?nolink|}}
  
-AX-2: Uchuu Yusousen Nostromo (Space Freighter Nostromo) \\ +**AX-2: Uchuu Yusousen Nostromo** (//Space Freighter Nostromo//)
-Designed and Programmed for the Commodore Pet 2001 by Akira Takiguchi in 1981 \\ +
-Ported to the NEC-PC6001 by Masakuni Mitsuhashi aka Hiromi Ohba aka Mitsu in 1982 \\ +
-Cover Artwork by Masashi Iwasaki \\ +
-Published by ASCII Entertainment in Japan \\  +
-Ported to Radio Shack TRS-80 Micro Color Computer MC-10 by Jim Gerrie in 2015 and 2018 \\ +
-Ports to Tandy Radio Shack Color Computer and Dragon Data Dragon 32/64 underway \\+
  
-  [[NEC PC-6001 Port]] +Designed and Programmed for the Commodore Pet 2001 by **Akira Takiguchi** in 1981
-===== MC-10 PORTS ===== +
-| PROCESSOR | Motorola MC6803 @ 0.89 MHz | +
-| VIDEO | Motorola MC6847 Video Display Generator (VDG) | +
-| AUDIO | 1-bit DAC | +
-| FIRMWARE | Microsoft BASIC ROM (8KB) | +
-| MAIN STORAGE | 4KB RAM | +
-| EXTERNAL STORAGE | ROM Cartridge, Cassette | +
-| CONTROLS | 48-key "chiclet" Keyboard |+
  
-2015-11 NOSTROMO: [[https://jimgerrie.blogspot.com/2015/11/]] \\ +===== NEC PC-6001 Port =====
-2018-05 NOSTRO: [[https://jimgerrie.blogspot.com/2018/05/uchuu-yusousen-nostromo.html]] +
  
-===== COCO / DRAGON PORT ===== +Ported to the NEC-PC6001 by **Masakuni Mitsuhashi** aka **Hiromi Ohba** aka **Mitsu** in 1982
-| PROCESSOR | Motorola MC6809  or Hitachi HD6309 @ 0.89/1.789 MHz | +
-| VIDEO | Motorola MC6847, 6847T1 Video Display Generator (VDG) or TCC1014 Advanced Color Video Chip (ACVC) Graphics Interrupt Memory Enhancement (GIME) | +
-| AUDIO | 1-bit DAC, 6-bit DAC, Cassette and Cartridge pass-through multiplexer, many expansions detailed on [[:Tandy Color Computer:]] | +
-| FIRMWARE | Microsoft Color BASIC ROM (8KB), Extended BASIC (8KB), Disk BASIC (8KB), Super Extended BASIC (8KB) | +
-| MAIN STORAGE | 4KB - 512KB RAM | +
-| EXTERNAL STORAGE | ROM Cartridge, Cassette, Floppy, Hard Disk | +
-| CONTROLS | 53/57-key "chiclet", "melty", or full-key Keyboard, Analog Joysticks, Digital Joysticks |+
  
-==== UPDATES ====+Cover Artwork by **Masashi Iwasaki**
  
-**NOSTROMO** feels much more like a game now that the following work: +Published by **ASCII Entertainment** in Japan
-  * The alien stalks the corridors around the storage rooms +
-  * The crew can knock down walls to break into store rooms +
-  * The crew can only carry five items max +
-  * The crew can drop items in the escape shuttle +
-  * The tally of items carried and stored in the shuttle now update+
  
-Some of the remaining work to complete include: +  [[NEC PC-6001 Port]]  
-  Timer display (timer coded, display remaining) +    Memory Layout: [[NOSTROMO Memory Map]] 
-  The time expired screen +    N60 BASIC Listing: [[NOSTROMO.BAS]] 
-  The alien killed you screen +    Z80 Machine Code: [[NOSTROMO.Z80]] 
-  The level completed screen +      [[http://clrhome.org/table/|Z80 instruction set - ClrHome]] 
-  Score tally +    [[https://readonlymemory.vg/ascii-corporation/|ASCII Corporation Read-Only Memory]] 
-  Next level goal logic to update number of items needed of each type +    [[http://boxequalsart.com/timeline-page.html|Timeline Page| BOX=ART]] \\
-  * Game configuration interface to choose video, audio, controls, expansions +
-  * 17 x AY-3-8910 audio cues playable through sound drivers +
-  * Joystick control (written, needs to be integrated) +
-  * Hallway display 1 and 2 for time trial +
-  * The alien animation screens for level 7 and beyond +
-  * The game over play again screen +
-  * The ASCII and AX-2 logo screens (already mocked up) +
-  * The NOSTROMO intro screen (already mocked up) +
-  * Do I need to add a PMODE 3 screen for Dragon output? +
-  * Debug the item placement to fix the occasional mis-placement into the wall +
-  Correct the wall display blocks for SG4 mode after the CoCoVGA font change +
-  * Take advantage of red/blue artifact colors on RG6 screen) +
-  * Add artifact color switch +
-  * High score display for screen shots +
-  * Help Key mode for later levels +
-==== CODE ====+
  
-{{:nostromo:nostromo-repo-20230827.png|Repo stats 20230827}}+===== MC-10 Ports ===== 
 +Ported to Radio Shack **TRS-80 Micro Color Computer MC-10** by **Jim Gerrie** in 2015 and 2018 
  
-All "code-" file prefixes have been changed to "ax2-" for starters.+  * [[MC-10 Ports]] 
 +    * 2015-11 NOSTROMO: [[https://jimgerrie.blogspot.com/2015/11/]] 
 +      * [[https://github.com/jggames/trs80mc10/tree/master/quicktype/Arcade/Nostromo|MC-10 NOSTROMO.BAS]] 
 +    * 2018-05 NOSTRO: [[https://jimgerrie.blogspot.com/2018/05/uchuu-yusousen-nostromo.html]] 
 +      * [[https://github.com/jggames/trs80mc10/tree/master/quicktype/Arcade/Nostro|MC-10 NOSTRO.BAS]] 
 +  
 +===== CoCo / Dragon Port =====
  
-Just the top-level source directory content needed to build the game are shown below.+Port underway for the **TRS-80 Color Computer** "CoCo" and **Dragon Data Dragon 32/64**
  
-Additional repo directories of various tests, mockups, and such created along the way are not shown, but are represented in the repo statistics above.+  * [[CoCo Dragon Port]] 
 +    * [[Updates]] 
 +    * [[Source Code]] 
 +    * [[Screenshots]]
  
-The code below gives you an example of where I got to by the mid-2023:+===== Walking Through The Code =====
  
-^ ^ CODE MODULE ^ DESCRIPTION ^ +As I have worked through the NEC PC6001 port have found many nooks and crannies to explore and decisions about how to my port to the CoCo along the way.
-| ☐ | [[https://exileinparadise.com/AX2/*.BAS|*.BAS]] | Helper BASIC program for DOS command to run NOSTROMO | +
-| ☐ | [[https://exileinparadise.com/AX2/ACVC/ax2-acvc-v00.asm|ax2-acvc-v00.asm]] | Video driver for CoCo3 ACVC / GIME | +
-| ☐ | [[https://exileinparadise.com/AX2/CGROM60/ax2-cgrom60-v04.asm|ax2-cgrom60-v04.asm]] | Modified NEC PC-6001 font data | +
-| ☐ | [[https://exileinparadise.com/AX2/COCOPSG/ax2-cocopsg-v00.asm|ax2-cocopsg-v00.asm]] | Audio driver for CoCoPSG by Ed "Zippster" Snider | +
-| ☐ | [[https://exileinparadise.com/AX2/COCOVGA/ax2-vdgvga-v00.asm|ax2-vdgvga-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode with custom NEC PC6001-like font using CoCoVGA by Brendan Donahe +
-| ☐ | [[https://exileinparadise.com/AX2/CONFIG/ax2-config-v00.asm|ax2-config-v00.asm]] | Configuration menu and functions | +
-| ☐ | [[https://exileinparadise.com/AX2/DCSG/ax2-dcsg-v00.asm|ax2-dcsg-v00.asm]] | Audio Driver for Texas Instruments Digital Complex Sound Generator (DCSG) SN76489N in the Game Master Cartridge | +
-| ☐ | [[https://exileinparadise.com/AX2/GMC/ax2-gmc-v00.asm|ax2-gmc-v00.asm]] | Audio driver for Game Master Cartridge by John "Tuxdriver" Linville | +
-| ☐ | [[https://exileinparadise.com/AX2/IRQ/ax2-timer-v00.asm|ax2-timer-v00.asm]] | Utility timer countdown code | +
-| ☐ | [[https://exileinparadise.com/AX2/JOY/ax2-joy-v00.asm|ax2-joy-v00.asm]] | Controller driver for CoCo analog joystick ports | +
-| ☐ | [[https://exileinparadise.com/AX2/KEYSCN/ax2-keyscn-v01.asm|ax2-keyscn-v01.asm]] | Controller driver for CoCo and Dragon 53/57-key keyboard [[:tandy_color_computer:keyscn]] [[:tandy_color_computer:keyscn2]] | +
-| ☐ | [[https://exileinparadise.com/AX2/MIDI/ax2-midi-v00.asm|ax2-midi-v00.asm]] | Audio driver for CoCo MIDI / MIDI Maestro by Jim "go4retro" Brain | +
-| ☐ | [[https://exileinparadise.com/AX2/MMMPI/ax2-mmmpi-v00.asm|ax2-mmmpi-v00.asm]] | Audio driver and utility code for MEGA-mini Multi-Pak Interface (MMMPI) by Ed "Zippster" Snider | +
-| ☐ | [[https://exileinparadise.com/AX2/MPI/ax2-mpi-v00.asm|ax2-mpi-v00.asm]] | Utility driver for Multi-Pak Interface (MPI) | +
-| ☐ | [[https://exileinparadise.com/AX2/ONEBIT/ax2-onebit-v00.asm|ax3-onebit-v00.asm]] | Audio driver for CoCo 1-bit DAC sound "beeper"+
-| ☐ | [[https://exileinparadise.com/AX2/OPL3/ax2-opl3-v00.asm|ax2-opl3-v00.asm]] | Audio driver for Yamaha OPL3 (YMF-262) FM-synthesis in the MEGA-mini Multi-Pack Interface | +
-| ☐ | [[https://exileinparadise.com/AX2/ORCH90/ax2-orch90-v00.asm|ax2-orch90-v00.asm]] | Audio driver for the Orchestra90/CC stereo 8-bit DAC cartridge | +
-| ☐ | [[https://exileinparadise.com/AX2/PIA/ax2-pia0-v00.asm|ax2-pia0-v00.asm]] | I/O driver for the Peripheral Interface Adapter (PIA) used in Keyboard, Multiplexer, and Interrupts | +
-| ☐ | [[https://exileinparadise.com/AX2/PIA/ax2-pia1-v00.asm|ax2-pia1-v00.asm]] | I/O driver for the Peripheral Interface Adapter (PIA) used for the VDG, DAC Audio, Joystick ADC, RS232, Cassette, and Interrupts | +
-| ☐ | [[https://exileinparadise.com/AX2/PSG/ax2-psg-v00.asm|ax2-psg-v00.asm]] | Audio driver for the General Instruments AY-3-8910 Programmable Sound Generator used in many CoCo audio devices | +
-| ☐ | [[https://exileinparadise.com/AX2/RND/ax2-rnd-v00.asm|ax2-rnd-v00.asm]] | Utility pseudo-random number generator (PRNG) for placing resources in main game level | +
-| ☐ | [[https://exileinparadise.com/AX2/SAM/ax2-sam-v00.asm|ax2-sam-v00.asm]] | I/O driver for the Synchronous Address Multiplexer (MC6883) | +
-| ☐ | [[https://exileinparadise.com/AX2/SIXBIT/todo-dac-v00.asm|todo-dac-v00.asm]] | Audio driver for CoCo 6-bit DAC sound | +
-| ☐ | [[https://exileinparadise.com/AX2/SSC/ax2-ssc-v00.asm|ax2-ssc-v00.asm]] | Audio driver for the Speech / Sound Cartridge with Narrator SP0256-AL2 and AY-3-891x PSG | +
-| ☐ | [[https://exileinparadise.com/AX2/SSG/ax2-ssg-v00.asm|ax2-ssg-v00.asm]] | Audio driver for the Yamaha YM2149 Software-Controlled Sound Generator (SSG) used in the CoCo PSG | +
-| ☐ | [[https://exileinparadise.com/AX2/SYMPHONY12/ax2-symphony12-v00.asm|ax2-symphony12-v00.asm]] | Audio driver for the Speech Systems Symphony-12 / Philharmonic-12 by Jim "go4retro" Brain | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgrg6-v01.asm|ax2-vdgrg6-v01.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Resolution Graphics 6 (RG6) mode (aka PMODE4) | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgsg4-v00.asm|ax2-vdgsg4-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode | +
-| ☐ | [[https://exileinparadise.com/AX2/VDG/ax2-vdgt1-v00.asm|ax2-vdgt1-v00.asm]] | Video driver for the CoCo 1/2/Dragon MC6847 Video Display Generator (VDG) in Semigraphics 4 (SG4) mode with VDG Lowercase font support | +
-| ☐ | [[https://exileinparadise.com/AX2/build.sh|build.sh]] | Utility script that assembles the code and packages it as a CoCo DSK file | +
-| ☐ | [[https://exileinparadise.com/AX2/debug.sh|debug.sh]] | Utility script to test the work-in-progress code using MAME debugger | +
-| ☐ | [[https://exileinparadise.com/AX2/nostromo.asm|nostromo.asm]] | The AX-2 Nostromo N60 BASIC/Z80 machine code port-in-progress to 6809 assembly | +
-| ☐ | [[https://exileinparadise.com/AX2/run.sh|run.sh]] | Utility script to run the game in MAME from a menu to test 5 different video modes | +
-| ☐ | [[https://exileinparadise.com/AX2/template3.asm|template3.asm]] | Source code template v3 |+
  
-===== SCREENSHOTS ===== +The NEC PC-6001 loads the NOSTRO cassette data into the BASIC program memory.
-Click for full size ...+
  
-^ MACHINE / MODE ^ COPYRIGHT SCREEN ^ MAIN LEVEL ^ +The cassette file continues past the last line of tokenized BASIC code, loading Z80 binary machine code and more data into the memory after the lines of BASIC.
-| CoCo 1/2 VDG RG6 | {{:nostromo:2022-04-08-vdgrg6-copyright.png?direct&400|}} | {{:nostromo:2022-04-08-vdgrg6-main.png?direct&400|}} | +
-| CoCo 3 ACVC 256x192x16 | {{:nostromo:2022-04-08-acvc-copyright.png?direct&400|}} | {{:nostromo:2022-04-08-acvc-main.png?direct&400|}} | +
-~ 2022-04-08 via MAME+
  
-===== SEE ALSO ===== +I've decided to build this table to organize my findings and help complete what's left to port.
-[[http://boxequalsart.com/timeline-page.html|Timeline Page| BOX=ART]] \\ +
-[[http://clrhome.org/table/|Z80 instruction set - ClrHome]] \\ +
-[[https://readonlymemory.vg/ascii-corporation/|ASCII Corporation - Read-Only Memory]] \\+
  
-===== RTS ===== +^ BASIC Lines  ^ Z80 Addresses  ^ Purpose  ^ 
-Return to [[:Top]]+| 1 - 9 |             [[Copyright]] REMarks | 
 +| 10    |             | [[One Time Setup]] | 
 +|       | E164 - E17D | [[Memory Setup]] | 
 +|       | E240 - E255 | [[Replace Line 10]] | 
 +| 80-90 |             | [[Finish Setup]] | 
 +:!: more ... | | | 
 +| 5000  |             | [[Find Next Screen]] |
  
 +Return to [[:Top]]