hmove

package
v0.30.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2024 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package hmove represents the TIA HMOVE process.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Hmove

type Hmove struct {
	// the delay between HMOVE being triggered and the latch flag being set
	// to true
	FutureLatch delay.Event

	// Latch indicates whether HMOVE has been triggered this scanline. it is
	// reset when a new scanline begins
	Latch bool

	// the delay between HMOVE being triggered and the ripple count starting
	Future delay.Event

	// Ripple counts backwards from 15 to -1 (represented by 255). note that
	// unlike how it is described in TIA_HW_Notes.txt, we always send the extra
	// tick to the sprites on Phi1.  however, we also send the HmoveCt value,
	// whether or not the extra should be honoured is up to the sprite.
	// (TIA_HW_Notes.txt says that HmoveCt is checked *before* sending the
	// extra tick)
	Ripple uint8

	// Has the Ripple counter just expired this cycle
	RippleJustEnded bool

	// Clk is true when the TIA PhaseClock.Phi2() is true
	Clk bool
}

func (*Hmove) Reset

func (hm *Hmove) Reset()

Reset Hmove values.

func (*Hmove) ResetRipple

func (hm *Hmove) ResetRipple()

ResetRipple begins the ripple count.

func (*Hmove) String

func (hm *Hmove) String() string

func (*Hmove) Tick

func (hm *Hmove) Tick()

Tick every video cycle when Clk is true. ie. when the TIA phaseclock is in rising Phi2.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL