About site: Emulators/Sinclair/ZX Spectrum - PsiXZX
Return to Computers also Computers
  About site: http://www.gumbley.me.uk/psixzx.html

Title: Emulators/Sinclair/ZX Spectrum - PsiXZX A port of the XZX ZX Spectrum Emulator to the EPOC 16 platform.
Recursion_Software,_Inc_ Development tools for software developers using Java, C++, or C#.

Open_Text_Corporation Integrated product suite combines enterprise content management, visual workflow and powerful searching in a web-based environment for project collaboration, accessed through standard web browsers.

Perl_MySQL_Slow_Query_Log_Parser Reformats the Slow Query Log for easier comprehension.

Debby_Porter_Design Design services for the entertainment industry.

2d_Studio Supplier of 2d Architectural CAD Graphics in DWG and DXF format. Include modern vehicles, airplane, common trees and people. Product specifications on individual packages, and ordering information.

Streamline_Interactive_Communications Provides web site and database development, marketing, and online advertising campaigns.


  Alexa statistic for http://www.gumbley.me.uk/psixzx.html





Get your Google PageRank






Please visit: http://www.gumbley.me.uk/psixzx.html


  Related sites for http://www.gumbley.me.uk/psixzx.html
    Computer_Lab_International_(CLI) Manufacturer of thin client devices, IBM-compatible midrange terminals and host-access terminal emulation software.
    E-MailAnywhere_com Has many of the standard features, though lacks filtering. Provides a "Briefcase" which allows storage of files on provider's server for future use.
    Junkfind Cross platform tool that helps graphically find and remove folders that take up excessive space. Uses rectangular boxes to represent folders based on their relative size.
    Windows_Server_Update_Services Technical Information and resources to assist in the implementation and troubleshooting.
    RiscCPS Emulates Capcom Play Systems 1 & 2.
    OnLineInfo Providers of development, training and consulting services; also develops customized FDK plug-ins.
    VisionSites Offers web design services in English and Spanish. Moorpark, CA, USA.
    Vinznet_Interactive Providers of Flash-based websites, games, e-learning tools, CD presentations, 2D and 3D animations and other applications.
    Password_Generator_for_Windows Generator for cryptographically strong passwords and passphrases with PGP-like security
    SClock_Plus The skinable speaking clock utility with alarm settings, scheduler and multilanguage speaking modules.
    Ad_To_The_Web Online classified ad submission service.
    eLawDomains_com Domain names exclusively for the legal profession.
    Beginning_Perl An online version of the book by Simon Cozens that provides a complete introduction to Perl, aimed even for people without any programming knowledge.
    Conversay Computational Computing Corp. sells application specific speech enabled products including voice responsive browsers, office messaging system, speech SDK's for mobile devices, telephony speech servers
    Providence_Cable Data, voice and video cables and connectors available on the site.
    Programmers_Guild The organizing site for the American Programmers Guild, whose mission is to promote the profession, set standards and lobby on issues affecting the profession.
    Rmail The default mail reader which ships with every emacs.
    Avaron_Web_Solutions Offers site design, maintenance and domain name registration. Located in Orlando, Florida.
    J_Sector Provids an online journal service for people who want to publish their thoughts and events online
    Java_Web_Start_to_the_Rescue JavaWorld article to help developers get started with Java Web Start.
This is websites2007.org cache of m/ as retrieved on 2008.10.11 websites2007.org's cache is the snapshot that we took of the page as we crawled the web. The page may have changed since that time.
PsiXZX Page Ceci n'est ce pas Matt Gumbley Updated Mon Dec 30 22:03:55 2002 Site Map Site Home page Matt's home page Angela's home page Natasha's home page Hannah's home page Our Wedding Pages Personal Online CV Family history Projects Latest News The Crypt (Old, Dead Projects) Miscellaneous QtGantt HTML Macro System SigChange Home Page Sync Psion EPOC Overview Mixed Language Programming GDB Debug Stub hForth Port Disassembler Psion SIBO All SIBO projects are in The Crypt Linux Toshiba 40xx & Linux Network-RS232 Bridge Psion Protocol Analyser Serial Line Analyser Work on plptools Psion .img tools Happy Badger Linux Linux Psion Link Ideas Amateur Radio Amateur Radio Software Popularity accesses so far.. Matt J. Gumbley - http://www.gumbley.demon.co.uk

PsiXZX Psion Series 3 Spectrum Emulator

Table Of COntents

1 Introduction 2 Availability 3 Limitations 4 Why it's so slow 5 Why the keyboard handling is so bad 6 Wot no colour? 7 Why won't it load Jet Set Willy? 8 So emulation on a Series 3 is a no-go, then? 9 Hasn't the Gameboy got a Z80?

1 Introduction

PsiXZX is a port of the XZX ZX Spectrum Emulator to the EPOC 16 platform. There's not a lot of information available yet, and nothing you can really try out, I'm afraid...

2 Availability

It isn't available yet. Erik Kunze, the main author of the XZX emulator has asked me to merge the Psion port with the UNIX/X11 source tree. Since I ported this as a very quick hack to see if it was feasible, I hacked away at his source with great relish. There's little of the base XZX code left intact.. it'll take a while to comply with his wishes (see comments about whether I can be bothered continuing with this)...

