Alan Steremberg bd4297d2ad added file open
2021-06-28 16:18:06 -04:00
2021-06-28 16:18:06 -04:00
2021-06-22 21:25:57 +01:00
2021-06-28 16:18:06 -04:00
2021-06-19 21:49:37 +01:00
2021-06-28 16:18:06 -04:00
2021-06-23 22:35:39 +01:00
2021-06-19 21:49:37 +01:00
2021-06-19 21:49:37 +01:00
2021-06-22 21:25:57 +01:00
2021-06-25 23:39:18 +01:00

InputTest_MiSTer

Overview

A custom mini-system running an input test utility. Shows all standard HPS sourced inputs (joystick, analog, paddle, spinner) simultaneously.

Hardware

A simple bespoke (i.e. I made it up with no real plan) 8-bit system with a 40x30 character display, each character can be set to one of 256 colours. No sound capabilities.

Components

  • Z80 CPU (tv80 by Guy Hutchison, based on VHDL T80 core by Daniel Wallner)
  • jtframe_vtimer for VGA timing (from JTFRAME by Jotego)
  • 16Kb program ROM (port 1 cpu, port 2 download)
  • 16Kb work RAM (port 1 cpu)
  • 2Kb character ROM (port 1 cpu, port 2 download)
  • 2Kb character RAM (port 1 cpu, port 2 graphics)
  • 2Kb colour RAM (port 1 cpu, port 2 graphics)
  • 5 Memory-mapped IO regions (all read-only). Yes I know about MREQ but SFRs turned out to be annoying in sdcc so :)
    • Hardware state (H/V Sync, H/V Blank etc) (8 bytes)
    • joystick_5->0 from HPS (192 bytes)
    • joystick_analog_5->0 from HPS (96 bytes)
    • paddle_5->0 from HPS (48 bytes)
    • spinner_5->0 from HPS (96 bytes)

Memory Map

Start End Length Name
0x0000 0x3FFF 0x4000 Program ROM
0x4000 0x47FF 0x0800 Char ROM
0x6000 0x6000 0x0001 System inputs (video timings etc)
0x7000 0x70BF 0x00C0 Joystick inputs
0x7100 0x715F 0x0060 Analog inputs
0x7200 0x722F 0x0030 Paddle inputs
0x7300 0x735F 0x0060 Spinner inputs
0x8000 0x87FF 0x0800 Char RAM
0x8800 0x8FFF 0x0800 Colour RAM
0xC000 0xFFFF 0x4000 Work RAM

Software

/src contains a C program compiled to Z80 assembly using sdcc. It reads and displays all available input values once every vblank, and also does some other things ;)

C source files

File Description
/src/sys.c Memory maps and global declarations
/src/ui.c Character map drawing functions
/src/os.c Main program

ROMS

All required ROMs (compiled program and default MiSTer font) are hard-coded into this core

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Description
Input test utility core for MiSTer
Readme GPL-3.0 21 MiB
Languages
C++ 61.9%
C 22%
Verilog 10.6%
SystemVerilog 2.4%
VHDL 1.7%
Other 1.4%