Skip to content

Commit

Permalink
MMS Compiler templates
Browse files Browse the repository at this point in the history
  • Loading branch information
vkamenar authored Nov 25, 2024
1 parent d383d99 commit 0a63b5f
Show file tree
Hide file tree
Showing 30 changed files with 741 additions and 0 deletions.
103 changes: 103 additions & 0 deletions 0_TXT/compile.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
@echo equ 2>/dev/null ; if false ; then # 2>NUL >NUL & goto WIN & rem ^
rept 0 { ; fi ; ../bin/fasm compile.bat 0.mms ; exit $? #
:WIN
@echo off & ..\bin\FASM.EXE compile.bat 0.mms & pause & exit }

; WAP230 long int encoder
macro w230ii fsize {
if fsize >= 80h
if fsize < 4000h
db 80h or (fsize shr 7)
else
if fsize < 200000h
db 80h or (fsize shr 14), 80h or ((fsize shr 7) and 7Fh)
else
db 80h or (fsize shr 21), 80h or ((fsize shr 14) and 7Fh), 80h or ((fsize shr 7) and 7Fh)
end if
end if
end if
db fsize and 7Fh
}

; WAP230 short int encoder
macro w230ll fsize {
if fsize >= 1Fh
db 1Fh
end if
db fsize
}

virtual at 0
file 'include\subject.txt'
subjsize = $
end virtual
virtual at 0
file 'include\text.txt'
textsize = $
end virtual

; MMS file
org 0

db 8Ch,84h ; message type = m_retrieve_conf
db 98h ; X-Mms-Transaction-ID: 'XYZ'
db 41h + %t mod 25,41h + subjsize mod 25,41h + textsize mod 25,00h
db 8Dh,90h ; X-Mms-MMS-Version: 1.0

; Date (must be present for compatibility with Android MMS Client)
db 85h
curtime = %t - 43200
db 04h,curtime shr 24,(curtime shr 16) and 0FFh,(curtime shr 8) and 0FFh,curtime and 0FFh

; From
db 89h
w230ll l1size
l1 db 80h
file 'include\from.txt'
db '/TYPE=PLMN',0
l1size = $ - l1

; Subject
if subjsize > 0
db 96h
file 'include\subject.txt'
db 0
end if

db 84h ; Content-Type
db 1Fh,20h ; length (must be >1F for compat with Nokia Multimedia Player)
db 0B3h ; application/vnd.wap.multipart.related
db 89h ; Multipart Related Type
db 'application/smil',0
db 8Ah ; Presentation Content ID
db '<smil.smil>',0

db 02h ; Number of contents = 2: t.txt, smil.smil
db 0Bh ; length - data_length
w230ii textsize
db 03h ; Content-Type length
db 83h,81h,0EAh ; utf-8
db 8Eh,'t.txt',0
file 'include\text.txt'

db 1Fh ; length - data_length
w230ii smilsize
db 13h ; Content-Type length
db 'application/smil',0
db 81h,83h ; Charset: us-ascii
db 8Eh,'smil.smil',0
smil:
db '<smil>'
db '<head>'
db '<layout>'
db '<root-layout/>' ; mandatory for compatibility with Nokia Multimedia Player
db '<region id="Text" width="100%" height="100%"/>'
db '</layout>'
db '</head>'
db '<body>'
db '<par dur="60s">'
db '<text src="t.txt" region="Text"/>'
db '</par>'
db '</body>'
db '</smil>'
smilsize = $ - smil
1 change: 1 addition & 0 deletions 0_TXT/include/from.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Inspirational Quotes
1 change: 1 addition & 0 deletions 0_TXT/include/subject.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Books and Reading
1 change: 1 addition & 0 deletions 0_TXT/include/text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
“A book is a garden, an orchard, a storehouse, a party, a company by the way, a counselor, a multitude of counselors.” – Charles Baudelaire
125 changes: 125 additions & 0 deletions 1_GIF/compile.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
@echo equ 2>/dev/null ; if false ; then # 2>NUL >NUL & goto WIN & rem ^
rept 0 { ; fi ; ../bin/fasm compile.bat 1.mms ; exit $? #
:WIN
@echo off & ..\bin\FASM.EXE compile.bat 1.mms & pause & exit }

