473,657 Members | 2,735 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Asm code to C code

Hi, please forgive me if i'm sending this post in the wrong place, and
please don't tell me to post it in another group, because if i found a
better one i'd have already done it. I'm writing a thesis and i'm in
real hurry. I have an old c code which i cannot compile correctly. I
am using the Dev-Cpp 4 compiler. Anyway, my question is: i have
already solved most of the problems deleting some parts of the code
which used graphics i don't need (and by the way cannot even see using
winxp) but i have a function i cannot delete which is written in ASM.
I know what are you thinking: "use an assembler to compile it first
and then link the two files together.". But I don't want to make it as
it would take me much more time to find an assembler, learn to use it
and then learn to compile and link separately.
So please, if anyone knows how to do it, i need the ASM code to be
rewritten in C code.
I am sending the whole ASM source file, because i don't know which are
the important parts of it. I only need the TTY function.
Thank You very, very much!!!

;
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍ»
;º Miscellaneous auxiliary assembler routines
º
;ÇÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄĶ
;º B. Mueller, J. Reinhardt: Neural Networks
º
;º (C) Springer Verlag 1990
º
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Íͼ
;

PUBLIC _TTY, _HERCLEAR, _CGACLEAR, _EGACLEAR, _VIDEO_TEST

include asmuti.h ; useful assembler macros

_TEXT SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:_TEXT ; Segmentname fuer C-Programm

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ¿
;³ Write a string into text screen
³
;³ Usage: TTY(row,col,att rib,string,text screen)
³
;³ row,col: screen position
³
;³ attrib: character attribute (color, highlighted, blinking)
³
;³ string: outputstring
³
;³ textscreen: memory address of the text screen (b000 or b800)
³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÙ
pBegin _TTY
push bp
mov bp,sp
push di
push si
push ds
push es

mov ax,[bp+argbase] ; Zeile
mov bl,160
mul bl ; *160
mov bx,[bp+argbase+2] ; Spalte
shl bx,1 ; *2
add ax,bx ; DI:Offset = 160*Zeile + 2*Spalte
mov di,ax

xor ax,ax
mov ax,[bp+argbase+4] ; AH:Attribute
mov ah,al

mov si,[bp+argbase+6] ; ds:si is pointer to string
ifdef FARDATA
mov ds,[bp+argbase+8] ; ds: String-Segment
endif

mov dx,[bp+argbase+10] ; DX: Video-RAM-Segment
mov es,dx

hneu: mov al,[si]
or al,al ; Set zero flag
jz hende
stosw ; Copy AX to es:di, increment di
inc si
jmp hneu

hende: pop es
pop ds
pop si
pop di
mov sp,bp
pop bp
ret
;
pEnd _TTY

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ¿
;³ Routine to clear the Hercules graphics screen
³
;³ Usage: HERCLEAR(patter n,page)
³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÙ
pBegin _HERCLEAR
push bp
mov bp,sp
push di
push si
push es

mov bx,[bp+argbase+2]
cmp bx,0h
jne pagelbl
mov ax,0b000h
jmp weiter
pagelbl:mov ax,0b800h
weiter: mov es,ax
xor di,di
mov cx,04000h
mov ax,[bp+argbase] ; Byte pattern to be displayed
repz stosw

pop es
pop si
pop di
mov sp,bp
pop bp
ret
;
pEnd _HERCLEAR

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ¿
;³ Clear the CGA graphics screen
³
;³ Usage: CGACLEAR(patter n)
³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÙ
pBegin _CGACLEAR
push bp
mov bp,sp
push di
push si
push es

mov ax,0b800h
mov es,ax
xor di,di
mov cx,02000h
mov ax,[bp+argbase] ; Pattern to be displayed
repz stosw

pop es
pop si
pop di
mov sp,bp
pop bp
ret

;
pEnd _CGACLEAR

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ¿
;³ Clear the EGA graphics screen
³
;³ Usage: EGACLEAR()
³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÙ
pBegin _EGACLEAR
push bp
mov bp,sp
push di
push si
push ds
push es

mov dx,3c4h
mov al,2
out dx,al
inc dx
mov al,0ffh
out dx,al ; Enable access to all 4 planes

mov dx,3ceh
mov al,8
out dx,al
mov al,0ffh
inc dx
out dx,al ; Enable access to all 8 bits

mov ax,0A000h ; Starting address
mov es,ax
xor ax,ax
mov di,ax
mov cx,28000
cld
rep stosb ; Cclear screen
mov dx,3ceh
mov al,5 ; Mode Register 5
out dx,al
mov dx,3cfh
mov al,0 ; Write Mode 0
out dx,al

