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

GENERAL

 

Front Page


Where rakewell.com is stored



BBC BASIC for Windows



BBC BASIC Programs



FREE
Pipedream

Z88

 
   
Special Offer

Z88


Hardware


NewSpares


Software


Com Links



Manuals (Applications)



Shows


Programmer's Section


Quick Guide


Reviews


GDPR


Help & FAQ


Z88 2nd User Section


Training Days



Ordering & Prices


EXTRA

 

Site map

Feedback

Help


 

Black Bar

 ARCHIVE SECTION

 

GENERAL

 

  Adverts


BBC BASIC


Books


Computer Fairs


Flying Page


PC


Ordering & Prices




NEWS

 

Mailshot Promotions


PC Newsletter


Download Adobe Reader


Z88

 

Z88


Hardware


Software


Com Links



Z88 Shows



Z88 News







[ image: nothing] [ image: nothing]
Tuesday, 08-Oct-2024 00:31:46 BST


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 - 2024


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

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

Eazylink

Flash EPROM

Intuition

Workbench

Z80asm

Zprom

Zetriz


 
Untitled Document


Untitled Document
 

Z88 Internet Links



z88 logo

Z88 Wiki

Z88 Forever

Z88 RAM Applications


Z88 Development Group


OpenSCAD


Z88 3D Printer Card Details


Z88-development 2003

Project: Z88 Development: Summary

Z88 Developers' Notes V4.3

Retroisle

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]

BBCBASIC.org

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
AYLESBURY
Buckinghamshire
HP22 5HH
England
[ 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]
EORI:GB443786423000
[ image: nothing]
h: 10:00-20:00 Monday to Friday
...10:00-18:00 Saturday

[ image: nothing]

Banking Details

Santander
PO Box 10102
21 Prescot Street
LONDON
E1 8TN
Name Rakewell Ltd
Bank Code  
09-06-66
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