; WAP230 long int encoder
macro w230ii fsize {
if fsize >= 80h
if fsize < 4000h
db 80h or (fsize shr 7)
else
if fsize < 200000h
db 80h or (fsize shr 14), 80h or ((fsize shr 7) and 7Fh)
else
db 80h or (fsize shr 21), 80h or ((fsize shr 14) and 7Fh), 80h or ((fsize shr 7) and 7Fh)
end if
end if
end if
db fsize and 7Fh
}

; WAP230 short int encoder
macro w230ll fsize {
if fsize >= 1Fh
db 1Fh
end if
db fsize
}

virtual at 0
file 'include\subject.txt'
subjsize = $
end virtual
virtual at 0
file 'include\text.txt'
textsize = $
end virtual

; MMS file
org 0

db 8Ch,84h ; message type = m_retrieve_conf
db 98h ; X-Mms-Transaction-ID: 'XYZ'
db 41h + %t mod 25,41h + textsize mod 25,41h + gifsize mod 25,00h
db 8Dh,90h ; X-Mms-MMS-Version: 1.0

; Date (must be present for compatibility with Android MMS Client)
db 85h
curtime = %t - 43200
db 04h,curtime shr 24,(curtime shr 16) and 0FFh,(curtime shr 8) and 0FFh,curtime and 0FFh

; From
db 89h
w230ll l1size
l1 db 80h
file 'include\from.txt'
db '/TYPE=PLMN',0
l1size = $ - l1

; Subject
if subjsize > 0
db 96h
file 'include\subject.txt'
db 0
end if

db 84h ; Content-Type
db 1Fh,20h ; length (must be >1F for compat with Nokia Multimedia Player)
db 0B3h ; application/vnd.wap.multipart.related
db 89h ; Multipart Related Type
db 'application/smil',0
db 8Ah ; Presentation Content ID
db '<smil.smil>',0

if textsize > 0
db 03h ; Number of contents = 3: t.txt, g.gif, smil.smil
db 0Bh ; length - data_length
w230ii textsize
db 03h ; Content-Type length
db 83h,81h,0EAh ; utf-8
db 8Eh,'t.txt',0
file 'include\text.txt'
else
db 02h ; Number of contents = 2: g.gif, smil.smil
end if

db 10h ; length - data_length
w230ii gifsize
db 08h ; Content-Type length
db 9Dh ; image/gif
db 85h,'g.gif',0
db 8Eh,'g.gif',0
gif:
file 'include\image.gif'
gifsize = $ - gif

db 1Fh ; length - data_length
w230ii smilsize
db 13h ; Content-Type length
db 'application/smil',0
db 81h,83h ; Charset: us-ascii
db 8Eh,'smil.smil',0
smil:
db '<smil>'
db '<head>'
db '<layout>'
db '<root-layout/>' ; mandatory for compatibility with Nokia Multimedia Player
if textsize > 0
db '<region id="Image" width="50%" height="100%"/>'
db '<region id="Text" width="50%" height="100%" left="50%"/>'
else
db '<region id="Image" width="100%" height="100%"/>'
end if
db '</layout>'
db '</head>'
db '<body>'
db '<par dur="60s">'
db '<img src="g.gif" region="Image"/>'
if textsize > 0
db '<text src="t.txt" region="Text"/>'
end if
db '</par>'
db '</body>'
db '</smil>'
smilsize = $ - smil
1 change: 1 addition & 0 deletions 1_GIF/include/from.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Pawsome Cat Quotes
Binary file added 1_GIF/include/image.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions 1_GIF/include/subject.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Meow!
1 change: 1 addition & 0 deletions 1_GIF/include/text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
“What greater gift than the love of a cat.” ― Charles Dickens
125 changes: 125 additions & 0 deletions 2_JPEG/compile.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
@echo equ 2>/dev/null ; if false ; then # 2>NUL >NUL & goto WIN & rem ^
rept 0 { ; fi ; ../bin/fasm compile.bat 2.mms ; exit $? #
:WIN
@echo off & ..\bin\FASM.EXE compile.bat 2.mms & pause & exit }

