Skip to content

Commit cf8308e

Browse files
committed
fix test
1 parent 13eae42 commit cf8308e

File tree

9 files changed

+58
-26
lines changed

9 files changed

+58
-26
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@ init:
3838
@mkdir -p build/usr/src/kernel/
3939

4040
kernel: $(SOURCE)
41+
@mkdir -p tmp/
4142
@echo Rom are built in $(PATH_PACKAGE_ROM)
42-
@echo Build kernelsd.rom for Twilighte board
43+
@echo "########################################################"
44+
@echo "# Build kernelsd.rom for Twilighte board #"
45+
@echo "########################################################"
4346
@$(AS) --cpu 6502 -tnone src/functions/strings/xminma.asm -o tmp/xminma.o
4447
@$(AS) --cpu 6502 -tnone src/functions/bank_mng/search_free_bank.s -o tmp/search_free_bank.o
4548
@$(AS) --cpu 6502 -tnone src/functions/bank_mng/kernel_free_bank.s -o tmp/kernel_free_bank.o

run.sh

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,30 @@ ORICUTRON_PATH="/mnt/c/Users/plifp/OneDrive/oric/projets/jedeoric/oricutron_assi
66
CA65_INC=/usr/share/cc65/asminc/
77
# -DWITH_DEBUG=1
88

9+
10+
build_file() {
11+
local file="$1"
12+
local path="$2"
13+
#echo Build $file
14+
ca65 --cpu 6502 -tnone $path/$file.s -o tmp/$file.o
15+
RET=$?
16+
if [ $RET != 0 ]
17+
then
18+
echo Error
19+
exit
20+
fi
21+
}
22+
923
ca65 --cpu 6502 -tnone src/functions/strings/xminma.asm -o tmp/xminma.o
1024
ca65 --cpu 6502 -tnone src/functions/bank_mng/switch_to_kernel_extended.s -o tmp/switch_to_kernel_extended.o
1125
ca65 --cpu 6502 -tnone src/functions/bank_mng/kernel_restore_banking_states.s -o tmp/kernel_restore_banking_states.o
1226
ca65 --cpu 6502 -tnone src/functions/lib_mng/XBANK_ROUTINE.s -o tmp/xbank_routine.o
1327
ca65 --cpu 6502 -tnone src/functions/network/init_network.s -o tmp/init_network.o
1428
ca65 --cpu 6502 -tnone src/functions/network/xsocket.s -o tmp/xsocket.o
15-
ca65 --cpu 6502 -tnone src/functions/network/close_sockets_by_pid.s -o tmp/close_sockets_by_pid.o
16-
17-
RET=$?
18-
if [ $RET != 0 ]
19-
then
20-
echo Error
21-
exit
22-
fi
29+
build_file "close_sockets_by_pid" "src/functions/network"
30+
build_file "xconnect" "src/functions/network"
31+
build_file "xsend" "src/functions/network"
2332

24-
ca65 --cpu 6502 -tnone src/functions/network/xconnect.s -o tmp/xconnect.o
25-
ca65 --cpu 6502 -tnone src/functions/network/xsend.s -o tmp/xsend.o
2633
ca65 --cpu 6502 -tnone src/functions/network/xclose_socket.s -o tmp/xclose_socket.o
2734

2835
RET=$?

src/functions/network/close_sockets_by_pid.s

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
.import kernel_process
1212

1313
.include "../../kernel8/orixlibs/ch395/usr/include/asm/ch395.inc"
14+
.include "../../kernel8/orixlibs/ksocket/usr/include/asm/socket.inc"
1415
.include "../../include/kernel.inc"
1516
.include "../../include/process.inc"
1617
.include "../../include/network.inc"
@@ -26,14 +27,15 @@
2627
sta TR1
2728

2829
@restart:
29-
lda #<KERNEL_NETWORK_SOCKET_PID
30+
lda #<KERNEL_NETWORK_SOCKET_PID ; D393
3031
ldy #>KERNEL_NETWORK_SOCKET_PID
3132

33+
3234
sta ADDRESS_READ_BETWEEN_BANK_DOUBLON
33-
sty ADDRESS_READ_BETWEEN_BANK_DOUBLON+1
35+
sty ADDRESS_READ_BETWEEN_BANK_DOUBLON + 1
3436

35-
ldx TR1
36-
ldy #$00
37+
ldx #$00
38+
ldy TR1 ; Offset of the socket
3739
MEMORY_GET_VALUE_FROM_BANK ; A contains the value
3840

3941
cmp kernel_process + kernel_process_struct::kernel_current_process
@@ -42,13 +44,14 @@
4244
@compute:
4345
inc TR1
4446
lda TR1
45-
cmp #$08
47+
48+
cmp #NETWORK_MAX_SOCKET
4649
beq @exit
4750
bne @restart
4851

49-
5052
@close_socket:
5153
lda TR1 ; Socket ID
54+
5255
jsr ch395_close_socket_sn
5356

5457
; Set to 0

src/functions/network/init_network.s

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
.include "../../include/memory.inc"
2424

2525
.proc init_network
26+
; Returns KERNEL_NETWORK_FULLY_STARTED if network is started
2627