mov dx,3ceh
mov al,1 ; Enable Set/Reset register 1
out dx,al
mov dx,3cfh
mov al,0fh ; Enable all planes
out dx,al

pop es
pop ds
pop si
pop di
mov sp,bp
pop bp
ret
pEnd _EGACLEAR

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄ¿
;³ Routine to analyze the video screen adapter cards and displays
³
;³ in an IBM compatible system.
³
;³ Adapted from a program by Dan Jacobs and Joel Rosenblum (1986)
³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÙ

; video mode equates
UNKNOWN equ 00H ; Unknown board type
CGA equ 01H ; IBM Color graphics adapter (CGA)
MONO equ 02H ; IBM Monochrome card
HERCULES equ 04H ; Hercules monochrome graphics card
EGA_MONO equ 10H ; IBM Enhanced graphics adapter (EGA)
monochrome
EGA_COLOR equ 20H ; EGA w/color display
EGA_HIGH equ 40H ; EGA w/high resolution color display

; global equates
VIDEO_IO equ 10H ; BIOS video i/o interrupt number
GET_MODE equ 0FH ; video i/o get mode function

video_type db ? ; place to accumulate the video type

pBegin _VIDEO_TEST
push bp ; save the frame pointer
mov bp, sp
check_ega:
; This method of checking the EGA requires the use of BIOS
routines

mov ax, 1200H ; video alternate select
mov bl, 10H ; return EGA info
mov bh, 0FFH ; invalid data for test
mov cl, 0FH ; reserved switch setting
int VIDEO_IO ; returns with bh = color or
mono mode
; bl = memory
value
; ch = feature
bits
; cl = switch
setting

cmp cl, 0CH ; test switch setting
jge ega_done ; above max setting
cmp bh, 01H ; test range 0 - 1
jg ega_done ; above range
cmp bl, 03H ; check memory value for 0 - 3
range
jg ega_done ; above range

; if it gets here, there is a EGA card present
; now test for the attached monitor

and cl, 0EH ; trim the switch to the bits
we need
cmp cl, 1010B ; monochrome monitor attached
?
je is_m
cmp cl, 0100B ; secondary mono setting ?
jne ecolor ; nope check color display
is_m: or cs:video_type, EGA_MONO ; set EGA card with monochrome
display
jmp short ega_done
ecolor: cmp cl, 1000B ; primary color display ?
je is_c
cmp cl, 1110B ; secondary color ?
jne enh_d ; check for high resolution
display
is_c: or cs:video_type, EGA_COLOR ; EGA card with color
display
jmp short ega_done
enh_d: cmp cl, 1100B ; primary high resolution
display ?
je is_enh
cmp cl, 0110B ; secondary high resolution
display ?
jne ega_done
is_enh: or cs:video_type, EGA_HIGH ; EGA card w. high resolution
color display

ega_done:

; check for Hercules card is present by checking the status
port
; at 3BAH for the vertical retrace bit.

mov dx,3BAH ; address of status port
in al,dx
and al,80h ; vertical retrace bit
mov ah,al ; Save bit 7 for test

mov cx,8000h ; count for delay loop
examine:
in al,dx ; Take another reading
and al,80h ; Isolate bit 7
cmp al,ah
jne is_hercules ; If bit 7 changes then it
loop examine ; is a Hercules Graphics Card

jmp check_color ; After this long, it must be
; something else.
is_hercules:
or cs:video_type, HERCULES
jmp short check_done ; don't check for mono or
color
; board if Hercules present

check_color:
test cs:video_type, EGA_COLOR + EGA_HIGH
jnz check_mono ; can't have a color card with
; EGA in color mode

; next check for a Color Graphics Adapter by the checking for
the
; presence of the cursor register at 0x3D4
mov dx, 03D4H
call CURSOR_REG ; carry flag set if not there
jc check_mono
or cs:video_type, CGA ; there is a color graphics
adapter

check_mono:
test cs:video_type, EGA_MONO ; can't have mono card in
machine
jnz check_done ; with EGA in mono

; first check for a monochrome board by checking for the
; presence of the cursor register at 0x3B4
mov dx, 03B4H
call CURSOR_REG ; carry flag set if not there
jc check_done
or cs:video_type, MONO ; there is a monochrome
adapter card

check_done:
xor ax, ax ; clear ah
mov al, cs:video_type