3 Limitations

This is an extremely slow emulator, even running under the EPOC 16 Emulators on high-speed PCs. I'm working to improve matters by optimising it, but it'll never run in real-time on a real Psion. It emulates a 48KB standard ZX Spectrum, with no additional interfaces. There is no support for sound, and the attribute (colour) handling isn't implemented. Keyboard handling needs some more work, and there's no snapshot loader yet. Spectrum BASIC seems to work OK though, if you're prepared for a wait. Timing isn't as accurate as the XZX emulator which this program uses as its base. The Spectrum screen is 256x192 pixels - taller than a Psion screen. I haven't yet added any screen scrolling routines to enable the screen to be viewed on a real Psion; I simply changed the emulator's configuration to give me a larger screen. There's a lot of work still to do. Although several people have expressed an interest in seeing this run on a real Psion, I'm not entirely sure it's worth the effort. It does run extremely slowly.

4 Why it's so slow

The Z80 emulator in XZX uses a large switch() statement to process each Z80 opcode. The extended opcodes are handled by nested switch() statements. Thus, the resulting emulator main loop is VERY large. Several UNIX compilers cannot compile it, and Topspeed C won't compile it either. Therefore, I've had to break the switch() statement down into separate functions which handle each opcode, and a function-pointer table. This imposes an additional lookup and jump/return per opcode, which slows things down somewhat. The Z80 has a 64KB memory map, with the Spectrum's 16KB ROM mapped in at the start of memory, followed by the screen RAM, then the user RAM. Since EPOC 16 only allows a single 64KB code and 64KB data segment per process, an additional segment has had to be allocated as the emulated computer's memory. Accessing this memory has to be done using EPOC system calls. This slows down each memory access considerably. There is some optimisation to be done using assembly language inline access, if possible. The screen bitmap is held in another separate segment, and is accessed in the same manner. When a write to Spectrum screen memory is performed, the write is done to the main memory segment, and then processed, and done to the Psion screen bitmap. Since the bitmap is in a separate segment, the EPOC OS calls have to be done, slowing things down even more...

5 Why the keyboard handling is so bad

When a key is pressed on a real Spectrum, certain bits of an I/O port are lowered. When the key is released, these bits are raised. So, simply map key presses and releases onto bits of this I/O port. Except that (AFAIK) you can't detect when a key has been released in EPOC 16. Also, the Spectrum OS performs key rollover, and so a key has to be pressed for a certain duration before it is accepted. So, a system of counters has been added. When a key is pressed, the appropriate bit(s) in the port are lowered, and a counter set to a value. When the port is read, the keypress is registered, and the counter decremented. When the counter reaches zero, the appropriate bit is raised, simulating a key release. It works, but it's a kludge, and games probably won't like it.

6 Wot no colour?

I couldn't be bothered :-) The screen is used as a black-and-white image, the grey plane of the screen bitmap is not yet used.

7 Why won't it load Jet Set Willy?

Because I haven't added the snapshot loader yet. You could always write a clone in Spectrum BASIC. And type it in every time you want to play it :-)

8 So emulation on a Series 3 is a no-go, then?

I wouldn't say that... it does work, but we're only using an NEC V30H at 7.68MHz so don't expect anything fast. Emulation is a very time consuming process. The Z80 is quite a complex processor, IMHO. Simpler processors (such as the 6502) would be easier to emulate. This doesn't mean that a Commodore 64 would be simple to emulate - that machine had some quite complex hardware. The Spectrum's appeal lies in the incredible simplicity of the hardware. It's relatively simple to emulate. I could rewrite PsiXZX's core in assembler, but a) I'd really rather have root canal work done with a Bosch hammer drill and b) it might not gain much speed. Certain parts can be improved, and if these don't make it worthwhile, I'll abandon the project. If I do anything more with emulation on the '3, I'd look at porting an Apple //e emulator, since I've got a real //e, they're rather nice machines, and I've got plenty of technical info to work from. Anyone else interested? (I just want to play Fooblitzky again...)

9 Hasn't the Gameboy got a Z80?

I believe so. I haven't looked for any technical information on it. It may be possible to adapt PsiXZX into PsiGameboy, yes. Mail me what tech.info. you have.... Matt J. Gumbley - matt <at> gumbley <dot> demon <dot> co<dot> uk
 

A

port

of

the

XZX

ZX

Spectrum

Emulator

to

the

EPOC

16

platform.

http://www.gumbley.me.uk/psixzx.html

PsiXZX 2008 October

dvd rental

dvd


A port of the XZX ZX Spectrum Emulator to the EPOC 16 platform.

Rules




© 2008 Internet Explorer 5+ or Netscape 6+

Recommended Sites: 1. Arts - Business - Computers - Games - Health - Home - Kids and Teens - News - Recreation - Reference - Regional - Science - Shopping - Society - Sports - World Miss Gallery - Top Anime Hentai - DVD rental by mail - 0 Credit Cards - Problem Mortgage - Personal Car Finance - Cheap Magazines - Secured Loans
2008-10-11 06:13:02

Copyright 2005, 2006 by Webmaster
Websites is cool :) 181Krakow Hotels - Apartamenty Viva Maria - Torby Reklamowe - Zdjêcia Do Kalendarzy - Hotel Innsbruck