Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/conorarmstrong/zx_go
/ functions
Functions
5,503 in github.com/conorarmstrong/zx_go
⨍
Functions
5,503
◇
Types & classes
458
↓ 790 callers
Method
Error
()
pkg/next/esxdos/esxdos.go:81
↓ 599 callers
Method
Write
(addr uint16, val byte)
pkg/z80/timing_table_test.go:36
↓ 513 callers
Method
Read
(addr uint16)
pkg/next/dma/dma.go:55
↓ 389 callers
Method
WriteData
WriteData accepts a command, parameter, or (during write execution) data byte from the CPU. The CPU writes this to port 0x3FFD on the +3.
pkg/plus3fdc/upd765.go:445
↓ 366 callers
Method
Write
(addr uint16, val byte)
pkg/next/dma/dma.go:56
↓ 315 callers
Function
createTestCPU
Helper to create a test CPU
pkg/z80/z80_test.go:68
↓ 263 callers
Method
Store
Store writes a byte directly to the backing storage, bypassing any OnWrite handler installed for that register. Subsystems use Store inside their own
pkg/next/nextregs/dispatcher.go:253
↓ 255 callers
Function
cleanupTestROMs
(dir string)
pkg/z80/z80_test.go:63
↓ 179 callers
Method
hl
()
pkg/z80/z80.go:3794
↓ 170 callers
Function
New
New creates a new Memory instance for a given machine model.
pkg/memory/memory.go:809
↓ 164 callers
Method
Load
Load loads a snapshot from a file.
pkg/snapshot/snapshot.go:88
↓ 164 callers
Method
WriteData
(val byte)
pkg/next/divmmc/divmmc.go:53
↓ 145 callers
Method
Step
(scanline uint16, hcount uint16, maxInstr int)
pkg/ula/ula.go:340
↓ 144 callers
Method
WriteReg
(reg, val byte)
pkg/next/copper/copper.go:61
↓ 142 callers
Method
setHL
(val uint16)
pkg/z80/z80.go:3799
↓ 139 callers
Method
WriteFile
WriteFile serialises the file with the supplied options and writes it to disk in one shot. Wrapper around Write + os.WriteFile so the caller doesn't h
pkg/rzx/write.go:33
↓ 139 callers
Method
bc
()
pkg/z80/z80.go:3792
↓ 134 callers
Method
String
()
pkg/debugger/condition.go:71
↓ 118 callers
Method
ReadReg
(reg byte)
pkg/ula/ula.go:408
↓ 113 callers
Function
New
New creates a new Snapshot instance.
pkg/snapshot/snapshot.go:61
↓ 112 callers
Function
New
New returns a fresh dispatcher with hardware-identity and reset-default registers seeded to the values the FPGA's `tbblue_reset_common` publishes at c
pkg/next/nextregs/dispatcher.go:73
↓ 109 callers
Method
StepInstruction
StepInstruction executes exactly one Z80 instruction without checking for interrupts. Used by conformance tests (Zexdoc / Zexall) and unit tests — no
pkg/z80/z80.go:1078
↓ 104 callers
Function
runOpcode
=========================================================================== Per-opcode T-state timing batch. Pins documented Z80 timings for the most
pkg/z80/z80_test.go:4324
↓ 100 callers
Method
m1
m1 models the opcode-fetch machine cycle (4 T): contend the fetch address, then charge 4 T. The actual byte fetch + R-increment is done separately by
pkg/z80/z80.go:401
↓ 99 callers
Method
IsPagedIn
()
pkg/next/esxdos/esxdos.go:264
↓ 98 callers
Method
GetMMU
GetMMU returns the bank ID currently mapped at the given 8K MMU slot. Used to service NextReg 0x50..0x57 reads. Slot indexes outside 0..7 return 0.
pkg/memory/memory.go:519
↓ 98 callers
Method
WritePort
(port uint16, val byte)
pkg/next/dma/dma.go:66
↓ 97 callers
Function
New
New creates a new Keyboard instance.
pkg/keyboard/keyboard.go:47
↓ 97 callers
Method
WriteRegister
WriteRegister writes val to register reg directly.
pkg/saa1099/saa1099.go:75
↓ 96 callers
Method
Run
Run starts a standalone emulation loop at 50Hz. Note: the main application uses its own run loop instead of this method.
pkg/z80/z80.go:530
↓ 92 callers
Method
executeBaseInstruction
(opcode byte)
pkg/z80/z80.go:1194
↓ 91 callers
Method
setBC
(val uint16)
pkg/z80/z80.go:3797
↓ 87 callers
Method
Select
(reg byte)
pkg/ula/ula.go:399
↓ 85 callers
Method
SetOnWrite
SetOnWrite installs a write-side-effect callback for the given register. The callback replaces the default storage behaviour; if the handler wants the
pkg/next/nextregs/dispatcher.go:220
↓ 84 callers
Method
Close
Close properly shuts down the ULA and releases resources
pkg/ula/ula.go:1584
↓ 80 callers
Method
InstructionCount
InstructionCount returns the number of opcode fetches the CPU has performed since boot or the last ResetInstructionCount call. RZX playback uses this
pkg/z80/z80.go:545
↓ 75 callers
Function
NewUPD765
NewUPD765 creates an idle FDC with no disk loaded.
pkg/plus3fdc/upd765.go:269
↓ 73 callers
Method
de
()
pkg/z80/z80.go:3793
↓ 70 callers
Method
GetPage
(bank int)
pkg/next/layer2/layer2.go:30
↓ 69 callers
Method
WritePort
(addr uint16, val byte)
pkg/z80/z80.go:323
↓ 69 callers
Method
executeEDInstruction
(opcode byte)
pkg/z80/z80.go:2586
↓ 68 callers
Method
AttachDisk
AttachDisk loads a parsed Disk into the given physical drive (0 = A, 1 = B). Pass nil to eject. Calling this from the UI thread while the CPU goroutin
pkg/plus3fdc/upd765.go:286
↓ 64 callers
Function
New
New returns a fresh pager backed by the supplied ROM image with automap *disabled*. On the real Next, cold reset leaves NextReg $0A bit 4 = 1 (per the
pkg/next/divmmc/divmmc.go:268
↓ 63 callers
Method
PageMemory
PageMemory handles the 128K memory paging mechanism.
pkg/memory/memory.go:1864
↓ 63 callers
Method
setDE
(val uint16)
pkg/z80/z80.go:3798
↓ 62 callers
Method
Set
Set installs an attribute record at the given slot.
pkg/next/sprite/sprite.go:396
↓ 61 callers
Method
HandlePortWrite
HandlePortWrite handles writes to DISCiPLE I/O ports.
pkg/disciple/disciple.go:236
↓ 61 callers
Method
SetMMU
SetMMU writes the bank ID for an 8K MMU slot. Called from the NextReg 0x50..0x57 OnWrite handlers when guest code writes to those registers (either vi
pkg/memory/memory.go:498
↓ 60 callers
Method
exec
exec models internal (no-MREQ) cycles: the ULA still holds the bus once per T-state for the value currently on the address bus, so contention is appli
pkg/z80/z80.go:424
↓ 60 callers
Function
parseHex
(s string)
cmd/zx_go/debugger.go:1851
↓ 59 callers
Method
ReadData
ReadData handles a byte clocked in by the host (IN A,(0xEB)). Returns 0xFF when no card is present or no response is queued.
pkg/next/sdcard/spi.go:294
↓ 58 callers
Function
drainResult
drainResult reads MSR and the result phase bytes, returning them. The FDC must already be in result phase.
pkg/plus3fdc/upd765_test.go:20
↓ 57 callers
Function
sendCommand
helper: send 6-byte command frame and read R1 response.
pkg/next/sdcard/spi_test.go:10
↓ 54 callers
Function
NewPeripheralManager
NewPeripheralManager creates a new peripheral manager
pkg/peripherals/manager.go:51
↓ 54 callers
Function
makeROM
()
pkg/next/divmmc/divmmc_test.go:77
↓ 53 callers
Method
Bytes
Bytes returns a copy of the track's raw byte stream — the MFM-decoded track image (gaps, sync, address marks, sector ID + data fields, CRCs) as the WD
pkg/plus3fdc/track.go:397
↓ 53 callers
Function
NewImageSource
NewImageSource wraps an image-bytes slice as a block source. The image length must be a multiple of 512.
pkg/next/sdcard/image_source.go:17
↓ 52 callers
Method
Add
(pc uint16, e BPEntry)
pkg/debugger/breakpoints_widget.go:21
↓ 52 callers
Function
New
New returns a fresh Engine with all sprites invisible and the pattern RAM zero.
pkg/next/sprite/sprite.go:130
↓ 52 callers
Function
NewMultiface
NewMultiface creates a new Multiface interface
pkg/multiface/multiface.go:73
↓ 52 callers
Function
invokeAPI
invokeAPI simulates the post-RST-8 state and dispatches.
pkg/next/esxdos/file_handlers_test.go:61
↓ 51 callers
Function
New
New allocates an empty cartridge with the given length in blocks. All bytes are initialised to 0xFF — the value an unwritten microdrive tape returns w
pkg/microdrive/microdrive.go:57
↓ 51 callers
Method
Refresh
()
pkg/debugger/debugger.go:372
↓ 51 callers
Method
executeInstruction
()
pkg/z80/z80.go:893
↓ 51 callers
Function
newTestMemory
helper creates a temp dir with a dummy 48.rom and returns a *memory.Memory plus cleanup func.
pkg/multiface/multiface_test.go:13
↓ 51 callers
Method
readOperand
readOperand reads the next byte at PC without incrementing R (for immediate operands).
pkg/z80/z80.go:3773
↓ 50 callers
Function
New
New creates a new Z80 CPU instance.
pkg/z80/z80.go:347
↓ 50 callers
Method
WritePort
(port uint16, val byte)
pkg/ula/ula.go:350
↓ 48 callers
Method
ReadPort
(addr uint16)
pkg/z80/z80.go:322
↓ 48 callers
Method
Scan
Scan returns the ANDed column bits of the rows selected by the high address byte. A cleared bit r of highByte selects row r (active-low); multiple sel
pkg/sam/keyboard.go:158
↓ 48 callers
Method
WriteCommand
WriteCommand issues a command (Beta port $1F write).
pkg/betadisk/fdc.go:116
↓ 48 callers
Method
rd
rd models a memory-read machine cycle (3 T): contend then read.
pkg/z80/z80.go:407
↓ 47 callers
Method
AddPreFetchHook
AddPreFetchHook registers a callback fired on every M1 fetch after the legacy CPU.PreFetchHook field. If a hook with the same name is already register
pkg/z80/z80.go:1022
↓ 47 callers
Method
WriteData
WriteData handles a byte clocked out by the host (OUT 0xEB,A). On a card with no media this is a no-op — the host's clocks are absorbed but produce no
pkg/next/sdcard/spi.go:266
↓ 47 callers
Method
WriteRegister
WriteRegister writes a value to a specific register, bypassing the register-select latch. Mostly useful for tests and snapshot loading.
pkg/ay/ay.go:223
↓ 46 callers
Function
New
New constructs a fresh Harness for the given Spectrum model. The peripheral ROMs are loaded from the embedded ROM filesystem (the same path memory.New
pkg/testharness/testharness.go:87
↓ 46 callers
Function
NewTapePlayer
NewTapePlayer creates an empty tape player.
pkg/ula/tape.go:65
↓ 46 callers
Method
Raw
Raw returns the backing register byte without going through OnRead. Useful for debug snapshots and for handlers that recompute reads from stored state
pkg/next/nextregs/dispatcher.go:258
↓ 46 callers
Function
createTestROMDir
createTestROMDir builds a temporary directory with all the ROM files that memory.New and the peripheral subsystems need.
pkg/peripherals/manager_test.go:15
↓ 45 callers
Function
newTestMemory
newTestMemory creates a *memory.Memory suitable for testing.
pkg/peripherals/manager_test.go:52
↓ 44 callers
Function
NewCard
NewCard returns a fresh card backed by src. A nil src means the slot is empty — IN(0xEB) returns 0xFF unconditionally and all commands stay in idle.
pkg/next/sdcard/spi.go:190
↓ 44 callers
Method
Stat
Stat returns metadata for a path.
pkg/next/sdcard/sdcard.go:38
↓ 44 callers
Method
Tstates
Tstates returns the absolute T-state counter. Used by RZX recording to seed input recording blocks with the T-state offset at which the recording wind
pkg/z80/z80.go:562
↓ 43 callers
Method
GetCurrentModel
GetCurrentModel returns the current Spectrum model
pkg/memory/memory.go:1141
↓ 42 callers
Method
BC
BC returns the BC register pair.
pkg/z80/z80.go:582
↓ 42 callers
Function
GetModelName
GetModelName returns a human-readable name for a Spectrum model
pkg/roms/rom_manager.go:249
↓ 42 callers
Function
New
New creates a new ULA instance.
pkg/ula/ula.go:548
↓ 41 callers
Method
Select
Select sets the active palette per the NextReg 0x43 layout: bit 0 toggles first/second, bits 1-2 select layer.
pkg/next/palette/palette.go:149
↓ 41 callers
Method
SetAutomap
(on bool)
pkg/next/wire.go:27
↓ 41 callers
Method
WriteData
(val byte)
pkg/ula/ula.go:401
↓ 41 callers
Method
wr
wr models a memory-write machine cycle (3 T): contend then write.
pkg/z80/z80.go:414
↓ 40 callers
Method
HL
HL, BC, DE: 16-bit register-pair accessors. Exported convenience wrappers for callers outside pkg/z80 — the Spectrum Next esxDOS handlers reach for th
pkg/z80/z80.go:579
↓ 39 callers
Method
GetPortState
GetPortState returns the current port 7FFD and 1FFD values for debugging.
pkg/memory/memory.go:1816
↓ 39 callers
Method
PressMatrixKey
PressMatrixKey directly sets or clears the given bit of the Spectrum keyboard matrix, bypassing the host-key-to-Spectrum-key mapping entirely. Used by
pkg/keyboard/keyboard.go:145
↓ 39 callers
Method
ReadPort
(port uint16)
pkg/ula/ula.go:370
↓ 39 callers
Method
executeZ80NEDInstruction
executeZ80NEDInstruction dispatches the ZX Spectrum Next's extended ED-prefixed opcodes. Returns true if the opcode was handled and the caller should
pkg/z80/z80n.go:18
↓ 38 callers
Method
Active
Active returns the currently-selected Palette so layer code can read entries directly.
pkg/next/palette/palette.go:165
↓ 38 callers
Method
Open
Open opens a file at the given esxDOS-style path. The flags follow esxDOS conventions: bit 0 = read, bit 1 = write, bit 2 = create, bit 3 = exclusive,
pkg/next/sdcard/sdcard.go:32
↓ 38 callers
Method
SetHL
SetHL writes the HL register pair.
pkg/z80/z80.go:588
↓ 38 callers
Function
cleanupTestROMs
Clean up test ROMs
pkg/memory/memory_test.go:43
next →
1–100 of 5,503, ranked by callers