General info for: MICRO BUG [#ID: 32086]
Title:
Release Date:
1984/Apr
Original Publisher:
Magazine Micro Sistemas - type-in from issue #31 - 1984/Apr
Availability:
Available
Message Language:
Portuguese
Machine Type:
ZX81 16K
Maximum Players:
1
Known Errors:
Bugfix provided by Einar Saukas:
  • Typing command N immediately followed by DELETE or NEW LINE will either corrupt screen or abort to BASIC, respectively. This problem is caused by printing the next input key without checking if it's printable. This is the original code:

    7D9E 2A 0E 40 LD HL,(400E) ; get PRINT AT position
    7DA1 36 04 LD (HL),04 ; show cursor
    7DA3 CD D3 78 CALL 78D3 ; read input key
    7DA6 D7 RST 10 ; print key (even if not printable!)
    7DA7 CD AA 78 CALL 78AA ; wait for key release
    7DAA F5 PUSH AF ; save key
    7DAB AF XOR A
    7DAC D7 RST 10 ; print space
    7DAD CD 52 7A CALL 7A52 ; read string
    7DB0 B7 OR A
    7DB1 CA 4A 7A JP Z,7A4A ; exit to main menu if empty string
    7DB4 01 04 15 LD BC,1504
    7DB7 CD A1 7A CALL 7AA1 ; parse numeric value
    7DBA F1 POP AF ; restore key
    7DBB EB EX DE,HL ; load numeric value into HL
    7DBC FE 26 CP 26 ; key 'A'?
    7DBE 20 03 JR NZ,7DC3
    7DC0 22 36 79 LD (7936),HL ; update register pair AF
    7DC3 FE 2D CP 2D ; key 'H'?
    7DC5 20 03 JR NZ,7DCA
    7DC7 22 38 79 LD (7938),HL ; update register pair HL
    7DCA FE 29 CP 29 ; key 'D'?
    7DCC 20 03 JR NZ,7DD1
    7DCE 22 3A 79 LD (793A),HL ; update register pair DE
    7DD1 FE 27 CP 27 ; key 'B'?
    7DD3 20 03 JR NZ,7DD8
    7DD5 22 3C 79 LD (793C),HL ; update register pair BC
    7DD8 FE 33 CP 33 ; key 'N'?
    7DDA 20 0C JR NZ,7DE8
    7DDC 22 36 79 LD (7936),HL ; update register pair AF
    7DDF 22 38 79 LD (7938),HL ; update register pair HL
    7DE2 22 3A 79 LD (793A),HL ; update register pair DE
    7DE5 22 3C 79 LD (793C),HL ; update register pair BC

    To fix it, move the main part of this routine using command "O 7DAA,7DD3,7DAD" then use command "M" to make these changes: POKE 32166,203: POKE 32167,119: POKE 32168,40: POKE 32169,2: POKE 32170,62: POKE 32171,15: POKE 32177,153: POKE 32214,40: POKE 32215,13. It will produce this result:

    7D9E 2A 0E 40 LD HL,(400E) ; get PRINT AT position
    7DA1 36 04 LD (HL),04 ; show cursor
    7DA3 CD D3 78 CALL 78D3 ; read input key
    7DA6 CB 77 BIT 6,A ; ** printable key?
    7DA8 28 02 JR Z,7DAC ; ** if so, skip next instruction
    7DAA 3E 0F LD A,0F ; ** otherwise replace key with '?'
    7DAC D7 RST 10 ; print key
    7DAD F5 PUSH AF ; save key
    7DAE AF XOR A
    7DAF D7 RST 10 ; print space
    7DB0 CD 99 7A CALL 7A99 ; ** wait for key release, then read string
    7DB3 B7 OR A
    7DB4 CA 4A 7A JP Z,7A4A ; exit to main menu if empty string
    7DB7 01 04 15 LD BC,1504
    7DBA CD A1 7A CALL 7AA1 ; parse numeric value
    7DBD F1 POP AF ; restore key
    7DBE EB EX DE,HL ; load numeric value into HL
    7DBF FE 26 CP 26 ; key 'A'?
    7DC1 20 03 JR NZ,7DC6
    7DC3 22 36 79 LD (7936),HL ; update register pair AF
    7DC6 FE 2D CP 2D ; key 'H'?
    7DC8 20 03 JR NZ,7DCD
    7DCA 22 38 79 LD (7938),HL ; update register pair HL
    7DCD FE 29 CP 29 ; key 'D'?
    7DCF 20 03 JR NZ,7DD4
    7DD1 22 3A 79 LD (793A),HL ; update register pair DE
    7DD4 FE 27 CP 27 ; key 'B'?
    7DD6 28 0D JR Z,7DE5 ; ** update register pair BC
    7DD8 FE 33 CP 33 ; key 'N'?
    7DDA 20 0C JR NZ,7DE8
    7DDC 22 36 79 LD (7936),HL ; update register pair AF
    7DDF 22 38 79 LD (7938),HL ; update register pair HL
    7DE2 22 3A 79 LD (793A),HL ; update register pair DE
    7DE5 22 3C 79 LD (793C),HL ; update register pair BC


MICRO BUG image, screenshot or loading screen
MICRO BUG image, screenshot or loading screen
User Score

This title has no votes yet.




Main File Downloads

Spectrum Computing acknowledges the rights of copyright holders. If you would like your software removed from our preservation archive and made unavailable for download (or have any queries) please contact [email protected].

MICROBUG.p.zip
Portuguese
MICROBUG(BUGFIX).p.zip
BUGFIX file by Einar Saukas

Icons provided by Flaticon

Releases

Magazine Micro Sistemas - type-in from issue #31 - 1984/Apr
1984/Apr
Authors/Contributors
no team 
Page: 38 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 54 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 54 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 62 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 28 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 52 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 52 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 14 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)
Page: 30 [PDF] (PDF) (VIEW)
Article Type: Type-in (original)