11Fermer13
FarewellLe 08/08/2009 à 15:50
Is it right now ?
;=======================================================
;	PedroM exports
;=======================================================
pedrom::stdin		equ	pedrom@0000
pedrom::stdout		equ	pedrom@0000+4
pedrom::stderr		equ	pedrom@0000+8
pedrom::argc		equ	pedrom@0000+12
pedrom::argv		equ	pedrom@0000+16
pedrom::errno		equ	pedrom@0000+20
pedrom::side_font	equ	pedrom@0000+24

;pedrom@0001					DEPRECATED, don't use it

pedrom::HeapRealloc	equ	pedrom@0002	; Allow to alloc more than 65520 bytes
pedrom::HeapMax		equ	pedrom@0003	; Idem, able to return a value > 65520
pedrom::printf		equ	pedrom@0004
pedrom::vcbprintf	equ	pedrom@0005
pedrom::clrscr		equ	pedrom@0006
pedrom::fclose		equ	pedrom@0007
pedrom::freopen		equ	pedrom@0008
pedrom::fopen		equ	pedrom@0009
pedrom::fseek		equ	pedrom@000a
pedrom::ftell		equ	pedrom@000b
pedrom::feof		equ	pedrom@000c
pedrom::fputc		equ	pedrom@000d
pedrom::fputs		equ	pedrom@000e
pedrom::fwrite		equ	pedrom@000f
pedrom::fgetc		equ	pedrom@0010
pedrom::fread		equ	pedrom@0011
pedrom::fgets		equ	pedrom@0012
pedrom::ungetc		equ	pedrom@0013
pedrom::fflush		equ	pedrom@0014
pedrom::clearerr	equ	pedrom@0015
pedrom::ferror		equ	pedrom@0016
pedrom::rewind		equ	pedrom@0017
pedrom::fprintf		equ	pedrom@0018
pedrom::tmpnam		equ	pedrom@0019
pedrom::DialogDo	equ	pedrom@001a
pedrom::qsort		equ	pedrom@001b
pedrom::PID_Switch	equ	pedrom@001c
pedtom::_tt_Decompress	equ	pedrom@001d
pedrom::bsearch		equ	pedrom@001e
pedrom::remove		equ	pedrom@001f
pedrom::unlink		equ	pedrom@001f
pedrom::rename		equ	pedrom@0020
pedrom::atoi		equ	pedrom@0021	; Starting PedroM 0.82, atoi and atol are the same functions.
pedrom::kbd_queue	equ	pedrom@0022
pedrom::rand		equ	pedrom@0023
pedrom::srand		equ	pedrom@0024
pedrom::calloc		equ	pedrom@0025
pedrom::realloc		equ	pedrom@0026
pedrom::atof		equ	pedrom@0027
pedrom::_sputc		equ	pedrom@0028
pedrom::perror		equ	pedrom@0029
pedrom::getenv		equ	pedrom@002a
pedrom::system		equ	pedrom@002b
pedrom::setvbuf		equ	pedrom@002c
;pedrom::exit		equ	pedrom@002d	; Like functions of the kernel,
;pedrom::atexit		equ	pedrom@002e	; use kernel::exit/kernel::atexit instead


