74 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
### pytron
 | 
						|
 | 
						|
First working, but slow attempt of a python port of the `C` Gigatron emulator in `../../Docs/gtemu.c`.
 | 
						|
 | 
						|
### Gigatron Mac
 | 
						|
 | 
						|
Fully featured Gigatron emulator for Mac OS X, written in Objective-C and
 | 
						|
using XCode. 
 | 
						|
 | 
						|
Features:
 | 
						|
- simulated 50Hz VGA output
 | 
						|
- 44.1kHz audio output
 | 
						|
- keyboard and simulated controller input
 | 
						|
- load .gt1 files directly into RAM
 | 
						|
- watch .gt1 files for changes and re-load automatically
 | 
						|
- switch between 32kB / 64kB RAM
 | 
						|
- rudimentary debugging with disassembly of native CPU and vCPU code, instruction stepping and vCPU stepping
 | 
						|
- watch CPU and vCPU state
 | 
						|
- RAM gadget (256x256 pixel screen to display RAM content, one pixel for every byte)
 | 
						|
 | 
						|
Known issues:
 | 
						|
- Simulated keypresses sometimes hang
 | 
						|
- vCPU stepping interrupts on every change of vPC, but vPC sometimes changes during execution of a vCPU call (e.g. jumps)
 | 
						|
- Window position and configuration data is not properly saved and restored on restart of the application
 | 
						|
- Due to the author not having written code for some years, the code could certainly be better in a lot of places ... :-)
 | 
						|
 | 
						|
 | 
						|
### gasm
 | 
						|
 | 
						|
Gigatron assembly code. You need to first build at67's assembler (by using
 | 
						|
cmake in Contrib/at67) and then running e.g.
 | 
						|
```
 | 
						|
../../at67/tools/gtasm/gtasm ./maze.gasm 0x0200
 | 
						|
```
 | 
						|
- maze.gasm : Every platform needs a maze builder, this is an iterative
 | 
						|
  implementation instead of a recursive one (our call stack is not that big...)
 | 
						|
 | 
						|
### tools
 | 
						|
 | 
						|
- img2gasm.py : Reads an image (should be roughly in 4:3 format)
 | 
						|
  converts it to the gigatron color space and outputs a gigatron assembly program. The
 | 
						|
  resulting program can then be compiled and will be loaded directly into
 | 
						|
  video RAM. In order not to interfere with the loader itself, three lines
 | 
						|
  will be left out during loading and reconstructed from another memory area
 | 
						|
  after loading.   
 | 
						|
 | 
						|
 | 
						|
### Licence
 | 
						|
 | 
						|
Copyright 2018-2019 Tobias Braun
 | 
						|
Mail: tobias@braun-online.org
 | 
						|
Web: https://home.640k.de
 | 
						|
 | 
						|
Redistribution and use in source and binary forms, with or without 
 | 
						|
modification, are permitted provided that the following conditions are met:
 | 
						|
 | 
						|
1. Redistributions of source code must retain the above copyright notice, 
 | 
						|
this list of conditions and the following disclaimer.
 | 
						|
 | 
						|
2. Redistributions in binary form must reproduce the above copyright notice, 
 | 
						|
this list of conditions and the following disclaimer in the documentation 
 | 
						|
and/or other materials provided with the distribution.
 | 
						|
 | 
						|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 | 
						|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 | 
						|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 | 
						|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
 | 
						|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 | 
						|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 | 
						|
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
 | 
						|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
 | 
						|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
 | 
						|
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 |