80-Bus News

  

March-April 1983, Volume 2, Issue 2











Page 40 of 55











GemZap V1.2

OO0L O002 00s Q004 Coos 0006 O07 9008 0009 O10 Ooi OOL 2 OOLS ao14 OOS OOLS QOL7 OO1s OOLs QQ OODL OO?

OO3D OOS >

OLOd

OLLA OLiD OLE OLIF O120 O124 O127 O28 OL2g OLZA oO12b o1sc o12D O12E

OOO4 BOOS aOOSC

SOILS

SOON

2QO2D

QLELGL FESL CDBECL FASCOO =D F2i20OL SAO4Od 4aF 3E18 CDBEOL 7

BS CABTZOL SE

22

56 EDSIDROL LLO900 19

SE

23

56

ER

SE

23

56

UNERA – CP/M 2.2 utility program

Bee ee ee an ee Om er te ee on a ee ee

3

Jak CuRDRY EDOS DFCE

*

SELDS!. SETTRy: SE TSEC, SETDMA READ

WRITE

UNERA – CP/M By Anders Hejlsberg, July 1982 UNERA is used to un-erase

deleted by accident. line *UNERA dinnnnannann.ttt’,

the name

may be omitted, is selected. un-erase a file if no new files file was deleted, UNERA

drive

since the un-er asure,

2.2 utility program

CF/M file UNERA is invoked by the command where dinnnnnnnn.ttt is of the file to un-erase. in which case the

will

Page O1

which

Was

The drive number currently logged

Note that it is only possible to

have been created

Following a succesfull display

“FILE FOUND*. If

the file specified cannot be found among the celeted

files, a "NO FILE*

ORG CP/M equates Eto EQuU

eeu EGU

BIOS jump vectors

eeu EQu FOU ECU

SECTRN EGU

$

Entry port

be

aE

WALL.

Oo whoo

DEG

LD

UNDO: LL

LD CALL ta Ed OR JF ub INC LD —D LD ADD LD INC LD EX iD INC LD

COOH OO04H OOOSH OSC mi

1x ifr Lert 21h 24H 27h 2BH

BC, SS Bur ASE" DMA

Bist

4, (OFCE)

oto JF Py Ehcor WV)

UN

CA A, SELDSF BIOSC Aart

L Z.NOFILE E, (HL) HL.

D. (HL? (XLT), DE DEY

Hi, DE

E, (HO) HL

D, (HL) DE. rik,

E. (HL) HL

D, (HL)

loffeet

message 13 displayed.

;Define origin

iwarme-baot jumo vector rCurrent drive store 7EDOS jurs vector sDefauit FOE

from WEOOT)

:Select dis.

3Set tract

Set sector

;Set DPA adores:

pRead current record sWrite current recor iTrangsiate sector aac:

Fount to SECKUF iSet DSA acor ees

Get drive cooe PAcsust

gNot cefauit =. sgihip Get default drive nor Put orive number ain C Select dis

3YYes =" quit 7Get sector trans.ation ivector address

;Store in xLT sPoint to DPE vector

;Get DPE address

gPut oan HL. 3Get sectors/track count

GemZap V1.2

0065 0066 0067 2068 O08F 2070 OO71 072 9073 O07 4 O75 076 0077 O78 O79 OOao O81 one

OLAS OLL OLL? G113 O11? O1na O12t 122 O12S3 OL24 9125 O126 O127 O128

OL2F O13S 0136 O437 O1se O19 OL3A QLSE O14. 0142 o14s O144 o14s O146 0148 O14B O14E O14 O1SS OLS5 o1se O19 O1S4 oi Sc OUSF OLSL 9164 OLE7 OL69 OL168 O16B O1ec O16E OLF oe

wed

O17 O17 6 OL77 OA78 WL7g LATA O17

OL7F OLB} 1g. 164 O186 O189 o1sc OL8E OLSF O19 O19s O194 O196 O199 O19c OL9D QL9F OLA2 OLAS O1LA4 OLAS

EDS2DD01 110600

19

SE

23

56

EDSSDFO1 110500

19

4E

23

46

cs UND1s SEL E

CDBEOL

O10000

cs UND2: EDSEDBOL

SE2D

COREOL

44

4D

TEIE

CDBEOL

TEZ4

CDBEDOL

RLELOL

W604

ch UND: ES

7E

FEES

SOLE

LLSCoo

608

23 UND4 :

SER? CDREGI

10ODS SADFOL

LiFCFF iy BOL4 22DFoOL C1

Oo

60

4?

LD LD ADD LD INC LD LD uD ADD LD INC LD PUSH LD CALL LD PUSH LD LD CALL uD LD LD CALL. Lo CALL LD LD PUSH Push uD cr JR LD LD

“UND4

UNERA – CP/M 2.2 utility

(SPT) , DE

DE,6

HL, DE

E, (HL)

HL

D, CHL? (DRM) , DE

DE,S

HL. , DE

C, (HL)

HL

B, (HL)

BC

A, SETTRE

BIOSC

BC, Oo

BC

DE, (XLT)

A, SECTRN

BIOSC

Byrn

Cake

A, SETSEC

BrOSsc

A, READ

BIOSC

HL, SECBUF

5.4

Eee

HL.

fy CAL)

SESH

NZ, oNDS

DE, DFCE

BB+

Hi.

DE

A, (DE) Crit)

AWWA ZatghlS

A.WRITE BIOSC 2. FRMSG EXIT

HL BC DE.32

LDL (DRM)

LD ADD JR LD FOF INC LD LD

DE, -4

HL, DE

NC, NOF ILE (DRM) «HL BC

EC

HB

Lee

Page 02,

;Store in SPT 3Point to DRM field

7Get number of directory pentries

;Store in DRM iPoint to OFF field

3Get first track number

:Save track number 3Set track

iClear sector numoer 3;Save sector number Get XLT vector address yTranslate sector number

1Get physical sector nbr yinta BC ;Set sector

tRead sector

sFoinsn to first entry ySet entry count

Save entry count

iSave entry address

3Get delete flag ;Deletea entry?

gNO Ff. Sip at

aFoint to user name ;Compare name and tyoe rRPoint to next character

iAre characters equal?

ylIgnore bit 7) the 7 Ship

g.a0p Lil times Restore entry address iRestore entry count undelete!!! Directory sector

3Go write sector

:Go say “FILE FOUND’ ;Restore entry address pRestore entry count sFoint to next entry

:Do 4 entries 7Get entry count ;Decrement by 4

3All done => skip jSave entry count ;Restore sector number yincrement

tPut into Ht.

40


This is an OCR’d version of the scanned page and likely contains recognition errors.











Page 40 of 55