implementing texture rendering

This commit is contained in:
milang 2019-08-17 14:30:18 +02:00
parent 263e8543c6
commit e4f86a3c3e
6 changed files with 259 additions and 260 deletions

BIN
1v13D.g1a

Binary file not shown.

View File

@ -181,7 +181,7 @@ LOAD build-fx/assets/fonts/FxEngine.png.o
LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a
LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
0x0000000000300000 _brom = 0x300000
0x000000000000522c _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
0x000000000000536c _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.pretext 0x0000000000300200 0x8a0
*(.pretext.entry)
@ -220,7 +220,7 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
*(.dtors .dtors.*)
0x0000000000300aa0 _etors = .
.text 0x0000000000300aa0 0x4648
.text 0x0000000000300aa0 0x4788
*(.text .text.*)
.text 0x0000000000300aa0 0x74 build-fx/src/controls.o
0x0000000000300aa0 init_controls
@ -235,271 +235,271 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
0x0000000000300de0 FE_sin
0x0000000000300e08 FE_calc
0x0000000000300f94 FE_set_matrice
.text 0x000000000030113c 0x26c build-fx/src/FxEngine/face.o
.text 0x000000000030113c 0x3ac build-fx/src/FxEngine/face.o
0x00000000003011cc FE_draw_face
.text 0x00000000003013a8 0x154 build-fx/src/FxEngine/libprof.o
0x00000000003013a8 prof_time
0x00000000003013ec prof_quit
0x0000000000301420 prof_init
.text 0x00000000003014fc 0xd8 build-fx/src/FxEngine/zbuffer.o
0x00000000003014fc FE_zbuffer_clear
0x0000000000301580 FE_zbuffer_set_dist
.text 0x00000000003015d4 0x24 build-fx/src/FxEngine/texture.o
0x00000000003015d4 FE_get_pixel
.text 0x00000000003015f8 0x398 build-fx/src/FxEngine/FxEngine.o
0x00000000003015f8 FE_new_frame
0x00000000003018d4 FE_get_fps_current
0x00000000003018f4 FE_get_fps_min
0x0000000000301914 FE_get_fps_max
0x0000000000301934 FE_get_fps_history
.text 0x0000000000301990 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o)
.text 0x0000000000301990 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o)
.text 0x0000000000301990 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o)
.text 0x0000000000301990 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o)
0x0000000000301990 tlb_addr
0x00000000003019a4 tlb_data
0x00000000003019b8 tlb_mapped_memory
0x0000000000301a8c utlb_addr
0x0000000000301a9c utlb_data
0x0000000000301aac utlb_mapped_memory
.text 0x0000000000301b84 0x150 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
0x0000000000301cc8 clock_freq
.text 0x0000000000301cd4 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o)
0x0000000000301cd4 dimage
0x0000000000301d28 dsubimage
.text 0x0000000000301d9c 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o)
0x0000000000301d9c dupdate
0x0000000000301db4 dupdate_noint
.text 0x0000000000301dc0 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o)
0x0000000000301dc0 dclear
.text 0x0000000000301e0c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o)
.text 0x0000000000301e0c 0x50 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dpixel.c.o)
0x0000000000301e0c dpixel
.text 0x0000000000301e5c 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o)
0x0000000000301e5c bopti_asm_mono
0x0000000000301e82 bopti_asm_mono_alpha
.text 0x0000000000301eb4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
.text 0x0000000000301eb4 0x410 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o)
0x0000000000301eb4 bopti_grid
0x0000000000302028 bopti_render
0x0000000000302158 bopti_render_clip
0x000000000030226c bopti_render_noclip
.text 0x00000000003022c4 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
0x00000000003022c4 dsize
.text 0x0000000000302360 0x56c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
0x0000000000302680 timer_setup
0x0000000000302710 timer_delay
0x0000000000302770 timer_start
0x00000000003027a4 timer_reload
0x00000000003027c4 timer_pause
0x00000000003027f8 timer_stop
0x0000000000302854 timer_timeout
0x0000000000302860 timer_address
0x000000000030289c timer_clear
.text 0x00000000003028cc 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o)
.text 0x00000000003028cc 0xc00 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o)
0x00000000003031f4 kprint_opt
0x000000000030332c kprint
0x0000000000303404 kvsprint
0x000000000030344c sprintf
0x0000000000303474 vsprintf
0x0000000000303494 snprintf
0x00000000003034b4 vsnprintf
.text 0x00000000003034cc 0xdc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o)
0x00000000003034cc memcpy
0x0000000000303586 _memmove
0x000000000030358a _memcmp
0x000000000030358e memset
.text 0x00000000003035a8 0x1c8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(getkey.c.o)
0x00000000003035a8 getkey_opt
0x0000000000303728 getkey
0x0000000000303734 getkey_repeat
.text 0x0000000000303770 0x2c8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
0x0000000000303914 pollevent
0x0000000000303a00 waitevent
.text 0x0000000000303a38 0x1d8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x0000000000303ad0 t6k11_display
0x0000000000303ba4 t6k11_contrast
0x0000000000303bd0 t6k11_backlight
.text 0x0000000000303c10 0x170 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o)
0x0000000000303cc4 gint_install
0x0000000000303d68 gint_unload
.text 0x0000000000303d80 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o)
0x0000000000303d80 gint_intlevel
0x0000000000303dd4 gint_inthandler
.text 0x0000000000303df8 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o)
0x0000000000303df8 masks
.text 0x0000000000303e94 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o)
.text 0x0000000000303e94 0x124 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(iokbd.c.o)
0x0000000000303ea0 iokbd_row
0x0000000000303f88 iokbd_scan
.text 0x0000000000303fb8 0x2c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o)
0x0000000000303fb8 gint_setvbr
.text 0x0000000000303fe4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o)
.text 0x0000000000303fe4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.S.o)
.text 0x0000000000303fe4 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o)
0x0000000000303fe4 __movstr
0x0000000000303fe4 __movmem
0x0000000000304018 __movmemSI64
0x0000000000304018 __movstrSI64
0x000000000030401c __movstrSI60
0x000000000030401c __movmemSI60
0x0000000000304020 __movmemSI56
0x0000000000304020 __movstrSI56
0x0000000000304024 __movstrSI52
0x0000000000304024 __movmemSI52
0x0000000000304028 __movstrSI48
0x0000000000304028 __movmemSI48
0x000000000030402c __movstrSI44
0x000000000030402c __movmemSI44
0x0000000000304030 __movstrSI40
0x0000000000304030 __movmemSI40
0x0000000000304034 __movstrSI36
0x0000000000304034 __movmemSI36
0x0000000000304038 __movmemSI32
0x0000000000304038 __movstrSI32
0x000000000030403c __movmemSI28
0x000000000030403c __movstrSI28
0x0000000000304040 __movstrSI24
0x0000000000304040 __movmemSI24
0x0000000000304044 __movmemSI20
0x0000000000304044 __movstrSI20
0x0000000000304048 __movstrSI16
0x0000000000304048 __movmemSI16
0x000000000030404c __movmemSI12
0x000000000030404c __movstrSI12
0x0000000000304050 __movmemSI8
0x0000000000304050 __movstrSI8
0x0000000000304054 __movmemSI4
0x0000000000304054 __movstrSI4
.text 0x000000000030405c 0xa0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_sdivsi3.o)
0x000000000030405c __sdivsi3
.text 0x00000000003040fc 0x6c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o)
0x000000000030411e __udivsi3
.text 0x0000000000304168 0x1f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o)
0x0000000000304168 __udivdi3
.text 0x0000000000304358 0x348 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_addsub_df.o)
0x00000000003045fc __adddf3
0x000000000030464c __subdf3
.text 0x00000000003046a0 0x208 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_mul_df.o)
0x00000000003046a0 __muldf3
.text 0x00000000003048a8 0x130 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_div_df.o)
0x00000000003048a8 __divdf3
.text 0x00000000003049d8 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_gt_df.o)
0x00000000003049d8 __gtdf2
.text 0x0000000000304a30 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_ge_df.o)
0x0000000000304a30 __gedf2
.text 0x0000000000304a88 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_lt_df.o)
0x0000000000304a88 __ltdf2
.text 0x0000000000304ae0 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_le_df.o)
0x0000000000304ae0 __ledf2
.text 0x0000000000304b38 0x98 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_si_to_df.o)
0x0000000000304b38 __floatsidf
.text 0x0000000000304bd0 0x8c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_df_to_si.o)
0x0000000000304bd0 __fixdfsi
.text 0x0000000000304c5c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_thenan_df.o)
*fill* 0x0000000000304c5c 0x4
.text 0x0000000000304c60 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000304c60 __udiv_qrnnd_16
.text 0x0000000000304cc0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o)
.text 0x0000000000304cc0 0x54 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clzsi2.o)
0x0000000000304cc0 __clzsi2
.text 0x0000000000304d14 0x240 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_pack_df.o)
0x0000000000304d14 __pack_d
.text 0x0000000000304f54 0xcc /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_unpack_df.o)
0x0000000000304f54 __unpack_d
.text 0x0000000000305020 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_fpcmp_parts_df.o)
0x0000000000305020 __fpcmp_parts_d
.text 0x00000000003014e8 0x154 build-fx/src/FxEngine/libprof.o
0x00000000003014e8 prof_time
0x000000000030152c prof_quit
0x0000000000301560 prof_init
.text 0x000000000030163c 0xd8 build-fx/src/FxEngine/zbuffer.o
0x000000000030163c FE_zbuffer_clear
0x00000000003016c0 FE_zbuffer_set_dist
.text 0x0000000000301714 0x24 build-fx/src/FxEngine/texture.o
0x0000000000301714 FE_get_pixel
.text 0x0000000000301738 0x398 build-fx/src/FxEngine/FxEngine.o
0x0000000000301738 FE_new_frame
0x0000000000301a14 FE_get_fps_current
0x0000000000301a34 FE_get_fps_min
0x0000000000301a54 FE_get_fps_max
0x0000000000301a74 FE_get_fps_history
.text 0x0000000000301ad0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o)
.text 0x0000000000301ad0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o)
.text 0x0000000000301ad0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o)
.text 0x0000000000301ad0 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o)
0x0000000000301ad0 tlb_addr
0x0000000000301ae4 tlb_data
0x0000000000301af8 tlb_mapped_memory
0x0000000000301bcc utlb_addr
0x0000000000301bdc utlb_data
0x0000000000301bec utlb_mapped_memory
.text 0x0000000000301cc4 0x150 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
0x0000000000301e08 clock_freq
.text 0x0000000000301e14 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o)
0x0000000000301e14 dimage
0x0000000000301e68 dsubimage
.text 0x0000000000301edc 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o)
0x0000000000301edc dupdate
0x0000000000301ef4 dupdate_noint
.text 0x0000000000301f00 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o)
0x0000000000301f00 dclear
.text 0x0000000000301f4c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o)
.text 0x0000000000301f4c 0x50 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dpixel.c.o)
0x0000000000301f4c dpixel
.text 0x0000000000301f9c 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o)
0x0000000000301f9c bopti_asm_mono
0x0000000000301fc2 bopti_asm_mono_alpha
.text 0x0000000000301ff4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
.text 0x0000000000301ff4 0x410 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o)
0x0000000000301ff4 bopti_grid
0x0000000000302168 bopti_render
0x0000000000302298 bopti_render_clip
0x00000000003023ac bopti_render_noclip
.text 0x0000000000302404 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
0x0000000000302404 dsize
.text 0x00000000003024a0 0x56c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
0x00000000003027c0 timer_setup
0x0000000000302850 timer_delay
0x00000000003028b0 timer_start
0x00000000003028e4 timer_reload
0x0000000000302904 timer_pause
0x0000000000302938 timer_stop
0x0000000000302994 timer_timeout
0x00000000003029a0 timer_address
0x00000000003029dc timer_clear
.text 0x0000000000302a0c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o)
.text 0x0000000000302a0c 0xc00 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o)
0x0000000000303334 kprint_opt
0x000000000030346c kprint
0x0000000000303544 kvsprint
0x000000000030358c sprintf
0x00000000003035b4 vsprintf
0x00000000003035d4 snprintf
0x00000000003035f4 vsnprintf
.text 0x000000000030360c 0xdc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o)
0x000000000030360c memcpy
0x00000000003036c6 _memmove
0x00000000003036ca _memcmp
0x00000000003036ce memset
.text 0x00000000003036e8 0x1c8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(getkey.c.o)
0x00000000003036e8 getkey_opt
0x0000000000303868 getkey
0x0000000000303874 getkey_repeat
.text 0x00000000003038b0 0x2c8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
0x0000000000303a54 pollevent
0x0000000000303b40 waitevent
.text 0x0000000000303b78 0x1d8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x0000000000303c10 t6k11_display
0x0000000000303ce4 t6k11_contrast
0x0000000000303d10 t6k11_backlight
.text 0x0000000000303d50 0x170 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o)
0x0000000000303e04 gint_install
0x0000000000303ea8 gint_unload
.text 0x0000000000303ec0 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o)
0x0000000000303ec0 gint_intlevel
0x0000000000303f14 gint_inthandler
.text 0x0000000000303f38 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o)
0x0000000000303f38 masks
.text 0x0000000000303fd4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o)
.text 0x0000000000303fd4 0x124 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(iokbd.c.o)
0x0000000000303fe0 iokbd_row
0x00000000003040c8 iokbd_scan
.text 0x00000000003040f8 0x2c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o)
0x00000000003040f8 gint_setvbr
.text 0x0000000000304124 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o)
.text 0x0000000000304124 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.S.o)
.text 0x0000000000304124 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o)
0x0000000000304124 __movstr
0x0000000000304124 __movmem
0x0000000000304158 __movmemSI64
0x0000000000304158 __movstrSI64
0x000000000030415c __movstrSI60
0x000000000030415c __movmemSI60
0x0000000000304160 __movmemSI56
0x0000000000304160 __movstrSI56
0x0000000000304164 __movstrSI52
0x0000000000304164 __movmemSI52
0x0000000000304168 __movstrSI48
0x0000000000304168 __movmemSI48
0x000000000030416c __movstrSI44
0x000000000030416c __movmemSI44
0x0000000000304170 __movstrSI40
0x0000000000304170 __movmemSI40
0x0000000000304174 __movstrSI36
0x0000000000304174 __movmemSI36
0x0000000000304178 __movmemSI32
0x0000000000304178 __movstrSI32
0x000000000030417c __movmemSI28
0x000000000030417c __movstrSI28
0x0000000000304180 __movstrSI24
0x0000000000304180 __movmemSI24
0x0000000000304184 __movmemSI20
0x0000000000304184 __movstrSI20
0x0000000000304188 __movstrSI16
0x0000000000304188 __movmemSI16
0x000000000030418c __movmemSI12
0x000000000030418c __movstrSI12
0x0000000000304190 __movmemSI8
0x0000000000304190 __movstrSI8
0x0000000000304194 __movmemSI4
0x0000000000304194 __movstrSI4
.text 0x000000000030419c 0xa0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_sdivsi3.o)
0x000000000030419c __sdivsi3
.text 0x000000000030423c 0x6c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o)
0x000000000030425e __udivsi3
.text 0x00000000003042a8 0x1f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o)
0x00000000003042a8 __udivdi3
.text 0x0000000000304498 0x348 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_addsub_df.o)
0x000000000030473c __adddf3
0x000000000030478c __subdf3
.text 0x00000000003047e0 0x208 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_mul_df.o)
0x00000000003047e0 __muldf3
.text 0x00000000003049e8 0x130 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_div_df.o)
0x00000000003049e8 __divdf3
.text 0x0000000000304b18 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_gt_df.o)
0x0000000000304b18 __gtdf2
.text 0x0000000000304b70 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_ge_df.o)
0x0000000000304b70 __gedf2
.text 0x0000000000304bc8 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_lt_df.o)
0x0000000000304bc8 __ltdf2
.text 0x0000000000304c20 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_le_df.o)
0x0000000000304c20 __ledf2
.text 0x0000000000304c78 0x98 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_si_to_df.o)
0x0000000000304c78 __floatsidf
.text 0x0000000000304d10 0x8c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_df_to_si.o)
0x0000000000304d10 __fixdfsi
.text 0x0000000000304d9c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_thenan_df.o)
*fill* 0x0000000000304d9c 0x4
.text 0x0000000000304da0 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000304da0 __udiv_qrnnd_16
.text 0x0000000000304e00 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o)
.text 0x0000000000304e00 0x54 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clzsi2.o)
0x0000000000304e00 __clzsi2
.text 0x0000000000304e54 0x240 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_pack_df.o)
0x0000000000304e54 __pack_d
.text 0x0000000000305094 0xcc /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_unpack_df.o)
0x0000000000305094 __unpack_d
.text 0x0000000000305160 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_fpcmp_parts_df.o)
0x0000000000305160 __fpcmp_parts_d
*(C P)
.gint.blocks 0x00000000003050f0 0x140
.gint.blocks 0x0000000000305230 0x140
*(.gint.blocks)
.gint.blocks 0x00000000003050f0 0xe0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o)
0x00000000003050f0 inth_tmu
0x0000000000305170 inth_etmu2
0x0000000000305190 inth_etmu_help
0x00000000003051b0 inth_etmux
.gint.blocks 0x00000000003051d0 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o)
0x00000000003051d0 inth_entry_7305
0x00000000003051f0 inth_entry_7705
.gint.blocks 0x0000000000305210 0x20 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.S.o)
0x0000000000305210 exch_entry_7705
0x0000000000305210 exch_entry_7305
.gint.blocks 0x0000000000305230 0xe0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o)
0x0000000000305230 inth_tmu
0x00000000003052b0 inth_etmu2
0x00000000003052d0 inth_etmu_help
0x00000000003052f0 inth_etmux
.gint.blocks 0x0000000000305310 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o)
0x0000000000305310 inth_entry_7305
0x0000000000305330 inth_entry_7705
.gint.blocks 0x0000000000305350 0x20 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.S.o)
0x0000000000305350 exch_entry_7705
0x0000000000305350 exch_entry_7305
.gint.drivers 0x0000000000305230 0x90
0x0000000000305230 _bdrv = .
.gint.drivers 0x0000000000305370 0x90
0x0000000000305370 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000305230 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
0x0000000000305230 drv_cpg
0x0000000000305370 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
0x0000000000305370 drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000305254 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
0x0000000000305254 drv_tmu
0x0000000000305394 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
0x0000000000305394 drv_tmu
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x0000000000305278 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
0x0000000000305278 drv_keysc
0x00000000003053b8 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
0x00000000003053b8 drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x000000000030529c 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x000000000030529c drv_t6k11
0x00000000003053dc 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x00000000003053dc drv_t6k11
*(.gint.drivers.6)
0x00000000003052c0 _edrv = .
0x0000000000305400 _edrv = .
.rodata 0x00000000003052c0 0x814
.rodata 0x0000000000305400 0x814
*(.rodata .rodata.*)
.rodata.str1.4
0x00000000003052c0 0x3 build-fx/src/controls.o
*fill* 0x00000000003052c3 0x1
.rodata 0x00000000003052c4 0x18 build-fx/src/FxEngine/coord.o
0x00000000003052c4 FE_PI_SUR_2
0x00000000003052cc FE_2_PI
0x00000000003052d4 FE_PI
0x0000000000305400 0x3 build-fx/src/controls.o
*fill* 0x0000000000305403 0x1
.rodata 0x0000000000305404 0x18 build-fx/src/FxEngine/coord.o
0x0000000000305404 FE_PI_SUR_2
0x000000000030540c FE_2_PI
0x0000000000305414 FE_PI
.rodata.str1.4
0x00000000003052dc 0x12 build-fx/src/FxEngine/zbuffer.o
*fill* 0x00000000003052ee 0x2
.rodata 0x00000000003052f0 0x18 build-fx/src/FxEngine/texture.o
0x00000000003052f0 FE_textures
0x000000000030541c 0x12 build-fx/src/FxEngine/zbuffer.o
*fill* 0x000000000030542e 0x2
.rodata 0x0000000000305430 0x18 build-fx/src/FxEngine/texture.o
0x0000000000305430 FE_textures
.rodata.str1.4
0x0000000000305308 0x9 build-fx/src/FxEngine/FxEngine.o
*fill* 0x0000000000305311 0x3
.rodata 0x0000000000305314 0x24 build-fx/assets/img/fps.png.o
0x0000000000305314 img_fps
0x0000000000305338 img_fps_end
.rodata 0x0000000000305338 0x204 build-fx/assets/fonts/FxEngine.png.o
0x0000000000305338 font_FxEngine
0x000000000030553c font_FxEngine_end
0x0000000000305448 0x9 build-fx/src/FxEngine/FxEngine.o
*fill* 0x0000000000305451 0x3
.rodata 0x0000000000305454 0x24 build-fx/assets/img/fps.png.o
0x0000000000305454 img_fps
0x0000000000305478 img_fps_end
.rodata 0x0000000000305478 0x204 build-fx/assets/fonts/FxEngine.png.o
0x0000000000305478 font_FxEngine
0x000000000030567c font_FxEngine_end
.rodata.str1.4
0x000000000030553c 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
.rodata 0x0000000000305540 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o)
.rodata 0x0000000000305548 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o)
.rodata 0x0000000000305558 0x18 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
0x000000000030567c 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o)
.rodata 0x0000000000305680 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o)
.rodata 0x0000000000305688 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o)
.rodata 0x0000000000305698 0x18 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o)
.rodata.str1.4
0x0000000000305570 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
0x00000000003056b0 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o)
.rodata.str1.4
0x0000000000305574 0x31 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o)
*fill* 0x00000000003055a5 0x3
0x00000000003056b4 0x31 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o)
*fill* 0x00000000003056e5 0x3
.rodata.str1.4
0x00000000003055a8 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
*fill* 0x00000000003055ae 0x2
0x00000000003056e8 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o)
*fill* 0x00000000003056ee 0x2
.rodata.str1.4
0x00000000003055b0 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x00000000003056f0 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o)
0x6 (size before relaxing)
.rodata 0x00000000003055b8 0x408 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o)
0x00000000003055b8 gint_font5x7
0x00000000003059c0 gint_font5x7_end
.rodata 0x00000000003059c0 0x14 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_thenan_df.o)
0x00000000003059c0 __thenan_df
.rodata 0x00000000003059d4 0x100 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o)
0x00000000003059d4 __clz_tab
.rodata 0x00000000003056f8 0x408 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o)
0x00000000003056f8 gint_font5x7
0x0000000000305b00 gint_font5x7_end
.rodata 0x0000000000305b00 0x14 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_thenan_df.o)
0x0000000000305b00 __thenan_df
.rodata 0x0000000000305b14 0x100 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o)
0x0000000000305b14 __clz_tab
.rela.dyn 0x0000000000305ad4 0x0
.rela.text 0x0000000000305ad4 0x0 build-fx/src/controls.o
.rela.dyn 0x0000000000305c14 0x0
.rela.text 0x0000000000305c14 0x0 build-fx/src/controls.o
.rela.pretext.entry
0x0000000000305ad4 0x0 build-fx/src/controls.o
0x0000000000305c14 0x0 build-fx/src/controls.o
0x0000000008100000 . = ORIGIN (ram)
.bss 0x0000000008100000 0x600
@ -576,8 +576,8 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
*fill* 0x00000000081005f4 0xc
0x0000000000000600 _sbss = SIZEOF (.bss)
.data 0x0000000008100600 0x80 load address 0x0000000000305ad4
0x0000000000305ad4 _ldata = LOADADDR (.data)
.data 0x0000000008100600 0x80 load address 0x0000000000305c14
0x0000000000305c14 _ldata = LOADADDR (.data)
0x0000000008100600 _rdata = .
*(.data .data.*)
.data 0x0000000008100600 0x0 build-fx/src/controls.o
@ -643,15 +643,15 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
*(D)
0x0000000008100680 . = ALIGN (0x10)
.data.4 0x0000000008100680 0x0 load address 0x0000000000305b54
.data.4 0x0000000008100680 0x0 load address 0x0000000000305c94
*(.data.4)
0x0000000008100680 . = ALIGN (0x10)
0x0000000000000080 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x000000008800df00 _gint_vbr = 0x8800df00
0x000000008800f400 . = ORIGIN (rram)
.gint.data 0x000000008800f400 0x130 load address 0x0000000000305b54
0x0000000000305b54 _lgdata = LOADADDR (.gint.data)
.gint.data 0x000000008800f400 0x130 load address 0x0000000000305c94
0x0000000000305c94 _lgdata = LOADADDR (.gint.data)
0x000000008800f400 _rgdata = .
*(.gint.data .gint.data.*)
.gint.data 0x000000008800f400 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o)
@ -669,7 +669,7 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a
0x000000008800f530 . = ALIGN (0x10)
0x0000000000000130 _sgdata = SIZEOF (.gint.data)
.gint.bss 0x000000008800f530 0x210 load address 0x0000000000305c84
.gint.bss 0x000000008800f530 0x210 load address 0x0000000000305dc4
*(.gint.bss .gint.bss.*)
.gint.bss 0x000000008800f530 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o)
0x000000008800f530 gint

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -32,6 +32,7 @@ struct line
int dx,dy,dz;
bool no_line; // si les deux points sont confondus
};
static void set_line(line* segment,FE_point const * s1, FE_point const * s2)
{
segment->x=s1->translated.x;
@ -42,6 +43,7 @@ static void set_line(line* segment,FE_point const * s1, FE_point const * s2)
segment->dz=s2->translated.z-s1->translated.z;
segment->no_line=(segment->dx==0&&segment->dy==0);
}
static bool get_x(int y, line const * segment, int * x)
{
y-=segment->y;
@ -61,7 +63,6 @@ static bool get_x(int y, line const * segment, int * x)
return true;
}
void FE_draw_face(FE_face const * face)
{
if (sens_horaire(face)!=face->visible)
@ -78,11 +79,11 @@ void FE_draw_face(FE_face const * face)
return;
line cotes[3];
set_line(&cotes[0],face->s1,face->s2);
set_line(&cotes[1],face->s1,face->s3);
set_line(&cotes[2],face->s2,face->s3);
set_line(&cotes[0], face->s1,face->s2);
set_line(&cotes[1], face->s1,face->s3);
set_line(&cotes[2], face->s2,face->s3);
if (cotes[0].no_line||cotes[1].no_line||cotes[2].no_line)
if (cotes[0].no_line || cotes[1].no_line || cotes[2].no_line)
return;
const int ymin=max(min(face->s1->translated.y,min(face->s2->translated.y,face->s3->translated.y)),0);
@ -107,24 +108,22 @@ void FE_draw_face(FE_face const * face)
for (int x=txmin; x<=txmax; x++)
{
/*
// vx et vy coordonnées transformées pour l'accès à la texture
// z distance du point visible (distance non transformée)
int32_t vx, vy, z;
// calcul de vx, vy
const int32_t xcalc=x-face->s1->translated.x;
const int32_t ycalc=y-face->s1->translated.y;
vx=(xcalc*fact_1-ycalc*fact_2); // 0 <vx< 10_000
const int32_t xcalc = x-face->s1->translated.x, ycalc = y-face->s1->translated.y;
vx=(xcalc*fact_1-ycalc*fact_2); // 0 <vx< 10_000
vy=(ycalc*fact_3-xcalc*fact_4); // idem
z=face->s1->translated.z + (vx*zAB+vy*zAC)/10000;
vx *= 100000 / (face->s2->translated.z * ((100-100*vx) / face->s1->translated.z + (100*vx) / face->s2->translated.z));
vy *= 100000 / (face->s3->translated.z * ((100-100*vy) / face->s1->translated.z + (vy*100) / face->s3->translated.z));
z=face->s1->translated.z + (vx*zAB+vy*zAC)/10000; // calcul de z non corrigé >> fonctionnel
vx = (8*vx) / (face->s2->translated.z * ((1-vx) / face->s1->translated.z + (vx) / face->s2->translated.z));
vy = (8*vy) / (face->s3->translated.z * ((1-vy) / face->s1->translated.z + (vy) / face->s3->translated.z));
// Affichage du point
if (FE_zbuffer_set_dist(x,y,z))
dpixel(x, y, 3*FE_get_pixel(face->texturenum, vx/125, vy/125)); // 3* means cast to black and white, and vx,and vy casted between 0 and 7
*/
if (FE_zbuffer_set_dist(x,y,1))
dpixel(x, y, C_BLACK);
}
}