2728
lda #<KERNEL_NETWORK_FLAG
2829
ldy #>KERNEL_NETWORK_FLAG
@@ -33,6 +34,11 @@
3334
ldx #$00
3435
ldy #$00
3536
MEMORY_GET_VALUE_FROM_BANK ; A contains the value
37+
cmp #KERNEL_NETWORK_FULLY_STARTED
38+
bne @check_all
39+
rts
40+
41+
@check_all:
3642
cmp KERNEL_NETWORK_STATE_NOT_INITIALIZED
3743
bne @ch395_found
3844

@@ -44,6 +50,7 @@
4450
rts
4551

4652
@ch395_found:
53+
; FIXME SHould not be done here
4754
lda #<KERNEL_NETWORK_FLAG
4855
ldy #>KERNEL_NETWORK_FLAG
4956

src/functions/network/xsocket.s

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
.include "../../include/kernel.inc"
55
.include "../../include/process.inc"
66
.include "../../include/memory.inc"
7+
.include "../../include/network.inc"
78

89
.include "telestrat.inc"
910

1011
.import KERNEL_NETWORK_SOCKET_LIST
1112
.import KERNEL_NETWORK_SOCKET_DOMAIN
1213

14+
.import init_network
1315

1416
.export XSOCKET_ROUTINE
1517

@@ -32,7 +34,7 @@
3234
;;@modifyMEM_TR6
3335
;;@modifyMEM_TR5
3436
;;@returnsX The socket id
35-
;;@returnsA if != -1 then it returns socket id. -1 is return if all socket are used
37+
;;@returnsA if != -1 then it returns socket id. -1 is return if all socket are used, or network is not started or unavailable
3638

3739
; sock = socket(AF_INET, SOCK_STREAM, 0);
3840
;;@```ca65
@@ -58,6 +60,16 @@
5860
stx domain ; domain
5961
sty type ; Save type
6062

63+
64+
; Checking if network is started
65+
jsr init_network
66+
cmp #KERNEL_NETWORK_FULLY_STARTED
67+
beq @continue
68+
; Error, return INVALID
69+
lda #INVALID_SOCKET
70+
rts
71+
72+
@continue:
6173
; Looking for available socket
6274
lda #$00
6375
sta socket
@@ -81,7 +93,6 @@
8193
bne @search_free_socket
8294

8395
; Error, return INVALID
84-
8596
lda #INVALID_SOCKET
8697
rts
8798

@@ -105,6 +116,7 @@
105116
ldy socket ; Get socket id (index)
106117
lda kernel_process + kernel_process_struct::kernel_current_process
107118
ldx #$00 ; BANK
119+
108120
MEMORY_PUT_VALUE_TO_BANK KERNEL_NETWORK_SOCKET_PID ; ADDRESS_READ_BETWEEN_BANK_DOUBLON is already set previously : FIXME
109121

110122
; Setting CH395

src/functions/process/kernel_kill_process.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
cmp #128
3333
bne @do_not_destroy_socket
3434

35+
36+
3537
lda #KERNEL_SOCKET_CLOSE_FROM_PID_NETWORK
3638
jsr XNETWORK_START_ROUTINE
3739

src/include/memory.inc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
KERNEL_BANK_PROCESS_ID .res 64
9595
.endstruct
9696

97-
9897
.macro MEMORY_PUT_VALUE_TO_BANK address
9998
; Put a value into ank
10099
; X the id of the bank where the value will be written

src/kernel.asm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@ start_rom:
188188
lda #$03 ; bank 33 and 34 are reserved (loader/network)
189189
sta BUSY_BANK_TABLE_RAM ; Set BUSY BANK_table
190190
lda #$00
191-
sta BUSY_BANK_TABLE_RAM+1 ; Set BUSY BANK_table
192-
sta BUSY_BANK_TABLE_RAM+2 ; Set BUSY BANK_table
191+
sta BUSY_BANK_TABLE_RAM + 1 ; Set BUSY BANK_table
192+
sta BUSY_BANK_TABLE_RAM + 2 ; Set BUSY BANK_table
193193

194194

195195
@usb_controler_not_detected:
@@ -342,15 +342,15 @@ don_t_display_signature:
342342
jsr routine_to_define_19
343343

344344
lda #64
345-
sta RES+1
345+
sta RES + 1
346346

347347
; Initialize banks states to Empty
348348
@L1:
349349
lda #$00 ; value to store
350350
ldx #$00 ; BANK
351351
ldy #$00 ; Offset to write
352352
MEMORY_PUT_VALUE_TO_BANK KERNEL_BANK_MANAGEMENT
353-
dec RES+1
353+
dec RES + 1
354354
bne @L1
355355

356356
; Displays cursor
@@ -477,7 +477,7 @@ init_malloc_busy_table:
477477
ldy #>($FFF0+1)
478478

479479
sta ADDRESS_READ_BETWEEN_BANK_DOUBLON
480-
sty ADDRESS_READ_BETWEEN_BANK_DOUBLON+1
480+
sty ADDRESS_READ_BETWEEN_BANK_DOUBLON + 1
481481

482482
ldx #$04
483483
ldy #$00

src/kernel8/src/kernel8.s

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ start_rom:
3535
jmp XBANK
3636

3737
XBANK:
38-
3938
cmp #KERNEL_ALLOCATE_BANK
4039
beq @allocate_bank
4140

0 commit comments

Comments
 (0)