pop bp ; restore frame pointer

ret

pEnd _VIDEO_TEST
comment\******* *************** *************** *************** *************** ***
NAME
CURSOR_REG

SYNOPSIS
checks to see if there is a cursor register at the
address passed in dx

RETURN VALUE
carry clear - if cursor register present
carry set - no cursor register here

*************** *************** *************** *************** *************** **\
CURSOR_REG proc near

mov al, 0FH ; set the index to the cursor register
out dx, al
inc dx ; increment to data register
in al, dx ; get the original value
xchg al, ah ; save it for later
mov al, 5AH ; test value
out dx, al ; set cursor control register
jmp $+2 ; waste some time
jmp $+2
jmp $+2
in al, dx
cmp al, 5AH ; same as written ?
xchg al, ah ; restore saved value
out dx, al
je yup ; it was the control register
stc ; no cursor return code
ret
yup: clc ; is there return code
ret

CURSOR_REG endp

_TEXT ENDS
END
Nov 13 '05 #1
2 3228
On 15 Aug 2003 04:17:57 -0700, lo*********@yah oo.it (LordBlue) wrote:
Hi, please forgive me if i'm sending this post in the wrong place, and
please don't tell me to post it in another group, because if i found a
better one i'd have already done it.
Better groups are in [comp.os.ms-windows.program mer.*].

Repost your question there, and also read up on netiquette in general
and the FAQ for this group.

Follow-up set to [comp.os.ms-windows.program mer.win32] (that means
that any answers to this posting will end up there).
I'm writing a thesis and i'm in real hurry.
Your chances of ending up with a satisfactory thesis are very low,
since (1) you're in a hurry, (2) you show disregard for commonly
accepted rules, (3) you're unable to solve a trivial problem, and...

I have an old c code whichi cannot compile correctly. I
am using the Dev-Cpp 4 compiler. Anyway, my question is: i have
already solved most of the problems deleting some parts of the code
which used graphics i don't need (and by the way cannot even see using
winxp)
(4) you base your work on modification of what others have done, and...

but i have a function i cannot delete which is written in ASM.
I know what are you thinking: "use an assembler to compile it first
and then link the two files together.". But I don't want to make it as
it would take me much more time to find an assembler, learn to use it
and then learn to compile and link separately.
So please, if anyone knows how to do it, i need the ASM code to be
rewritten in C code.
(5) you think you know what you need as an answer, instead of
figuring out what the problem is.

I only need the TTY function.
See the comment above that function to find out what it does.

Note that it was written for MS-DOS.

Find a corresponding API function for the platform you're using,
the follow-up redirection assumes Windows.

Thank You very, very much!!!


[snipped umpteen lines of asm code]

Nov 13 '05 #2
On 15 Aug 2003 04:17:57 -0700
lo*********@yah oo.it (LordBlue) wrote:
Hi, please forgive me if i'm sending this post in the wrong place
You are forgiven.
please don't tell me to post it in another group, because if i found a
better one i'd have already done it.
You somehow missed comp.lang.asm.x 86? How did you manage to do that?
I'm writing a thesis and i'm in real hurry.
Then you should have started earlier, and if you can't write the thesis by
yourself, you shouldn't have started with it.
I have an old c code which i cannot compile correctly.
Then you either have a bad compiler or the program isn't using standard C.
I am using the Dev-Cpp 4 compiler. Anyway, my question is: i have already
solved most of the problems deleting some parts of the code which used
graphics i don't need (and by the way cannot even see using winxp) but i have
a function i cannot delete which is written in ASM.
Dev-Cpp is a compiler, off-topic. Next to that, it's a C++ compiler, and
this is a standard C newsgroup. In this newsgroup we DISCUSS standard C, we
don't rewrite programs in other languages, or do other people's homework, both
of which you're asking us to do. Assembler is off-topic.
I know what are you thinking: "use an assembler to compile it first and then
link the two files together.".
Actually, I was thinking 'what the hell was this guy thinking when he posted to
c.l.c?' but yeah, yours is pretty close. Why haven't you done this yet?
But I don't want to make it as it would take me much more time to find an
assembler, learn to use it and then learn to compile and link separately.
Ah, so that's why. You're too lazy. See your reason is bogus, you can find out
how to use an assembler and a linker in two minutes these days, thanks to
google. Rewriting this assembler program into C is a lot more work, and
pointless at that, since you're either too lazy to learn how to use things you
should have known already if you've ever coded in c or assembler (or writing a
thesis having anything to do with either), or too lazy to do actual work for you
thesis.
So please, if anyone knows how to do it, i need the ASM code to be rewritten
in C code.
Doing that is tedious and boring. And in this case, it's pointless since the
solution is right in front of you.
I am sending the whole ASM source file, because i don't know which are the
important parts of it. I only need the TTY function. Thank You very, very
much!!!


