[ image: nothing] [ image: nothing] [ image: nothing] [ image: nothing] [ image: nothing] [ image: nothing] [ image: nothing]
Untitled Document



Front Page

Where rakewell.com is stored

BBC BASIC for Windows

BBC BASIC Programs



Special Offer





Com Links

Manuals (Applications)


Programmer's Section

Quick Guide



Help & FAQ

Z88 2nd User Section

Training Days

Ordering & Prices



Site map




Black Bar








Computer Fairs

Flying Page


Ordering & Prices



Mailshot Promotions

PC Newsletter

Download Adobe Reader






Com Links

Z88 Shows

Z88 News

[ image: nothing] [ image: nothing]
Friday, 08-Dec-2023 09:24:50 GMT

Z88 Programmers Section

Untitled Document

Intuition - a code testing environment with built-in debugger

Forming an idea of a program, developing it through the symbolic code of assembler is about two processes. The challenge at hand is to make it run reliably and efficient. This is almost an impossible task with a low level language as assembler - especially the Z80 with it's limited registers and operands. Still, it has become a popular programming issue for thousands of users on the ZX Spectrum. Remember some of the Ultimate Games?

The Z88 is born with a sophisticated operating system. With all it's system traps to manipulate it's device-, memory- and file resources it's a vital component of the development stage that you have a debugger at hand that can execute your code and allow you to investigate the execution step by step. monitor correct set-up of your system calls and watch how the application is executed side by side with a window that displays the Z80 instruction while they are executed. Intuition is just that. Intuition has all the necessary features for the novice and professional developer:

  • Single stepping, or tracing code with definition of up to 8 address breakpoints
  • Instruction opcode breakpoints (stop at instruction, e.g. just before a specific operating system call)
  • Recursive subroutine tracing (e.g. trace CALL instruction and sub CALL's)
  • Break instruction execution at any time from keyboard using <SHIFT><DIAMOND>
  • Break at OZ call error (All OZ calls return the Carry Flag = 1 if an error occurred)
  • Register dumps and command line register manipulation
  • Number Conversion Utilities (e.g.. Hex to binary and decimal)
  • Disassembly with optional opcodes. All OZ mnemonic calls represented. Disassemble code in Z80 address space or extended addresses (all available Z88 memory).
  • Memory editing, viewing and searching in address space or available banks
  • View application windows (always preserved by Intuition)
  • Extended CLI screen logging with up to 256 different files in current RAM device
  • Display disassembly with optional register dump while executing application
  • Seamlessly integrated with the operating system (switch freely out of the debugger in command mode to activate other applications)
  • 24 topics of On-line help containing descriptions of all available Intuition commands and facilities. If you're in doubt of how to access a feature in Intuition, press <HELP> and a menu displays all available items.

You may use the Intuition application (#ZI) as a test ground which provides 40K of contiguous memory - the same principle behind the BBC BASIC application. This is of course pure luxury. Real Z88 application are memory efficient programs that exploit the fragmented memory scheme as in PipeDream or Diary. We made this debugger version only to supply the programmer with a quick feature to test modular routines. However, you could use the Intuition application as an environment for machine code utility programs, e.g. loading different small programs at various memory areas and providing a menu which could activate each routine. This would be a way to avoid the Application Card production and insertion of the card to be able to run the code.

The real power of Intuition is to be able to monitor the external applications on EPROM Cards and seamlessly interface with the Z88 operating system. Traditional debuggers require RAM to monitor programs, but we implemented a virtual Z80 processor that is the core of the debugger - this avoids the traditional memory address patching technique for redirecting the flow of instructions back to the debugger (e.g. on a breakpoint). Patching is impossible on EPROM, as you may well know.

When Intuition has encountered a breakpoint during execution of the monitored application, it enters command mode and uses the GN_SIP operating system call (standard line input). Intuition only monitors applications, not the operating system. This is necessary due to the interrupt system and for security reasons - imagine killing a monitored application while the operating system is being traced!

The virtual Z80 processor just executes opcodes (bytes) directly from memory whether it is RAM or EPROM. The average speed loss in execution of your monitored application is about 11 times slower than the original processor. The core of the debugger, the Z80 instruction parser, is packed in 8K. All remaining features are resided in the next 8K - a comprehensive debugger only in 16K of memory.

Intuition - stand-alone executable debuggers for inclusion in external EPROM Cards

As mentioned before, The Intuition Application is merely for testing purposes of routines with the need for EPROM blowing. The real core of Intuition is to include it with an external Application on EPROM. On insertion of the Card into the Z88 and activation of the application (pressing it's hot key) you just call the debugger once from your external application and Intuition takes over. From then on you may monitor your application and still be able to switch out to other applications when Intuition enters it's command mode. Intuition may then be preempted (activating other applications) but the Z88 only sees the external application present on the Card.

The Z88 memory organisation inhibits the segmentation principles found on Intel 80x86 processors. The Z88 can address 4MB of memory which is divided into 16K banks that can be made to point into the Z80 address space. The Z80 address is 64K which are divided into 4 logical segments. Each segment may hold one of the 256 possible memory banks in the Z88. The application programmer has control of which banks that are bound into the Z80 address space during run time of the application.

We have made Intuition to fit into a 16K bank to allow the developer to choose which segment he wants to insert Intution. Three different versions are available, which are resided as binary files on the supplied 3.5" discs:

  • Intuition addressed and configured for segment 0 (8K boundary). Intuition actually divides itself into two 8K halves and swap's each half into the 8K half of segment 0.
  • Intuition versions addressed for segment 1 and 2 (16K boundaries).
Untitled Document

Untitled Document

[ Mail to Gunther ]For software questions, ask the Z88 Development Team

© Rakewell Limited 1998-2004 InterLogic 1999 Untitled Document

[Click here to send e-mail for real-time pricing]

[ Top of Page ]

[ Front Page ] [ BBC BASIC ] [ Z88 Section ] [ PC Section ]

© Rakewell Limited 1998 - 2023

[ image: nothing] [ image: nothing] Untitled Document

Click here
to search on this site

[ image: nothing] [ image: nothing] [ image: nothing]
  Web Highlights  
  BBC BASIC for Windows  
  Flight Page  
  Z88 Section  
  Adverts Section  
  [ new ]
Jamie's 2020 Review
[ image: nothing]

Untitled Document

Untitled Document
  Z88 Programmers section








Untitled Document

Untitled Document

Z88 Internet Links

z88 logo

Z88 Wiki

Z88 Forever

Z88 RAM Applications

Z88 Development Group


Z88 3D Printer Card Details

Z88-development 2003

Project: Z88 Development: Summary

Z88 Developers' Notes V4.3


Keith Korner

Colin Parsons (RIP)
Z88 Page (Archived)

Computer Classic Games Server including Z88 files (Archived) [GONE]

Matthew Soar Home Page

FWDcomputing on the Z88 and QL [GONE]

Dominic Morris Z88 Projects

Dennis Gröning - Cambridge Z88 [ image: nothing]


Use Graphics on your Z88 with the BBC BASIC Patch

Run Acorn software on your PC[ image: nothing]

Rakewell Limited is not responsible for the content of these internet sites.

[ image: nothing]
Untitled Document

Company Details
[ image: nothing]
  We ship to other countries - USA - Hong Kong - Europe
[ image: nothing]
See Price list page for details.
[ image: nothing]

Company Details
[ image: nothing]
Vic Gerhardi

Rakewell Limited
24 Putnams Drive
Aston Clinton
HP22 5HH
[ image: nothing]
t:   +44 (0) 1296 632491
m: +44 (0) 7976 351876
[ image: nothing]e: e-mail: sales@rakewell.com
[ image: nothing]
co. reg.: 2009194
[ image: nothing]
VAT:GB 443 7864 23
[ image: nothing]
[ image: nothing]
h: 10:00-20:00 Monday to Friday
...10:00-18:00 Saturday

[ image: nothing]

Banking Details

PO Box 10102
21 Prescot Street
E1 8TN
Name Rakewell Ltd
Bank Code  
Account No, 41866977

IBAN (International Bank Account Number) is
GB27 ABBY 0906 6641 8669 77

[ image: nothing]
Untitled Document

Untitled Document Click Me
Click the banner to read