;=======================================================
;	Can be used to call PedroM system calls trough kernel::LibsExec
;=======================================================
PEDROM_stdin		equ	$0
PEDROM_HeapRealloc	equ	$2	; Allow to alloc more tat 65520 bytes
PEDROM_HeapMax		equ	$3	; Idem, able to return a value > 65520
PEDROM_printf		equ	$4
PEDROM_vcbprintf	equ	$5
PEDROM_clrscr		equ	$6
PEDROM_fclose		equ	$7
PEDROM_freopen		equ	$8
PEDROM_fopen		equ	$9
PEDROM_fseek		equ	$a
PEDROM_ftell		equ	$b
PEDROM_feof		equ	$c
PEDROM_fputc		equ	$d
PEDROM_fputs		equ	$e
PEDROM_fwrite		equ	$f
PEDROM_fgetc		equ	$10
PEDROM_fread		equ	$11
PEDROM_fgets		equ	$12
PEDROM_ungetc		equ	$13
PEDROM_fflush		equ	$14
PEDROM_clearerr		equ	15
PEDROM_ferror		equ	$16
PEDROM_rewind		equ	$17
PEDROM_fprintf		equ	$18
PEDROM_tmpnam		equ	$19
PEDROM_DialogDo		equ	$1a
PEDROM_qsort		equ	$1b
PEDROM_PID_Switch	equ	$1c
PEDROM__tt_Decompress	equ	$1d
PEDROM_bsearch		equ	$1e
PEDROM_remove		equ	$1f
PEDROM_unlink		equ	$1f
PEDROM_rename		equ	$20
PEDROM_atoi		equ	$21	; Starting PedroM 0.82, atoi and atol are the same functions.
PEDROM_kbd_queue	equ	$22
PEDROM_rand		equ	$23
PEDROM_srand		equ	$24
PEDROM_calloc		equ	$25
PEDROM_realloc		equ	$26
PEDROM_atof		equ	$27
PEDROM__sputc		equ	$28
PEDROM_perror		equ	$29
PEDROM_getenv		equ	$2a
PEDROM_system		equ	$2b
PEDROM_setvbuf		equ	$2c


;=======================================================
;	RAM_THROW extension
;=======================================================

RAM_THROW	macro
	dc.w	$F000+\0
endm

RAMC	macro			; I prefer this one because it does 
	dc.w	$F000+\0	; not break my indentation :p
endm

RAM_CALCULATOR			equ	$0
RAM_LCD_WIDTH			equ	$1
RAM_LCD_HEIGHT			equ	$2
RAM_tios::ROM_base		equ	$3
RAM_LCD_LINE_BYTES		equ	$4
RAM_KEY_LEFT			equ	$5
RAM_KEY_RIGHT			equ	$6
RAM_KEY_UP			equ	$7
RAM_KEY_DOWN			equ	$8
RAM_KEY_UPRIGHT			equ	$9
RAM_KEY_DOWNLEFT		equ	$A
RAM_KEY_DIAMOND			equ	$B
RAM_LCD_SIZE			equ	$C
RAM_KEY_SHIFT			equ	$D
RAM_tios::font_medium		equ	$E
RAM_ReturnValue			equ	$F
RAM_tios::kb_globals		equ	$10
RAM_tios::Heap			equ	$11
RAM_tios::FolderListHandle	equ	$12
RAM_tios::MainHandle		equ	$13
RAM_ROM_VERSION			equ	$14
RAM_kernel::Idle		equ	$15
RAM_kernel::Exec		equ	$16
RAM_kernel::Ptr2Hd		equ	$17
RAM_kernel::Hd2Sym		equ	$18
RAM_kernel::LibsBegin		equ	$19
RAM_kernel::LibsEnd		equ	$1A
RAM_kernel::LibsCall		equ	$1B
RAM_kernel::LibsPtr		equ	$1C
RAM_kernel::LibsExec		equ	$1D
RAM_kernel::HdKeep		equ	$1E
RAM_kernel::ExtractFromPack	equ	$1F
RAM_kernel::ExtractFile		equ	$20
RAM_LCD_MEM 			equ 	$21
RAM_tios::font_small		equ	$22
RAM_tios::font_large		equ	$23
RAM_tios::SYM_ENTRY.name	equ	$24
RAM_tios::SYM_ENTRY.compat	equ	$25
RAM_tios::SYM_ENTRY.flags	equ	$26
RAM_tios::SYM_ENTRY.hVal	equ	$27
RAM_tios::SYM_ENTRY.sizeof	equ	$28
RAM_kernel::ExtractFileFromPack	equ	$29
RAM_kernel::exit		equ	$2A
RAM_kernel::atexit		equ	$2B
RAM_kernel::RegisterVector	equ	$2C
RAM_GHOST_SPACE			equ	$2D
RAM_KERNEL_SPACE		equ	$2E
RAM_kernel::SystemDir		equ	$2F

[nosmile]