You're welcome.

<snip assembler>

This newsgroup is for discussing Standard C. It's about that for a reason. And
other topics are not handled, for a reason. If everyone would post questions
about all topics in random newsgroups, things would quickly get out of hand,
would they not? Kind of defeating the purpose of Usenet?

Oh, and if you want someone to do your homework, threaten to beat up the skinny
kid with the glasses who always sits in the corner of your classroom. He'll do
it.

--
char*x(c,k,s)ch ar*k,*s;{if(!k) return*s-36?x(0,0,s+1):s ;if(s)if(*s)c=1 0+(c?(x(
c,k,0),x(c,k+=* s-c,s+1),*k):(x(* s,k,s+1),0));el se c=10;printf(&x( ~0,0,k)[c-~-
c+"1"[~c<-c]],c);}main(){x(0 ,"^[kXc6]dn_eaoh$%c","-34*1'.+(,03#;+, )/'///*");}
Nov 13 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

51
5254
by: Mudge | last post by:
Please, someone, tell me why OO in PHP is better than procedural.
9
3859
by: bigoxygen | last post by:
Hi. I'm using a 3 tier FrontController Design for my web application right now. The problem is that I'm finding to have to duplicate a lot of code for similar functions; for example, listing users, and listing assignments use similar type commands. Is there a "better" way I can organize my code?
4
2426
by: jason | last post by:
Hello. Newbie on SQL and suffering through this. I have two tables created as such: drop table table1; go drop table table2; go
16
3100
by: Dario de Judicibus | last post by:
I'm getting crazy. Look at this code: #include <string.h> #include <stdio.h> #include <iostream.h> using namespace std ; char ini_code = {0xFF, 0xFE} ; char line_sep = {0x20, 0x28} ;
109
5852
by: Andrew Thompson | last post by:
It seems most people get there JS off web sites, which is entirely logical. But it is also a great pity since most of that code is of such poor quality. I was looking through the JS FAQ for any question that identifies the warning signs to look out for, the things that most easily and clearly identify the author of code as something less than a master of the art. I did not find an FAQ that answered it, but I think the FAQ
5
4047
by: ED | last post by:
I currently have vba code that ranks employees based on their average job time ordered by their region, zone, and job code. I currently have vba code that will cycle through a query and ranks each employee based on their region, zone, job code and avg job time. (See code below). My problem is that I do not know how to rank the ties. Right now if two people have the same avg time one will be ranked 3rd and the other ranked 4th. I would...
0
2083
by: Namratha Shah \(Nasha\) | last post by:
Hey Guys, Today we are going to look at Code Access Security. Code access security is a feature of .NET that manages code depending on its trust level. If the CLS trusts the code enough to allow it ro run then it will execute, the code execution depends on the permission provided to the assembly. If the code is not trusted wnough to run or it attempts to perform an action which doe not have the required permissions then its execution...
18
3150
by: Joe Fallon | last post by:
I have some complex logic which is fairly simply to build up into a string. I needed a way to Eval this string and return a Boolean result. This code works fine to achieve that goal. My question is what happens to the dynamically created assembly when the method is done running? Does GC take care of it? Or is it stuck in RAM until the ASP.Net process is recycled? This code executes pretty frequently (maybe 4 times per transaction) and...
37
5949
by: Alan Silver | last post by:
Hello, Newbie here, so please forgive what is probably a basic question ... I see a lot of discussion about "code behind", which if I have understood correctly, means that the script code goes in a separate file from the HTML. Apart from the obvious advantage if you have a separate designer and programmer, are there any other advantages to code behind? Most of the stuff I've seen so far uses code inside, but that's probably
171
7692
by: tshad | last post by:
I am just trying to decide whether to split my code and uses code behind. I did it with one of my pages and found it was quite a bit of trouble. I know that most people (and books and articles) like it because you can split the code from the design. That is logical. But if you are the only one working on the code, it seem a little overkill. I use Dreamweaver to do my design and find it a bit of a hassle to have multiple files open...
0
8407
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8319
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8837
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8739
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8612
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7347
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4171
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4329
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
1732
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.