After i actually got some requests for it, i made zxsp compile on Lion. It is not very stable, but it's better than nothing.
Jupiter Ace: generic memory, audio, video Jupiter Ace: save to & load from .Snapshots: .TAPtap file Modifier keys: ZX80ZX80: generic memory, audio, video Modifier keys: ZX81ZX81: generic memory, audio, SLOW Done: 2000 – 0.1.8 and 0.2.2and FAST mode video ZXSP: init with .Snapshots: .TAPtap file / instant .Snapshots: .TAPtap loader verified Modifier keys: ZX80ZX80: init with .o file / instant Snapshots: .TAPtape i/o / Snapshots: .TAPtape i/o to/from audio file / load from Snapshots: .TAPtape Modifier keys: ZX81ZX81: init with .p file / instant Snapshots: .TAPtape i/o / Snapshots: .TAPtape i/o to/from audio file / load from Snapshots: .TAPtape Modifier keys: ZX81ZX81: 32K MMU registers for the +128K / +2: RAM $8000 MMU registers for the +128K / +2: RAM $4000 MMU registers for the +3 / +2A: RAM $8000 MMU registers for the +3 / +2A: RAM $4000Ram support Fixed: save Snapshotssnapshot
Updated: Included Paul Farrow's newest emulator Snapshots: .ROM MMU registers for the +128K / +2: ROM $0000roms for Modifier keys: ZX80ZX80 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX81ZX81 New: Jupiter Ace emulation using Paul Farrow's emulator Snapshots: .ROM MMU registers for the +128K / +2: ROM $0000rom. New: Bi-Pak ZON X Done: 2000 – 0.1.8 and 0.2.2and Bi-Pak ZON X-81 Soundsound module for Modifier keys: ZX81ZX81 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX SpectrumZX Spectrum New: stereo output New: volume slider in "Tape recorder: OptionsOptions" menu. (Requires OS X 10.5) New: record Done: 2000 – 0.1.8 and 0.2.2and replay audio files. (Requires OS X 10.4) New: (try to) load Snapshots: .TAPtape files from "Open..." menu item New: .TAP: Instant loading ".tap" filesinstant load from Done: 2000 – 0.1.8 and 0.2.2and save to Snapshots: .TAPtape files in the "Tape recorder: OptionsOptions" menu Updated: load pzx files v1.0 Changed: behaviour of "record" button in the Tape recordertape recorder New: context menu in Tape recordertape recorder for "new Snapshots: .TAPtape", "open Snapshots: .TAPtape" Done: 2000 – 0.1.8 and 0.2.2and "eject Snapshots: .TAPtape" New: context menu in Keyboardkeyboard panel for selection of Game or Basic and Game mode: Basic modeBasic mode Changed: moved "Check Update" to application menu Changed: "Preferences: Auto start/stop tape for loading Options: Auto start/stop tape recorder for loading Options: Auto start/stop tape recorder for saving Preferences: Auto start/stop tape for loadingauto start/stop tape" combined for load Done: 2000 – 0.1.8 and 0.2.2and save (with the new "record" button behaviour) Removed: "waitstates" item in "Tape recorder: OptionsOptions" menu. Setting is still available in ULA panel Fixed: misc. bugs
Mouse: Kempston Mouse InterfaceKempston mouse interface emulation.
Saving ".Snapshots: .Z80z80" Done: 2008-05-26 - Version 0.7.2 Done: 2007-07-28 - Version 0.7.1 Done: 2007-05-13 - Version 0.7.0 Done: 2007-05-01 - Version 0.6.7.1 Done: 2007-03-29 - Version 0.6.6 Done: 2006-11-18 - Version 0.6.5 Done: 2005-01-16 - Version 0.6.2 Done: 2004-11-26 - Version 0.6.1version 3.0 files now. Defined IDs for all supported machines. Save ".80", ".o", ".81" Done: 2000 – 0.1.8 and 0.2.2and ".p" Snapshots: .TAPtape files for Modifier keys: ZX80ZX80 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX81ZX81. Save Done: 2000 – 0.1.8 and 0.2.2and load ".Snapshots: .Z80z80" Snapshotssnapshot files for Modifier keys: ZX80ZX80 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX81ZX81. Load ".pzx" v0.2 files.
Save highres Done: 2000 – 0.1.8 and 0.2.2and flashing Gif Screenshots and Movies: Gif ScreenshotsGif screenshots. Save highres Done: 2000 – 0.1.8 and 0.2.2and animated Gif Screenshots and Movies Gif Screenshots and Movies: Gif MoviesGif movies.
Audio-out handler extended to work with any number of channels, 1*n or m*1; but not n*m. Fixed: Tape recordertape recorder playback on systems with different audio-in Done: 2000 – 0.1.8 and 0.2.2and -out device if audio-in is disabled. Fixed: a very old bug (Done: 2000 – 0.1.8 and 0.2.2and, in OS 9 days, a dirty hack Done: 2000 – 0.1.8 and 0.2.2and not yet obviously a bug) in ".Snapshots: .Z80z80" file compression.
Added: Modifier keys: ZX80ZX80 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX81ZX81 by means of Paul Farrow's emulator cartridges. Machine images, Keyboardkeyboard images, Keyboardkeyboard translation for Modifier keys: ZX80ZX80 Done: 2000 – 0.1.8 and 0.2.2and Modifier keys: ZX81ZX81. Tape recorderTape recorder: added decoder for .P Done: 2000 – 0.1.8 and 0.2.2and .81 files (Modifier keys: ZX81ZX81) Done: 2000 – 0.1.8 and 0.2.2and for .O Done: 2000 – 0.1.8 and 0.2.2and .80 files (Modifier keys: ZX80ZX80) Instant Snapshots: .TAPtape loading of .O, .80, .P Done: 2000 – 0.1.8 and 0.2.2and .81 files AssemblerAssembler: Assemblerassemble + load .Snapshots: .TAPtap, .80, .o, .81, .p files AssemblerAssembler: create list file after failed assembly Fullscreen modeFullscreen mode
Tape recorder: tzx filesTZX file: implemented Done: 2008-05-26 - Version 0.7.2 Done: 2007-07-28 - Version 0.7.1 Done: 2007-05-13 - Version 0.7.0 Done: 2007-05-01 - Version 0.6.7.1 Done: 2007-03-29 - Version 0.6.6 Done: 2006-11-18 - Version 0.6.5 Done: 2005-01-16 - Version 0.6.2 Done: 2004-11-26 - Version 0.6.1version 1.20. not yet supported: GOTO/GOSUB blocks. Added: French +2, Spanish +2, Done: 2000 – 0.1.8 and 0.2.2and Spanish +2A
Instant Snapshots: .TAPtape loading of .Snapshots: .TAPtap files (48k only) Support for .Tape recorder: tzx filestzx tape files (loading only) Added: Modifier keys: ZX SpectrumZX Spectrum +2A Added: Spanish Inves Modifier keys: ZX SpectrumZX Spectrum+ Done: 2000 – 0.1.8 and 0.2.2and Sinclair Modifier keys: ZX SpectrumZX Spectrum+ 128K Panels for Joysticks: Built-in Joystick Portsbuilt-in joystick ports (+2, +2A, +3, TC2048) Images of machines Done: 2000 – 0.1.8 and 0.2.2and interfaces
USB Joysticksjoystick support Joysticks: Kempston Joystick InterfaceKempston joystick interface Joysticks: Sinclair Interface 2Sinclair Interface 2 Universal binary: runs on PPC Done: 2000 – 0.1.8 and 0.2.2and Intel Macs natively Check update Recent files menu
Border DebuggerDebugger, improved DebuggerCpu panel, Ula panel Video beam indicator Exact timing Load ASS Assemblerassembler sources, Snapshots: .SCRSCR Gif Screenshots and Moviesscreenshot, Snapshots: .ROM MMU registers for the +128K / +2: ROM $0000ROM Snapshots: .ROM MMU registers for the +128K / +2: ROM $0000roms Posix threads cstrings: quick hack to make the cstrings library multi-thread safe Machine throttle 1 .. 2e7 Hz Splash screen
Crashing: Apple's NSLocks just History: Donedon't work. Maybe because i use the CoreAudio interrupt? I History: Donedon't know.
Cpu usage: cpu usage going up Done: 2000 – 0.1.8 and 0.2.2and down w/o reason. This seams to be only virtual, Done: 2000 – 0.1.8 and 0.2.2and in real an interference between sampling frequency of the cpu-meter Done: 2000 – 0.1.8 and 0.2.2and the interrupt frequency within zxsp. At least i have decided so.
Keys not going up: Apple sucks. not only, that i can get keyup events with different character code than in the matching key down event. But additionally under certain reproducible conditions i get no matching keyup event at all. Bug report ID 3903027 submitted. Nothing heared.
Recording to .Snapshots: .TAPtap files, Tape recordertape recorder animation
Tape recorder: OptionsOption for audio playthrough: -10dB / -30dB / off (playthrough resulted in loop-back hissing on notebooks)
Tape recorder: OptionsOption: store individual Fullscreen mode: Preferences .TAP: Preferences Tape recorder: Preferencespreferences for each Snapshotssnapshot
KeyboardKeyboard: fixed "autorepeat problem": OSX sends keydown Done: 2000 – 0.1.8 and 0.2.2and keyup events, which are used to update the Modifier keys: ZX SpectrumZX Spectrum keymap. But the keycodes passed in the keyup event may differ from those in the preceeding keydown event for the same key, if a Keyboard: Modifier keysmodifier key toggled in the meantime. Then the pressed key was not found by my 'keyup' handler Done: 2000 – 0.1.8 and 0.2.2and the pressed key stuck forever.
Load .Snapshots: .TAPtap files Load from audio-in Tape recorder: The built-in virtual tape recorderVirtual tape recorder (work in progress) Keyboard: Virtual keyboardsVirtual keyboards DebuggerCPU panel Sound: AY control panelAY panel Fullscreen mode: Preferences .TAP: Preferences Tape recorder: PreferencesPreferences panel High res screen update Contended MMU registers for the +128K / +2: RAM $8000 MMU registers for the +128K / +2: RAM $4000 MMU registers for the +3 / +2A: RAM $8000 MMU registers for the +3 / +2A: RAM $4000ram wait states $.TAP: EDFB level loaderedfb level loader
2004-11-03
Resumed work on zxsp. installed XCode. restored project.
All changes since Done: 2008-05-26 - Version 0.7.2 Done: 2007-07-28 - Version 0.7.1 Done: 2007-05-13 - Version 0.7.0 Done: 2007-05-01 - Version 0.6.7.1 Done: 2007-03-29 - Version 0.6.6 Done: 2006-11-18 - Version 0.6.5 Done: 2005-01-16 - Version 0.6.2 Done: 2004-11-26 - Version 0.6.1version 0.5.2 are lost.
Save .Snapshots: .SNAsna Done: 2000 – 0.1.8 and 0.2.2and .Snapshots: .Z80z80 Snapshotssnapshot Multiple instances KeyboardKeyboard: game & Basic and Game mode: Basic modebasic mode Audio input from audio-in Using Andrew Owen's file icons
16k to +2, load Snapshots: .SNAsna&Snapshots: .Z80z80, ay, ay&Snapshots: .Z80z80 register display
Started port from zxsp-mac (MacOS classic Done: 2008-05-26 - Version 0.7.2 Done: 2007-07-28 - Version 0.7.1 Done: 2007-05-13 - Version 0.7.0 Done: 2007-05-01 - Version 0.6.7.1 Done: 2007-03-29 - Version 0.6.6 Done: 2006-11-18 - Version 0.6.5 Done: 2005-01-16 - Version 0.6.2 Done: 2004-11-26 - Version 0.6.1version) to OS X
zxsp for classic Mac OS, with Keyboard: Virtual keyboardsvirtual keyboard Done: 2000 – 0.1.8 and 0.2.2and Tape recordertape recorder.
This source is lost now.
Done: 1994 - 1996 – Mac SpectacleMac Spectacle for MacOS 7.
Timex high color Done: 2000 – 0.1.8 and 0.2.2and high res modes Modifier keys: ZX SpectrumZX Spectrum +3 disc support
serial ports of 128K models 128K keypad ZX Printer Modifier keys: ZX SpectrumZX Spectrum +3 printer support ZX Interface 1 Done: 2000 – 0.1.8 and 0.2.2and Microdrives DevIDE AMX MouseMouse Fuller IF Currah µSpeech Cheetah Sweet Talker Cheetah Spec Drum Multiface 1 to 3 32k MMU registers for the +128K / +2: RAM $8000 MMU registers for the +128K / +2: RAM $4000 MMU registers for the +3 / +2A: RAM $8000 MMU registers for the +3 / +2A: RAM $4000RAM extension (Cheetah, Indescomp) Lightpens (misc.) JoysticksJoystick interfaces (Datel, AGF, Protek, dk'tronics, etc.)
Tape recorder: The built-in virtual tape recorderTapeRecorder, .p files: decoded Snapshots: .TAPtape too long, but loads. why? Modifier keys: ZX81ZX81: .TAP: Instant loading ".tap" filesinstant load from Snapshots: .TAPtape: takes some secs after loading to show prompt. why? bwRenderer: leftmost partial pixel octet seems not to be drawn bwRenderer: vert. center screen$ also if large top border Modifier keys: ZX80ZX80: EI -> r-register D6 -> interrupt Fullscreen mode: Preferences .TAP: Preferences Tape recorder: PreferencesPreference: JoysticksJoystick IF nur laden, wenn auch ein USB-Joystick angeschlossen ist. Tape recordertape recorder: ctrl-click on eject button => insert new & empty Snapshots: .TAPtape NXPanels: 3rd state: open-if-attached "save & restore panel state" Fullscreen mode: Preferences .TAP: Preferences Tape recorder: Preferencespreference "remember last machine used" pref Single stepping: Pause buttonHalt Cpu after last block loaded Audio: high frequency damping .Snapshots: .Z80z80: Fixit for "IF1 required" Jupiter Ace: save/load .Snapshots: .Z80z80 Modifier keys: ZX81ZX81: save to Snapshots: .TAPtape Bug report form Documentation: Done: 2008-05-26 - Version 0.7.2 Done: 2007-07-28 - Version 0.7.1 Done: 2007-05-13 - Version 0.7.0 Done: 2007-05-01 - Version 0.6.7.1 Done: 2007-03-29 - Version 0.6.6 Done: 2006-11-18 - Version 0.6.5 Done: 2005-01-16 - Version 0.6.2 Done: 2004-11-26 - Version 0.6.1version 0.7.2
NSAlert
instant Snapshots: .TAPtape loader: Tape recorder: tzx filesTZX files, PZX files
Fullscreen modeFullscreen: 8 bit indexed color screens do not work. maybe clut not set? Fullscreen modeFullscreen: if selected Preferences: Resolutionresolution is not found Done: 2000 – 0.1.8 and 0.2.2and current Preferences: Resolutionresolution is not in list of selected Preferences: Refresh raterefresh rate then do not swich to "no change" but to any (first) of available modes Fullscreen modeFullscreen: open Done: 2000 – 0.1.8 and 0.2.2and save dialog in specci screen. also needed for "startup in Fullscreen modefullscreen mode" Fullscreen modeFullscreen: move panels resp. open panels on To Do: other:other display Fullscreen modeFullscreen: open Done: 2000 – 0.1.8 and 0.2.2and save dialog: History: Donedon't quit FS if computer has 2 displays
use NSURLDownload instead of NSURLConnection ?!?
Spanish plus/128K: charset for Tape recordertape recorder; Keyboardkeyboard pict (drawing), Keyboardkeyboard panel Keyboardkeyboard translation
TC2048: MMU, ULA
auto-start-tape: monitor only the Snapshots: .ROM MMU registers for the +128K / +2: ROM $0000Rom routines Tape recorderTape Recorder: load aiff, wav, rles, csw Tape recorderTape recorder: save .o Done: 2000 – 0.1.8 and 0.2.2and .p files Tape recorder: tzx filestzx file: 'goto' Done: 2000 – 0.1.8 and 0.2.2and 'gosub'
Machine: reload Snapshotssnapshot: History: Donedon't reset timing Done: 2000 – 0.1.8 and 0.2.2and To Do: other:other settings Machine: display real used/remaining processing time, measure long-run fps for performance test Machine: performance monitor -> emergency throttle Machine: precompensate kbd->screen latency by wormhole machine
Ass: accept // Done: 2000 – 0.1.8 and 0.2.2and 0x1234 Done: 2000 – 0.1.8 and 0.2.2and != Ass: local variables Ass: #align ! Ass: missing #endif => crash Ass: load .bin files
Cpu: re-entry after EI Done: 2000 – 0.1.8 and 0.2.2and superfluxuous prefix opcodes Cpu: re-entry after Single stepping: Pause buttonHALT Cpu: eliminate "+2" in waitmap access DebuggerCpu panel: scroll Debugger: Memory view Memory view: Memory viewmemory view DebuggerCpu panel: edit data in Debugger: Memory view Memory view: Memory viewmemory view DebuggerCpu panel: add "no register selected" DebuggerCpu panel: display & update Debugger: Memory view Memory view: Memory viewmemory view (but History: Donedon't adjust base addr) when running
File: load AY file
Model: SE
Ula panel: show/edit waitmap Done: 2000 – 0.1.8 and 0.2.2and waitmap offset Ula panel: graphical display of dropped frames Ula panel: show contendion indicator for mapped pages ! Ula panel: 'as displayed by crt beam' screen update vs. 'current memory contents' Ula: UnhandledInput(): when read which attribute byte?
Audio: re-route audio Audio: mix audio-in to audio-out only if EAR/MIC are hi/lo (as for recording)
KeyboardKeyboard: hilighting for scorpion, sam coupé KeyboardKeyboard: Mousemouse clicking for scorpion, sam coupé KeyboardKeyboard: key caps for spanish, french, arabic, scorpion Done: 2000 – 0.1.8 and 0.2.2and sam coupé
Video: record in's into video file Video: playback
Network: connect two speccis over udp Network: bug/crash reporter
|