1
0
mirror of synced 2026-01-13 15:27:51 +00:00
Matthieu Bucchianeri 693d05b755
Add LTEMM and SDPP drivers for XTMax (#27)
* Add gitattributes to handle line endings.

* Import the unmodified LTEMM source.

From https://www.lo-tech.co.uk/wiki/LTEMM.EXE.

* Add DOSBox and TASM for build.

* Add build script for LTEMM.

* Modity LTEMM driver for XTMax.

* Import the unmodified SDPP source.

From https://forum.vcfed.org/index.php?threads/sd-card-to-parallel-port-driver-for-msdos-ver-1-1.42008/.

* Add Borland C++ 3.1 (Minimal) for build.

* Add build script for SDPP.

* Modify SDPP driver for XTMax.

* Commit pre-built binaries for LTEMM and SDPP.

* Reorganize the drivers into a new folder.
2024-11-16 16:21:49 -08:00

101 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;*****************************************************************
;* *
;* *
;* EMM/EMS driver program for BOCARAM30 Memory board *
;* *
;* *
;*****************************************************************
; Some useful macros ...
;Ž¡¬¥­ ¡ ©â ¬¨ ¬¥¦¤ã SOURCE ¨ DESTINATION
Exbyte MACRO
mov al,[si]
xchg al,es:[di]
mov [si],al
inc si
inc di
ENDM
;Ž¡¬¥­ á«®¢ ¬¨ ¬¥¦¤ã SOURCE ¨ DESTINATION
Exword MACRO
mov ax,[si]
xchg ax,es:[di]
mov [si],ax
add di,2
add si,2
ENDM
;‚ëç¨á«¥­¨¥  ¡á®«îâ­®£®  ¤à¥á  FAR-㪠§ â¥«ï
;‚室 : 㪠§ â¥«ì ¢ ä®à¬ â¥ ᥣ¬¥­â:ᬥ饭¨¥
;‚ë室 : DX:AX =  ¡á®«îâ­ë©  ¤à¥á
FarPtrAddress MACRO Segment,Offset
mov dx,Segment
mov ax,Offset
mov bx,dx
mov cl,4
shl bx,cl
and dx,0F000h
rol dx,cl
add ax,bx
adc dx,0
ENDM
;‚ëç¨á«¥­¨¥  ¡á®«îâ­®£®  ¤à¥á  FAR-㪠§ â¥«ï
;‚室 : 㪠§ â¥«ì ᥣ¬¥­â:ᬥ饭¨¥ (DX:AX)
;‚ë室 : DX:AX =  ¡á®«îâ­ë©  ¤à¥á
FarAddress MACRO
mov bx,dx
mov cl,4
shl bx,cl
and dx,0F000h
rol dx,cl
add ax,bx
adc dx,0
ENDM
;‘¤¢¨£ ¢«¥¢® 32-à §à來®£® ç¨á«  (DX:AX) ­  COUNT à §
Shl32 MACRO Count
REPT Count
shl ax,1
rcl dx,1
ENDM
ENDM
;‘¤¢¨£ ¢¯à ¢® 32-à §à來®£® ç¨á«  (DX:AX) ­  COUNT à §
Shr32 MACRO Count
REPT Count
shr dx,1
rcr ax,1
ENDM
ENDM
;‘«®¦¥­¨¥ 32-à §à來ëå ç¨á¥« (DX:AX) + HIGH-LOW
Add32 MACRO High,Low
add ax,Low
adc dx,High
ENDM
;‚ëç¨â ­¨¥ 32-à §à來ëå ç¨á¥« (DX:AX) - HIGH-LOW
Sub32 MACRO High,Low
sub ax,Low
sbb dx,High
ENDM
;‡ £à㧪  32-à §à來®£® ç¨á«  ¢ (DX:AX)
Load32 MACRO High,Low
mov dx,High
mov ax,Low
ENDM
;‡ £à㧪  32-à §à來®£® ç¨á«  ¢ (DX:AX)
FLoad32 MACRO Strt
les ax,dword ptr Strt
mov dx,es
ENDM
;‘®åà ­¥­¨¥ 32-à §à來®£® ç¨á«  (DX:AX) ¢ HIGH-LOW
Save32 MACRO High,Low
mov High,dx
mov Low,ax
ENDM