; WAP230 long int encoder
macro w230ii fsize {
if fsize >= 80h
if fsize < 4000h
db 80h or (fsize shr 7)
else
if fsize < 200000h
db 80h or (fsize shr 14), 80h or ((fsize shr 7) and 7Fh)
else
db 80h or (fsize shr 21), 80h or ((fsize shr 14) and 7Fh), 80h or ((fsize shr 7) and 7Fh)
end if
end if
end if
db fsize and 7Fh
}

; WAP230 short int encoder
macro w230ll fsize {
if fsize >= 1Fh
db 1Fh
end if
db fsize
}

virtual at 0
file 'include\subject.txt'
subjsize = $
end virtual
virtual at 0
file 'include\text.txt'
textsize = $
end virtual

; MMS file
org 0

db 8Ch,84h ; message type = m_retrieve_conf
db 98h ; X-Mms-Transaction-ID: 'XYZ'
db 41h + %t mod 25,41h + textsize mod 25,41h + jpgsize mod 25,00h
db 8Dh,90h ; X-Mms-MMS-Version: 1.0

; Date (must be present for compatibility with Android MMS Client)
db 85h
curtime = %t - 43200
db 04h,curtime shr 24,(curtime shr 16) and 0FFh,(curtime shr 8) and 0FFh,curtime and 0FFh

; From
db 89h
w230ll l1size
l1 db 80h
file 'include\from.txt'
db '/TYPE=PLMN',0
l1size = $ - l1

; Subject
if subjsize > 0
db 96h
file 'include\subject.txt'
db 0
end if

db 84h ; Content-Type
db 1Fh,20h ; length (must be >1F for compat with Nokia Multimedia Player)
db 0B3h ; application/vnd.wap.multipart.related
db 89h ; Multipart Related Type
db 'application/smil',0
db 8Ah ; Presentation Content ID
db '<smil.smil>',0

if textsize > 0
db 03h ; Number of contents = 3: t.txt, j.jpg, smil.smil
db 0Bh ; length - data_length
w230ii textsize
db 03h ; Content-Type length
db 83h,81h,0EAh ; utf-8
db 8Eh,'t.txt',0
file 'include\text.txt'
else
db 02h ; Number of contents = 2: j.jpg, smil.smil
end if

db 10h ; length - data_length
w230ii jpgsize
db 08h ; Content-Type length
db 9Eh ; image/jpeg
db 85h,'j.jpg',0
db 8Eh,'j.jpg',0
jpg:
file 'include\image.jpg'
jpgsize = $ - jpg

db 1Fh ; length - data_length
w230ii smilsize
db 13h ; Content-Type length
db 'application/smil',0
db 81h,83h ; Charset: us-ascii
db 8Eh,'smil.smil',0
smil:
db '<smil>'
db '<head>'
db '<layout>'
db '<root-layout/>' ; mandatory for compatibility with Nokia Multimedia Player
if textsize > 0
db '<region id="Text" width="100%" height="15%"/>'
db '<region id="Image" width="100%" height="85%" top="15%"/>'
else
db '<region id="Image" width="100%" height="100%"/>'
end if
db '</layout>'
db '</head>'
db '<body>'
db '<par dur="60s">'
db '<img src="j.jpg" region="Image"/>'
if textsize > 0
db '<text src="t.txt" region="Text"/>'
end if
db '</par>'
db '</body>'
db '</smil>'
smilsize = $ - smil
1 change: 1 addition & 0 deletions 2_JPEG/include/from.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Acme Travel
Binary file added 2_JPEG/include/image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions 2_JPEG/include/subject.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Paradise
1 change: 1 addition & 0 deletions 2_JPEG/include/text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Best Travel Offers & Deals!
Loading

0 comments on commit 0a63b5f

Please sign in to comment.